blob: 46b9e2b352fdbf1410827382821a4e270c8d503e [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>OpenType shaping models: 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="text-runs.html" title="Text runs">
<link rel="next" href="graphite-shaping.html" title="Graphite shaping">
<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="text-runs.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="graphite-shaping.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="opentype-shaping-models"></a>OpenType shaping models</h2></div></div></div>
<p>
OpenType provides shaping models for the following scripts:
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>
The <span class="emphasis"><em>default</em></span> shaping model handles all
non-complex scripts, and may also be used as a fallback for
handling unrecognized scripts.
</p></li>
<li class="listitem">
<p>
The <span class="emphasis"><em>Indic</em></span> shaping model handles the Indic
scripts Bengali, Devanagari, Gujarati, Gurmukhi, Kannada,
Malayalam, Oriya, Tamil, Telugu, and Sinhala.
</p>
<p>
The Indic shaping model was revised significantly in
2005. To denote the change, a new set of <span class="emphasis"><em>script
tags</em></span> was assigned for Bengali, Devanagari,
Gujarati, Gurmukhi, Kannada, Malayalam, Oriya, Tamil, and
Telugu. For the sake of clarity, the term "Indic2" is
sometimes used to refer to the current, revised shaping
model.
</p>
</li>
<li class="listitem"><p>
The <span class="emphasis"><em>Arabic</em></span> shaping model supports
Arabic, Mongolian, N'Ko, Syriac, and several other connected
or cursive scripts.
</p></li>
<li class="listitem"><p>
The <span class="emphasis"><em>Thai/Lao</em></span> shaping model supports
the Thai and Lao scripts.
</p></li>
<li class="listitem"><p>
The <span class="emphasis"><em>Khmer</em></span> shaping model supports the
Khmer script.
</p></li>
<li class="listitem"><p>
The <span class="emphasis"><em>Myanmar</em></span> shaping model supports the
Myanmar (or Burmese) script.
</p></li>
<li class="listitem"><p>
The <span class="emphasis"><em>Tibetan</em></span> shaping model supports the
Tibetan script.
</p></li>
<li class="listitem"><p>
The <span class="emphasis"><em>Hangul</em></span> shaping model supports the
Hangul script.
</p></li>
<li class="listitem"><p>
The <span class="emphasis"><em>Hebrew</em></span> shaping model supports the
Hebrew script.
</p></li>
<li class="listitem"><p>
The <span class="emphasis"><em>Universal Shaping Engine</em></span> (USE)
shaping model supports complex scripts not covered by one of
the above, script-specific shaping models, including
Javanese, Balinese, Buginese, Batak, Chakma, Lepcha, Modi,
Phags-pa, Tagalog, Siddham, Sundanese, Tai Le, Tai Tham, Tai
Viet, and many others.
</p></li>
<li class="listitem"><p>
Text runs that do not fall under one of the above shaping
models may still require processing by a shaping engine. Of
particular note is <span class="emphasis"><em>Emoji</em></span> shaping, which
may involve variation-selector sequences and glyph
substitution. Emoji shaping is handled by the default
shaping model.
</p></li>
</ul></div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.25</div>
</body>
</html>