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—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