blob: f4ad134ea186f164c8807986e023cec18f09b1a3 [file] [log] [blame]
Anthony Carricof7c72b42013-02-24 13:00:33 -05001<?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>
Simon Cozens01e16e82015-08-31 10:40:17 +01009 <title>HarfBuzz Manual</title>
Khaled Hosny4dc22652015-12-23 00:26:20 +040010 <abstract>
11 <title>HarfBuzz</title>
12 <graphic fileref="HarfBuzz.png" format="PNG" align="center"/>
13 <para>
14 HarfBuzz is an <ulink url="http://www.microsoft.com/typography/otspec/">OpenType</ulink>
Nathan Willis443f8722018-10-11 15:40:08 -050015 text shaping engine. Using the HarfBuzz library allows
Nathan Willis3a27e8f2018-10-12 18:23:26 -050016 programs to convert a sequence of Unicode input into
Khaled Hosnyed5547f2018-10-20 15:00:52 +010017 properly formatted and positioned glyph output&mdash;for any writing
Nathan Willis443f8722018-10-11 15:40:08 -050018 system and language.
Khaled Hosny4dc22652015-12-23 00:26:20 +040019 </para>
Nathan Willis443f8722018-10-11 15:40:08 -050020
Khaled Hosny4dc22652015-12-23 00:26:20 +040021 <para>
Nathan Willis443f8722018-10-11 15:40:08 -050022 The canonical source-code tree is available at
23 <ulink
Nathan Willisf028da52018-10-20 15:18:29 +010024 url="https://github.com/harfbuzz/harfbuzz">github.com/harfbuzz/harfbuzz</ulink>
25 and is also available at
Nathan Willis443f8722018-10-11 15:40:08 -050026 <ulink
Nathan Willisf028da52018-10-20 15:18:29 +010027 url="http://cgit.freedesktop.org/harfbuzz/">cgit.freedesktop.org/harfbuzz</ulink>.
28 See <xref linkend="download" endterm="download.title"/> for
29 release tarballs.
30 </para>
Khaled Hosny4dc22652015-12-23 00:26:20 +040031 </abstract>
Anthony Carricof7c72b42013-02-24 13:00:33 -050032 </bookinfo>
33
Simon Cozens01e16e82015-08-31 10:40:17 +010034 <part>
35 <title>User's manual</title>
Khaled Hosny493a9222015-12-23 00:33:41 +040036 <xi:include href="usermanual-what-is-harfbuzz.xml"/>
Khaled Hosnyd25317f2015-12-23 01:29:48 +040037 <xi:include href="usermanual-install-harfbuzz.xml"/>
Nathan Willis163ab812018-10-16 17:48:15 -050038 <xi:include href="usermanual-getting-started.xml"/>
Nathan Willis3a27e8f2018-10-12 18:23:26 -050039 <xi:include href="usermanual-shaping-concepts.xml"/>
Khaled Hosny493a9222015-12-23 00:33:41 +040040 <xi:include href="usermanual-buffers-language-script-and-direction.xml"/>
41 <xi:include href="usermanual-fonts-and-faces.xml"/>
n8willise12fc662016-01-28 12:14:12 -060042 <xi:include href="usermanual-clusters.xml"/>
Khaled Hosny493a9222015-12-23 00:33:41 +040043 <xi:include href="usermanual-opentype-features.xml"/>
44 <xi:include href="usermanual-glyph-information.xml"/>
Simon Cozens01e16e82015-08-31 10:40:17 +010045 </part>
Anthony Carricof7c72b42013-02-24 13:00:33 -050046
Simon Cozens01e16e82015-08-31 10:40:17 +010047 <part>
Khaled Hosnyd25317f2015-12-23 01:29:48 +040048 <partinfo>
49 <releaseinfo>
50 This document is for HarfBuzz &version;.
51 <!--The latest version of this documentation can be found on-line at
52 <ulink role="online-location" url="http://[SERVER]/libharfbuzz/index.html">http://[SERVER]/libharfbuzz/</ulink>.-->
53 </releaseinfo>
54 </partinfo>
Nathan Willis443f8722018-10-11 15:40:08 -050055
56 <note>
57 <para>
Nathan Willisf028da52018-10-20 15:18:29 +010058 The current HarfBuzz codebase is versioned 2.x.x and is stable
Nathan Willis443f8722018-10-11 15:40:08 -050059 and under active maintenance. This is what is used in latest
60 versions of Firefox, GNOME, ChromeOS, Chrome, LibreOffice,
61 XeTeX, Android, and KDE, among other places.
62 </para>
63 <para>
64 Prior to 2012, the original HarfBuzz codebase (which, these
65 days, is referred to as <emphasis>harfbuzz-old</emphasis>) was
66 derived from code in <ulink
67 url="http://freetype.org/">FreeType</ulink>, <ulink
68 url="http://pango.org/">Pango</ulink>, and
69 <ulink url="http://qt-project.org/">Qt</ulink>.
70 It is <emphasis>not</emphasis> actively developed or
71 maintained, and is extremely buggy. All users of harfbuzz-old
72 are encouraged to switch over to the new HarfBuzz as soon as possible.
73 </para>
74 <para>
75 To make this distinction clearer in discussions, the current
76 HarfBuzz codebase is sometimes referred to as
77 <emphasis>harfbuzz-ng</emphasis>.
78 </para>
79 <para>
80 For reference purposes, the harfbuzz-old source tree is archived
81 <ulink
82 url="http://cgit.freedesktop.org/harfbuzz.old/">here</ulink>. There
83 are no release tarballs of harfbuzz-old whatsoever.
84 </para>
85 </note>
86
Simon Cozens01e16e82015-08-31 10:40:17 +010087 <title>Reference manual</title>
88 <chapter>
Behdad Esfahbod4740a352018-10-27 05:07:54 -070089 <title>Core API</title>
Simon Cozens01e16e82015-08-31 10:40:17 +010090 <xi:include href="xml/hb-blob.xml"/>
Behdad Esfahbod4740a352018-10-27 05:07:54 -070091 <xi:include href="xml/hb-buffer.xml"/>
92 <xi:include href="xml/hb-common.xml"/>
93 <xi:include href="xml/hb-deprecated.xml"/>
Simon Cozens01e16e82015-08-31 10:40:17 +010094 <xi:include href="xml/hb-face.xml"/>
95 <xi:include href="xml/hb-font.xml"/>
Behdad Esfahbod4740a352018-10-27 05:07:54 -070096 <xi:include href="xml/hb-map.xml"/>
97 <xi:include href="xml/hb-set.xml"/>
98 <xi:include href="xml/hb-shape-plan.xml"/>
Simon Cozens01e16e82015-08-31 10:40:17 +010099 <xi:include href="xml/hb-shape.xml"/>
Behdad Esfahbod00cf4e52018-10-27 04:07:33 -0700100 <xi:include href="xml/hb-unicode.xml"/>
Simon Cozens01e16e82015-08-31 10:40:17 +0100101 <xi:include href="xml/hb-version.xml"/>
Behdad Esfahbod4740a352018-10-27 05:07:54 -0700102 </chapter>
Anthony Carricof7c72b42013-02-24 13:00:33 -0500103
Behdad Esfahbod4740a352018-10-27 05:07:54 -0700104 <chapter>
105 <title>OpenType API</title>
106 <xi:include href="xml/hb-ot-color.xml"/>
Behdad Esfahbodd941f662018-10-27 02:55:52 -0700107 <xi:include href="xml/hb-ot-font.xml"/>
Simon Cozens01e16e82015-08-31 10:40:17 +0100108 <xi:include href="xml/hb-ot-layout.xml"/>
Behdad Esfahboddb5ebcf2016-09-27 16:42:25 +0200109 <xi:include href="xml/hb-ot-math.xml"/>
Behdad Esfahbod4740a352018-10-27 05:07:54 -0700110 <xi:include href="xml/hb-ot-name.xml"/>
Behdad Esfahbodd941f662018-10-27 02:55:52 -0700111 <xi:include href="xml/hb-ot-shape.xml"/>
Behdad Esfahbod1d40d722018-10-27 05:00:42 -0700112 <xi:include href="xml/hb-ot-var.xml"/>
Behdad Esfahbod4740a352018-10-27 05:07:54 -0700113 </chapter>
Anthony Carricof7c72b42013-02-24 13:00:33 -0500114
Behdad Esfahbod4740a352018-10-27 05:07:54 -0700115 <chapter>
Behdad Esfahbod926f5122018-11-25 01:14:40 -0500116 <title>Apple Advanced Typography API</title>
117 <xi:include href="xml/hb-aat-layout.xml"/>
118 </chapter>
119
120 <chapter>
Behdad Esfahbod4740a352018-10-27 05:07:54 -0700121 <title>Integration API</title>
122 <xi:include href="xml/hb-coretext.xml"/>
Simon Cozens01e16e82015-08-31 10:40:17 +0100123 <xi:include href="xml/hb-ft.xml"/>
Behdad Esfahbod00cf4e52018-10-27 04:07:33 -0700124 <xi:include href="xml/hb-glib.xml"/>
125 <xi:include href="xml/hb-gobject.xml"/>
Simon Cozens01e16e82015-08-31 10:40:17 +0100126 <xi:include href="xml/hb-graphite2.xml"/>
Behdad Esfahbod4740a352018-10-27 05:07:54 -0700127 <xi:include href="xml/hb-icu.xml"/>
Simon Cozens01e16e82015-08-31 10:40:17 +0100128 <xi:include href="xml/hb-uniscribe.xml"/>
Simon Cozens01e16e82015-08-31 10:40:17 +0100129 </chapter>
Behdad Esfahbod4740a352018-10-27 05:07:54 -0700130
131 <!--chapter id="object-tree">
Simon Cozens01e16e82015-08-31 10:40:17 +0100132 <title>Object Hierarchy</title>
133 <xi:include href="xml/tree_index.sgml"/>
Behdad Esfahbod4740a352018-10-27 05:07:54 -0700134 </chapter-->
Behdad Esfahbode7400c02018-10-26 22:09:17 -0700135
Behdad Esfahbod4740a352018-10-27 05:07:54 -0700136 <index id="api-index-full"><title>API Index</title><xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include></index>
137 <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>
138
Behdad Esfahbode5dfffb2019-03-25 15:15:37 -0700139 <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>
Behdad Esfahbod10193912018-10-30 15:52:26 -0700140 <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>
Behdad Esfahbod4740a352018-10-27 05:07:54 -0700141 <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>
142 <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>
143 <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>
144 <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>
145 <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>
146 <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>
147 <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>
148 <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>
149 <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>
150 <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>
151 <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>
152 <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>
Behdad Esfahbod4740a352018-10-27 05:07:54 -0700153 <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>
154 <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>
155 <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>
156 <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>
157 <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>
158 <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>
159 <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>
160 <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>
161 <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>
162 <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>
163 <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>
164 <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>
165 <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>
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>
Simon Cozens01e16e82015-08-31 10:40:17 +0100173
174 <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
175 </part>
Anthony Carricof7c72b42013-02-24 13:00:33 -0500176</book>