| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
| <html> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <title>HarfBuzz Manual: HarfBuzz Manual</title> |
| <meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> |
| <meta name="description" content="HarfBuzz HarfBuzz is an OpenType text shaping engine. Using the HarfBuzz library allows programs to convert a sequence of Unicode input into properly formatted and positioned glyph output—for any writing system and language. The canonical source-code tree is available at github.com/harfbuzz/harfbuzz and is also available at cgit.freedesktop.org/harfbuzz. See for release tarballs."> |
| <link rel="home" href="index.html" title="HarfBuzz Manual"> |
| <link rel="next" href="pt01.html" title="Part I. User's manual"> |
| <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"> |
| <div class="book"> |
| <div class="titlepage"> |
| <div> |
| <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">HarfBuzz Manual</p></th></tr></table></div> |
| <div><div class="abstract"> |
| <p class="title"><b>HarfBuzz</b></p> |
| <div align="center"><img src="HarfBuzz.png" align="middle"></div> |
| <p> |
| HarfBuzz is an <a class="ulink" href="http://www.microsoft.com/typography/otspec/" target="_top">OpenType</a> |
| text shaping engine. Using the HarfBuzz library allows |
| programs to convert a sequence of Unicode input into |
| properly formatted and positioned glyph output—for any writing |
| system and language. |
| </p> |
| <p> |
| The canonical source-code tree is available at |
| <a class="ulink" href="https://github.com/harfbuzz/harfbuzz" target="_top">github.com/harfbuzz/harfbuzz</a> |
| and is also available at |
| <a class="ulink" href="http://cgit.freedesktop.org/harfbuzz/" target="_top">cgit.freedesktop.org/harfbuzz</a>. |
| See <a class="xref" href="install-harfbuzz.html#download" title="Downloading HarfBuzz">Downloading HarfBuzz</a> for |
| release tarballs. |
| </p> |
| </div></div> |
| </div> |
| <hr> |
| </div> |
| <div class="toc"><dl class="toc"> |
| <dt><span class="part"><a href="pt01.html">I. User's manual</a></span></dt> |
| <dd><dl> |
| <dt><span class="chapter"><a href="what-is-harfbuzz.html">What is HarfBuzz?</a></span></dt> |
| <dd><dl> |
| <dt><span class="section"><a href="what-is-harfbuzz.html#what-is-text-shaping">What is text shaping?</a></span></dt> |
| <dt><span class="section"><a href="why-do-i-need-a-shaping-engine.html">Why do I need a shaping engine?</a></span></dt> |
| <dt><span class="section"><a href="ch01s03.html">What does HarfBuzz do?</a></span></dt> |
| <dt><span class="section"><a href="what-harfbuzz-doesnt-do.html">What HarfBuzz doesn't do</a></span></dt> |
| <dt><span class="section"><a href="why-is-it-called-harfbuzz.html">Why is it called HarfBuzz?</a></span></dt> |
| </dl></dd> |
| <dt><span class="chapter"><a href="install-harfbuzz.html">Installing HarfBuzz</a></span></dt> |
| <dd><dl> |
| <dt><span class="section"><a href="install-harfbuzz.html#download">Downloading HarfBuzz</a></span></dt> |
| <dt><span class="section"><a href="building.html">Building HarfBuzz</a></span></dt> |
| <dd><dl> |
| <dt><span class="section"><a href="building.html#building.linux">Building on Linux</a></span></dt> |
| <dt><span class="section"><a href="building.html#building.windows">Building on Windows</a></span></dt> |
| <dt><span class="section"><a href="building.html#building.macos">Building on macOS</a></span></dt> |
| <dt><span class="section"><a href="building.html#configuration">Configuration options</a></span></dt> |
| </dl></dd> |
| </dl></dd> |
| <dt><span class="chapter"><a href="getting-started.html">Getting started with HarfBuzz</a></span></dt> |
| <dd><dl> |
| <dt><span class="section"><a href="getting-started.html#id-1.2.4.2">An overview of the HarfBuzz shaping API</a></span></dt> |
| <dt><span class="section"><a href="ch03s02.html">Terminology</a></span></dt> |
| <dt><span class="section"><a href="ch03s03.html">A simple shaping example</a></span></dt> |
| </dl></dd> |
| <dt><span class="chapter"><a href="shaping-concepts.html">Shaping concepts</a></span></dt> |
| <dd><dl> |
| <dt><span class="section"><a href="shaping-concepts.html#text-shaping-concepts">Text shaping</a></span></dt> |
| <dt><span class="section"><a href="complex-scripts.html">Complex scripts</a></span></dt> |
| <dt><span class="section"><a href="shaping-operations.html">Shaping operations</a></span></dt> |
| <dt><span class="section"><a href="unicode-character-categories.html">Unicode character categories</a></span></dt> |
| <dt><span class="section"><a href="text-runs.html">Text runs</a></span></dt> |
| <dt><span class="section"><a href="opentype-shaping-models.html">OpenType shaping models</a></span></dt> |
| <dt><span class="section"><a href="graphite-shaping.html">Graphite shaping</a></span></dt> |
| <dt><span class="section"><a href="aat-shaping.html">AAT shaping</a></span></dt> |
| </dl></dd> |
| <dt><span class="chapter"><a href="buffers-language-script-and-direction.html">Buffers, language, script and direction</a></span></dt> |
| <dd><dl> |
| <dt><span class="section"><a href="buffers-language-script-and-direction.html#creating-and-destroying-buffers">Creating and destroying buffers</a></span></dt> |
| <dt><span class="section"><a href="adding-text-to-the-buffer.html">Adding text to the buffer</a></span></dt> |
| <dt><span class="section"><a href="setting-buffer-properties.html">Setting buffer properties</a></span></dt> |
| <dt><span class="section"><a href="what-about-the-other-scripts.html">What about the other scripts?</a></span></dt> |
| <dt><span class="section"><a href="customizing-unicode-functions.html">Customizing Unicode functions</a></span></dt> |
| </dl></dd> |
| <dt><span class="chapter"><a href="fonts-and-faces.html">Fonts and faces</a></span></dt> |
| <dd><dl> |
| <dt><span class="section"><a href="fonts-and-faces.html#using-freetype">Using FreeType</a></span></dt> |
| <dt><span class="section"><a href="using-harfbuzzs-native-opentype-implementation.html">Using HarfBuzz's native OpenType implementation</a></span></dt> |
| <dt><span class="section"><a href="using-your-own-font-functions.html">Using your own font functions</a></span></dt> |
| </dl></dd> |
| <dt><span class="chapter"><a href="clusters.html">Clusters</a></span></dt> |
| <dd><dl> |
| <dt><span class="section"><a href="clusters.html#clusters-and-shaping">Clusters and shaping</a></span></dt> |
| <dt><span class="section"><a href="working-with-harfbuzz-clusters.html">Working with HarfBuzz clusters</a></span></dt> |
| <dt><span class="section"><a href="a-clustering-example-for-levels-0-and-1.html">A clustering example for levels 0 and 1</a></span></dt> |
| <dt><span class="section"><a href="reordering-in-levels-0-and-1.html">Reordering in levels 0 and 1</a></span></dt> |
| <dt><span class="section"><a href="the-distinction-between-levels-0-and-1.html">The distinction between levels 0 and 1</a></span></dt> |
| <dt><span class="section"><a href="level-2.html">Level 2</a></span></dt> |
| <dd><dl> |
| <dt><span class="section"><a href="level-2.html#ligatures-with-combining-marks-in-level-2">Ligatures with combining marks in level 2</a></span></dt> |
| <dt><span class="section"><a href="level-2.html#reordering-in-level-2">Reordering in level 2</a></span></dt> |
| <dt><span class="section"><a href="level-2.html#other-considerations-in-level-2">Other considerations in level 2</a></span></dt> |
| </dl></dd> |
| </dl></dd> |
| <dt><span class="chapter"><a href="shaping-and-shape-plans.html">Shaping and shape plans</a></span></dt> |
| <dd><dl> |
| <dt><span class="section"><a href="shaping-and-shape-plans.html#opentype-features">OpenType features</a></span></dt> |
| <dt><span class="section"><a href="plans-and-caching.html">Plans and caching</a></span></dt> |
| </dl></dd> |
| </dl></dd> |
| <dt><span class="part"><a href="pt02.html">II. Reference manual</a></span></dt> |
| <dd><dl> |
| <dt><span class="chapter"><a href="ch09.html">Core API</a></span></dt> |
| <dd><dl> |
| <dt> |
| <span class="refentrytitle"><a href="harfbuzz-hb-blob.html">hb-blob</a></span><span class="refpurpose"> — Binary data containers</span> |
| </dt> |
| <dt> |
| <span class="refentrytitle"><a href="harfbuzz-hb-buffer.html">hb-buffer</a></span><span class="refpurpose"> — Input and output buffers</span> |
| </dt> |
| <dt> |
| <span class="refentrytitle"><a href="harfbuzz-hb-common.html">hb-common</a></span><span class="refpurpose"> — Common data types</span> |
| </dt> |
| <dt> |
| <span class="refentrytitle"><a href="harfbuzz-hb-deprecated.html">hb-deprecated</a></span><span class="refpurpose"> — Deprecated API</span> |
| </dt> |
| <dt> |
| <span class="refentrytitle"><a href="harfbuzz-hb-face.html">hb-face</a></span><span class="refpurpose"> — Font face objects</span> |
| </dt> |
| <dt> |
| <span class="refentrytitle"><a href="harfbuzz-hb-font.html">hb-font</a></span><span class="refpurpose"> — Font objects</span> |
| </dt> |
| <dt> |
| <span class="refentrytitle"><a href="harfbuzz-hb-map.html">hb-map</a></span><span class="refpurpose"> — Object representing integer to integer mapping</span> |
| </dt> |
| <dt> |
| <span class="refentrytitle"><a href="harfbuzz-hb-set.html">hb-set</a></span><span class="refpurpose"> — Object representing a set of integers</span> |
| </dt> |
| <dt> |
| <span class="refentrytitle"><a href="harfbuzz-hb-shape-plan.html">hb-shape-plan</a></span><span class="refpurpose"> — Object representing a shaping plan</span> |
| </dt> |
| <dt> |
| <span class="refentrytitle"><a href="harfbuzz-hb-shape.html">hb-shape</a></span><span class="refpurpose"> — Conversion of text strings into positioned glyphs</span> |
| </dt> |
| <dt> |
| <span class="refentrytitle"><a href="harfbuzz-hb-unicode.html">hb-unicode</a></span><span class="refpurpose"> — Unicode character property access</span> |
| </dt> |
| <dt> |
| <span class="refentrytitle"><a href="harfbuzz-hb-version.html">hb-version</a></span><span class="refpurpose"> — Information about the version of HarfBuzz in use</span> |
| </dt> |
| </dl></dd> |
| <dt><span class="chapter"><a href="ch10.html">OpenType API</a></span></dt> |
| <dd><dl> |
| <dt> |
| <span class="refentrytitle"><a href="harfbuzz-hb-ot-color.html">hb-ot-color</a></span><span class="refpurpose"> — OpenType Color Fonts</span> |
| </dt> |
| <dt> |
| <span class="refentrytitle"><a href="harfbuzz-hb-ot-font.html">hb-ot-font</a></span><span class="refpurpose"> — OpenType font implementation</span> |
| </dt> |
| <dt> |
| <span class="refentrytitle"><a href="harfbuzz-hb-ot-layout.html">hb-ot-layout</a></span><span class="refpurpose"> — OpenType Layout</span> |
| </dt> |
| <dt> |
| <span class="refentrytitle"><a href="harfbuzz-hb-ot-math.html">hb-ot-math</a></span><span class="refpurpose"> — OpenType Math information</span> |
| </dt> |
| <dt> |
| <span class="refentrytitle"><a href="harfbuzz-hb-ot-name.html">hb-ot-name</a></span><span class="refpurpose"> — OpenType font name information</span> |
| </dt> |
| <dt> |
| <span class="refentrytitle"><a href="harfbuzz-hb-ot-shape.html">hb-ot-shape</a></span><span class="refpurpose"> — OpenType shaping support</span> |
| </dt> |
| <dt> |
| <span class="refentrytitle"><a href="harfbuzz-hb-ot-var.html">hb-ot-var</a></span><span class="refpurpose"> — OpenType Font Variations</span> |
| </dt> |
| </dl></dd> |
| <dt><span class="chapter"><a href="ch11.html">Apple Advanced Typography API</a></span></dt> |
| <dd><dl><dt> |
| <span class="refentrytitle"><a href="harfbuzz-hb-aat-layout.html">hb-aat-layout</a></span><span class="refpurpose"> — Apple Advanced Typography Layout</span> |
| </dt></dl></dd> |
| <dt><span class="chapter"><a href="ch12.html">Integration API</a></span></dt> |
| <dd><dl> |
| <dt> |
| <span class="refentrytitle"><a href="harfbuzz-hb-coretext.html">hb-coretext</a></span><span class="refpurpose"> — CoreText integration</span> |
| </dt> |
| <dt> |
| <span class="refentrytitle"><a href="harfbuzz-hb-ft.html">hb-ft</a></span><span class="refpurpose"> — FreeType integration</span> |
| </dt> |
| <dt> |
| <span class="refentrytitle"><a href="harfbuzz-hb-glib.html">hb-glib</a></span><span class="refpurpose"> — GLib integration</span> |
| </dt> |
| <dt> |
| <span class="refentrytitle"><a href="harfbuzz-hb-gobject.html">hb-gobject</a></span><span class="refpurpose"> — GObject integration</span> |
| </dt> |
| <dt> |
| <span class="refentrytitle"><a href="harfbuzz-hb-graphite2.html">hb-graphite2</a></span><span class="refpurpose"> — Graphite2 integration</span> |
| </dt> |
| <dt> |
| <span class="refentrytitle"><a href="harfbuzz-hb-icu.html">hb-icu</a></span><span class="refpurpose"> — ICU integration</span> |
| </dt> |
| <dt> |
| <span class="refentrytitle"><a href="harfbuzz-hb-uniscribe.html">hb-uniscribe</a></span><span class="refpurpose"> — Windows integration</span> |
| </dt> |
| </dl></dd> |
| <dt><span class="index"><a href="api-index-full.html">API Index</a></span></dt> |
| <dt><span class="index"><a href="deprecated-api-index.html">Index of deprecated API</a></span></dt> |
| <dt><span class="index"><a href="api-index-2-1-0.html">Index of new symbols in 2.1.0</a></span></dt> |
| <dt><span class="index"><a href="api-index-2-0-0.html">Index of new symbols in 2.0.0</a></span></dt> |
| <dt><span class="index"><a href="api-index-1-9-0.html">Index of new symbols in 1.9.0</a></span></dt> |
| <dt><span class="index"><a href="api-index-1-8-6.html">Index of new symbols in 1.8.6</a></span></dt> |
| <dt><span class="index"><a href="api-index-1-8-5.html">Index of new symbols in 1.8.5</a></span></dt> |
| <dt><span class="index"><a href="api-index-1-8-1.html">Index of new symbols in 1.8.1</a></span></dt> |
| <dt><span class="index"><a href="api-index-1-8-0.html">Index of new symbols in 1.8.0</a></span></dt> |
| <dt><span class="index"><a href="api-index-1-7-7.html">Index of new symbols in 1.7.7</a></span></dt> |
| <dt><span class="index"><a href="api-index-1-7-5.html">Index of new symbols in 1.7.5</a></span></dt> |
| <dt><span class="index"><a href="api-index-1-6-0.html">Index of new symbols in 1.6.0</a></span></dt> |
| <dt><span class="index"><a href="api-index-1-5-0.html">Index of new symbols in 1.5.0</a></span></dt> |
| <dt><span class="index"><a href="api-index-1-4-3.html">Index of new symbols in 1.4.3</a></span></dt> |
| <dt><span class="index"><a href="api-index-1-4-2.html">Index of new symbols in 1.4.2</a></span></dt> |
| <dt><span class="index"><a href="api-index-1-4-0.html">Index of new symbols in 1.4.0</a></span></dt> |
| <dt><span class="index"><a href="api-index-1-3-3.html">Index of new symbols in 1.3.3</a></span></dt> |
| <dt><span class="index"><a href="api-index-1-2-3.html">Index of new symbols in 1.2.3</a></span></dt> |
| <dt><span class="index"><a href="api-index-1-1-3.html">Index of new symbols in 1.1.3</a></span></dt> |
| <dt><span class="index"><a href="api-index-1-1-2.html">Index of new symbols in 1.1.2</a></span></dt> |
| <dt><span class="index"><a href="api-index-1-0-5.html">Index of new symbols in 1.0.5</a></span></dt> |
| <dt><span class="index"><a href="api-index-0-9-42.html">Index of new symbols in 0.9.42</a></span></dt> |
| <dt><span class="index"><a href="api-index-0-9-41.html">Index of new symbols in 0.9.41</a></span></dt> |
| <dt><span class="index"><a href="api-index-0-9-39.html">Index of new symbols in 0.9.39</a></span></dt> |
| <dt><span class="index"><a href="api-index-0-9-38.html">Index of new symbols in 0.9.38</a></span></dt> |
| <dt><span class="index"><a href="api-index-0-9-31.html">Index of new symbols in 0.9.31</a></span></dt> |
| <dt><span class="index"><a href="api-index-0-9-30.html">Index of new symbols in 0.9.30</a></span></dt> |
| <dt><span class="index"><a href="api-index-0-9-28.html">Index of new symbols in 0.9.28</a></span></dt> |
| <dt><span class="index"><a href="api-index-0-9-22.html">Index of new symbols in 0.9.22</a></span></dt> |
| <dt><span class="index"><a href="api-index-0-9-20.html">Index of new symbols in 0.9.20</a></span></dt> |
| <dt><span class="index"><a href="api-index-0-9-11.html">Index of new symbols in 0.9.11</a></span></dt> |
| <dt><span class="index"><a href="api-index-0-9-10.html">Index of new symbols in 0.9.10</a></span></dt> |
| <dt><span class="index"><a href="api-index-0-9-8.html">Index of new symbols in 0.9.8</a></span></dt> |
| <dt><span class="index"><a href="api-index-0-9-7.html">Index of new symbols in 0.9.7</a></span></dt> |
| <dt><span class="index"><a href="api-index-0-9-5.html">Index of new symbols in 0.9.5</a></span></dt> |
| <dt><span class="index"><a href="api-index-0-9-2.html">Index of new symbols in 0.9.2</a></span></dt> |
| <dt><span class="glossary"><a href="annotation-glossary.html">Annotation Glossary</a></span></dt> |
| </dl></dd> |
| </dl></div> |
| </div> |
| <div class="footer"> |
| <hr>Generated by GTK-Doc V1.25</div> |
| </body> |
| </html> |