2 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
3 "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
4 <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
5 <!ENTITY version SYSTEM "version.xml">
9 <title>HarfBuzz Manual</title>
11 <title>HarfBuzz</title>
12 <graphic fileref="HarfBuzz.png" format="PNG" align="center"/>
14 HarfBuzz is an <ulink url="http://www.microsoft.com/typography/otspec/">OpenType</ulink>
15 text shaping engine. Using the HarfBuzz library allows
16 programs to convert a sequence of Unicode input into
17 properly formatted and positioned glyph output—for any writing
22 The canonical source-code tree is available at
23 <ulink url="https://github.com/harfbuzz/harfbuzz">github.com/harfbuzz/harfbuzz</ulink>.
24 See <xref linkend="download" endterm="download.title"/> for
31 <title>User's manual</title>
32 <xi:include href="usermanual-what-is-harfbuzz.xml"/>
33 <xi:include href="usermanual-install-harfbuzz.xml"/>
34 <xi:include href="usermanual-getting-started.xml"/>
35 <xi:include href="usermanual-shaping-concepts.xml"/>
36 <xi:include href="usermanual-object-model.xml"/>
37 <xi:include href="usermanual-buffers-language-script-and-direction.xml"/>
38 <xi:include href="usermanual-fonts-and-faces.xml"/>
39 <xi:include href="usermanual-opentype-features.xml"/>
40 <xi:include href="usermanual-clusters.xml"/>
41 <xi:include href="usermanual-utilities.xml"/>
42 <xi:include href="usermanual-integration.xml"/>
48 This document is for HarfBuzz &version;.
49 <!--The latest version of this documentation can be found on-line at
50 <ulink role="online-location" url="http://[SERVER]/libharfbuzz/index.html">http://[SERVER]/libharfbuzz/</ulink>.-->
56 The current HarfBuzz codebase is versioned 2.x.x and is stable
57 and under active maintenance. This is what is used in latest
58 versions of Firefox, GNOME, ChromeOS, Chrome, LibreOffice,
59 XeTeX, Android, and KDE, among other places.
62 Prior to 2012, the original HarfBuzz codebase (which, these
63 days, is referred to as <emphasis>harfbuzz-old</emphasis>) was
64 derived from code in <ulink
65 url="http://freetype.org/">FreeType</ulink>, <ulink
66 url="http://pango.org/">Pango</ulink>, and
67 <ulink url="http://qt-project.org/">Qt</ulink>.
68 It is <emphasis>not</emphasis> actively developed or
69 maintained, and is extremely buggy. All users of harfbuzz-old
70 are encouraged to switch over to the new HarfBuzz as soon as possible.
73 To make this distinction clearer in discussions, the current
74 HarfBuzz codebase is sometimes referred to as
75 <emphasis>harfbuzz-ng</emphasis>.
78 For reference purposes, the harfbuzz-old source tree is archived
80 url="http://cgit.freedesktop.org/harfbuzz.old/">here</ulink>. There
81 are no release tarballs of harfbuzz-old whatsoever.
85 <title>Reference manual</title>
87 <title>Core API</title>
88 <xi:include href="xml/hb-blob.xml"/>
89 <xi:include href="xml/hb-buffer.xml"/>
90 <xi:include href="xml/hb-common.xml"/>
91 <xi:include href="xml/hb-deprecated.xml"/>
92 <xi:include href="xml/hb-face.xml"/>
93 <xi:include href="xml/hb-font.xml"/>
94 <xi:include href="xml/hb-map.xml"/>
95 <xi:include href="xml/hb-set.xml"/>
96 <xi:include href="xml/hb-shape-plan.xml"/>
97 <xi:include href="xml/hb-shape.xml"/>
98 <xi:include href="xml/hb-unicode.xml"/>
99 <xi:include href="xml/hb-version.xml"/>
103 <title>OpenType API</title>
104 <xi:include href="xml/hb-ot-color.xml"/>
105 <xi:include href="xml/hb-ot-font.xml"/>
106 <xi:include href="xml/hb-ot-layout.xml"/>
107 <xi:include href="xml/hb-ot-math.xml"/>
108 <xi:include href="xml/hb-ot-name.xml"/>
109 <xi:include href="xml/hb-ot-shape.xml"/>
110 <xi:include href="xml/hb-ot-var.xml"/>
114 <title>Apple Advanced Typography API</title>
115 <xi:include href="xml/hb-aat-layout.xml"/>
119 <title>Integration API</title>
120 <xi:include href="xml/hb-coretext.xml"/>
121 <xi:include href="xml/hb-ft.xml"/>
122 <xi:include href="xml/hb-glib.xml"/>
123 <xi:include href="xml/hb-gobject.xml"/>
124 <xi:include href="xml/hb-graphite2.xml"/>
125 <xi:include href="xml/hb-icu.xml"/>
126 <xi:include href="xml/hb-uniscribe.xml"/>
129 <!--chapter id="object-tree">
130 <title>Object Hierarchy</title>
131 <xi:include href="xml/tree_index.sgml"/>
134 <index id="api-index-full"><title>API Index</title><xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include></index>
135 <index id="deprecated-api-index" role="deprecated"><title>Index of deprecated API</title><xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include></index>
137 <index id="api-index-2-6-0" role="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>
138 <index id="api-index-2-5-0" role="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>
139 <index id="api-index-2-4-0" role="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>
140 <index id="api-index-2-3-0" role="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>
141 <index id="api-index-2-2-0" role="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>
142 <index id="api-index-2-1-0" role="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>
143 <index id="api-index-2-0-0" role="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>
144 <index id="api-index-1-9-0" role="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>
145 <index id="api-index-1-8-6" role="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>
146 <index id="api-index-1-8-5" role="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>
147 <index id="api-index-1-8-1" role="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>
148 <index id="api-index-1-8-0" role="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>
149 <index id="api-index-1-7-7" role="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>
150 <index id="api-index-1-7-5" role="1.7.5"><title>Index of new symbols in 1.7.5</title><xi:include href="xml/api-index-1.7.5.xml"><xi:fallback /></xi:include></index>
151 <index id="api-index-1-6-0" role="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>
152 <index id="api-index-1-5-0" role="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>
153 <index id="api-index-1-4-3" role="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>
154 <index id="api-index-1-4-2" role="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>
155 <index id="api-index-1-3-3" role="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>
156 <index id="api-index-1-2-3" role="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>
157 <index id="api-index-1-1-3" role="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>
158 <index id="api-index-1-1-2" role="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>
159 <index id="api-index-1-0-5" role="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>
160 <index id="api-index-0-9-42" role="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>
161 <index id="api-index-0-9-41" role="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>
162 <index id="api-index-0-9-39" role="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>
163 <index id="api-index-0-9-38" role="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>
164 <index id="api-index-0-9-31" role="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>
165 <index id="api-index-0-9-30" role="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>
166 <index id="api-index-0-9-28" role="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>
167 <index id="api-index-0-9-22" role="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>
168 <index id="api-index-0-9-20" role="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>
169 <index id="api-index-0-9-11" role="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>
170 <index id="api-index-0-9-10" role="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>
171 <index id="api-index-0-9-8" role="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>
172 <index id="api-index-0-9-7" role="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>
173 <index id="api-index-0-9-5" role="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>
174 <index id="api-index-0-9-2" role="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>
176 <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>