1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>Complex scripts: 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="shaping-concepts.html" title="Shaping concepts">
9 <link rel="prev" href="shaping-concepts.html" title="Shaping concepts">
10 <link rel="next" href="shaping-operations.html" title="Shaping operations">
11 <meta name="generator" content="GTK-Doc V1.32.1 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
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="shaping-concepts.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
19 <td><a accesskey="p" href="shaping-concepts.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
20 <td><a accesskey="n" href="shaping-operations.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
23 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
24 <a name="complex-scripts"></a>Complex scripts</h2></div></div></div>
26 In text-shaping terminology, scripts are generally classified as
27 either <span class="emphasis"><em>complex</em></span> or <span class="emphasis"><em>non-complex</em></span>.
30 Complex scripts are those for which transforming the input
31 sequence into the final layout requires some combination of
32 operations—such as context-dependent substitutions,
33 context-dependent mark positioning, glyph-to-glyph joining,
34 glyph reordering, or glyph stacking.
37 In some complex scripts, the shaping rules require that a text
38 run be divided into syllables before the operations can be
39 applied. Other complex scripts may apply shaping operations over
40 entire words or over the entire text run, with no subdivision
44 Non-complex scripts, by definition, do not require these
45 operations. However, correctly shaping a text run in a
46 non-complex script may still involve Unicode normalization,
47 ligature substitutions, mark positioning, kerning, and applying
48 other font features. The key difference is that a text run in a
49 non-complex script can be processed sequentially and in the same
50 order as the input sequence of Unicode codepoints, without
51 requiring an analysis stage.
55 <hr>Generated by GTK-Doc V1.32.1</div>