| <?xml version="1.0"?> |
| <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" |
| "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [ |
| <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'"> |
| <!ENTITY version SYSTEM "version.xml"> |
| ]> |
| <book id="index"> |
| <bookinfo> |
| <title>HarfBuzz Manual</title> |
| <abstract> |
| <title>HarfBuzz</title> |
| <graphic fileref="HarfBuzz.png" format="PNG" align="center"/> |
| <para> |
| HarfBuzz is a text shaping library. 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. |
| </para> |
| |
| <para> |
| The canonical source-code tree is available at |
| <ulink url="https://github.com/harfbuzz/harfbuzz">github.com/harfbuzz/harfbuzz</ulink>. |
| See <xref linkend="download" endterm="download.title"/> for |
| release tarballs. |
| </para> |
| </abstract> |
| </bookinfo> |
| |
| <part id="user-manual"> |
| <title>User's manual</title> |
| <xi:include href="usermanual-what-is-harfbuzz.xml"/> |
| <xi:include href="usermanual-install-harfbuzz.xml"/> |
| <xi:include href="usermanual-getting-started.xml"/> |
| <xi:include href="usermanual-shaping-concepts.xml"/> |
| <xi:include href="usermanual-object-model.xml"/> |
| <xi:include href="usermanual-buffers-language-script-and-direction.xml"/> |
| <xi:include href="usermanual-fonts-and-faces.xml"/> |
| <xi:include href="usermanual-opentype-features.xml"/> |
| <xi:include href="usermanual-clusters.xml"/> |
| <xi:include href="usermanual-utilities.xml"/> |
| <xi:include href="usermanual-integration.xml"/> |
| </part> |
| |
| <part id="reference-manual"> |
| <partinfo> |
| <releaseinfo> |
| This document is for HarfBuzz &version;. |
| <!--The latest version of this documentation can be found on-line at |
| <ulink role="online-location" url="http://[SERVER]/libharfbuzz/index.html">http://[SERVER]/libharfbuzz/</ulink>.--> |
| </releaseinfo> |
| </partinfo> |
| |
| <title>Reference manual</title> |
| <chapter id="core-api"> |
| <title>Core API</title> |
| <xi:include href="xml/hb-blob.xml"/> |
| <xi:include href="xml/hb-buffer.xml"/> |
| <xi:include href="xml/hb-common.xml"/> |
| <xi:include href="xml/hb-features.xml"/> |
| <xi:include href="xml/hb-draw.xml"/> |
| <xi:include href="xml/hb-paint.xml"/> |
| <xi:include href="xml/hb-deprecated.xml"/> |
| <xi:include href="xml/hb-face.xml"/> |
| <xi:include href="xml/hb-font.xml"/> |
| <xi:include href="xml/hb-map.xml"/> |
| <xi:include href="xml/hb-set.xml"/> |
| <xi:include href="xml/hb-shape-plan.xml"/> |
| <xi:include href="xml/hb-shape.xml"/> |
| <xi:include href="xml/hb-unicode.xml"/> |
| <xi:include href="xml/hb-version.xml"/> |
| </chapter> |
| |
| <chapter id="opentype-api"> |
| <title>OpenType API</title> |
| <xi:include href="xml/hb-ot-color.xml"/> |
| <xi:include href="xml/hb-ot-font.xml"/> |
| <xi:include href="xml/hb-ot-layout.xml"/> |
| <xi:include href="xml/hb-ot-math.xml"/> |
| <xi:include href="xml/hb-ot-meta.xml"/> |
| <xi:include href="xml/hb-ot-metrics.xml"/> |
| <xi:include href="xml/hb-ot-name.xml"/> |
| <xi:include href="xml/hb-ot-shape.xml"/> |
| <xi:include href="xml/hb-ot-var.xml"/> |
| </chapter> |
| |
| <chapter id="apple-advanced-typography-api"> |
| <title>Apple Advanced Typography API</title> |
| <xi:include href="xml/hb-aat-layout.xml"/> |
| </chapter> |
| |
| <chapter id="integration-api"> |
| <title>Integration API</title> |
| <xi:include href="xml/hb-coretext.xml"/> |
| <xi:include href="xml/hb-ft.xml"/> |
| <xi:include href="xml/hb-glib.xml"/> |
| <xi:include href="xml/hb-graphite2.xml"/> |
| <xi:include href="xml/hb-icu.xml"/> |
| <xi:include href="xml/hb-uniscribe.xml"/> |
| <xi:include href="xml/hb-gdi.xml"/> |
| <xi:include href="xml/hb-directwrite.xml"/> |
| <xi:include href="xml/hb-cairo.xml"/> |
| </chapter> |
| |
| <chapter id="style-api"> |
| <title>Style API</title> |
| <xi:include href="xml/hb-style.xml"/> |
| </chapter> |
| |
| <chapter id="subset-api"> |
| <title>Subset API</title> |
| <xi:include href="xml/hb-subset.xml"/> |
| </chapter> |
| |
| |
| <!--chapter id="object-tree"> |
| <title>Object Hierarchy</title> |
| <xi:include href="xml/tree_index.sgml"/> |
| </chapter--> |
| |
| <index id="api-index-full"><title>API Index</title><xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include></index> |
| <index id="deprecated-api-index"><title>Index of deprecated API</title><xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include></index> |
| |
| <index id="api-index-7-1-0"><title>Index of new symbols in 7.1.0</title><xi:include href="xml/api-index-7.1.0.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-7-0-0"><title>Index of new symbols in 7.0.0</title><xi:include href="xml/api-index-7.0.0.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-6-0-0"><title>Index of new symbols in 6.0.0</title><xi:include href="xml/api-index-6.0.0.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-5-3-0"><title>Index of new symbols in 5.3.0</title><xi:include href="xml/api-index-5.3.0.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-5-0-0"><title>Index of new symbols in 5.0.0</title><xi:include href="xml/api-index-5.0.0.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-4-4-0"><title>Index of new symbols in 4.4.0</title><xi:include href="xml/api-index-4.4.0.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-4-3-0"><title>Index of new symbols in 4.3.0</title><xi:include href="xml/api-index-4.3.0.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-4-2-0"><title>Index of new symbols in 4.2.0</title><xi:include href="xml/api-index-4.2.0.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-4-1-0"><title>Index of new symbols in 4.1.0</title><xi:include href="xml/api-index-4.1.0.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-4-0-0"><title>Index of new symbols in 4.0.0</title><xi:include href="xml/api-index-4.0.0.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-3-4-0"><title>Index of new symbols in 3.4.0</title><xi:include href="xml/api-index-3.4.0.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-3-3-0"><title>Index of new symbols in 3.3.0</title><xi:include href="xml/api-index-3.3.0.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-3-1-0"><title>Index of new symbols in 3.1.0</title><xi:include href="xml/api-index-3.1.0.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-3-0-0"><title>Index of new symbols in 3.0.0</title><xi:include href="xml/api-index-3.0.0.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-2-9-1"><title>Index of new symbols in 2.9.1</title><xi:include href="xml/api-index-2.9.1.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-2-9-0"><title>Index of new symbols in 2.9.0</title><xi:include href="xml/api-index-2.9.0.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-2-8-2"><title>Index of new symbols in 2.8.2</title><xi:include href="xml/api-index-2.8.2.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-2-7-3"><title>Index of new symbols in 2.7.3</title><xi:include href="xml/api-index-2.7.3.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-2-6-8"><title>Index of new symbols in 2.6.8</title><xi:include href="xml/api-index-2.6.8.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-2-6-5"><title>Index of new symbols in 2.6.5</title><xi:include href="xml/api-index-2.6.5.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-2-6-3"><title>Index of new symbols in 2.6.3</title><xi:include href="xml/api-index-2.6.3.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-2-6-0"><title>Index of new symbols in 2.6.0</title><xi:include href="xml/api-index-2.6.0.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-2-5-0"><title>Index of new symbols in 2.5.0</title><xi:include href="xml/api-index-2.5.0.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-2-4-0"><title>Index of new symbols in 2.4.0</title><xi:include href="xml/api-index-2.4.0.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-2-3-0"><title>Index of new symbols in 2.3.0</title><xi:include href="xml/api-index-2.3.0.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-2-2-0"><title>Index of new symbols in 2.2.0</title><xi:include href="xml/api-index-2.2.0.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-2-1-0"><title>Index of new symbols in 2.1.0</title><xi:include href="xml/api-index-2.1.0.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-2-0-0"><title>Index of new symbols in 2.0.0</title><xi:include href="xml/api-index-2.0.0.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-1-9-0"><title>Index of new symbols in 1.9.0</title><xi:include href="xml/api-index-1.9.0.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-1-8-6"><title>Index of new symbols in 1.8.6</title><xi:include href="xml/api-index-1.8.6.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-1-8-5"><title>Index of new symbols in 1.8.5</title><xi:include href="xml/api-index-1.8.5.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-1-8-1"><title>Index of new symbols in 1.8.1</title><xi:include href="xml/api-index-1.8.1.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-1-8-0"><title>Index of new symbols in 1.8.0</title><xi:include href="xml/api-index-1.8.0.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-1-7-7"><title>Index of new symbols in 1.7.7</title><xi:include href="xml/api-index-1.7.7.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-1-7-2"><title>Index of new symbols in 1.7.2</title><xi:include href="xml/api-index-1.7.2.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-1-6-0"><title>Index of new symbols in 1.6.0</title><xi:include href="xml/api-index-1.6.0.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-1-5-0"><title>Index of new symbols in 1.5.0</title><xi:include href="xml/api-index-1.5.0.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-1-4-3"><title>Index of new symbols in 1.4.3</title><xi:include href="xml/api-index-1.4.3.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-1-4-2"><title>Index of new symbols in 1.4.2</title><xi:include href="xml/api-index-1.4.2.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-1-4-0"><title>Index of new symbols in 1.4.0</title><xi:include href="xml/api-index-1.4.0.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-1-3-3"><title>Index of new symbols in 1.3.3</title><xi:include href="xml/api-index-1.3.3.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-1-2-3"><title>Index of new symbols in 1.2.3</title><xi:include href="xml/api-index-1.2.3.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-1-1-3"><title>Index of new symbols in 1.1.3</title><xi:include href="xml/api-index-1.1.3.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-1-1-2"><title>Index of new symbols in 1.1.2</title><xi:include href="xml/api-index-1.1.2.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-1-0-5"><title>Index of new symbols in 1.0.5</title><xi:include href="xml/api-index-1.0.5.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-0-9-42"><title>Index of new symbols in 0.9.42</title><xi:include href="xml/api-index-0.9.42.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-0-9-41"><title>Index of new symbols in 0.9.41</title><xi:include href="xml/api-index-0.9.41.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-0-9-39"><title>Index of new symbols in 0.9.39</title><xi:include href="xml/api-index-0.9.39.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-0-9-38"><title>Index of new symbols in 0.9.38</title><xi:include href="xml/api-index-0.9.38.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-0-9-33"><title>Index of new symbols in 0.9.33</title><xi:include href="xml/api-index-0.9.33.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-0-9-31"><title>Index of new symbols in 0.9.31</title><xi:include href="xml/api-index-0.9.31.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-0-9-30"><title>Index of new symbols in 0.9.30</title><xi:include href="xml/api-index-0.9.30.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-0-9-28"><title>Index of new symbols in 0.9.28</title><xi:include href="xml/api-index-0.9.28.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-0-9-26"><title>Index of new symbols in 0.9.26</title><xi:include href="xml/api-index-0.9.26.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-0-9-22"><title>Index of new symbols in 0.9.22</title><xi:include href="xml/api-index-0.9.22.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-0-9-21"><title>Index of new symbols in 0.9.21</title><xi:include href="xml/api-index-0.9.21.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-0-9-20"><title>Index of new symbols in 0.9.20</title><xi:include href="xml/api-index-0.9.20.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-0-9-11"><title>Index of new symbols in 0.9.11</title><xi:include href="xml/api-index-0.9.11.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-0-9-10"><title>Index of new symbols in 0.9.10</title><xi:include href="xml/api-index-0.9.10.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-0-9-8"><title>Index of new symbols in 0.9.8</title><xi:include href="xml/api-index-0.9.8.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-0-9-7"><title>Index of new symbols in 0.9.7</title><xi:include href="xml/api-index-0.9.7.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-0-9-5"><title>Index of new symbols in 0.9.5</title><xi:include href="xml/api-index-0.9.5.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-0-9-2"><title>Index of new symbols in 0.9.2</title><xi:include href="xml/api-index-0.9.2.xml"><xi:fallback /></xi:include></index> |
| <index id="api-index-0-6-0"><title>Index of new symbols in 0.6.0</title><xi:include href="xml/api-index-0.6.0.xml"><xi:fallback /></xi:include></index> |
| |
| <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include> |
| </part> |
| |
| <note> |
| <para> |
| The current HarfBuzz codebase is stable |
| and under active maintenance. This is what is used in latest |
| versions of Firefox, GNOME, ChromeOS, Chrome, LibreOffice, |
| XeTeX, Android, and KDE, among other places. |
| </para> |
| <para> |
| Prior to 2012, the original HarfBuzz codebase (which, these days, is |
| referred to as <emphasis>harfbuzz-old</emphasis>) was derived from code |
| in <ulink url="http://freetype.org/">FreeType</ulink>, |
| <ulink url="http://pango.org/">Pango</ulink>, and |
| <ulink url="http://qt-project.org/">Qt</ulink>. |
| It is <emphasis>not</emphasis> actively developed or maintained, and is |
| extremely buggy. All users of harfbuzz-old are encouraged to switch over |
| to the new HarfBuzz as soon as possible. |
| </para> |
| <para> |
| To make this distinction clearer in discussions, the current HarfBuzz |
| codebase is sometimes referred to as <emphasis>harfbuzz-ng</emphasis>. |
| </para> |
| <para> |
| For reference purposes, the harfbuzz-old source tree is archived |
| <ulink url="http://cgit.freedesktop.org/harfbuzz.old/">here</ulink>. |
| There are no release tarballs of harfbuzz-old whatsoever. |
| </para> |
| </note> |
| |
| </book> |