harfbuzz-docs.xml 17 KB

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