blob: b7d5cec72edb8984d9775057502db69f4c908763 [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
17 properly formatted and positioned text 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
24 url="http://cgit.freedesktop.org/harfbuzz/">cgit.freedesktop.org/harfbuzz</ulink>
25 and at
26 <ulink
27 url="https://github.com/harfbuzz/harfbuzz">github.com/harfbuzz/harfbuzz</ulink>.
Khaled Hosnyd25317f2015-12-23 01:29:48 +040028 See <xref linkend="download" endterm="download.title"/> for release tarballs.
Khaled Hosny4dc22652015-12-23 00:26:20 +040029 </abstract>
Anthony Carricof7c72b42013-02-24 13:00:33 -050030 </bookinfo>
31
Simon Cozens01e16e82015-08-31 10:40:17 +010032 <part>
33 <title>User's manual</title>
Khaled Hosny493a9222015-12-23 00:33:41 +040034 <xi:include href="usermanual-what-is-harfbuzz.xml"/>
Khaled Hosnyd25317f2015-12-23 01:29:48 +040035 <xi:include href="usermanual-install-harfbuzz.xml"/>
Khaled Hosny493a9222015-12-23 00:33:41 +040036 <xi:include href="usermanual-hello-harfbuzz.xml"/>
Nathan Willis3a27e8f2018-10-12 18:23:26 -050037 <xi:include href="usermanual-shaping-concepts.xml"/>
Khaled Hosny493a9222015-12-23 00:33:41 +040038 <xi:include href="usermanual-buffers-language-script-and-direction.xml"/>
39 <xi:include href="usermanual-fonts-and-faces.xml"/>
n8willise12fc662016-01-28 12:14:12 -060040 <xi:include href="usermanual-clusters.xml"/>
Khaled Hosny493a9222015-12-23 00:33:41 +040041 <xi:include href="usermanual-opentype-features.xml"/>
42 <xi:include href="usermanual-glyph-information.xml"/>
Simon Cozens01e16e82015-08-31 10:40:17 +010043 </part>
Anthony Carricof7c72b42013-02-24 13:00:33 -050044
Simon Cozens01e16e82015-08-31 10:40:17 +010045 <part>
Khaled Hosnyd25317f2015-12-23 01:29:48 +040046 <partinfo>
47 <releaseinfo>
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>.-->
51 </releaseinfo>
52 </partinfo>
Nathan Willis443f8722018-10-11 15:40:08 -050053
54 <note>
55 <para>
56 The current HarfBuzz codebase is versioned 1.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.
60 </para>
61 <para>
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.
71 </para>
72 <para>
73 To make this distinction clearer in discussions, the current
74 HarfBuzz codebase is sometimes referred to as
75 <emphasis>harfbuzz-ng</emphasis>.
76 </para>
77 <para>
78 For reference purposes, the harfbuzz-old source tree is archived
79 <ulink
80 url="http://cgit.freedesktop.org/harfbuzz.old/">here</ulink>. There
81 are no release tarballs of harfbuzz-old whatsoever.
82 </para>
83 </note>
84
Simon Cozens01e16e82015-08-31 10:40:17 +010085 <title>Reference manual</title>
86 <chapter>
Behdad Esfahbod4740a352018-10-27 05:07:54 -070087 <title>Core API</title>
Simon Cozens01e16e82015-08-31 10:40:17 +010088 <xi:include href="xml/hb-blob.xml"/>
Behdad Esfahbod4740a352018-10-27 05:07:54 -070089 <xi:include href="xml/hb-buffer.xml"/>
90 <xi:include href="xml/hb-common.xml"/>
91 <xi:include href="xml/hb-deprecated.xml"/>
Simon Cozens01e16e82015-08-31 10:40:17 +010092 <xi:include href="xml/hb-face.xml"/>
93 <xi:include href="xml/hb-font.xml"/>
Behdad Esfahbod4740a352018-10-27 05:07:54 -070094 <xi:include href="xml/hb-map.xml"/>
95 <xi:include href="xml/hb-set.xml"/>
96 <xi:include href="xml/hb-shape-plan.xml"/>
Simon Cozens01e16e82015-08-31 10:40:17 +010097 <xi:include href="xml/hb-shape.xml"/>
Behdad Esfahbod00cf4e52018-10-27 04:07:33 -070098 <xi:include href="xml/hb-unicode.xml"/>
Simon Cozens01e16e82015-08-31 10:40:17 +010099 <xi:include href="xml/hb-version.xml"/>
Behdad Esfahbod4740a352018-10-27 05:07:54 -0700100 </chapter>
Anthony Carricof7c72b42013-02-24 13:00:33 -0500101
Behdad Esfahbod4740a352018-10-27 05:07:54 -0700102 <chapter>
103 <title>OpenType API</title>
104 <xi:include href="xml/hb-ot-color.xml"/>
Behdad Esfahbodd941f662018-10-27 02:55:52 -0700105 <xi:include href="xml/hb-ot-font.xml"/>
Simon Cozens01e16e82015-08-31 10:40:17 +0100106 <xi:include href="xml/hb-ot-layout.xml"/>
Behdad Esfahboddb5ebcf2016-09-27 16:42:25 +0200107 <xi:include href="xml/hb-ot-math.xml"/>
Behdad Esfahbod4740a352018-10-27 05:07:54 -0700108 <xi:include href="xml/hb-ot-name.xml"/>
Behdad Esfahbodd941f662018-10-27 02:55:52 -0700109 <xi:include href="xml/hb-ot-shape.xml"/>
Behdad Esfahbod1d40d722018-10-27 05:00:42 -0700110 <xi:include href="xml/hb-ot-var.xml"/>
Behdad Esfahbod4740a352018-10-27 05:07:54 -0700111 </chapter>
Anthony Carricof7c72b42013-02-24 13:00:33 -0500112
Behdad Esfahbod4740a352018-10-27 05:07:54 -0700113 <chapter>
114 <title>Integration API</title>
115 <xi:include href="xml/hb-coretext.xml"/>
Simon Cozens01e16e82015-08-31 10:40:17 +0100116 <xi:include href="xml/hb-ft.xml"/>
Behdad Esfahbod00cf4e52018-10-27 04:07:33 -0700117 <xi:include href="xml/hb-glib.xml"/>
118 <xi:include href="xml/hb-gobject.xml"/>
Simon Cozens01e16e82015-08-31 10:40:17 +0100119 <xi:include href="xml/hb-graphite2.xml"/>
Behdad Esfahbod4740a352018-10-27 05:07:54 -0700120 <xi:include href="xml/hb-icu.xml"/>
Simon Cozens01e16e82015-08-31 10:40:17 +0100121 <xi:include href="xml/hb-uniscribe.xml"/>
Simon Cozens01e16e82015-08-31 10:40:17 +0100122 </chapter>
Behdad Esfahbod4740a352018-10-27 05:07:54 -0700123
124 <!--chapter id="object-tree">
Simon Cozens01e16e82015-08-31 10:40:17 +0100125 <title>Object Hierarchy</title>
126 <xi:include href="xml/tree_index.sgml"/>
Behdad Esfahbod4740a352018-10-27 05:07:54 -0700127 </chapter-->
Behdad Esfahbode7400c02018-10-26 22:09:17 -0700128
Behdad Esfahbod4740a352018-10-27 05:07:54 -0700129 <index id="api-index-full"><title>API Index</title><xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include></index>
130 <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>
131
132 <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>
133 <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>
134 <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>
135 <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>
136 <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>
137 <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>
138 <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>
139 <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>
140 <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>
141 <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>
142 <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>
143 <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>
144 <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>
145 <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>
146 <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>
147 <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>
148 <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>
149 <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>
150 <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>
151 <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>
152 <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>
153 <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>
154 <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>
155 <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>
156 <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>
157 <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>
158 <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>
159 <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>
160 <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>
161 <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>
162 <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>
163 <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>
164 <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 +0100165
166 <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
167 </part>
Anthony Carricof7c72b42013-02-24 13:00:33 -0500168</book>