Imported Upstream version 3.4.0
[platform/upstream/harfbuzz.git] / docs / harfbuzz-docs.xml
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-deprecated.xml"/>
60         <xi:include href="xml/hb-face.xml"/>
61         <xi:include href="xml/hb-font.xml"/>
62         <xi:include href="xml/hb-map.xml"/>
63         <xi:include href="xml/hb-set.xml"/>
64         <xi:include href="xml/hb-shape-plan.xml"/>
65         <xi:include href="xml/hb-shape.xml"/>
66         <xi:include href="xml/hb-unicode.xml"/>
67         <xi:include href="xml/hb-version.xml"/>
68       </chapter>
69
70       <chapter id="opentype-api">
71         <title>OpenType API</title>
72         <xi:include href="xml/hb-ot-color.xml"/>
73         <xi:include href="xml/hb-ot-font.xml"/>
74         <xi:include href="xml/hb-ot-layout.xml"/>
75         <xi:include href="xml/hb-ot-math.xml"/>
76         <xi:include href="xml/hb-ot-meta.xml"/>
77         <xi:include href="xml/hb-ot-metrics.xml"/>
78         <xi:include href="xml/hb-ot-name.xml"/>
79         <xi:include href="xml/hb-ot-shape.xml"/>
80         <xi:include href="xml/hb-ot-var.xml"/>
81       </chapter>
82
83       <chapter id="apple-advanced-typography-api">
84         <title>Apple Advanced Typography API</title>
85         <xi:include href="xml/hb-aat-layout.xml"/>
86       </chapter>
87
88       <chapter id="integration-api">
89         <title>Integration API</title>
90         <xi:include href="xml/hb-coretext.xml"/>
91         <xi:include href="xml/hb-ft.xml"/>
92         <xi:include href="xml/hb-glib.xml"/>
93         <xi:include href="xml/hb-graphite2.xml"/>
94         <xi:include href="xml/hb-icu.xml"/>
95         <xi:include href="xml/hb-uniscribe.xml"/>
96         <xi:include href="xml/hb-gdi.xml"/>
97         <xi:include href="xml/hb-directwrite.xml"/>
98       </chapter>
99
100       <chapter id="style-api">
101         <title>Style API</title>
102         <xi:include href="xml/hb-style.xml"/>
103       </chapter>
104
105       <chapter id="subset-api">
106         <title>Subset API</title>
107         <xi:include href="xml/hb-subset.xml"/>
108       </chapter>
109
110
111       <!--chapter id="object-tree">
112         <title>Object Hierarchy</title>
113          <xi:include href="xml/tree_index.sgml"/>
114       </chapter-->
115
116       <index id="api-index-full"><title>API Index</title><xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include></index>
117       <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>
118
119       <index id="api-index-3-4-0" role="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>
120       <index id="api-index-3-3-0" role="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>
121       <index id="api-index-3-1-0" role="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>
122       <index id="api-index-3-0-0" role="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>
123       <index id="api-index-2-9-1" role="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>
124       <index id="api-index-2-9-0" role="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>
125       <index id="api-index-2-8-2" role="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>
126       <index id="api-index-2-7-3" role="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>
127       <index id="api-index-2-6-8" role="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>
128       <index id="api-index-2-6-5" role="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>
129       <index id="api-index-2-6-3" role="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>
130       <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>
131       <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>
132       <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>
133       <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>
134       <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>
135       <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>
136       <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>
137       <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>
138       <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>
139       <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>
140       <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>
141       <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>
142       <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>
143       <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>
144       <index id="api-index-1-7-2" role="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>
145       <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>
146       <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>
147       <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>
148       <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>
149       <index id="api-index-1-4-0" role="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>
150       <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>
151       <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>
152       <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>
153       <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>
154       <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>
155       <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>
156       <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>
157       <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>
158       <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>
159       <index id="api-index-0-9-33" role="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>
160       <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>
161       <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>
162       <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>
163       <index id="api-index-0-9-26" role="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>
164       <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>
165       <index id="api-index-0-9-21" role="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>
166       <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>
167       <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>
168       <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>
169       <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>
170       <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>
171       <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>
172       <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>
173       <index id="api-index-0-6-0" role="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>
174
175       <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
176   </part>
177
178   <note>
179     <para>
180       The current HarfBuzz codebase is versioned 2.x.x and is stable
181       and under active maintenance. This is what is used in latest
182       versions of Firefox, GNOME, ChromeOS, Chrome, LibreOffice,
183       XeTeX, Android, and KDE, among other places.
184     </para>
185     <para>
186       Prior to 2012, the original HarfBuzz codebase (which, these days, is
187       referred to as <emphasis>harfbuzz-old</emphasis>) was derived from code
188       in <ulink url="http://freetype.org/">FreeType</ulink>,
189       <ulink url="http://pango.org/">Pango</ulink>, and
190       <ulink url="http://qt-project.org/">Qt</ulink>.
191       It is <emphasis>not</emphasis> actively developed or  maintained, and is
192       extremely buggy. All users of harfbuzz-old are encouraged to switch over
193       to the new HarfBuzz as soon as possible.
194     </para>
195     <para>
196       To make this distinction clearer in discussions, the current HarfBuzz
197       codebase is sometimes referred to as <emphasis>harfbuzz-ng</emphasis>.
198     </para>
199     <para>
200       For reference purposes, the harfbuzz-old source tree is archived
201       <ulink url="http://cgit.freedesktop.org/harfbuzz.old/">here</ulink>.
202       There are no release tarballs of harfbuzz-old whatsoever.
203     </para>
204   </note>
205
206 </book>