Imported Upstream version 2.4.0
[platform/upstream/harfbuzz.git] / docs / html / shaping-concepts.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>Shaping concepts: HarfBuzz Manual</title>
6 <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
7 <link rel="home" href="index.html" title="HarfBuzz Manual">
8 <link rel="up" href="pt01.html" title="Part I. User's manual">
9 <link rel="prev" href="ch03s03.html" title="A simple shaping example">
10 <link rel="next" href="complex-scripts.html" title="Complex scripts">
11 <meta name="generator" content="GTK-Doc V1.29 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
13 </head>
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
16 <td width="100%" align="left" class="shortcuts"></td>
17 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
18 <td><a accesskey="u" href="pt01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
19 <td><a accesskey="p" href="ch03s03.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
20 <td><a accesskey="n" href="complex-scripts.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
21 </tr></table>
22 <div class="chapter">
23 <div class="titlepage"><div><div><h2 class="title">
24 <a name="shaping-concepts"></a>Shaping concepts</h2></div></div></div>
25 <div class="toc"><dl class="toc">
26 <dt><span class="section"><a href="shaping-concepts.html#text-shaping-concepts">Text shaping</a></span></dt>
27 <dt><span class="section"><a href="complex-scripts.html">Complex scripts</a></span></dt>
28 <dt><span class="section"><a href="shaping-operations.html">Shaping operations</a></span></dt>
29 <dt><span class="section"><a href="unicode-character-categories.html">Unicode character categories</a></span></dt>
30 <dt><span class="section"><a href="text-runs.html">Text runs</a></span></dt>
31 <dt><span class="section"><a href="opentype-shaping-models.html">OpenType shaping models</a></span></dt>
32 <dt><span class="section"><a href="graphite-shaping.html">Graphite shaping</a></span></dt>
33 <dt><span class="section"><a href="aat-shaping.html">AAT shaping</a></span></dt>
34 </dl></div>
35 <div class="section">
36 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
37 <a name="text-shaping-concepts"></a>Text shaping</h2></div></div></div>
38 <p>
39       Text shaping is the process of transforming a sequence of Unicode
40       codepoints that represent individual characters (letters,
41       diacritics, tone marks, numbers, symbols, etc.) into the
42       orthographically and linguistically correct two-dimensional layout
43       of glyph shapes taken from a specified font.
44     </p>
45 <p>
46       For some writing systems (or <span class="emphasis"><em>scripts</em></span>) and
47       languages, the process is simple, requiring the shaper to do
48       little more than advance the horizontal position forward by the
49       correct amount for each successive glyph.
50     </p>
51 <p>
52       But, for <span class="emphasis"><em>complex scripts</em></span>, any combination of
53       several shaping operations may be required, and the rules for how
54       and when they are applied vary from script to script. HarfBuzz and
55       other shaping engines implement these rules.
56     </p>
57 <p>
58       The exact rules and necessary operations for a particular script
59       constitute a shaping <span class="emphasis"><em>model</em></span>. OpenType
60       specifies a set of shaping models that covers all of
61       Unicode. Other shaping models are available, however, including
62       Graphite and Apple Advanced Typography (AAT). 
63     </p>
64 </div>
65 </div>
66 <div class="footer">
67 <hr>Generated by GTK-Doc V1.29</div>
68 </body>
69 </html>