diff options
Diffstat (limited to 'docs/html/shaping-operations.html')
-rw-r--r-- | docs/html/shaping-operations.html | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/docs/html/shaping-operations.html b/docs/html/shaping-operations.html new file mode 100644 index 0000000..9e6ff5e --- /dev/null +++ b/docs/html/shaping-operations.html @@ -0,0 +1,98 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Shaping operations: HarfBuzz Manual</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="HarfBuzz Manual"> +<link rel="up" href="shaping-concepts.html" title="Shaping concepts"> +<link rel="prev" href="complex-scripts.html" title="Complex scripts"> +<link rel="next" href="unicode-character-categories.html" title="Unicode character categories"> +<meta name="generator" content="GTK-Doc V1.25 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="shaping-concepts.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="complex-scripts.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="unicode-character-categories.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="section"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="shaping-operations"></a>Shaping operations</h2></div></div></div> +<p> + Shaping a complex-script text run involves transforming the + input sequence of Unicode codepoints with some combination of + operations that is specified in the shaping model for the + script. + </p> +<p> + The specific conditions that trigger a given operation for a + text run varies from script to script, as do the order that the + operations are performed in and which codepoints are + affected. However, the same general set of shaping operations is + common to all of the complex-script shaping models. + </p> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> +<li class="listitem"> +<p> + A <span class="emphasis"><em>reordering</em></span> operation moves a glyph + from its original ("logical") position in the sequence to + some other ("visual") position. + </p> +<p> + The shaping model for a given complex script might involve + more than one reordering step. + </p> +</li> +<li class="listitem"><p> + A <span class="emphasis"><em>joining</em></span> operation replaces a glyph + with an alternate form that is designed to connect with one + or more of the adjacent glyphs in the sequence. + </p></li> +<li class="listitem"> +<p> + A contextual <span class="emphasis"><em>substitution</em></span> operation + replaces either a single glyph or a subsequence of several + glyphs with an alternate glyph. This substitution is + performed when the original glyph or subsequence of glyphs + occurs in a specified position with respect to the + surrounding sequence. For example, one substitution might be + performed only when the target glyph is the first glyph in + the sequence, while another substitution is performed only + when a different target glyph occurs immediately after a + particular string pattern. + </p> +<p> + The shaping model for a given complex script might involve + multiple contextual-substitution operations, each applying + to different target glyphs and patterns, and which are + performed in separate steps. + </p> +</li> +<li class="listitem"> +<p> + A contextual <span class="emphasis"><em>positioning</em></span> operation + moves the horizontal and/or vertical position of a + glyph. This positioning move is performed when the glyph + occurs in a specified position with respect to the + surrounding sequence. + </p> +<p> + Many contextual positioning operations are used to place + <span class="emphasis"><em>mark</em></span> glyphs (such as diacritics, vowel + signs, and tone markers) with respect to + <span class="emphasis"><em>base</em></span> glyphs. However, some complex + scripts may use contextual positioning operations to + correctly place base glyphs as well, such as + when the script uses <span class="emphasis"><em>stacking</em></span> characters. + </p> +</li> +</ul></div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.25</div> +</body> +</html>
\ No newline at end of file |