• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version="1.0"?>
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">
6]>
7<book id="index">
8  <bookinfo>
9    <title>HarfBuzz Manual</title>
10    <abstract>
11      <title>HarfBuzz</title>
12      <graphic fileref="HarfBuzz.png" format="PNG" align="center"/>
13      <para>
14        HarfBuzz is a text shaping library. Using the HarfBuzz library allows
15	programs to convert a sequence of Unicode input into
16	properly formatted and positioned glyph output&mdash;for any writing
17	system and language.
18      </para>
19
20      <para>
21	The canonical source-code tree is available at
22        <ulink url="https://github.com/harfbuzz/harfbuzz">github.com/harfbuzz/harfbuzz</ulink>.
23	See <xref linkend="download" endterm="download.title"/> for
24	release tarballs.
25      </para>
26    </abstract>
27  </bookinfo>
28
29  <part id="user-manual">
30    <title>User's manual</title>
31      <xi:include href="usermanual-what-is-harfbuzz.xml"/>
32      <xi:include href="usermanual-install-harfbuzz.xml"/>
33      <xi:include href="usermanual-getting-started.xml"/>
34      <xi:include href="usermanual-shaping-concepts.xml"/>
35      <xi:include href="usermanual-object-model.xml"/>
36      <xi:include href="usermanual-buffers-language-script-and-direction.xml"/>
37      <xi:include href="usermanual-fonts-and-faces.xml"/>
38      <xi:include href="usermanual-opentype-features.xml"/>
39      <xi:include href="usermanual-clusters.xml"/>
40      <xi:include href="usermanual-utilities.xml"/>
41      <xi:include href="usermanual-integration.xml"/>
42  </part>
43
44  <part id="reference-manual">
45    <partinfo>
46      <releaseinfo>
47        This document is for HarfBuzz &version;.
48        <!--The latest version of this documentation can be found on-line at
49        <ulink role="online-location" url="http://[SERVER]/libharfbuzz/index.html">http://[SERVER]/libharfbuzz/</ulink>.-->
50      </releaseinfo>
51    </partinfo>
52
53    <title>Reference manual</title>
54      <chapter id="core-api">
55        <title>Core API</title>
56        <xi:include href="xml/hb-blob.xml"/>
57        <xi:include href="xml/hb-buffer.xml"/>
58        <xi:include href="xml/hb-common.xml"/>
59        <xi:include href="xml/hb-features.xml"/>
60        <xi:include href="xml/hb-draw.xml"/>
61        <xi:include href="xml/hb-paint.xml"/>
62        <xi:include href="xml/hb-deprecated.xml"/>
63        <xi:include href="xml/hb-face.xml"/>
64        <xi:include href="xml/hb-font.xml"/>
65        <xi:include href="xml/hb-map.xml"/>
66        <xi:include href="xml/hb-set.xml"/>
67        <xi:include href="xml/hb-shape-plan.xml"/>
68        <xi:include href="xml/hb-shape.xml"/>
69        <xi:include href="xml/hb-unicode.xml"/>
70        <xi:include href="xml/hb-version.xml"/>
71      </chapter>
72
73      <chapter id="opentype-api">
74        <title>OpenType API</title>
75        <xi:include href="xml/hb-ot-color.xml"/>
76        <xi:include href="xml/hb-ot-font.xml"/>
77        <xi:include href="xml/hb-ot-layout.xml"/>
78        <xi:include href="xml/hb-ot-math.xml"/>
79        <xi:include href="xml/hb-ot-meta.xml"/>
80        <xi:include href="xml/hb-ot-metrics.xml"/>
81        <xi:include href="xml/hb-ot-name.xml"/>
82        <xi:include href="xml/hb-ot-shape.xml"/>
83        <xi:include href="xml/hb-ot-var.xml"/>
84      </chapter>
85
86      <chapter id="apple-advanced-typography-api">
87        <title>Apple Advanced Typography API</title>
88        <xi:include href="xml/hb-aat-layout.xml"/>
89      </chapter>
90
91      <chapter id="integration-api">
92        <title>Integration API</title>
93        <xi:include href="xml/hb-coretext.xml"/>
94        <xi:include href="xml/hb-ft.xml"/>
95        <xi:include href="xml/hb-glib.xml"/>
96        <xi:include href="xml/hb-graphite2.xml"/>
97        <xi:include href="xml/hb-icu.xml"/>
98        <xi:include href="xml/hb-uniscribe.xml"/>
99        <xi:include href="xml/hb-gdi.xml"/>
100        <xi:include href="xml/hb-directwrite.xml"/>
101        <xi:include href="xml/hb-cairo.xml"/>
102      </chapter>
103
104      <chapter id="style-api">
105        <title>Style API</title>
106        <xi:include href="xml/hb-style.xml"/>
107      </chapter>
108
109      <chapter id="subset-api">
110        <title>Subset API</title>
111        <xi:include href="xml/hb-subset.xml"/>
112      </chapter>
113
114
115      <!--chapter id="object-tree">
116        <title>Object Hierarchy</title>
117         <xi:include href="xml/tree_index.sgml"/>
118      </chapter-->
119
120      <index id="api-index-full"><title>API Index</title><xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include></index>
121      <index id="deprecated-api-index"><title>Index of deprecated API</title><xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include></index>
122
123      <index id="api-index-10-2-0"><title>Index of new symbols in 10.2.0</title><xi:include href="xml/api-index-10.2.0.xml"><xi:fallback /></xi:include></index>
124      <index id="api-index-10-1-0"><title>Index of new symbols in 10.1.0</title><xi:include href="xml/api-index-10.1.0.xml"><xi:fallback /></xi:include></index>
125      <index id="api-index-10-0-0"><title>Index of new symbols in 10.0.0</title><xi:include href="xml/api-index-10.0.0.xml"><xi:fallback /></xi:include></index>
126      <index id="api-index-8-5-0"><title>Index of new symbols in 8.5.0</title><xi:include href="xml/api-index-8.5.0.xml"><xi:fallback /></xi:include></index>
127      <index id="api-index-8-4-0"><title>Index of new symbols in 8.4.0</title><xi:include href="xml/api-index-8.4.0.xml"><xi:fallback /></xi:include></index>
128      <index id="api-index-8-3-1"><title>Index of new symbols in 8.3.1</title><xi:include href="xml/api-index-8.3.1.xml"><xi:fallback /></xi:include></index>
129      <index id="api-index-8-2-0"><title>Index of new symbols in 8.2.0</title><xi:include href="xml/api-index-8.2.0.xml"><xi:fallback /></xi:include></index>
130      <index id="api-index-8-1-0"><title>Index of new symbols in 8.1.0</title><xi:include href="xml/api-index-8.1.0.xml"><xi:fallback /></xi:include></index>
131      <index id="api-index-8-0-0"><title>Index of new symbols in 8.0.0</title><xi:include href="xml/api-index-8.0.0.xml"><xi:fallback /></xi:include></index>
132      <index id="api-index-7-3-0"><title>Index of new symbols in 7.3.0</title><xi:include href="xml/api-index-7.3.0.xml"><xi:fallback /></xi:include></index>
133      <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>
134      <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>
135      <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>
136      <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>
137      <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>
138      <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>
139      <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>
140      <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>
141      <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>
142      <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>
143      <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>
144      <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>
145      <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>
146      <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>
147      <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>
148      <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>
149      <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>
150      <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>
151      <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>
152      <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>
153      <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>
154      <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>
155      <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>
156      <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>
157      <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>
158      <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>
159      <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>
160      <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>
161      <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>
162      <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>
163      <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>
164      <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>
165      <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>
166      <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>
167      <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>
168      <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>
169      <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>
170      <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>
171      <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>
172      <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>
173      <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>
174      <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>
175      <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>
176      <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>
177      <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>
178      <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>
179      <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>
180      <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>
181      <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>
182      <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>
183      <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>
184      <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>
185      <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>
186      <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>
187      <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>
188      <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>
189      <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>
190      <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>
191      <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>
192      <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>
193      <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>
194      <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>
195      <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>
196      <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>
197
198      <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
199  </part>
200
201  <note>
202    <para>
203      The current HarfBuzz codebase is stable
204      and under active maintenance. This is what is used in latest
205      versions of Firefox, GNOME, ChromeOS, Chrome, LibreOffice,
206      XeTeX, Android, and KDE, among other places.
207    </para>
208    <para>
209      Prior to 2012, the original HarfBuzz codebase (which, these days, is
210      referred to as <emphasis>harfbuzz-old</emphasis>) was derived from code
211      in <ulink url="http://freetype.org/">FreeType</ulink>,
212      <ulink url="http://pango.org/">Pango</ulink>, and
213      <ulink url="http://qt-project.org/">Qt</ulink>.
214      It is <emphasis>not</emphasis> actively developed or  maintained, and is
215      extremely buggy. All users of harfbuzz-old are encouraged to switch over
216      to the new HarfBuzz as soon as possible.
217    </para>
218    <para>
219      To make this distinction clearer in discussions, the current HarfBuzz
220      codebase is sometimes referred to as <emphasis>harfbuzz-ng</emphasis>.
221    </para>
222    <para>
223      For reference purposes, the harfbuzz-old source tree is archived
224      <ulink url="http://cgit.freedesktop.org/harfbuzz.old/">here</ulink>.
225      There are no release tarballs of harfbuzz-old whatsoever.
226    </para>
227  </note>
228
229</book>
230