pango 3.0.7-x86-mingw32 → 3.0.8-x86-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (351) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +6 -6
  3. data/ext/pango/extconf.rb +1 -0
  4. data/lib/2.2/pango.so +0 -0
  5. data/lib/2.3/pango.so +0 -0
  6. data/lib/pango.rb +2 -10
  7. data/vendor/local/bin/derb.exe +0 -0
  8. data/vendor/local/bin/genbrk.exe +0 -0
  9. data/vendor/local/bin/genccode.exe +0 -0
  10. data/vendor/local/bin/gencfu.exe +0 -0
  11. data/vendor/local/bin/gencmn.exe +0 -0
  12. data/vendor/local/bin/gencnval.exe +0 -0
  13. data/vendor/local/bin/gendict.exe +0 -0
  14. data/vendor/local/bin/gennorm2.exe +0 -0
  15. data/vendor/local/bin/genrb.exe +0 -0
  16. data/vendor/local/bin/gensprep.exe +0 -0
  17. data/vendor/local/bin/hb-ot-shape-closure.exe +0 -0
  18. data/vendor/local/bin/hb-shape.exe +0 -0
  19. data/vendor/local/bin/hb-view.exe +0 -0
  20. data/vendor/local/bin/icu-config +6 -7
  21. data/vendor/local/bin/icuinfo.exe +0 -0
  22. data/vendor/local/bin/icupkg.exe +0 -0
  23. data/vendor/local/bin/libharfbuzz-0.dll +0 -0
  24. data/vendor/local/bin/libpango-1.0-0.dll +0 -0
  25. data/vendor/local/bin/libpangocairo-1.0-0.dll +0 -0
  26. data/vendor/local/bin/libpangoft2-1.0-0.dll +0 -0
  27. data/vendor/local/bin/libpangowin32-1.0-0.dll +0 -0
  28. data/vendor/local/bin/makeconv.exe +0 -0
  29. data/vendor/local/bin/pango-view.exe +0 -0
  30. data/vendor/local/bin/pkgdata.exe +0 -0
  31. data/vendor/local/bin/uconv.exe +0 -0
  32. data/vendor/local/include/harfbuzz/hb-blob.h +12 -12
  33. data/vendor/local/include/harfbuzz/hb-buffer.h +181 -78
  34. data/vendor/local/include/harfbuzz/hb-common.h +23 -17
  35. data/vendor/local/include/harfbuzz/hb-deprecated.h +10 -0
  36. data/vendor/local/include/harfbuzz/hb-face.h +17 -17
  37. data/vendor/local/include/harfbuzz/hb-font.h +180 -79
  38. data/vendor/local/include/harfbuzz/hb-ft.h +16 -9
  39. data/vendor/local/include/harfbuzz/hb-glib.h +4 -4
  40. data/vendor/local/include/harfbuzz/hb-icu.h +3 -3
  41. data/vendor/local/include/harfbuzz/hb-ot-font.h +1 -1
  42. data/vendor/local/include/harfbuzz/hb-ot-layout.h +28 -28
  43. data/vendor/local/include/harfbuzz/hb-ot-shape.h +2 -2
  44. data/vendor/local/include/harfbuzz/hb-ot-tag.h +4 -4
  45. data/vendor/local/include/harfbuzz/hb-set.h +29 -26
  46. data/vendor/local/include/harfbuzz/hb-shape-plan.h +9 -9
  47. data/vendor/local/include/harfbuzz/hb-shape.h +5 -5
  48. data/vendor/local/include/harfbuzz/hb-unicode.h +47 -31
  49. data/vendor/local/include/harfbuzz/hb-version.h +6 -6
  50. data/vendor/local/include/harfbuzz/hb.h +4 -0
  51. data/vendor/local/include/layout/LELanguages.h +2 -5
  52. data/vendor/local/include/layout/LEScripts.h +3 -62
  53. data/vendor/local/include/layout/LETableReference.h +15 -3
  54. data/vendor/local/include/pango-1.0/pango/pango-attributes.h +27 -1
  55. data/vendor/local/include/pango-1.0/pango/pango-engine.h +50 -31
  56. data/vendor/local/include/pango-1.0/pango/pango-features.h +3 -3
  57. data/vendor/local/include/pango-1.0/pango/pango-font.h +1 -0
  58. data/vendor/local/include/pango-1.0/pango/pango-glyph-item.h +2 -0
  59. data/vendor/local/include/pango-1.0/pango/pango-glyph.h +5 -0
  60. data/vendor/local/include/pango-1.0/pango/pango-item.h +4 -0
  61. data/vendor/local/include/pango-1.0/pango/pango-layout.h +3 -0
  62. data/vendor/local/include/pango-1.0/pango/pango-matrix.h +2 -0
  63. data/vendor/local/include/pango-1.0/pango/pango-modules.h +6 -0
  64. data/vendor/local/include/pango-1.0/pango/pango-ot.h +8 -5
  65. data/vendor/local/include/pango-1.0/pango/pango-renderer.h +9 -2
  66. data/vendor/local/include/pango-1.0/pango/pango-script.h +63 -1
  67. data/vendor/local/include/pango-1.0/pango/pango-utils.h +12 -0
  68. data/vendor/local/include/pango-1.0/pango/pangofc-font.h +7 -10
  69. data/vendor/local/include/pango-1.0/pango/pangofc-fontmap.h +25 -16
  70. data/vendor/local/include/unicode/brkiter.h +6 -3
  71. data/vendor/local/include/unicode/bytestriebuilder.h +3 -1
  72. data/vendor/local/include/unicode/coll.h +21 -18
  73. data/vendor/local/include/unicode/compactdecimalformat.h +87 -3
  74. data/vendor/local/include/unicode/currpinf.h +2 -1
  75. data/vendor/local/include/unicode/datefmt.h +19 -41
  76. data/vendor/local/include/unicode/dcfmtsym.h +28 -9
  77. data/vendor/local/include/unicode/decimfmt.h +126 -304
  78. data/vendor/local/include/unicode/dtfmtsym.h +50 -19
  79. data/vendor/local/include/unicode/dtitvfmt.h +89 -30
  80. data/vendor/local/include/unicode/dtitvinf.h +63 -60
  81. data/vendor/local/include/unicode/dtptngen.h +81 -30
  82. data/vendor/local/include/unicode/filteredbrk.h +14 -24
  83. data/vendor/local/include/unicode/icuplug.h +9 -2
  84. data/vendor/local/include/unicode/listformatter.h +2 -2
  85. data/vendor/local/include/unicode/localpointer.h +231 -13
  86. data/vendor/local/include/unicode/locdspnm.h +2 -2
  87. data/vendor/local/include/unicode/locid.h +1 -3
  88. data/vendor/local/include/unicode/measfmt.h +14 -14
  89. data/vendor/local/include/unicode/measunit.h +213 -225
  90. data/vendor/local/include/unicode/normlzr.h +55 -43
  91. data/vendor/local/include/unicode/numfmt.h +60 -67
  92. data/vendor/local/include/unicode/platform.h +96 -3
  93. data/vendor/local/include/unicode/plurrule.h +5 -0
  94. data/vendor/local/include/unicode/rbnf.h +43 -4
  95. data/vendor/local/include/unicode/regex.h +14 -4
  96. data/vendor/local/include/unicode/region.h +5 -11
  97. data/vendor/local/include/unicode/reldatefmt.h +53 -43
  98. data/vendor/local/include/unicode/scientificnumberformatter.h +9 -11
  99. data/vendor/local/include/unicode/simpleformatter.h +295 -0
  100. data/vendor/local/include/unicode/smpdtfmt.h +36 -22
  101. data/vendor/local/include/unicode/tblcoll.h +32 -31
  102. data/vendor/local/include/unicode/timezone.h +4 -6
  103. data/vendor/local/include/unicode/tmunit.h +13 -13
  104. data/vendor/local/include/unicode/tzfmt.h +3 -6
  105. data/vendor/local/include/unicode/tznames.h +2 -4
  106. data/vendor/local/include/unicode/ubrk.h +14 -2
  107. data/vendor/local/include/unicode/uchar.h +61 -8
  108. data/vendor/local/include/unicode/ucharstriebuilder.h +1 -1
  109. data/vendor/local/include/unicode/ucol.h +2 -0
  110. data/vendor/local/include/unicode/uconfig.h +11 -6
  111. data/vendor/local/include/unicode/ucurr.h +24 -32
  112. data/vendor/local/include/unicode/udat.h +103 -87
  113. data/vendor/local/include/unicode/udateintervalformat.h +4 -1
  114. data/vendor/local/include/unicode/udatpg.h +6 -4
  115. data/vendor/local/include/unicode/udisplaycontext.h +6 -12
  116. data/vendor/local/include/unicode/ufieldpositer.h +10 -12
  117. data/vendor/local/include/unicode/uldnames.h +2 -2
  118. data/vendor/local/include/unicode/ulistformatter.h +9 -11
  119. data/vendor/local/include/unicode/uloc.h +13 -16
  120. data/vendor/local/include/unicode/umachine.h +2 -2
  121. data/vendor/local/include/unicode/uniset.h +25 -3
  122. data/vendor/local/include/unicode/unistr.h +168 -27
  123. data/vendor/local/include/unicode/unorm.h +40 -133
  124. data/vendor/local/include/unicode/unorm2.h +97 -1
  125. data/vendor/local/include/unicode/unum.h +61 -24
  126. data/vendor/local/include/unicode/uregex.h +7 -9
  127. data/vendor/local/include/unicode/ureldatefmt.h +365 -0
  128. data/vendor/local/include/unicode/urename.h +12 -1
  129. data/vendor/local/include/unicode/ures.h +157 -142
  130. data/vendor/local/include/unicode/uscript.h +1 -1
  131. data/vendor/local/include/unicode/ustdio.h +3 -5
  132. data/vendor/local/include/unicode/utf8.h +2 -2
  133. data/vendor/local/include/unicode/utypes.h +4 -6
  134. data/vendor/local/include/unicode/uvernum.h +7 -7
  135. data/vendor/local/lib/girepository-1.0/Pango-1.0.typelib +0 -0
  136. data/vendor/local/lib/girepository-1.0/PangoCairo-1.0.typelib +0 -0
  137. data/vendor/local/lib/girepository-1.0/PangoFT2-1.0.typelib +0 -0
  138. data/vendor/local/lib/icu/{55.1 → 57.1}/Makefile.inc +6 -6
  139. data/vendor/local/lib/icu/{55.1 → 57.1}/pkgdata.inc +1 -1
  140. data/vendor/local/lib/icu/Makefile.inc +6 -6
  141. data/vendor/local/lib/icu/pkgdata.inc +1 -1
  142. data/vendor/local/lib/icudt.dll +0 -0
  143. data/vendor/local/lib/{icudt55.dll → icudt57.dll} +0 -0
  144. data/vendor/local/lib/icuin.dll +0 -0
  145. data/vendor/local/lib/icuin57.dll +0 -0
  146. data/vendor/local/lib/icuio.dll +0 -0
  147. data/vendor/local/lib/icuio57.dll +0 -0
  148. data/vendor/local/lib/icule.dll +0 -0
  149. data/vendor/local/lib/icule57.dll +0 -0
  150. data/vendor/local/lib/iculx.dll +0 -0
  151. data/vendor/local/lib/iculx57.dll +0 -0
  152. data/vendor/local/lib/icutest.dll +0 -0
  153. data/vendor/local/lib/icutest57.dll +0 -0
  154. data/vendor/local/lib/icutu.dll +0 -0
  155. data/vendor/local/lib/icutu57.dll +0 -0
  156. data/vendor/local/lib/icuuc.dll +0 -0
  157. data/vendor/local/lib/icuuc57.dll +0 -0
  158. data/vendor/local/lib/libharfbuzz-icu.a +0 -0
  159. data/vendor/local/lib/libharfbuzz-icu.la +4 -4
  160. data/vendor/local/lib/libharfbuzz.dll.a +0 -0
  161. data/vendor/local/lib/libharfbuzz.la +4 -4
  162. data/vendor/local/lib/libicudt.dll.a +0 -0
  163. data/vendor/local/lib/libicuin.dll.a +0 -0
  164. data/vendor/local/lib/libicuio.dll.a +0 -0
  165. data/vendor/local/lib/libicule.dll.a +0 -0
  166. data/vendor/local/lib/libiculx.dll.a +0 -0
  167. data/vendor/local/lib/libicutest.dll.a +0 -0
  168. data/vendor/local/lib/libicutu.dll.a +0 -0
  169. data/vendor/local/lib/libicuuc.dll.a +0 -0
  170. data/vendor/local/lib/libpango-1.0.dll.a +0 -0
  171. data/vendor/local/lib/libpango-1.0.la +6 -6
  172. data/vendor/local/lib/libpangocairo-1.0.dll.a +0 -0
  173. data/vendor/local/lib/libpangocairo-1.0.la +6 -6
  174. data/vendor/local/lib/libpangoft2-1.0.dll.a +0 -0
  175. data/vendor/local/lib/libpangoft2-1.0.la +6 -6
  176. data/vendor/local/lib/libpangowin32-1.0.dll.a +0 -0
  177. data/vendor/local/lib/libpangowin32-1.0.la +6 -6
  178. data/vendor/local/lib/pkgconfig/harfbuzz-icu.pc +1 -1
  179. data/vendor/local/lib/pkgconfig/harfbuzz.pc +2 -2
  180. data/vendor/local/lib/pkgconfig/icu-i18n.pc +6 -6
  181. data/vendor/local/lib/pkgconfig/icu-io.pc +6 -6
  182. data/vendor/local/lib/pkgconfig/icu-le.pc +6 -6
  183. data/vendor/local/lib/pkgconfig/icu-lx.pc +6 -6
  184. data/vendor/local/lib/pkgconfig/icu-uc.pc +6 -6
  185. data/vendor/local/lib/pkgconfig/pango.pc +3 -5
  186. data/vendor/local/lib/pkgconfig/pangocairo.pc +3 -2
  187. data/vendor/local/lib/pkgconfig/pangoft2.pc +1 -1
  188. data/vendor/local/lib/pkgconfig/pangowin32.pc +3 -2
  189. data/vendor/local/share/gir-1.0/Pango-1.0.gir +891 -307
  190. data/vendor/local/share/gir-1.0/PangoCairo-1.0.gir +45 -27
  191. data/vendor/local/share/gir-1.0/PangoFT2-1.0.gir +12 -5
  192. data/vendor/local/share/gtk-doc/html/harfbuzz/HarfBuzz.png +0 -0
  193. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-10.html +41 -0
  194. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-11.html +34 -0
  195. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-2.html +722 -0
  196. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-20.html +38 -0
  197. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-22.html +34 -0
  198. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-28.html +34 -0
  199. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-30.html +41 -0
  200. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-31.html +46 -0
  201. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-38.html +45 -0
  202. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-39.html +34 -0
  203. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-41.html +34 -0
  204. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-42.html +38 -0
  205. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-5.html +56 -0
  206. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-7.html +191 -0
  207. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-8.html +34 -0
  208. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-1-0-5.html +42 -0
  209. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-1-1-2.html +38 -0
  210. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-1-1-3.html +49 -0
  211. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-full.html +226 -58
  212. data/vendor/local/share/gtk-doc/html/harfbuzz/building.html +80 -0
  213. data/vendor/local/share/gtk-doc/html/harfbuzz/{ch06.html → ch07.html} +8 -2
  214. data/vendor/local/share/gtk-doc/html/harfbuzz/deprecated-api-index.html +13 -2
  215. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-Buffers.html +2738 -0
  216. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-Shaping.html +20 -22
  217. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-blob.html +38 -38
  218. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-common.html +287 -189
  219. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-coretext.html +2 -2
  220. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-deprecated.html +2 -2
  221. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-face.html +38 -38
  222. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-font.html +403 -126
  223. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ft.html +85 -10
  224. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-glib.html +17 -2
  225. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-gobject.html +172 -2
  226. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-graphite2.html +2 -2
  227. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-icu.html +2 -2
  228. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-font.html +76 -0
  229. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-layout.html +43 -3
  230. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-shape.html +80 -0
  231. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-tag.html +6 -6
  232. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot.html +2 -2
  233. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-set.html +39 -39
  234. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-shape-plan.html +21 -21
  235. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-unicode.html +51 -46
  236. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-uniscribe.html +2 -2
  237. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-version.html +11 -11
  238. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb.html +4 -4
  239. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz.devhelp2 +262 -190
  240. data/vendor/local/share/gtk-doc/html/harfbuzz/hello-harfbuzz.html +2 -2
  241. data/vendor/local/share/gtk-doc/html/harfbuzz/index.html +61 -7
  242. data/vendor/local/share/gtk-doc/html/harfbuzz/install-harfbuzz.html +59 -0
  243. data/vendor/local/share/gtk-doc/html/harfbuzz/object-tree.html +9 -8
  244. data/vendor/local/share/gtk-doc/html/harfbuzz/pt01.html +5 -0
  245. data/vendor/local/share/gtk-doc/html/harfbuzz/pt02.html +37 -6
  246. data/vendor/local/share/gtk-doc/html/harfbuzz/why-is-it-called-harfbuzz.html +2 -2
  247. data/vendor/local/share/gtk-doc/html/pango/PangoEngineLang.html +22 -19
  248. data/vendor/local/share/gtk-doc/html/pango/PangoEngineShape.html +15 -12
  249. data/vendor/local/share/gtk-doc/html/pango/PangoFcDecoder.html +9 -12
  250. data/vendor/local/share/gtk-doc/html/pango/PangoFcFont.html +29 -35
  251. data/vendor/local/share/gtk-doc/html/pango/PangoFcFontMap.html +206 -97
  252. data/vendor/local/share/gtk-doc/html/pango/PangoMarkupFormat.html +33 -8
  253. data/vendor/local/share/gtk-doc/html/pango/PangoRenderer.html +150 -57
  254. data/vendor/local/share/gtk-doc/html/pango/annotation-glossary.html +12 -4
  255. data/vendor/local/share/gtk-doc/html/pango/api-index-1-10.html +3 -4
  256. data/vendor/local/share/gtk-doc/html/pango/api-index-1-12.html +3 -4
  257. data/vendor/local/share/gtk-doc/html/pango/api-index-1-14.html +3 -4
  258. data/vendor/local/share/gtk-doc/html/pango/api-index-1-16.html +3 -4
  259. data/vendor/local/share/gtk-doc/html/pango/api-index-1-18.html +3 -4
  260. data/vendor/local/share/gtk-doc/html/pango/api-index-1-2.html +3 -4
  261. data/vendor/local/share/gtk-doc/html/pango/api-index-1-20.html +3 -4
  262. data/vendor/local/share/gtk-doc/html/pango/api-index-1-22.html +3 -4
  263. data/vendor/local/share/gtk-doc/html/pango/api-index-1-24.html +3 -4
  264. data/vendor/local/share/gtk-doc/html/pango/api-index-1-26.html +3 -4
  265. data/vendor/local/share/gtk-doc/html/pango/api-index-1-30.html +4 -5
  266. data/vendor/local/share/gtk-doc/html/pango/api-index-1-31-0.html +4 -5
  267. data/vendor/local/share/gtk-doc/html/pango/api-index-1-32-4.html +5 -6
  268. data/vendor/local/share/gtk-doc/html/pango/api-index-1-32.html +5 -6
  269. data/vendor/local/share/gtk-doc/html/pango/api-index-1-34.html +7 -7
  270. data/vendor/local/share/gtk-doc/html/pango/api-index-1-38.html +79 -0
  271. data/vendor/local/share/gtk-doc/html/pango/api-index-1-4.html +3 -4
  272. data/vendor/local/share/gtk-doc/html/pango/{tools.html → api-index-1-40.html} +9 -13
  273. data/vendor/local/share/gtk-doc/html/pango/api-index-1-6.html +3 -4
  274. data/vendor/local/share/gtk-doc/html/pango/api-index-1-8.html +3 -4
  275. data/vendor/local/share/gtk-doc/html/pango/api-index-deprecated.html +161 -4
  276. data/vendor/local/share/gtk-doc/html/pango/api-index-full.html +51 -8
  277. data/vendor/local/share/gtk-doc/html/pango/index.html +8 -11
  278. data/vendor/local/share/gtk-doc/html/pango/index.sgml +251 -4
  279. data/vendor/local/share/gtk-doc/html/pango/lowlevel.html +3 -4
  280. data/vendor/local/share/gtk-doc/html/pango/pango-Bidirectional-Text.html +18 -23
  281. data/vendor/local/share/gtk-doc/html/pango/pango-Cairo-Rendering.html +121 -123
  282. data/vendor/local/share/gtk-doc/html/pango/pango-CoreText-Fonts.html +5 -7
  283. data/vendor/local/share/gtk-doc/html/pango/pango-Coverage-Maps.html +10 -14
  284. data/vendor/local/share/gtk-doc/html/pango/pango-Engines.html +28 -37
  285. data/vendor/local/share/gtk-doc/html/pango/pango-Fonts.html +170 -224
  286. data/vendor/local/share/gtk-doc/html/pango/pango-FreeType-Fonts-and-Rendering.html +35 -38
  287. data/vendor/local/share/gtk-doc/html/pango/pango-Glyph-Storage.html +257 -170
  288. data/vendor/local/share/gtk-doc/html/pango/pango-Layout-Objects.html +186 -214
  289. data/vendor/local/share/gtk-doc/html/pango/pango-Miscellaneous-Utilities.html +117 -132
  290. data/vendor/local/share/gtk-doc/html/pango/pango-Modules.html +26 -41
  291. data/vendor/local/share/gtk-doc/html/pango/pango-OpenType-Font-Handling.html +140 -153
  292. data/vendor/local/share/gtk-doc/html/pango/pango-Scripts-and-Languages.html +270 -75
  293. data/vendor/local/share/gtk-doc/html/pango/pango-Tab-Stops.html +28 -34
  294. data/vendor/local/share/gtk-doc/html/pango/pango-Text-Attributes.html +361 -203
  295. data/vendor/local/share/gtk-doc/html/pango/pango-Text-Processing.html +194 -161
  296. data/vendor/local/share/gtk-doc/html/pango/pango-Version-Checking.html +16 -19
  297. data/vendor/local/share/gtk-doc/html/pango/pango-Vertical-Text.html +21 -28
  298. data/vendor/local/share/gtk-doc/html/pango/pango-Win32-Fonts-and-Rendering.html +34 -48
  299. data/vendor/local/share/gtk-doc/html/pango/pango-Xft-Fonts-and-Rendering.html +52 -57
  300. data/vendor/local/share/gtk-doc/html/pango/pango-hierarchy.html +10 -11
  301. data/vendor/local/share/gtk-doc/html/pango/pango.devhelp2 +285 -39
  302. data/vendor/local/share/gtk-doc/html/pango/pango.html +3 -4
  303. data/vendor/local/share/gtk-doc/html/pango/rendering.html +3 -4
  304. data/vendor/local/share/gtk-doc/html/pango/style.css +9 -6
  305. data/vendor/local/share/icu/57.1/LICENSE +393 -0
  306. data/vendor/local/share/icu/{55.1 → 57.1}/config/mh-mingw +0 -0
  307. data/vendor/local/share/icu/{55.1 → 57.1}/install-sh +0 -0
  308. data/vendor/local/share/icu/{55.1 → 57.1}/mkinstalldirs +0 -0
  309. data/vendor/local/share/man/man1/derb.1 +2 -2
  310. data/vendor/local/share/man/man1/genbrk.1 +2 -2
  311. data/vendor/local/share/man/man1/gencfu.1 +1 -1
  312. data/vendor/local/share/man/man1/gencnval.1 +3 -3
  313. data/vendor/local/share/man/man1/gendict.1 +2 -2
  314. data/vendor/local/share/man/man1/genrb.1 +3 -3
  315. data/vendor/local/share/man/man1/icu-config.1 +2 -2
  316. data/vendor/local/share/man/man1/makeconv.1 +3 -3
  317. data/vendor/local/share/man/man1/pango-view.1 +113 -1
  318. data/vendor/local/share/man/man1/pkgdata.1 +2 -2
  319. data/vendor/local/share/man/man1/uconv.1 +2 -2
  320. data/vendor/local/share/man/man8/genccode.8 +2 -2
  321. data/vendor/local/share/man/man8/gencmn.8 +3 -3
  322. data/vendor/local/share/man/man8/gensprep.8 +3 -3
  323. data/vendor/local/share/man/man8/icupkg.8 +1 -1
  324. metadata +49 -40
  325. data/lib/2.0/pango.so +0 -0
  326. data/lib/2.1/pango.so +0 -0
  327. data/vendor/local/bin/pango-querymodules.exe +0 -0
  328. data/vendor/local/etc/pango/pango.modules +0 -19
  329. data/vendor/local/lib/icuin55.dll +0 -0
  330. data/vendor/local/lib/icuio55.dll +0 -0
  331. data/vendor/local/lib/icule55.dll +0 -0
  332. data/vendor/local/lib/iculx55.dll +0 -0
  333. data/vendor/local/lib/icutest55.dll +0 -0
  334. data/vendor/local/lib/icutu55.dll +0 -0
  335. data/vendor/local/lib/icuuc55.dll +0 -0
  336. data/vendor/local/lib/pango/1.8.0/modules/pango-arabic-lang.dll +0 -0
  337. data/vendor/local/lib/pango/1.8.0/modules/pango-arabic-lang.dll.a +0 -0
  338. data/vendor/local/lib/pango/1.8.0/modules/pango-arabic-lang.la +0 -41
  339. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.dll +0 -0
  340. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.dll.a +0 -0
  341. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.la +0 -41
  342. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-win32.dll +0 -0
  343. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-win32.dll.a +0 -0
  344. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-win32.la +0 -41
  345. data/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.dll +0 -0
  346. data/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.dll.a +0 -0
  347. data/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.la +0 -41
  348. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-buffer.html +0 -1704
  349. data/vendor/local/share/gtk-doc/html/pango/pango-querymodules.html +0 -131
  350. data/vendor/local/share/icu/55.1/license.html +0 -384
  351. data/vendor/local/share/man/man1/pango-querymodules.1 +0 -106
@@ -0,0 +1,80 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
+ <title>Building: HarfBuzz Manual</title>
6
+ <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
7
+ <link rel="home" href="index.html" title="HarfBuzz Manual">
8
+ <link rel="up" href="install-harfbuzz.html" title="Install Harfbuzz">
9
+ <link rel="prev" href="install-harfbuzz.html" title="Install Harfbuzz">
10
+ <link rel="next" href="hello-harfbuzz.html" title="Hello, Harfbuzz">
11
+ <meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
12
+ <link rel="stylesheet" href="style.css" type="text/css">
13
+ </head>
14
+ <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15
+ <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
16
+ <td width="100%" align="left" class="shortcuts"></td>
17
+ <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
18
+ <td><a accesskey="u" href="install-harfbuzz.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
19
+ <td><a accesskey="p" href="install-harfbuzz.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
20
+ <td><a accesskey="n" href="hello-harfbuzz.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
21
+ </tr></table>
22
+ <div class="section">
23
+ <div class="titlepage"><div><div><h2 class="title" style="clear: both">
24
+ <a name="building"></a>Building</h2></div></div></div>
25
+ <p>
26
+ On Linux, install the development packages for FreeType, Cairo, and GLib.
27
+ For example, on Ubuntu / Debian, you would do:
28
+ </p>
29
+ <pre class="programlisting">
30
+ <span class="command"><strong>sudo apt-get install</strong></span> <span class="package">gcc g++ libfreetype6-dev libglib2.0-dev libcairo2-dev</span>
31
+ </pre>
32
+ <p>
33
+ whereas on Fedora, RHEL, CentOS, and other Red Hat based systems you would do:
34
+ </p>
35
+ <pre class="programlisting">
36
+ <span class="command"><strong>sudo yum install</strong></span> <span class="package">gcc gcc-c++ freetype-devel glib2-devel cairo-devel</span>
37
+ </pre>
38
+ <p>
39
+ or using MacPorts:
40
+ </p>
41
+ <pre class="programlisting">
42
+ <span class="command"><strong>sudo port install</strong></span> <span class="package">freetype glib2 cairo</span>
43
+ </pre>
44
+ <p>
45
+ </p>
46
+ <p>
47
+ If you are using a tarball, you can now proceed to running
48
+ <span class="command"><strong>configure</strong></span> and <span class="command"><strong>make</strong></span> as with any
49
+ other standard package. That should leave you with a shared library in
50
+ <code class="filename">src/</code>, and a few utility programs including hb-view
51
+ and hb-shape under <code class="filename">util/</code>.
52
+ </p>
53
+ <p>
54
+ If you are bootstraping from git, you need a few more tools before you
55
+ can run <code class="filename">autogen.sh</code> for the first time. Namely,
56
+ pkg-config and <a class="ulink" href="http://www.complang.org/ragel/" target="_top">ragel</a>.
57
+ Again, on Ubuntu / Debian:
58
+ </p>
59
+ <pre class="programlisting">
60
+ <span class="command"><strong>sudo apt-get install</strong></span> <span class="package">autoconf automake libtool pkg-config ragel gtk-doc-tools</span>
61
+ </pre>
62
+ <p>
63
+ and on Fedora, RHEL, CentOS:
64
+ </p>
65
+ <pre class="programlisting">
66
+ <span class="command"><strong>sudo yum install</strong></span> <span class="package">autoconf automake libtool pkgconfig ragel gtk-doc</span>
67
+ </pre>
68
+ <p>
69
+ or using MacPorts:
70
+ </p>
71
+ <pre class="programlisting">
72
+ <span class="command"><strong>sudo port install</strong></span> <span class="package">autoconf automake libtool pkgconfig ragel gtk-doc</span>
73
+ </pre>
74
+ <p>
75
+ </p>
76
+ </div>
77
+ <div class="footer">
78
+ <hr>Generated by GTK-Doc V1.24.1</div>
79
+ </body>
80
+ </html>
@@ -21,7 +21,7 @@
21
21
  </tr></table>
22
22
  <div class="chapter">
23
23
  <div class="titlepage"><div><div><h2 class="title">
24
- <a name="id-1.3.2"></a>Harfbuzz API</h2></div></div></div>
24
+ <a name="id-1.3.3"></a>Harfbuzz API</h2></div></div></div>
25
25
  <div class="toc"><dl class="toc">
26
26
  <dt>
27
27
  <span class="refentrytitle"><a href="harfbuzz-hb.html">hb</a></span><span class="refpurpose"></span>
@@ -33,7 +33,7 @@
33
33
  <span class="refentrytitle"><a href="harfbuzz-hb-unicode.html">hb-unicode</a></span><span class="refpurpose"></span>
34
34
  </dt>
35
35
  <dt>
36
- <span class="refentrytitle"><a href="harfbuzz-hb-buffer.html">hb-buffer</a></span><span class="refpurpose"></span>
36
+ <span class="refentrytitle"><a href="harfbuzz-Buffers.html">Buffers</a></span><span class="refpurpose"> — Input and output buffers</span>
37
37
  </dt>
38
38
  <dt>
39
39
  <span class="refentrytitle"><a href="harfbuzz-hb-blob.html">hb-blob</a></span><span class="refpurpose"></span>
@@ -66,6 +66,12 @@
66
66
  <span class="refentrytitle"><a href="harfbuzz-hb-ot-tag.html">hb-ot-tag</a></span><span class="refpurpose"></span>
67
67
  </dt>
68
68
  <dt>
69
+ <span class="refentrytitle"><a href="harfbuzz-hb-ot-font.html">hb-ot-font</a></span><span class="refpurpose"></span>
70
+ </dt>
71
+ <dt>
72
+ <span class="refentrytitle"><a href="harfbuzz-hb-ot-shape.html">hb-ot-shape</a></span><span class="refpurpose"></span>
73
+ </dt>
74
+ <dt>
69
75
  <span class="refentrytitle"><a href="harfbuzz-hb-shape-plan.html">hb-shape-plan</a></span><span class="refpurpose"></span>
70
76
  </dt>
71
77
  <dt>
@@ -6,7 +6,7 @@
6
6
  <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
7
7
  <link rel="home" href="index.html" title="HarfBuzz Manual">
8
8
  <link rel="up" href="pt02.html" title="Part II. Reference manual">
9
- <link rel="prev" href="api-index-full.html" title="API Index">
9
+ <link rel="prev" href="api-index-1-1-3.html" title="Index of new symbols in 1.1.3">
10
10
  <link rel="next" href="annotation-glossary.html" title="Annotation Glossary">
11
11
  <meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
12
12
  <link rel="stylesheet" href="style.css" type="text/css">
@@ -15,10 +15,12 @@
15
15
  <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
16
16
  <td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxB">B</a>
17
17
   <span class="dim">|</span> 
18
+ <a class="shortcut" href="#idxF">F</a>
19
+  <span class="dim">|</span> 
18
20
  <a class="shortcut" href="#idxS">S</a></span></td>
19
21
  <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
20
22
  <td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
21
- <td><a accesskey="p" href="api-index-full.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
23
+ <td><a accesskey="p" href="api-index-1-1-3.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
22
24
  <td><a accesskey="n" href="annotation-glossary.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
23
25
  </tr></table>
24
26
  <div class="index">
@@ -33,6 +35,15 @@
33
35
  <a class="link" href="harfbuzz-hb-deprecated.html#HB-BUFFER-SERIALIZE-FLAGS-DEFAULT:CAPS" title="HB_BUFFER_SERIALIZE_FLAGS_DEFAULT">HB_BUFFER_SERIALIZE_FLAGS_DEFAULT</a>, macro in <a class="link" href="harfbuzz-hb-deprecated.html" title="hb-deprecated">hb-deprecated</a>
34
36
  </dt>
35
37
  <dd></dd>
38
+ <a name="idxF"></a><h3 class="title">F</h3>
39
+ <dt>
40
+ <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-glyph-func" title="hb_font_funcs_set_glyph_func ()">hb_font_funcs_set_glyph_func</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
41
+ </dt>
42
+ <dd></dd>
43
+ <dt>
44
+ <a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-func-t" title="hb_font_get_glyph_func_t ()">hb_font_get_glyph_func_t</a>, user_function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
45
+ </dt>
46
+ <dd></dd>
36
47
  <a name="idxS"></a><h3 class="title">S</h3>
37
48
  <dt>
38
49
  <a class="link" href="harfbuzz-hb-deprecated.html#HB-SCRIPT-CANADIAN-ABORIGINAL:CAPS" title="HB_SCRIPT_CANADIAN_ABORIGINAL">HB_SCRIPT_CANADIAN_ABORIGINAL</a>, macro in <a class="link" href="harfbuzz-hb-deprecated.html" title="hb-deprecated">hb-deprecated</a>
@@ -0,0 +1,2738 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
+ <title>Buffers: HarfBuzz Manual</title>
6
+ <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
7
+ <link rel="home" href="index.html" title="HarfBuzz Manual">
8
+ <link rel="up" href="ch07.html" title="Harfbuzz API">
9
+ <link rel="prev" href="harfbuzz-hb-unicode.html" title="hb-unicode">
10
+ <link rel="next" href="harfbuzz-hb-blob.html" title="hb-blob">
11
+ <meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
12
+ <link rel="stylesheet" href="style.css" type="text/css">
13
+ </head>
14
+ <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15
+ <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
16
+ <td width="100%" align="left" class="shortcuts">
17
+ <a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
18
+ <a href="#harfbuzz-Buffers.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
19
+ <a href="#harfbuzz-Buffers.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
20
+ </td>
21
+ <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
22
+ <td><a accesskey="u" href="ch07.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
23
+ <td><a accesskey="p" href="harfbuzz-hb-unicode.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
24
+ <td><a accesskey="n" href="harfbuzz-hb-blob.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
25
+ </tr></table>
26
+ <div class="refentry">
27
+ <a name="harfbuzz-Buffers"></a><div class="titlepage"></div>
28
+ <div class="refnamediv"><table width="100%"><tr>
29
+ <td valign="top">
30
+ <h2><span class="refentrytitle"><a name="harfbuzz-Buffers.top_of_page"></a>Buffers</span></h2>
31
+ <p>Buffers — Input and output buffers</p>
32
+ </td>
33
+ <td class="gallery_image" valign="top" align="right"></td>
34
+ </tr></table></div>
35
+ <div class="refsect1">
36
+ <a name="harfbuzz-Buffers.functions"></a><h2>Functions</h2>
37
+ <div class="informaltable"><table width="100%" border="0">
38
+ <colgroup>
39
+ <col width="150px" class="functions_return">
40
+ <col class="functions_name">
41
+ </colgroup>
42
+ <tbody>
43
+ <tr>
44
+ <td class="function_type">
45
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="returnvalue">hb_buffer_t</span></a> *
46
+ </td>
47
+ <td class="function_name">
48
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-create" title="hb_buffer_create ()">hb_buffer_create</a> <span class="c_punctuation">()</span>
49
+ </td>
50
+ </tr>
51
+ <tr>
52
+ <td class="function_type">
53
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="returnvalue">hb_buffer_t</span></a> *
54
+ </td>
55
+ <td class="function_name">
56
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-reference" title="hb_buffer_reference ()">hb_buffer_reference</a> <span class="c_punctuation">()</span>
57
+ </td>
58
+ </tr>
59
+ <tr>
60
+ <td class="function_type">
61
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="returnvalue">hb_buffer_t</span></a> *
62
+ </td>
63
+ <td class="function_name">
64
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-get-empty" title="hb_buffer_get_empty ()">hb_buffer_get_empty</a> <span class="c_punctuation">()</span>
65
+ </td>
66
+ </tr>
67
+ <tr>
68
+ <td class="function_type">
69
+ <span class="returnvalue">void</span>
70
+ </td>
71
+ <td class="function_name">
72
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-destroy" title="hb_buffer_destroy ()">hb_buffer_destroy</a> <span class="c_punctuation">()</span>
73
+ </td>
74
+ </tr>
75
+ <tr>
76
+ <td class="function_type">
77
+ <span class="returnvalue">void</span>
78
+ </td>
79
+ <td class="function_name">
80
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-reset" title="hb_buffer_reset ()">hb_buffer_reset</a> <span class="c_punctuation">()</span>
81
+ </td>
82
+ </tr>
83
+ <tr>
84
+ <td class="function_type">
85
+ <span class="returnvalue">void</span>
86
+ </td>
87
+ <td class="function_name">
88
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-clear-contents" title="hb_buffer_clear_contents ()">hb_buffer_clear_contents</a> <span class="c_punctuation">()</span>
89
+ </td>
90
+ </tr>
91
+ <tr>
92
+ <td class="function_type">
93
+ <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
94
+ </td>
95
+ <td class="function_name">
96
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-pre-allocate" title="hb_buffer_pre_allocate ()">hb_buffer_pre_allocate</a> <span class="c_punctuation">()</span>
97
+ </td>
98
+ </tr>
99
+ <tr>
100
+ <td class="function_type">
101
+ <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
102
+ </td>
103
+ <td class="function_name">
104
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-allocation-successful" title="hb_buffer_allocation_successful ()">hb_buffer_allocation_successful</a> <span class="c_punctuation">()</span>
105
+ </td>
106
+ </tr>
107
+ <tr>
108
+ <td class="function_type">
109
+ <span class="returnvalue">void</span>
110
+ </td>
111
+ <td class="function_name">
112
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-add" title="hb_buffer_add ()">hb_buffer_add</a> <span class="c_punctuation">()</span>
113
+ </td>
114
+ </tr>
115
+ <tr>
116
+ <td class="function_type">
117
+ <span class="returnvalue">void</span>
118
+ </td>
119
+ <td class="function_name">
120
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-add-codepoints" title="hb_buffer_add_codepoints ()">hb_buffer_add_codepoints</a> <span class="c_punctuation">()</span>
121
+ </td>
122
+ </tr>
123
+ <tr>
124
+ <td class="function_type">
125
+ <span class="returnvalue">void</span>
126
+ </td>
127
+ <td class="function_name">
128
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-add-utf32" title="hb_buffer_add_utf32 ()">hb_buffer_add_utf32</a> <span class="c_punctuation">()</span>
129
+ </td>
130
+ </tr>
131
+ <tr>
132
+ <td class="function_type">
133
+ <span class="returnvalue">void</span>
134
+ </td>
135
+ <td class="function_name">
136
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-add-utf16" title="hb_buffer_add_utf16 ()">hb_buffer_add_utf16</a> <span class="c_punctuation">()</span>
137
+ </td>
138
+ </tr>
139
+ <tr>
140
+ <td class="function_type">
141
+ <span class="returnvalue">void</span>
142
+ </td>
143
+ <td class="function_name">
144
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-add-utf8" title="hb_buffer_add_utf8 ()">hb_buffer_add_utf8</a> <span class="c_punctuation">()</span>
145
+ </td>
146
+ </tr>
147
+ <tr>
148
+ <td class="function_type">
149
+ <span class="returnvalue">void</span>
150
+ </td>
151
+ <td class="function_name">
152
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-add-latin1" title="hb_buffer_add_latin1 ()">hb_buffer_add_latin1</a> <span class="c_punctuation">()</span>
153
+ </td>
154
+ </tr>
155
+ <tr>
156
+ <td class="function_type">
157
+ <span class="returnvalue">void</span>
158
+ </td>
159
+ <td class="function_name">
160
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-set-content-type" title="hb_buffer_set_content_type ()">hb_buffer_set_content_type</a> <span class="c_punctuation">()</span>
161
+ </td>
162
+ </tr>
163
+ <tr>
164
+ <td class="function_type">
165
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-content-type-t" title="enum hb_buffer_content_type_t"><span class="returnvalue">hb_buffer_content_type_t</span></a>
166
+ </td>
167
+ <td class="function_name">
168
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-get-content-type" title="hb_buffer_get_content_type ()">hb_buffer_get_content_type</a> <span class="c_punctuation">()</span>
169
+ </td>
170
+ </tr>
171
+ <tr>
172
+ <td class="function_type">
173
+ <span class="returnvalue">void</span>
174
+ </td>
175
+ <td class="function_name">
176
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-set-direction" title="hb_buffer_set_direction ()">hb_buffer_set_direction</a> <span class="c_punctuation">()</span>
177
+ </td>
178
+ </tr>
179
+ <tr>
180
+ <td class="function_type">
181
+ <a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="returnvalue">hb_direction_t</span></a>
182
+ </td>
183
+ <td class="function_name">
184
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-get-direction" title="hb_buffer_get_direction ()">hb_buffer_get_direction</a> <span class="c_punctuation">()</span>
185
+ </td>
186
+ </tr>
187
+ <tr>
188
+ <td class="function_type">
189
+ <span class="returnvalue">void</span>
190
+ </td>
191
+ <td class="function_name">
192
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-set-script" title="hb_buffer_set_script ()">hb_buffer_set_script</a> <span class="c_punctuation">()</span>
193
+ </td>
194
+ </tr>
195
+ <tr>
196
+ <td class="function_type">
197
+ <a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="returnvalue">hb_script_t</span></a>
198
+ </td>
199
+ <td class="function_name">
200
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-get-script" title="hb_buffer_get_script ()">hb_buffer_get_script</a> <span class="c_punctuation">()</span>
201
+ </td>
202
+ </tr>
203
+ <tr>
204
+ <td class="function_type">
205
+ <span class="returnvalue">void</span>
206
+ </td>
207
+ <td class="function_name">
208
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-set-language" title="hb_buffer_set_language ()">hb_buffer_set_language</a> <span class="c_punctuation">()</span>
209
+ </td>
210
+ </tr>
211
+ <tr>
212
+ <td class="function_type">
213
+ <a class="link" href="harfbuzz-hb-common.html#hb-language-t" title="hb_language_t"><span class="returnvalue">hb_language_t</span></a>
214
+ </td>
215
+ <td class="function_name">
216
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-get-language" title="hb_buffer_get_language ()">hb_buffer_get_language</a> <span class="c_punctuation">()</span>
217
+ </td>
218
+ </tr>
219
+ <tr>
220
+ <td class="function_type">
221
+ <span class="returnvalue">void</span>
222
+ </td>
223
+ <td class="function_name">
224
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-set-flags" title="hb_buffer_set_flags ()">hb_buffer_set_flags</a> <span class="c_punctuation">()</span>
225
+ </td>
226
+ </tr>
227
+ <tr>
228
+ <td class="function_type">
229
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-flags-t" title="enum hb_buffer_flags_t"><span class="returnvalue">hb_buffer_flags_t</span></a>
230
+ </td>
231
+ <td class="function_name">
232
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-get-flags" title="hb_buffer_get_flags ()">hb_buffer_get_flags</a> <span class="c_punctuation">()</span>
233
+ </td>
234
+ </tr>
235
+ <tr>
236
+ <td class="function_type">
237
+ <span class="returnvalue">void</span>
238
+ </td>
239
+ <td class="function_name">
240
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-set-cluster-level" title="hb_buffer_set_cluster_level ()">hb_buffer_set_cluster_level</a> <span class="c_punctuation">()</span>
241
+ </td>
242
+ </tr>
243
+ <tr>
244
+ <td class="function_type">
245
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-cluster-level-t" title="enum hb_buffer_cluster_level_t"><span class="returnvalue">hb_buffer_cluster_level_t</span></a>
246
+ </td>
247
+ <td class="function_name">
248
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-get-cluster-level" title="hb_buffer_get_cluster_level ()">hb_buffer_get_cluster_level</a> <span class="c_punctuation">()</span>
249
+ </td>
250
+ </tr>
251
+ <tr>
252
+ <td class="function_type">
253
+ <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
254
+ </td>
255
+ <td class="function_name">
256
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-set-length" title="hb_buffer_set_length ()">hb_buffer_set_length</a> <span class="c_punctuation">()</span>
257
+ </td>
258
+ </tr>
259
+ <tr>
260
+ <td class="function_type">unsigned <span class="returnvalue">int</span>
261
+ </td>
262
+ <td class="function_name">
263
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-get-length" title="hb_buffer_get_length ()">hb_buffer_get_length</a> <span class="c_punctuation">()</span>
264
+ </td>
265
+ </tr>
266
+ <tr>
267
+ <td class="function_type">
268
+ <span class="returnvalue">void</span>
269
+ </td>
270
+ <td class="function_name">
271
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-set-segment-properties" title="hb_buffer_set_segment_properties ()">hb_buffer_set_segment_properties</a> <span class="c_punctuation">()</span>
272
+ </td>
273
+ </tr>
274
+ <tr>
275
+ <td class="function_type">
276
+ <span class="returnvalue">void</span>
277
+ </td>
278
+ <td class="function_name">
279
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-get-segment-properties" title="hb_buffer_get_segment_properties ()">hb_buffer_get_segment_properties</a> <span class="c_punctuation">()</span>
280
+ </td>
281
+ </tr>
282
+ <tr>
283
+ <td class="function_type">
284
+ <span class="returnvalue">void</span>
285
+ </td>
286
+ <td class="function_name">
287
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-guess-segment-properties" title="hb_buffer_guess_segment_properties ()">hb_buffer_guess_segment_properties</a> <span class="c_punctuation">()</span>
288
+ </td>
289
+ </tr>
290
+ <tr>
291
+ <td class="function_type">
292
+ <span class="returnvalue">void</span>
293
+ </td>
294
+ <td class="function_name">
295
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-set-unicode-funcs" title="hb_buffer_set_unicode_funcs ()">hb_buffer_set_unicode_funcs</a> <span class="c_punctuation">()</span>
296
+ </td>
297
+ </tr>
298
+ <tr>
299
+ <td class="function_type">
300
+ <a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="returnvalue">hb_unicode_funcs_t</span></a> *
301
+ </td>
302
+ <td class="function_name">
303
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-get-unicode-funcs" title="hb_buffer_get_unicode_funcs ()">hb_buffer_get_unicode_funcs</a> <span class="c_punctuation">()</span>
304
+ </td>
305
+ </tr>
306
+ <tr>
307
+ <td class="function_type">
308
+ <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
309
+ </td>
310
+ <td class="function_name">
311
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-set-user-data" title="hb_buffer_set_user_data ()">hb_buffer_set_user_data</a> <span class="c_punctuation">()</span>
312
+ </td>
313
+ </tr>
314
+ <tr>
315
+ <td class="function_type">
316
+ <span class="returnvalue">void</span> *
317
+ </td>
318
+ <td class="function_name">
319
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-get-user-data" title="hb_buffer_get_user_data ()">hb_buffer_get_user_data</a> <span class="c_punctuation">()</span>
320
+ </td>
321
+ </tr>
322
+ <tr>
323
+ <td class="function_type">
324
+ <a class="link" href="harfbuzz-Buffers.html#hb-glyph-info-t"><span class="returnvalue">hb_glyph_info_t</span></a> *
325
+ </td>
326
+ <td class="function_name">
327
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-get-glyph-infos" title="hb_buffer_get_glyph_infos ()">hb_buffer_get_glyph_infos</a> <span class="c_punctuation">()</span>
328
+ </td>
329
+ </tr>
330
+ <tr>
331
+ <td class="function_type">
332
+ <a class="link" href="harfbuzz-Buffers.html#hb-glyph-position-t"><span class="returnvalue">hb_glyph_position_t</span></a> *
333
+ </td>
334
+ <td class="function_name">
335
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-get-glyph-positions" title="hb_buffer_get_glyph_positions ()">hb_buffer_get_glyph_positions</a> <span class="c_punctuation">()</span>
336
+ </td>
337
+ </tr>
338
+ <tr>
339
+ <td class="function_type">
340
+ <span class="returnvalue">void</span>
341
+ </td>
342
+ <td class="function_name">
343
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-set-replacement-codepoint" title="hb_buffer_set_replacement_codepoint ()">hb_buffer_set_replacement_codepoint</a> <span class="c_punctuation">()</span>
344
+ </td>
345
+ </tr>
346
+ <tr>
347
+ <td class="function_type">
348
+ <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="returnvalue">hb_codepoint_t</span></a>
349
+ </td>
350
+ <td class="function_name">
351
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-get-replacement-codepoint" title="hb_buffer_get_replacement_codepoint ()">hb_buffer_get_replacement_codepoint</a> <span class="c_punctuation">()</span>
352
+ </td>
353
+ </tr>
354
+ <tr>
355
+ <td class="function_type">
356
+ <span class="returnvalue">void</span>
357
+ </td>
358
+ <td class="function_name">
359
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-normalize-glyphs" title="hb_buffer_normalize_glyphs ()">hb_buffer_normalize_glyphs</a> <span class="c_punctuation">()</span>
360
+ </td>
361
+ </tr>
362
+ <tr>
363
+ <td class="function_type">
364
+ <span class="returnvalue">void</span>
365
+ </td>
366
+ <td class="function_name">
367
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-reverse" title="hb_buffer_reverse ()">hb_buffer_reverse</a> <span class="c_punctuation">()</span>
368
+ </td>
369
+ </tr>
370
+ <tr>
371
+ <td class="function_type">
372
+ <span class="returnvalue">void</span>
373
+ </td>
374
+ <td class="function_name">
375
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-reverse-range" title="hb_buffer_reverse_range ()">hb_buffer_reverse_range</a> <span class="c_punctuation">()</span>
376
+ </td>
377
+ </tr>
378
+ <tr>
379
+ <td class="function_type">
380
+ <span class="returnvalue">void</span>
381
+ </td>
382
+ <td class="function_name">
383
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-reverse-clusters" title="hb_buffer_reverse_clusters ()">hb_buffer_reverse_clusters</a> <span class="c_punctuation">()</span>
384
+ </td>
385
+ </tr>
386
+ <tr>
387
+ <td class="function_type">unsigned <span class="returnvalue">int</span>
388
+ </td>
389
+ <td class="function_name">
390
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-serialize-glyphs" title="hb_buffer_serialize_glyphs ()">hb_buffer_serialize_glyphs</a> <span class="c_punctuation">()</span>
391
+ </td>
392
+ </tr>
393
+ <tr>
394
+ <td class="function_type">
395
+ <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
396
+ </td>
397
+ <td class="function_name">
398
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-deserialize-glyphs" title="hb_buffer_deserialize_glyphs ()">hb_buffer_deserialize_glyphs</a> <span class="c_punctuation">()</span>
399
+ </td>
400
+ </tr>
401
+ <tr>
402
+ <td class="function_type">
403
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-serialize-format-t" title="enum hb_buffer_serialize_format_t"><span class="returnvalue">hb_buffer_serialize_format_t</span></a>
404
+ </td>
405
+ <td class="function_name">
406
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-serialize-format-from-string" title="hb_buffer_serialize_format_from_string ()">hb_buffer_serialize_format_from_string</a> <span class="c_punctuation">()</span>
407
+ </td>
408
+ </tr>
409
+ <tr>
410
+ <td class="function_type">const <span class="returnvalue">char</span> *
411
+ </td>
412
+ <td class="function_name">
413
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-serialize-format-to-string" title="hb_buffer_serialize_format_to_string ()">hb_buffer_serialize_format_to_string</a> <span class="c_punctuation">()</span>
414
+ </td>
415
+ </tr>
416
+ <tr>
417
+ <td class="function_type">const <span class="returnvalue">char</span> **
418
+ </td>
419
+ <td class="function_name">
420
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-serialize-list-formats" title="hb_buffer_serialize_list_formats ()">hb_buffer_serialize_list_formats</a> <span class="c_punctuation">()</span>
421
+ </td>
422
+ </tr>
423
+ <tr>
424
+ <td class="function_type">
425
+ <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
426
+ </td>
427
+ <td class="function_name">
428
+ <a class="link" href="harfbuzz-Buffers.html#hb-segment-properties-equal" title="hb_segment_properties_equal ()">hb_segment_properties_equal</a> <span class="c_punctuation">()</span>
429
+ </td>
430
+ </tr>
431
+ <tr>
432
+ <td class="function_type">unsigned <span class="returnvalue">int</span>
433
+ </td>
434
+ <td class="function_name">
435
+ <a class="link" href="harfbuzz-Buffers.html#hb-segment-properties-hash" title="hb_segment_properties_hash ()">hb_segment_properties_hash</a> <span class="c_punctuation">()</span>
436
+ </td>
437
+ </tr>
438
+ <tr>
439
+ <td class="function_type">
440
+ <span class="returnvalue">void</span>
441
+ </td>
442
+ <td class="function_name">
443
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-set-message-func" title="hb_buffer_set_message_func ()">hb_buffer_set_message_func</a> <span class="c_punctuation">()</span>
444
+ </td>
445
+ </tr>
446
+ <tr>
447
+ <td class="function_type">
448
+ <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
449
+ </td>
450
+ <td class="function_name">
451
+ <span class="c_punctuation">(</span><a class="link" href="harfbuzz-Buffers.html#hb-buffer-message-func-t" title="hb_buffer_message_func_t ()">*hb_buffer_message_func_t</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
452
+ </td>
453
+ </tr>
454
+ </tbody>
455
+ </table></div>
456
+ </div>
457
+ <a name="hb-buffer-t"></a><a name="hb-glyph-info-t"></a><a name="hb-glyph-position-t"></a><a name="hb-segment-properties-t"></a><div class="refsect1">
458
+ <a name="harfbuzz-Buffers.other"></a><h2>Types and Values</h2>
459
+ <div class="informaltable"><table width="100%" border="0">
460
+ <colgroup>
461
+ <col width="150px" class="name">
462
+ <col class="description">
463
+ </colgroup>
464
+ <tbody>
465
+ <tr>
466
+ <td class="define_keyword">#define</td>
467
+ <td class="function_name"><a class="link" href="harfbuzz-Buffers.html#HB-SEGMENT-PROPERTIES-DEFAULT:CAPS" title="HB_SEGMENT_PROPERTIES_DEFAULT">HB_SEGMENT_PROPERTIES_DEFAULT</a></td>
468
+ </tr>
469
+ <tr>
470
+ <td class="define_keyword">#define</td>
471
+ <td class="function_name"><a class="link" href="harfbuzz-Buffers.html#HB-BUFFER-REPLACEMENT-CODEPOINT-DEFAULT:CAPS" title="HB_BUFFER_REPLACEMENT_CODEPOINT_DEFAULT">HB_BUFFER_REPLACEMENT_CODEPOINT_DEFAULT</a></td>
472
+ </tr>
473
+ <tr>
474
+ <td class="typedef_keyword">typedef</td>
475
+ <td class="function_name"><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t">hb_buffer_t</a></td>
476
+ </tr>
477
+ <tr>
478
+ <td class="datatype_keyword"> </td>
479
+ <td class="function_name"><a class="link" href="harfbuzz-Buffers.html#hb-glyph-info-t-struct" title="hb_glyph_info_t">hb_glyph_info_t</a></td>
480
+ </tr>
481
+ <tr>
482
+ <td class="datatype_keyword"> </td>
483
+ <td class="function_name"><a class="link" href="harfbuzz-Buffers.html#hb-glyph-position-t-struct" title="hb_glyph_position_t">hb_glyph_position_t</a></td>
484
+ </tr>
485
+ <tr>
486
+ <td class="datatype_keyword">enum</td>
487
+ <td class="function_name"><a class="link" href="harfbuzz-Buffers.html#hb-buffer-content-type-t" title="enum hb_buffer_content_type_t">hb_buffer_content_type_t</a></td>
488
+ </tr>
489
+ <tr>
490
+ <td class="datatype_keyword">enum</td>
491
+ <td class="function_name"><a class="link" href="harfbuzz-Buffers.html#hb-buffer-flags-t" title="enum hb_buffer_flags_t">hb_buffer_flags_t</a></td>
492
+ </tr>
493
+ <tr>
494
+ <td class="datatype_keyword">enum</td>
495
+ <td class="function_name"><a class="link" href="harfbuzz-Buffers.html#hb-buffer-cluster-level-t" title="enum hb_buffer_cluster_level_t">hb_buffer_cluster_level_t</a></td>
496
+ </tr>
497
+ <tr>
498
+ <td class="datatype_keyword"> </td>
499
+ <td class="function_name"><a class="link" href="harfbuzz-Buffers.html#hb-segment-properties-t-struct" title="hb_segment_properties_t">hb_segment_properties_t</a></td>
500
+ </tr>
501
+ <tr>
502
+ <td class="datatype_keyword">enum</td>
503
+ <td class="function_name"><a class="link" href="harfbuzz-Buffers.html#hb-buffer-serialize-format-t" title="enum hb_buffer_serialize_format_t">hb_buffer_serialize_format_t</a></td>
504
+ </tr>
505
+ <tr>
506
+ <td class="datatype_keyword">enum</td>
507
+ <td class="function_name"><a class="link" href="harfbuzz-Buffers.html#hb-buffer-serialize-flags-t" title="enum hb_buffer_serialize_flags_t">hb_buffer_serialize_flags_t</a></td>
508
+ </tr>
509
+ </tbody>
510
+ </table></div>
511
+ </div>
512
+ <div class="refsect1">
513
+ <a name="harfbuzz-Buffers.object-hierarchy"></a><h2>Object Hierarchy</h2>
514
+ <pre class="screen"> <a href="/home/behdad/.local/share/gtk-doc/html/gobject/gobject-Boxed-Types.html">GBoxed</a>
515
+ <span class="lineart">├──</span> hb_buffer_t
516
+ <span class="lineart">├──</span> hb_glyph_info_t
517
+ <span class="lineart">├──</span> hb_glyph_position_t
518
+ <span class="lineart">╰──</span> hb_segment_properties_t
519
+ <a href="/home/behdad/.local/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html">GEnum</a>
520
+ <span class="lineart">├──</span> hb_buffer_cluster_level_t
521
+ <span class="lineart">├──</span> hb_buffer_content_type_t
522
+ <span class="lineart">╰──</span> hb_buffer_serialize_format_t
523
+ <a href="/home/behdad/.local/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html">GFlags</a>
524
+ <span class="lineart">├──</span> hb_buffer_flags_t
525
+ <span class="lineart">╰──</span> hb_buffer_serialize_flags_t
526
+ </pre>
527
+ </div>
528
+ <div class="refsect1">
529
+ <a name="harfbuzz-Buffers.includes"></a><h2>Includes</h2>
530
+ <pre class="synopsis">#include &lt;hb.h&gt;
531
+ </pre>
532
+ </div>
533
+ <div class="refsect1">
534
+ <a name="harfbuzz-Buffers.description"></a><h2>Description</h2>
535
+ <p>Buffers serve dual role in HarfBuzz; they hold the input characters that are
536
+ passed <a class="link" href="harfbuzz-Shaping.html#hb-shape" title="hb_shape ()"><code class="function">hb_shape()</code></a>, and after shaping they hold the output glyphs.</p>
537
+ </div>
538
+ <div class="refsect1">
539
+ <a name="harfbuzz-Buffers.functions_details"></a><h2>Functions</h2>
540
+ <div class="refsect2">
541
+ <a name="hb-buffer-create"></a><h3>hb_buffer_create ()</h3>
542
+ <pre class="programlisting"><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="returnvalue">hb_buffer_t</span></a> *
543
+ hb_buffer_create (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
544
+ </div>
545
+ <hr>
546
+ <div class="refsect2">
547
+ <a name="hb-buffer-reference"></a><h3>hb_buffer_reference ()</h3>
548
+ <pre class="programlisting"><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="returnvalue">hb_buffer_t</span></a> *
549
+ hb_buffer_reference (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
550
+ <p>Increases the reference count on <em class="parameter"><code>buffer</code></em>
551
+ by one. This prevents <em class="parameter"><code>buffer</code></em>
552
+ from
553
+ being destroyed until a matching call to <a class="link" href="harfbuzz-Buffers.html#hb-buffer-destroy" title="hb_buffer_destroy ()"><code class="function">hb_buffer_destroy()</code></a> is made.</p>
554
+ <div class="refsect3">
555
+ <a name="id-1.3.3.5.12.3.5"></a><h4>Parameters</h4>
556
+ <div class="informaltable"><table width="100%" border="0">
557
+ <colgroup>
558
+ <col width="150px" class="parameters_name">
559
+ <col class="parameters_description">
560
+ <col width="200px" class="parameters_annotations">
561
+ </colgroup>
562
+ <tbody><tr>
563
+ <td class="parameter_name"><p>buffer</p></td>
564
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
565
+ <td class="parameter_annotations"> </td>
566
+ </tr></tbody>
567
+ </table></div>
568
+ </div>
569
+ <div class="refsect3">
570
+ <a name="id-1.3.3.5.12.3.6"></a><h4>Returns</h4>
571
+ <p>The referenced <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>. </p>
572
+ <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
573
+ </div>
574
+ <p class="since">Since 0.9.2</p>
575
+ </div>
576
+ <hr>
577
+ <div class="refsect2">
578
+ <a name="hb-buffer-get-empty"></a><h3>hb_buffer_get_empty ()</h3>
579
+ <pre class="programlisting"><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="returnvalue">hb_buffer_t</span></a> *
580
+ hb_buffer_get_empty (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
581
+ <div class="refsect3">
582
+ <a name="id-1.3.3.5.12.4.4"></a><h4>Returns</h4>
583
+ <p>. </p>
584
+ <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
585
+ </div>
586
+ <p class="since">Since 0.9.2</p>
587
+ </div>
588
+ <hr>
589
+ <div class="refsect2">
590
+ <a name="hb-buffer-destroy"></a><h3>hb_buffer_destroy ()</h3>
591
+ <pre class="programlisting"><span class="returnvalue">void</span>
592
+ hb_buffer_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
593
+ <p>Deallocate the <em class="parameter"><code>buffer</code></em>
594
+ .
595
+ Decreases the reference count on <em class="parameter"><code>buffer</code></em>
596
+ by one. If the result is zero, then
597
+ <em class="parameter"><code>buffer</code></em>
598
+ and all associated resources are freed. See <a class="link" href="harfbuzz-Buffers.html#hb-buffer-reference" title="hb_buffer_reference ()"><code class="function">hb_buffer_reference()</code></a>.</p>
599
+ <div class="refsect3">
600
+ <a name="id-1.3.3.5.12.5.5"></a><h4>Parameters</h4>
601
+ <div class="informaltable"><table width="100%" border="0">
602
+ <colgroup>
603
+ <col width="150px" class="parameters_name">
604
+ <col class="parameters_description">
605
+ <col width="200px" class="parameters_annotations">
606
+ </colgroup>
607
+ <tbody><tr>
608
+ <td class="parameter_name"><p>buffer</p></td>
609
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
610
+ <td class="parameter_annotations"> </td>
611
+ </tr></tbody>
612
+ </table></div>
613
+ </div>
614
+ <p class="since">Since 0.9.2</p>
615
+ </div>
616
+ <hr>
617
+ <div class="refsect2">
618
+ <a name="hb-buffer-reset"></a><h3>hb_buffer_reset ()</h3>
619
+ <pre class="programlisting"><span class="returnvalue">void</span>
620
+ hb_buffer_reset (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
621
+ <p>Resets the buffer to its initial status, as if it was just newly created
622
+ with <a class="link" href="harfbuzz-Buffers.html#hb-buffer-create" title="hb_buffer_create ()"><code class="function">hb_buffer_create()</code></a>.</p>
623
+ <div class="refsect3">
624
+ <a name="id-1.3.3.5.12.6.5"></a><h4>Parameters</h4>
625
+ <div class="informaltable"><table width="100%" border="0">
626
+ <colgroup>
627
+ <col width="150px" class="parameters_name">
628
+ <col class="parameters_description">
629
+ <col width="200px" class="parameters_annotations">
630
+ </colgroup>
631
+ <tbody><tr>
632
+ <td class="parameter_name"><p>buffer</p></td>
633
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
634
+ <td class="parameter_annotations"> </td>
635
+ </tr></tbody>
636
+ </table></div>
637
+ </div>
638
+ <p class="since">Since 0.9.2</p>
639
+ </div>
640
+ <hr>
641
+ <div class="refsect2">
642
+ <a name="hb-buffer-clear-contents"></a><h3>hb_buffer_clear_contents ()</h3>
643
+ <pre class="programlisting"><span class="returnvalue">void</span>
644
+ hb_buffer_clear_contents (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
645
+ <p>Similar to <a class="link" href="harfbuzz-Buffers.html#hb-buffer-reset" title="hb_buffer_reset ()"><code class="function">hb_buffer_reset()</code></a>, but does not clear the Unicode functions and
646
+ the replacement code point.</p>
647
+ <div class="refsect3">
648
+ <a name="id-1.3.3.5.12.7.5"></a><h4>Parameters</h4>
649
+ <div class="informaltable"><table width="100%" border="0">
650
+ <colgroup>
651
+ <col width="150px" class="parameters_name">
652
+ <col class="parameters_description">
653
+ <col width="200px" class="parameters_annotations">
654
+ </colgroup>
655
+ <tbody><tr>
656
+ <td class="parameter_name"><p>buffer</p></td>
657
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
658
+ <td class="parameter_annotations"> </td>
659
+ </tr></tbody>
660
+ </table></div>
661
+ </div>
662
+ <p class="since">Since 0.9.11</p>
663
+ </div>
664
+ <hr>
665
+ <div class="refsect2">
666
+ <a name="hb-buffer-pre-allocate"></a><h3>hb_buffer_pre_allocate ()</h3>
667
+ <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
668
+ hb_buffer_pre_allocate (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
669
+ <em class="parameter"><code>unsigned <span class="type">int</span> size</code></em>);</pre>
670
+ <p>Pre allocates memory for <em class="parameter"><code>buffer</code></em>
671
+ to fit at least <em class="parameter"><code>size</code></em>
672
+ number of items.</p>
673
+ <div class="refsect3">
674
+ <a name="id-1.3.3.5.12.8.5"></a><h4>Parameters</h4>
675
+ <div class="informaltable"><table width="100%" border="0">
676
+ <colgroup>
677
+ <col width="150px" class="parameters_name">
678
+ <col class="parameters_description">
679
+ <col width="200px" class="parameters_annotations">
680
+ </colgroup>
681
+ <tbody>
682
+ <tr>
683
+ <td class="parameter_name"><p>buffer</p></td>
684
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
685
+ <td class="parameter_annotations"> </td>
686
+ </tr>
687
+ <tr>
688
+ <td class="parameter_name"><p>size</p></td>
689
+ <td class="parameter_description"><p>number of items to pre allocate.</p></td>
690
+ <td class="parameter_annotations"> </td>
691
+ </tr>
692
+ </tbody>
693
+ </table></div>
694
+ </div>
695
+ <div class="refsect3">
696
+ <a name="id-1.3.3.5.12.8.6"></a><h4>Returns</h4>
697
+ <p><code class="literal">true</code> if <em class="parameter"><code>buffer</code></em>
698
+ memory allocation succeeded, <code class="literal">false</code> otherwise.</p>
699
+ <p></p>
700
+ </div>
701
+ <p class="since">Since 0.9.2</p>
702
+ </div>
703
+ <hr>
704
+ <div class="refsect2">
705
+ <a name="hb-buffer-allocation-successful"></a><h3>hb_buffer_allocation_successful ()</h3>
706
+ <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
707
+ hb_buffer_allocation_successful (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
708
+ <p>Check if allocating memory for the buffer succeeded.</p>
709
+ <div class="refsect3">
710
+ <a name="id-1.3.3.5.12.9.5"></a><h4>Parameters</h4>
711
+ <div class="informaltable"><table width="100%" border="0">
712
+ <colgroup>
713
+ <col width="150px" class="parameters_name">
714
+ <col class="parameters_description">
715
+ <col width="200px" class="parameters_annotations">
716
+ </colgroup>
717
+ <tbody><tr>
718
+ <td class="parameter_name"><p>buffer</p></td>
719
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
720
+ <td class="parameter_annotations"> </td>
721
+ </tr></tbody>
722
+ </table></div>
723
+ </div>
724
+ <div class="refsect3">
725
+ <a name="id-1.3.3.5.12.9.6"></a><h4>Returns</h4>
726
+ <p><code class="literal">true</code> if <em class="parameter"><code>buffer</code></em>
727
+ memory allocation succeeded, <code class="literal">false</code> otherwise.</p>
728
+ <p></p>
729
+ </div>
730
+ <p class="since">Since 0.9.2</p>
731
+ </div>
732
+ <hr>
733
+ <div class="refsect2">
734
+ <a name="hb-buffer-add"></a><h3>hb_buffer_add ()</h3>
735
+ <pre class="programlisting"><span class="returnvalue">void</span>
736
+ hb_buffer_add (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
737
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> codepoint</code></em>,
738
+ <em class="parameter"><code>unsigned <span class="type">int</span> cluster</code></em>);</pre>
739
+ <p>Appends a character with the Unicode value of <em class="parameter"><code>codepoint</code></em>
740
+ to <em class="parameter"><code>buffer</code></em>
741
+ , and
742
+ gives it the initial cluster value of <em class="parameter"><code>cluster</code></em>
743
+ . Clusters can be any thing
744
+ the client wants, they are usually used to refer to the index of the
745
+ character in the input text stream and are output in
746
+ <span class="type">hb_glyph_info_t.cluster</span> field.</p>
747
+ <p>This function does not check the validity of <em class="parameter"><code>codepoint</code></em>
748
+ , it is up to the
749
+ caller to ensure it is a valid Unicode code point.</p>
750
+ <div class="refsect3">
751
+ <a name="id-1.3.3.5.12.10.6"></a><h4>Parameters</h4>
752
+ <div class="informaltable"><table width="100%" border="0">
753
+ <colgroup>
754
+ <col width="150px" class="parameters_name">
755
+ <col class="parameters_description">
756
+ <col width="200px" class="parameters_annotations">
757
+ </colgroup>
758
+ <tbody>
759
+ <tr>
760
+ <td class="parameter_name"><p>buffer</p></td>
761
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
762
+ <td class="parameter_annotations"> </td>
763
+ </tr>
764
+ <tr>
765
+ <td class="parameter_name"><p>codepoint</p></td>
766
+ <td class="parameter_description"><p>a Unicode code point.</p></td>
767
+ <td class="parameter_annotations"> </td>
768
+ </tr>
769
+ <tr>
770
+ <td class="parameter_name"><p>cluster</p></td>
771
+ <td class="parameter_description"><p>the cluster value of <em class="parameter"><code>codepoint</code></em>
772
+ .</p></td>
773
+ <td class="parameter_annotations"> </td>
774
+ </tr>
775
+ </tbody>
776
+ </table></div>
777
+ </div>
778
+ <p class="since">Since 0.9.7</p>
779
+ </div>
780
+ <hr>
781
+ <div class="refsect2">
782
+ <a name="hb-buffer-add-codepoints"></a><h3>hb_buffer_add_codepoints ()</h3>
783
+ <pre class="programlisting"><span class="returnvalue">void</span>
784
+ hb_buffer_add_codepoints (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
785
+ <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *text</code></em>,
786
+ <em class="parameter"><code><span class="type">int</span> text_length</code></em>,
787
+ <em class="parameter"><code>unsigned <span class="type">int</span> item_offset</code></em>,
788
+ <em class="parameter"><code><span class="type">int</span> item_length</code></em>);</pre>
789
+ <p>Appends characters from <em class="parameter"><code>text</code></em>
790
+ array to <em class="parameter"><code>buffer</code></em>
791
+ . The <em class="parameter"><code>item_offset</code></em>
792
+ is the
793
+ position of the first character from <em class="parameter"><code>text</code></em>
794
+ that will be appended, and
795
+ <em class="parameter"><code>item_length</code></em>
796
+ is the number of character. When shaping part of a larger text
797
+ (e.g. a run of text from a paragraph), instead of passing just the substring
798
+ corresponding to the run, it is preferable to pass the whole
799
+ paragraph and specify the run start and length as <em class="parameter"><code>item_offset</code></em>
800
+ and
801
+ <em class="parameter"><code>item_length</code></em>
802
+ , respectively, to give HarfBuzz the full context to be able,
803
+ for example, to do cross-run Arabic shaping or properly handle combining
804
+ marks at stat of run.</p>
805
+ <p>This function does not check the validity of <em class="parameter"><code>text</code></em>
806
+ , it is up to the caller
807
+ to ensure it contains a valid Unicode code points.</p>
808
+ <div class="refsect3">
809
+ <a name="id-1.3.3.5.12.11.6"></a><h4>Parameters</h4>
810
+ <div class="informaltable"><table width="100%" border="0">
811
+ <colgroup>
812
+ <col width="150px" class="parameters_name">
813
+ <col class="parameters_description">
814
+ <col width="200px" class="parameters_annotations">
815
+ </colgroup>
816
+ <tbody>
817
+ <tr>
818
+ <td class="parameter_name"><p>buffer</p></td>
819
+ <td class="parameter_description"><p>a <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> to append characters to.</p></td>
820
+ <td class="parameter_annotations"> </td>
821
+ </tr>
822
+ <tr>
823
+ <td class="parameter_name"><p>text</p></td>
824
+ <td class="parameter_description"><p> an array of Unicode code points to append. </p></td>
825
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=text_length]</span></td>
826
+ </tr>
827
+ <tr>
828
+ <td class="parameter_name"><p>text_length</p></td>
829
+ <td class="parameter_description"><p>the length of the <em class="parameter"><code>text</code></em>
830
+ , or -1 if it is <code class="literal">NULL</code> terminated.</p></td>
831
+ <td class="parameter_annotations"> </td>
832
+ </tr>
833
+ <tr>
834
+ <td class="parameter_name"><p>item_offset</p></td>
835
+ <td class="parameter_description"><p>the offset of the first code point to add to the <em class="parameter"><code>buffer</code></em>
836
+ .</p></td>
837
+ <td class="parameter_annotations"> </td>
838
+ </tr>
839
+ <tr>
840
+ <td class="parameter_name"><p>item_length</p></td>
841
+ <td class="parameter_description"><p>the number of code points to add to the <em class="parameter"><code>buffer</code></em>
842
+ , or -1 for the
843
+ end of <em class="parameter"><code>text</code></em>
844
+ (assuming it is <code class="literal">NULL</code> terminated).</p></td>
845
+ <td class="parameter_annotations"> </td>
846
+ </tr>
847
+ </tbody>
848
+ </table></div>
849
+ </div>
850
+ <p class="since">Since 0.9.31</p>
851
+ </div>
852
+ <hr>
853
+ <div class="refsect2">
854
+ <a name="hb-buffer-add-utf32"></a><h3>hb_buffer_add_utf32 ()</h3>
855
+ <pre class="programlisting"><span class="returnvalue">void</span>
856
+ hb_buffer_add_utf32 (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
857
+ <em class="parameter"><code>const <span class="type">uint32_t</span> *text</code></em>,
858
+ <em class="parameter"><code><span class="type">int</span> text_length</code></em>,
859
+ <em class="parameter"><code>unsigned <span class="type">int</span> item_offset</code></em>,
860
+ <em class="parameter"><code><span class="type">int</span> item_length</code></em>);</pre>
861
+ <p>See <a class="link" href="harfbuzz-Buffers.html#hb-buffer-add-codepoints" title="hb_buffer_add_codepoints ()"><code class="function">hb_buffer_add_codepoints()</code></a>.</p>
862
+ <p>Replaces invalid UTF-32 characters with the <em class="parameter"><code>buffer</code></em>
863
+ replacement code point,
864
+ see <a class="link" href="harfbuzz-Buffers.html#hb-buffer-set-replacement-codepoint" title="hb_buffer_set_replacement_codepoint ()"><code class="function">hb_buffer_set_replacement_codepoint()</code></a>.</p>
865
+ <div class="refsect3">
866
+ <a name="id-1.3.3.5.12.12.6"></a><h4>Parameters</h4>
867
+ <div class="informaltable"><table width="100%" border="0">
868
+ <colgroup>
869
+ <col width="150px" class="parameters_name">
870
+ <col class="parameters_description">
871
+ <col width="200px" class="parameters_annotations">
872
+ </colgroup>
873
+ <tbody>
874
+ <tr>
875
+ <td class="parameter_name"><p>buffer</p></td>
876
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
877
+ <td class="parameter_annotations"> </td>
878
+ </tr>
879
+ <tr>
880
+ <td class="parameter_name"><p>text</p></td>
881
+ <td class="parameter_description"><p> an array of UTF-32 characters to append. </p></td>
882
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=text_length]</span></td>
883
+ </tr>
884
+ <tr>
885
+ <td class="parameter_name"><p>text_length</p></td>
886
+ <td class="parameter_description"><p>the length of the <em class="parameter"><code>text</code></em>
887
+ , or -1 if it is <code class="literal">NULL</code> terminated.</p></td>
888
+ <td class="parameter_annotations"> </td>
889
+ </tr>
890
+ <tr>
891
+ <td class="parameter_name"><p>item_offset</p></td>
892
+ <td class="parameter_description"><p>the offset of the first character to add to the <em class="parameter"><code>buffer</code></em>
893
+ .</p></td>
894
+ <td class="parameter_annotations"> </td>
895
+ </tr>
896
+ <tr>
897
+ <td class="parameter_name"><p>item_length</p></td>
898
+ <td class="parameter_description"><p>the number of characters to add to the <em class="parameter"><code>buffer</code></em>
899
+ , or -1 for the
900
+ end of <em class="parameter"><code>text</code></em>
901
+ (assuming it is <code class="literal">NULL</code> terminated).</p></td>
902
+ <td class="parameter_annotations"> </td>
903
+ </tr>
904
+ </tbody>
905
+ </table></div>
906
+ </div>
907
+ <p class="since">Since 0.9.2</p>
908
+ </div>
909
+ <hr>
910
+ <div class="refsect2">
911
+ <a name="hb-buffer-add-utf16"></a><h3>hb_buffer_add_utf16 ()</h3>
912
+ <pre class="programlisting"><span class="returnvalue">void</span>
913
+ hb_buffer_add_utf16 (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
914
+ <em class="parameter"><code>const <span class="type">uint16_t</span> *text</code></em>,
915
+ <em class="parameter"><code><span class="type">int</span> text_length</code></em>,
916
+ <em class="parameter"><code>unsigned <span class="type">int</span> item_offset</code></em>,
917
+ <em class="parameter"><code><span class="type">int</span> item_length</code></em>);</pre>
918
+ <p>See <a class="link" href="harfbuzz-Buffers.html#hb-buffer-add-codepoints" title="hb_buffer_add_codepoints ()"><code class="function">hb_buffer_add_codepoints()</code></a>.</p>
919
+ <p>Replaces invalid UTF-16 characters with the <em class="parameter"><code>buffer</code></em>
920
+ replacement code point,
921
+ see <a class="link" href="harfbuzz-Buffers.html#hb-buffer-set-replacement-codepoint" title="hb_buffer_set_replacement_codepoint ()"><code class="function">hb_buffer_set_replacement_codepoint()</code></a>.</p>
922
+ <div class="refsect3">
923
+ <a name="id-1.3.3.5.12.13.6"></a><h4>Parameters</h4>
924
+ <div class="informaltable"><table width="100%" border="0">
925
+ <colgroup>
926
+ <col width="150px" class="parameters_name">
927
+ <col class="parameters_description">
928
+ <col width="200px" class="parameters_annotations">
929
+ </colgroup>
930
+ <tbody>
931
+ <tr>
932
+ <td class="parameter_name"><p>buffer</p></td>
933
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
934
+ <td class="parameter_annotations"> </td>
935
+ </tr>
936
+ <tr>
937
+ <td class="parameter_name"><p>text</p></td>
938
+ <td class="parameter_description"><p> an array of UTF-16 characters to append. </p></td>
939
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=text_length]</span></td>
940
+ </tr>
941
+ <tr>
942
+ <td class="parameter_name"><p>text_length</p></td>
943
+ <td class="parameter_description"><p>the length of the <em class="parameter"><code>text</code></em>
944
+ , or -1 if it is <code class="literal">NULL</code> terminated.</p></td>
945
+ <td class="parameter_annotations"> </td>
946
+ </tr>
947
+ <tr>
948
+ <td class="parameter_name"><p>item_offset</p></td>
949
+ <td class="parameter_description"><p>the offset of the first character to add to the <em class="parameter"><code>buffer</code></em>
950
+ .</p></td>
951
+ <td class="parameter_annotations"> </td>
952
+ </tr>
953
+ <tr>
954
+ <td class="parameter_name"><p>item_length</p></td>
955
+ <td class="parameter_description"><p>the number of characters to add to the <em class="parameter"><code>buffer</code></em>
956
+ , or -1 for the
957
+ end of <em class="parameter"><code>text</code></em>
958
+ (assuming it is <code class="literal">NULL</code> terminated).</p></td>
959
+ <td class="parameter_annotations"> </td>
960
+ </tr>
961
+ </tbody>
962
+ </table></div>
963
+ </div>
964
+ <p class="since">Since 0.9.2</p>
965
+ </div>
966
+ <hr>
967
+ <div class="refsect2">
968
+ <a name="hb-buffer-add-utf8"></a><h3>hb_buffer_add_utf8 ()</h3>
969
+ <pre class="programlisting"><span class="returnvalue">void</span>
970
+ hb_buffer_add_utf8 (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
971
+ <em class="parameter"><code>const <span class="type">char</span> *text</code></em>,
972
+ <em class="parameter"><code><span class="type">int</span> text_length</code></em>,
973
+ <em class="parameter"><code>unsigned <span class="type">int</span> item_offset</code></em>,
974
+ <em class="parameter"><code><span class="type">int</span> item_length</code></em>);</pre>
975
+ <p>See <a class="link" href="harfbuzz-Buffers.html#hb-buffer-add-codepoints" title="hb_buffer_add_codepoints ()"><code class="function">hb_buffer_add_codepoints()</code></a>.</p>
976
+ <p>Replaces invalid UTF-8 characters with the <em class="parameter"><code>buffer</code></em>
977
+ replacement code point,
978
+ see <a class="link" href="harfbuzz-Buffers.html#hb-buffer-set-replacement-codepoint" title="hb_buffer_set_replacement_codepoint ()"><code class="function">hb_buffer_set_replacement_codepoint()</code></a>.</p>
979
+ <div class="refsect3">
980
+ <a name="id-1.3.3.5.12.14.6"></a><h4>Parameters</h4>
981
+ <div class="informaltable"><table width="100%" border="0">
982
+ <colgroup>
983
+ <col width="150px" class="parameters_name">
984
+ <col class="parameters_description">
985
+ <col width="200px" class="parameters_annotations">
986
+ </colgroup>
987
+ <tbody>
988
+ <tr>
989
+ <td class="parameter_name"><p>buffer</p></td>
990
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
991
+ <td class="parameter_annotations"> </td>
992
+ </tr>
993
+ <tr>
994
+ <td class="parameter_name"><p>text</p></td>
995
+ <td class="parameter_description"><p> an array of UTF-8
996
+ characters to append. </p></td>
997
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=text_length][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> uint8_t]</span></td>
998
+ </tr>
999
+ <tr>
1000
+ <td class="parameter_name"><p>text_length</p></td>
1001
+ <td class="parameter_description"><p>the length of the <em class="parameter"><code>text</code></em>
1002
+ , or -1 if it is <code class="literal">NULL</code> terminated.</p></td>
1003
+ <td class="parameter_annotations"> </td>
1004
+ </tr>
1005
+ <tr>
1006
+ <td class="parameter_name"><p>item_offset</p></td>
1007
+ <td class="parameter_description"><p>the offset of the first character to add to the <em class="parameter"><code>buffer</code></em>
1008
+ .</p></td>
1009
+ <td class="parameter_annotations"> </td>
1010
+ </tr>
1011
+ <tr>
1012
+ <td class="parameter_name"><p>item_length</p></td>
1013
+ <td class="parameter_description"><p>the number of characters to add to the <em class="parameter"><code>buffer</code></em>
1014
+ , or -1 for the
1015
+ end of <em class="parameter"><code>text</code></em>
1016
+ (assuming it is <code class="literal">NULL</code> terminated).</p></td>
1017
+ <td class="parameter_annotations"> </td>
1018
+ </tr>
1019
+ </tbody>
1020
+ </table></div>
1021
+ </div>
1022
+ <p class="since">Since 0.9.2</p>
1023
+ </div>
1024
+ <hr>
1025
+ <div class="refsect2">
1026
+ <a name="hb-buffer-add-latin1"></a><h3>hb_buffer_add_latin1 ()</h3>
1027
+ <pre class="programlisting"><span class="returnvalue">void</span>
1028
+ hb_buffer_add_latin1 (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
1029
+ <em class="parameter"><code>const <span class="type">uint8_t</span> *text</code></em>,
1030
+ <em class="parameter"><code><span class="type">int</span> text_length</code></em>,
1031
+ <em class="parameter"><code>unsigned <span class="type">int</span> item_offset</code></em>,
1032
+ <em class="parameter"><code><span class="type">int</span> item_length</code></em>);</pre>
1033
+ <p>Similar to <a class="link" href="harfbuzz-Buffers.html#hb-buffer-add-codepoints" title="hb_buffer_add_codepoints ()"><code class="function">hb_buffer_add_codepoints()</code></a>, but allows only access to first 256
1034
+ Unicode code points that can fit in 8-bit strings.</p>
1035
+ <div class="note">Has nothing to do with non-Unicode Latin-1 encoding.</div>
1036
+ <div class="refsect3">
1037
+ <a name="id-1.3.3.5.12.15.6"></a><h4>Parameters</h4>
1038
+ <div class="informaltable"><table width="100%" border="0">
1039
+ <colgroup>
1040
+ <col width="150px" class="parameters_name">
1041
+ <col class="parameters_description">
1042
+ <col width="200px" class="parameters_annotations">
1043
+ </colgroup>
1044
+ <tbody>
1045
+ <tr>
1046
+ <td class="parameter_name"><p>buffer</p></td>
1047
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
1048
+ <td class="parameter_annotations"> </td>
1049
+ </tr>
1050
+ <tr>
1051
+ <td class="parameter_name"><p>text</p></td>
1052
+ <td class="parameter_description"><p> an array of UTF-8
1053
+ characters to append. </p></td>
1054
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=text_length][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> uint8_t]</span></td>
1055
+ </tr>
1056
+ <tr>
1057
+ <td class="parameter_name"><p>text_length</p></td>
1058
+ <td class="parameter_description"><p>the length of the <em class="parameter"><code>text</code></em>
1059
+ , or -1 if it is <code class="literal">NULL</code> terminated.</p></td>
1060
+ <td class="parameter_annotations"> </td>
1061
+ </tr>
1062
+ <tr>
1063
+ <td class="parameter_name"><p>item_offset</p></td>
1064
+ <td class="parameter_description"><p>the offset of the first character to add to the <em class="parameter"><code>buffer</code></em>
1065
+ .</p></td>
1066
+ <td class="parameter_annotations"> </td>
1067
+ </tr>
1068
+ <tr>
1069
+ <td class="parameter_name"><p>item_length</p></td>
1070
+ <td class="parameter_description"><p>the number of characters to add to the <em class="parameter"><code>buffer</code></em>
1071
+ , or -1 for the
1072
+ end of <em class="parameter"><code>text</code></em>
1073
+ (assuming it is <code class="literal">NULL</code> terminated).</p></td>
1074
+ <td class="parameter_annotations"> </td>
1075
+ </tr>
1076
+ </tbody>
1077
+ </table></div>
1078
+ </div>
1079
+ <p class="since">Since 0.9.39</p>
1080
+ </div>
1081
+ <hr>
1082
+ <div class="refsect2">
1083
+ <a name="hb-buffer-set-content-type"></a><h3>hb_buffer_set_content_type ()</h3>
1084
+ <pre class="programlisting"><span class="returnvalue">void</span>
1085
+ hb_buffer_set_content_type (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
1086
+ <em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-content-type-t" title="enum hb_buffer_content_type_t"><span class="type">hb_buffer_content_type_t</span></a> content_type</code></em>);</pre>
1087
+ <p>Sets the type of <em class="parameter"><code>buffer</code></em>
1088
+ contents, buffers are either empty, contain
1089
+ characters (before shaping) or glyphs (the result of shaping).</p>
1090
+ <div class="refsect3">
1091
+ <a name="id-1.3.3.5.12.16.5"></a><h4>Parameters</h4>
1092
+ <div class="informaltable"><table width="100%" border="0">
1093
+ <colgroup>
1094
+ <col width="150px" class="parameters_name">
1095
+ <col class="parameters_description">
1096
+ <col width="200px" class="parameters_annotations">
1097
+ </colgroup>
1098
+ <tbody>
1099
+ <tr>
1100
+ <td class="parameter_name"><p>buffer</p></td>
1101
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
1102
+ <td class="parameter_annotations"> </td>
1103
+ </tr>
1104
+ <tr>
1105
+ <td class="parameter_name"><p>content_type</p></td>
1106
+ <td class="parameter_description"><p>the type of buffer contents to set</p></td>
1107
+ <td class="parameter_annotations"> </td>
1108
+ </tr>
1109
+ </tbody>
1110
+ </table></div>
1111
+ </div>
1112
+ <p class="since">Since 0.9.5</p>
1113
+ </div>
1114
+ <hr>
1115
+ <div class="refsect2">
1116
+ <a name="hb-buffer-get-content-type"></a><h3>hb_buffer_get_content_type ()</h3>
1117
+ <pre class="programlisting"><a class="link" href="harfbuzz-Buffers.html#hb-buffer-content-type-t" title="enum hb_buffer_content_type_t"><span class="returnvalue">hb_buffer_content_type_t</span></a>
1118
+ hb_buffer_get_content_type (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
1119
+ <p>see <a class="link" href="harfbuzz-Buffers.html#hb-buffer-set-content-type" title="hb_buffer_set_content_type ()"><code class="function">hb_buffer_set_content_type()</code></a>.</p>
1120
+ <div class="refsect3">
1121
+ <a name="id-1.3.3.5.12.17.5"></a><h4>Parameters</h4>
1122
+ <div class="informaltable"><table width="100%" border="0">
1123
+ <colgroup>
1124
+ <col width="150px" class="parameters_name">
1125
+ <col class="parameters_description">
1126
+ <col width="200px" class="parameters_annotations">
1127
+ </colgroup>
1128
+ <tbody><tr>
1129
+ <td class="parameter_name"><p>buffer</p></td>
1130
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
1131
+ <td class="parameter_annotations"> </td>
1132
+ </tr></tbody>
1133
+ </table></div>
1134
+ </div>
1135
+ <div class="refsect3">
1136
+ <a name="id-1.3.3.5.12.17.6"></a><h4>Returns</h4>
1137
+ <p>The type of <em class="parameter"><code>buffer</code></em>
1138
+ contents.</p>
1139
+ <p></p>
1140
+ </div>
1141
+ <p class="since">Since 0.9.5</p>
1142
+ </div>
1143
+ <hr>
1144
+ <div class="refsect2">
1145
+ <a name="hb-buffer-set-direction"></a><h3>hb_buffer_set_direction ()</h3>
1146
+ <pre class="programlisting"><span class="returnvalue">void</span>
1147
+ hb_buffer_set_direction (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
1148
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> direction</code></em>);</pre>
1149
+ <p>Set the text flow direction of the buffer. No shaping can happen without
1150
+ setting <em class="parameter"><code>buffer</code></em>
1151
+ direction, and it controls the visual direction for the
1152
+ output glyphs; for RTL direction the glyphs will be reversed. Many layout
1153
+ features depend on the proper setting of the direction, for example,
1154
+ reversing RTL text before shaping, then shaping with LTR direction is not
1155
+ the same as keeping the text in logical order and shaping with RTL
1156
+ direction.</p>
1157
+ <div class="refsect3">
1158
+ <a name="id-1.3.3.5.12.18.5"></a><h4>Parameters</h4>
1159
+ <div class="informaltable"><table width="100%" border="0">
1160
+ <colgroup>
1161
+ <col width="150px" class="parameters_name">
1162
+ <col class="parameters_description">
1163
+ <col width="200px" class="parameters_annotations">
1164
+ </colgroup>
1165
+ <tbody>
1166
+ <tr>
1167
+ <td class="parameter_name"><p>buffer</p></td>
1168
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
1169
+ <td class="parameter_annotations"> </td>
1170
+ </tr>
1171
+ <tr>
1172
+ <td class="parameter_name"><p>direction</p></td>
1173
+ <td class="parameter_description"><p>the <a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> of the <em class="parameter"><code>buffer</code></em>
1174
+ </p></td>
1175
+ <td class="parameter_annotations"> </td>
1176
+ </tr>
1177
+ </tbody>
1178
+ </table></div>
1179
+ </div>
1180
+ <p class="since">Since 0.9.2</p>
1181
+ </div>
1182
+ <hr>
1183
+ <div class="refsect2">
1184
+ <a name="hb-buffer-get-direction"></a><h3>hb_buffer_get_direction ()</h3>
1185
+ <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="returnvalue">hb_direction_t</span></a>
1186
+ hb_buffer_get_direction (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
1187
+ <p>See <a class="link" href="harfbuzz-Buffers.html#hb-buffer-set-direction" title="hb_buffer_set_direction ()"><code class="function">hb_buffer_set_direction()</code></a></p>
1188
+ <div class="refsect3">
1189
+ <a name="id-1.3.3.5.12.19.5"></a><h4>Parameters</h4>
1190
+ <div class="informaltable"><table width="100%" border="0">
1191
+ <colgroup>
1192
+ <col width="150px" class="parameters_name">
1193
+ <col class="parameters_description">
1194
+ <col width="200px" class="parameters_annotations">
1195
+ </colgroup>
1196
+ <tbody><tr>
1197
+ <td class="parameter_name"><p>buffer</p></td>
1198
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
1199
+ <td class="parameter_annotations"> </td>
1200
+ </tr></tbody>
1201
+ </table></div>
1202
+ </div>
1203
+ <div class="refsect3">
1204
+ <a name="id-1.3.3.5.12.19.6"></a><h4>Returns</h4>
1205
+ <p>The direction of the <em class="parameter"><code>buffer</code></em>
1206
+ .</p>
1207
+ <p></p>
1208
+ </div>
1209
+ <p class="since">Since 0.9.2</p>
1210
+ </div>
1211
+ <hr>
1212
+ <div class="refsect2">
1213
+ <a name="hb-buffer-set-script"></a><h3>hb_buffer_set_script ()</h3>
1214
+ <pre class="programlisting"><span class="returnvalue">void</span>
1215
+ hb_buffer_set_script (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
1216
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="type">hb_script_t</span></a> script</code></em>);</pre>
1217
+ <p>Sets the script of <em class="parameter"><code>buffer</code></em>
1218
+ to <em class="parameter"><code>script</code></em>
1219
+ .</p>
1220
+ <p>Script is crucial for choosing the proper shaping behaviour for scripts that
1221
+ require it (e.g. Arabic) and the which OpenType features defined in the font
1222
+ to be applied.</p>
1223
+ <p>You can pass one of the predefined <a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="type">hb_script_t</span></a> values, or use
1224
+ <a class="link" href="harfbuzz-hb-common.html#hb-script-from-string" title="hb_script_from_string ()"><code class="function">hb_script_from_string()</code></a> or <a class="link" href="harfbuzz-hb-common.html#hb-script-from-iso15924-tag" title="hb_script_from_iso15924_tag ()"><code class="function">hb_script_from_iso15924_tag()</code></a> to get the
1225
+ corresponding script from an ISO 15924 script tag.</p>
1226
+ <div class="refsect3">
1227
+ <a name="id-1.3.3.5.12.20.7"></a><h4>Parameters</h4>
1228
+ <div class="informaltable"><table width="100%" border="0">
1229
+ <colgroup>
1230
+ <col width="150px" class="parameters_name">
1231
+ <col class="parameters_description">
1232
+ <col width="200px" class="parameters_annotations">
1233
+ </colgroup>
1234
+ <tbody>
1235
+ <tr>
1236
+ <td class="parameter_name"><p>buffer</p></td>
1237
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
1238
+ <td class="parameter_annotations"> </td>
1239
+ </tr>
1240
+ <tr>
1241
+ <td class="parameter_name"><p>script</p></td>
1242
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="type">hb_script_t</span></a> to set.</p></td>
1243
+ <td class="parameter_annotations"> </td>
1244
+ </tr>
1245
+ </tbody>
1246
+ </table></div>
1247
+ </div>
1248
+ <p class="since">Since 0.9.2</p>
1249
+ </div>
1250
+ <hr>
1251
+ <div class="refsect2">
1252
+ <a name="hb-buffer-get-script"></a><h3>hb_buffer_get_script ()</h3>
1253
+ <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="returnvalue">hb_script_t</span></a>
1254
+ hb_buffer_get_script (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
1255
+ <p>See <a class="link" href="harfbuzz-Buffers.html#hb-buffer-set-script" title="hb_buffer_set_script ()"><code class="function">hb_buffer_set_script()</code></a>.</p>
1256
+ <div class="refsect3">
1257
+ <a name="id-1.3.3.5.12.21.5"></a><h4>Parameters</h4>
1258
+ <div class="informaltable"><table width="100%" border="0">
1259
+ <colgroup>
1260
+ <col width="150px" class="parameters_name">
1261
+ <col class="parameters_description">
1262
+ <col width="200px" class="parameters_annotations">
1263
+ </colgroup>
1264
+ <tbody><tr>
1265
+ <td class="parameter_name"><p>buffer</p></td>
1266
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
1267
+ <td class="parameter_annotations"> </td>
1268
+ </tr></tbody>
1269
+ </table></div>
1270
+ </div>
1271
+ <div class="refsect3">
1272
+ <a name="id-1.3.3.5.12.21.6"></a><h4>Returns</h4>
1273
+ <p>The <a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="type">hb_script_t</span></a> of the <em class="parameter"><code>buffer</code></em>
1274
+ .</p>
1275
+ <p></p>
1276
+ </div>
1277
+ <p class="since">Since 0.9.2</p>
1278
+ </div>
1279
+ <hr>
1280
+ <div class="refsect2">
1281
+ <a name="hb-buffer-set-language"></a><h3>hb_buffer_set_language ()</h3>
1282
+ <pre class="programlisting"><span class="returnvalue">void</span>
1283
+ hb_buffer_set_language (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
1284
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-language-t" title="hb_language_t"><span class="type">hb_language_t</span></a> language</code></em>);</pre>
1285
+ <p>Sets the language of <em class="parameter"><code>buffer</code></em>
1286
+ to <em class="parameter"><code>language</code></em>
1287
+ .</p>
1288
+ <p>Languages are crucial for selecting which OpenType feature to apply to the
1289
+ buffer which can result in applying language-specific behaviour. Languages
1290
+ are orthogonal to the scripts, and though they are related, they are
1291
+ different concepts and should not be confused with each other.</p>
1292
+ <p>Use <a class="link" href="harfbuzz-hb-common.html#hb-language-from-string" title="hb_language_from_string ()"><code class="function">hb_language_from_string()</code></a> to convert from ISO 639 language codes to
1293
+ <a class="link" href="harfbuzz-hb-common.html#hb-language-t" title="hb_language_t"><span class="type">hb_language_t</span></a>.</p>
1294
+ <div class="refsect3">
1295
+ <a name="id-1.3.3.5.12.22.7"></a><h4>Parameters</h4>
1296
+ <div class="informaltable"><table width="100%" border="0">
1297
+ <colgroup>
1298
+ <col width="150px" class="parameters_name">
1299
+ <col class="parameters_description">
1300
+ <col width="200px" class="parameters_annotations">
1301
+ </colgroup>
1302
+ <tbody>
1303
+ <tr>
1304
+ <td class="parameter_name"><p>buffer</p></td>
1305
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
1306
+ <td class="parameter_annotations"> </td>
1307
+ </tr>
1308
+ <tr>
1309
+ <td class="parameter_name"><p>language</p></td>
1310
+ <td class="parameter_description"><p>an hb_language_t to set.</p></td>
1311
+ <td class="parameter_annotations"> </td>
1312
+ </tr>
1313
+ </tbody>
1314
+ </table></div>
1315
+ </div>
1316
+ <p class="since">Since 0.9.2</p>
1317
+ </div>
1318
+ <hr>
1319
+ <div class="refsect2">
1320
+ <a name="hb-buffer-get-language"></a><h3>hb_buffer_get_language ()</h3>
1321
+ <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-language-t" title="hb_language_t"><span class="returnvalue">hb_language_t</span></a>
1322
+ hb_buffer_get_language (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
1323
+ <p>See <a class="link" href="harfbuzz-Buffers.html#hb-buffer-set-language" title="hb_buffer_set_language ()"><code class="function">hb_buffer_set_language()</code></a>.</p>
1324
+ <div class="refsect3">
1325
+ <a name="id-1.3.3.5.12.23.5"></a><h4>Parameters</h4>
1326
+ <div class="informaltable"><table width="100%" border="0">
1327
+ <colgroup>
1328
+ <col width="150px" class="parameters_name">
1329
+ <col class="parameters_description">
1330
+ <col width="200px" class="parameters_annotations">
1331
+ </colgroup>
1332
+ <tbody><tr>
1333
+ <td class="parameter_name"><p>buffer</p></td>
1334
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
1335
+ <td class="parameter_annotations"> </td>
1336
+ </tr></tbody>
1337
+ </table></div>
1338
+ </div>
1339
+ <div class="refsect3">
1340
+ <a name="id-1.3.3.5.12.23.6"></a><h4>Returns</h4>
1341
+ <p>The <a class="link" href="harfbuzz-hb-common.html#hb-language-t" title="hb_language_t"><span class="type">hb_language_t</span></a> of the buffer. Must not be freed by the caller. </p>
1342
+ <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
1343
+ </div>
1344
+ <p class="since">Since 0.9.2</p>
1345
+ </div>
1346
+ <hr>
1347
+ <div class="refsect2">
1348
+ <a name="hb-buffer-set-flags"></a><h3>hb_buffer_set_flags ()</h3>
1349
+ <pre class="programlisting"><span class="returnvalue">void</span>
1350
+ hb_buffer_set_flags (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
1351
+ <em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-flags-t" title="enum hb_buffer_flags_t"><span class="type">hb_buffer_flags_t</span></a> flags</code></em>);</pre>
1352
+ <p>Sets <em class="parameter"><code>buffer</code></em>
1353
+ flags to <em class="parameter"><code>flags</code></em>
1354
+ . See <a class="link" href="harfbuzz-Buffers.html#hb-buffer-flags-t" title="enum hb_buffer_flags_t"><span class="type">hb_buffer_flags_t</span></a>.</p>
1355
+ <div class="refsect3">
1356
+ <a name="id-1.3.3.5.12.24.5"></a><h4>Parameters</h4>
1357
+ <div class="informaltable"><table width="100%" border="0">
1358
+ <colgroup>
1359
+ <col width="150px" class="parameters_name">
1360
+ <col class="parameters_description">
1361
+ <col width="200px" class="parameters_annotations">
1362
+ </colgroup>
1363
+ <tbody>
1364
+ <tr>
1365
+ <td class="parameter_name"><p>buffer</p></td>
1366
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
1367
+ <td class="parameter_annotations"> </td>
1368
+ </tr>
1369
+ <tr>
1370
+ <td class="parameter_name"><p>flags</p></td>
1371
+ <td class="parameter_description"><p>the buffer flags to set.</p></td>
1372
+ <td class="parameter_annotations"> </td>
1373
+ </tr>
1374
+ </tbody>
1375
+ </table></div>
1376
+ </div>
1377
+ <p class="since">Since 0.9.7</p>
1378
+ </div>
1379
+ <hr>
1380
+ <div class="refsect2">
1381
+ <a name="hb-buffer-get-flags"></a><h3>hb_buffer_get_flags ()</h3>
1382
+ <pre class="programlisting"><a class="link" href="harfbuzz-Buffers.html#hb-buffer-flags-t" title="enum hb_buffer_flags_t"><span class="returnvalue">hb_buffer_flags_t</span></a>
1383
+ hb_buffer_get_flags (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
1384
+ <p>See <a class="link" href="harfbuzz-Buffers.html#hb-buffer-set-flags" title="hb_buffer_set_flags ()"><code class="function">hb_buffer_set_flags()</code></a>.</p>
1385
+ <div class="refsect3">
1386
+ <a name="id-1.3.3.5.12.25.5"></a><h4>Parameters</h4>
1387
+ <div class="informaltable"><table width="100%" border="0">
1388
+ <colgroup>
1389
+ <col width="150px" class="parameters_name">
1390
+ <col class="parameters_description">
1391
+ <col width="200px" class="parameters_annotations">
1392
+ </colgroup>
1393
+ <tbody><tr>
1394
+ <td class="parameter_name"><p>buffer</p></td>
1395
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
1396
+ <td class="parameter_annotations"> </td>
1397
+ </tr></tbody>
1398
+ </table></div>
1399
+ </div>
1400
+ <div class="refsect3">
1401
+ <a name="id-1.3.3.5.12.25.6"></a><h4>Returns</h4>
1402
+ <p>The <em class="parameter"><code>buffer</code></em>
1403
+ flags.</p>
1404
+ <p></p>
1405
+ </div>
1406
+ <p class="since">Since 0.9.7</p>
1407
+ </div>
1408
+ <hr>
1409
+ <div class="refsect2">
1410
+ <a name="hb-buffer-set-cluster-level"></a><h3>hb_buffer_set_cluster_level ()</h3>
1411
+ <pre class="programlisting"><span class="returnvalue">void</span>
1412
+ hb_buffer_set_cluster_level (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
1413
+ <em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-cluster-level-t" title="enum hb_buffer_cluster_level_t"><span class="type">hb_buffer_cluster_level_t</span></a> cluster_level</code></em>);</pre>
1414
+ <div class="refsect3">
1415
+ <a name="id-1.3.3.5.12.26.4"></a><h4>Parameters</h4>
1416
+ <div class="informaltable"><table width="100%" border="0">
1417
+ <colgroup>
1418
+ <col width="150px" class="parameters_name">
1419
+ <col class="parameters_description">
1420
+ <col width="200px" class="parameters_annotations">
1421
+ </colgroup>
1422
+ <tbody><tr>
1423
+ <td class="parameter_name"><p>buffer</p></td>
1424
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
1425
+ <td class="parameter_annotations"> </td>
1426
+ </tr></tbody>
1427
+ </table></div>
1428
+ </div>
1429
+ <p class="since">Since 0.9.42</p>
1430
+ </div>
1431
+ <hr>
1432
+ <div class="refsect2">
1433
+ <a name="hb-buffer-get-cluster-level"></a><h3>hb_buffer_get_cluster_level ()</h3>
1434
+ <pre class="programlisting"><a class="link" href="harfbuzz-Buffers.html#hb-buffer-cluster-level-t" title="enum hb_buffer_cluster_level_t"><span class="returnvalue">hb_buffer_cluster_level_t</span></a>
1435
+ hb_buffer_get_cluster_level (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
1436
+ <div class="refsect3">
1437
+ <a name="id-1.3.3.5.12.27.4"></a><h4>Parameters</h4>
1438
+ <div class="informaltable"><table width="100%" border="0">
1439
+ <colgroup>
1440
+ <col width="150px" class="parameters_name">
1441
+ <col class="parameters_description">
1442
+ <col width="200px" class="parameters_annotations">
1443
+ </colgroup>
1444
+ <tbody><tr>
1445
+ <td class="parameter_name"><p>buffer</p></td>
1446
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
1447
+ <td class="parameter_annotations"> </td>
1448
+ </tr></tbody>
1449
+ </table></div>
1450
+ </div>
1451
+ <div class="refsect3">
1452
+ <a name="id-1.3.3.5.12.27.5"></a><h4>Returns</h4>
1453
+ <p></p>
1454
+ </div>
1455
+ <p class="since">Since 0.9.42</p>
1456
+ </div>
1457
+ <hr>
1458
+ <div class="refsect2">
1459
+ <a name="hb-buffer-set-length"></a><h3>hb_buffer_set_length ()</h3>
1460
+ <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
1461
+ hb_buffer_set_length (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
1462
+ <em class="parameter"><code>unsigned <span class="type">int</span> length</code></em>);</pre>
1463
+ <p>Similar to <a class="link" href="harfbuzz-Buffers.html#hb-buffer-pre-allocate" title="hb_buffer_pre_allocate ()"><code class="function">hb_buffer_pre_allocate()</code></a>, but clears any new items added at the
1464
+ end.</p>
1465
+ <div class="refsect3">
1466
+ <a name="id-1.3.3.5.12.28.5"></a><h4>Parameters</h4>
1467
+ <div class="informaltable"><table width="100%" border="0">
1468
+ <colgroup>
1469
+ <col width="150px" class="parameters_name">
1470
+ <col class="parameters_description">
1471
+ <col width="200px" class="parameters_annotations">
1472
+ </colgroup>
1473
+ <tbody>
1474
+ <tr>
1475
+ <td class="parameter_name"><p>buffer</p></td>
1476
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
1477
+ <td class="parameter_annotations"> </td>
1478
+ </tr>
1479
+ <tr>
1480
+ <td class="parameter_name"><p>length</p></td>
1481
+ <td class="parameter_description"><p>the new length of <em class="parameter"><code>buffer</code></em>
1482
+ .</p></td>
1483
+ <td class="parameter_annotations"> </td>
1484
+ </tr>
1485
+ </tbody>
1486
+ </table></div>
1487
+ </div>
1488
+ <div class="refsect3">
1489
+ <a name="id-1.3.3.5.12.28.6"></a><h4>Returns</h4>
1490
+ <p><code class="literal">true</code> if <em class="parameter"><code>buffer</code></em>
1491
+ memory allocation succeeded, <code class="literal">false</code> otherwise.</p>
1492
+ <p></p>
1493
+ </div>
1494
+ <p class="since">Since 0.9.2</p>
1495
+ </div>
1496
+ <hr>
1497
+ <div class="refsect2">
1498
+ <a name="hb-buffer-get-length"></a><h3>hb_buffer_get_length ()</h3>
1499
+ <pre class="programlisting">unsigned <span class="returnvalue">int</span>
1500
+ hb_buffer_get_length (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
1501
+ <p>Returns the number of items in the buffer.</p>
1502
+ <div class="refsect3">
1503
+ <a name="id-1.3.3.5.12.29.5"></a><h4>Parameters</h4>
1504
+ <div class="informaltable"><table width="100%" border="0">
1505
+ <colgroup>
1506
+ <col width="150px" class="parameters_name">
1507
+ <col class="parameters_description">
1508
+ <col width="200px" class="parameters_annotations">
1509
+ </colgroup>
1510
+ <tbody><tr>
1511
+ <td class="parameter_name"><p>buffer</p></td>
1512
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
1513
+ <td class="parameter_annotations"> </td>
1514
+ </tr></tbody>
1515
+ </table></div>
1516
+ </div>
1517
+ <div class="refsect3">
1518
+ <a name="id-1.3.3.5.12.29.6"></a><h4>Returns</h4>
1519
+ <p>The <em class="parameter"><code>buffer</code></em>
1520
+ length.
1521
+ The value valid as long as buffer has not been modified.</p>
1522
+ <p></p>
1523
+ </div>
1524
+ <p class="since">Since 0.9.2</p>
1525
+ </div>
1526
+ <hr>
1527
+ <div class="refsect2">
1528
+ <a name="hb-buffer-set-segment-properties"></a><h3>hb_buffer_set_segment_properties ()</h3>
1529
+ <pre class="programlisting"><span class="returnvalue">void</span>
1530
+ hb_buffer_set_segment_properties (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
1531
+ <em class="parameter"><code>const <a class="link" href="harfbuzz-Buffers.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> *props</code></em>);</pre>
1532
+ <p>Sets the segment properties of the buffer, a shortcut for calling
1533
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-set-direction" title="hb_buffer_set_direction ()"><code class="function">hb_buffer_set_direction()</code></a>, <a class="link" href="harfbuzz-Buffers.html#hb-buffer-set-script" title="hb_buffer_set_script ()"><code class="function">hb_buffer_set_script()</code></a> and
1534
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-set-language" title="hb_buffer_set_language ()"><code class="function">hb_buffer_set_language()</code></a> individually.</p>
1535
+ <div class="refsect3">
1536
+ <a name="id-1.3.3.5.12.30.5"></a><h4>Parameters</h4>
1537
+ <div class="informaltable"><table width="100%" border="0">
1538
+ <colgroup>
1539
+ <col width="150px" class="parameters_name">
1540
+ <col class="parameters_description">
1541
+ <col width="200px" class="parameters_annotations">
1542
+ </colgroup>
1543
+ <tbody>
1544
+ <tr>
1545
+ <td class="parameter_name"><p>buffer</p></td>
1546
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
1547
+ <td class="parameter_annotations"> </td>
1548
+ </tr>
1549
+ <tr>
1550
+ <td class="parameter_name"><p>props</p></td>
1551
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> to use.</p></td>
1552
+ <td class="parameter_annotations"> </td>
1553
+ </tr>
1554
+ </tbody>
1555
+ </table></div>
1556
+ </div>
1557
+ <p class="since">Since 0.9.7</p>
1558
+ </div>
1559
+ <hr>
1560
+ <div class="refsect2">
1561
+ <a name="hb-buffer-get-segment-properties"></a><h3>hb_buffer_get_segment_properties ()</h3>
1562
+ <pre class="programlisting"><span class="returnvalue">void</span>
1563
+ hb_buffer_get_segment_properties (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
1564
+ <em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> *props</code></em>);</pre>
1565
+ <p>Sets <em class="parameter"><code>props</code></em>
1566
+ to the <a class="link" href="harfbuzz-Buffers.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> of <em class="parameter"><code>buffer</code></em>
1567
+ .</p>
1568
+ <div class="refsect3">
1569
+ <a name="id-1.3.3.5.12.31.5"></a><h4>Parameters</h4>
1570
+ <div class="informaltable"><table width="100%" border="0">
1571
+ <colgroup>
1572
+ <col width="150px" class="parameters_name">
1573
+ <col class="parameters_description">
1574
+ <col width="200px" class="parameters_annotations">
1575
+ </colgroup>
1576
+ <tbody>
1577
+ <tr>
1578
+ <td class="parameter_name"><p>buffer</p></td>
1579
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
1580
+ <td class="parameter_annotations"> </td>
1581
+ </tr>
1582
+ <tr>
1583
+ <td class="parameter_name"><p>props</p></td>
1584
+ <td class="parameter_description"><p> the output <a class="link" href="harfbuzz-Buffers.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a>. </p></td>
1585
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
1586
+ </tr>
1587
+ </tbody>
1588
+ </table></div>
1589
+ </div>
1590
+ <p class="since">Since 0.9.7</p>
1591
+ </div>
1592
+ <hr>
1593
+ <div class="refsect2">
1594
+ <a name="hb-buffer-guess-segment-properties"></a><h3>hb_buffer_guess_segment_properties ()</h3>
1595
+ <pre class="programlisting"><span class="returnvalue">void</span>
1596
+ hb_buffer_guess_segment_properties (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
1597
+ <p>Sets unset buffer segment properties based on buffer Unicode
1598
+ contents. If buffer is not empty, it must have content type
1599
+ <a class="link" href="harfbuzz-Buffers.html#HB-BUFFER-CONTENT-TYPE-UNICODE:CAPS"><code class="literal">HB_BUFFER_CONTENT_TYPE_UNICODE</code></a>.</p>
1600
+ <p>If buffer script is not set (ie. is <a class="link" href="harfbuzz-hb-common.html#HB-SCRIPT-INVALID:CAPS"><code class="literal">HB_SCRIPT_INVALID</code></a>), it
1601
+ will be set to the Unicode script of the first character in
1602
+ the buffer that has a script other than <a class="link" href="harfbuzz-hb-common.html#HB-SCRIPT-COMMON:CAPS"><code class="literal">HB_SCRIPT_COMMON</code></a>,
1603
+ <a class="link" href="harfbuzz-hb-common.html#HB-SCRIPT-INHERITED:CAPS"><code class="literal">HB_SCRIPT_INHERITED</code></a>, and <a class="link" href="harfbuzz-hb-common.html#HB-SCRIPT-UNKNOWN:CAPS"><code class="literal">HB_SCRIPT_UNKNOWN</code></a>.</p>
1604
+ <p>Next, if buffer direction is not set (ie. is <a class="link" href="harfbuzz-hb-common.html#HB-DIRECTION-INVALID:CAPS"><code class="literal">HB_DIRECTION_INVALID</code></a>),
1605
+ it will be set to the natural horizontal direction of the
1606
+ buffer script as returned by <a class="link" href="harfbuzz-hb-common.html#hb-script-get-horizontal-direction" title="hb_script_get_horizontal_direction ()"><code class="function">hb_script_get_horizontal_direction()</code></a>.</p>
1607
+ <p>Finally, if buffer language is not set (ie. is <a class="link" href="harfbuzz-hb-common.html#HB-LANGUAGE-INVALID:CAPS" title="HB_LANGUAGE_INVALID"><code class="literal">HB_LANGUAGE_INVALID</code></a>),
1608
+ it will be set to the process's default language as returned by
1609
+ <a class="link" href="harfbuzz-hb-common.html#hb-language-get-default" title="hb_language_get_default ()"><code class="function">hb_language_get_default()</code></a>. This may change in the future by
1610
+ taking buffer script into consideration when choosing a language.</p>
1611
+ <div class="refsect3">
1612
+ <a name="id-1.3.3.5.12.32.8"></a><h4>Parameters</h4>
1613
+ <div class="informaltable"><table width="100%" border="0">
1614
+ <colgroup>
1615
+ <col width="150px" class="parameters_name">
1616
+ <col class="parameters_description">
1617
+ <col width="200px" class="parameters_annotations">
1618
+ </colgroup>
1619
+ <tbody><tr>
1620
+ <td class="parameter_name"><p>buffer</p></td>
1621
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
1622
+ <td class="parameter_annotations"> </td>
1623
+ </tr></tbody>
1624
+ </table></div>
1625
+ </div>
1626
+ <p class="since">Since 0.9.7</p>
1627
+ </div>
1628
+ <hr>
1629
+ <div class="refsect2">
1630
+ <a name="hb-buffer-set-unicode-funcs"></a><h3>hb_buffer_set_unicode_funcs ()</h3>
1631
+ <pre class="programlisting"><span class="returnvalue">void</span>
1632
+ hb_buffer_set_unicode_funcs (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
1633
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *unicode_funcs</code></em>);</pre>
1634
+ <div class="refsect3">
1635
+ <a name="id-1.3.3.5.12.33.4"></a><h4>Parameters</h4>
1636
+ <div class="informaltable"><table width="100%" border="0">
1637
+ <colgroup>
1638
+ <col width="150px" class="parameters_name">
1639
+ <col class="parameters_description">
1640
+ <col width="200px" class="parameters_annotations">
1641
+ </colgroup>
1642
+ <tbody><tr>
1643
+ <td class="parameter_name"><p>buffer</p></td>
1644
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
1645
+ <td class="parameter_annotations"> </td>
1646
+ </tr></tbody>
1647
+ </table></div>
1648
+ </div>
1649
+ <p class="since">Since 0.9.2</p>
1650
+ </div>
1651
+ <hr>
1652
+ <div class="refsect2">
1653
+ <a name="hb-buffer-get-unicode-funcs"></a><h3>hb_buffer_get_unicode_funcs ()</h3>
1654
+ <pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="returnvalue">hb_unicode_funcs_t</span></a> *
1655
+ hb_buffer_get_unicode_funcs (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
1656
+ <div class="refsect3">
1657
+ <a name="id-1.3.3.5.12.34.4"></a><h4>Parameters</h4>
1658
+ <div class="informaltable"><table width="100%" border="0">
1659
+ <colgroup>
1660
+ <col width="150px" class="parameters_name">
1661
+ <col class="parameters_description">
1662
+ <col width="200px" class="parameters_annotations">
1663
+ </colgroup>
1664
+ <tbody><tr>
1665
+ <td class="parameter_name"><p>buffer</p></td>
1666
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
1667
+ <td class="parameter_annotations"> </td>
1668
+ </tr></tbody>
1669
+ </table></div>
1670
+ </div>
1671
+ <div class="refsect3">
1672
+ <a name="id-1.3.3.5.12.34.5"></a><h4>Returns</h4>
1673
+ <p></p>
1674
+ </div>
1675
+ <p class="since">Since 0.9.2</p>
1676
+ </div>
1677
+ <hr>
1678
+ <div class="refsect2">
1679
+ <a name="hb-buffer-set-user-data"></a><h3>hb_buffer_set_user_data ()</h3>
1680
+ <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
1681
+ hb_buffer_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
1682
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>,
1683
+ <em class="parameter"><code><span class="type">void</span> *data</code></em>,
1684
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>,
1685
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="type">hb_bool_t</span></a> replace</code></em>);</pre>
1686
+ <div class="refsect3">
1687
+ <a name="id-1.3.3.5.12.35.4"></a><h4>Parameters</h4>
1688
+ <div class="informaltable"><table width="100%" border="0">
1689
+ <colgroup>
1690
+ <col width="150px" class="parameters_name">
1691
+ <col class="parameters_description">
1692
+ <col width="200px" class="parameters_annotations">
1693
+ </colgroup>
1694
+ <tbody><tr>
1695
+ <td class="parameter_name"><p>buffer</p></td>
1696
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
1697
+ <td class="parameter_annotations"> </td>
1698
+ </tr></tbody>
1699
+ </table></div>
1700
+ </div>
1701
+ <div class="refsect3">
1702
+ <a name="id-1.3.3.5.12.35.5"></a><h4>Returns</h4>
1703
+ <p></p>
1704
+ </div>
1705
+ <p class="since">Since 0.9.2</p>
1706
+ </div>
1707
+ <hr>
1708
+ <div class="refsect2">
1709
+ <a name="hb-buffer-get-user-data"></a><h3>hb_buffer_get_user_data ()</h3>
1710
+ <pre class="programlisting"><span class="returnvalue">void</span> *
1711
+ hb_buffer_get_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
1712
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre>
1713
+ <div class="refsect3">
1714
+ <a name="id-1.3.3.5.12.36.4"></a><h4>Parameters</h4>
1715
+ <div class="informaltable"><table width="100%" border="0">
1716
+ <colgroup>
1717
+ <col width="150px" class="parameters_name">
1718
+ <col class="parameters_description">
1719
+ <col width="200px" class="parameters_annotations">
1720
+ </colgroup>
1721
+ <tbody><tr>
1722
+ <td class="parameter_name"><p>buffer</p></td>
1723
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
1724
+ <td class="parameter_annotations"> </td>
1725
+ </tr></tbody>
1726
+ </table></div>
1727
+ </div>
1728
+ <div class="refsect3">
1729
+ <a name="id-1.3.3.5.12.36.5"></a><h4>Returns</h4>
1730
+ <p></p>
1731
+ </div>
1732
+ <p class="since">Since 0.9.2</p>
1733
+ </div>
1734
+ <hr>
1735
+ <div class="refsect2">
1736
+ <a name="hb-buffer-get-glyph-infos"></a><h3>hb_buffer_get_glyph_infos ()</h3>
1737
+ <pre class="programlisting"><a class="link" href="harfbuzz-Buffers.html#hb-glyph-info-t"><span class="returnvalue">hb_glyph_info_t</span></a> *
1738
+ hb_buffer_get_glyph_infos (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
1739
+ <em class="parameter"><code>unsigned <span class="type">int</span> *length</code></em>);</pre>
1740
+ <p>Returns <em class="parameter"><code>buffer</code></em>
1741
+ glyph information array. Returned pointer
1742
+ is valid as long as <em class="parameter"><code>buffer</code></em>
1743
+ contents are not modified.</p>
1744
+ <div class="refsect3">
1745
+ <a name="id-1.3.3.5.12.37.5"></a><h4>Parameters</h4>
1746
+ <div class="informaltable"><table width="100%" border="0">
1747
+ <colgroup>
1748
+ <col width="150px" class="parameters_name">
1749
+ <col class="parameters_description">
1750
+ <col width="200px" class="parameters_annotations">
1751
+ </colgroup>
1752
+ <tbody>
1753
+ <tr>
1754
+ <td class="parameter_name"><p>buffer</p></td>
1755
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
1756
+ <td class="parameter_annotations"> </td>
1757
+ </tr>
1758
+ <tr>
1759
+ <td class="parameter_name"><p>length</p></td>
1760
+ <td class="parameter_description"><p> output array length. </p></td>
1761
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
1762
+ </tr>
1763
+ </tbody>
1764
+ </table></div>
1765
+ </div>
1766
+ <div class="refsect3">
1767
+ <a name="id-1.3.3.5.12.37.6"></a><h4>Returns</h4>
1768
+ <p>The <em class="parameter"><code>buffer</code></em>
1769
+ glyph information array.
1770
+ The value valid as long as buffer has not been modified. </p>
1771
+ <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=length]</span></p>
1772
+ </div>
1773
+ <p class="since">Since 0.9.2</p>
1774
+ </div>
1775
+ <hr>
1776
+ <div class="refsect2">
1777
+ <a name="hb-buffer-get-glyph-positions"></a><h3>hb_buffer_get_glyph_positions ()</h3>
1778
+ <pre class="programlisting"><a class="link" href="harfbuzz-Buffers.html#hb-glyph-position-t"><span class="returnvalue">hb_glyph_position_t</span></a> *
1779
+ hb_buffer_get_glyph_positions (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
1780
+ <em class="parameter"><code>unsigned <span class="type">int</span> *length</code></em>);</pre>
1781
+ <p>Returns <em class="parameter"><code>buffer</code></em>
1782
+ glyph position array. Returned pointer
1783
+ is valid as long as <em class="parameter"><code>buffer</code></em>
1784
+ contents are not modified.</p>
1785
+ <div class="refsect3">
1786
+ <a name="id-1.3.3.5.12.38.5"></a><h4>Parameters</h4>
1787
+ <div class="informaltable"><table width="100%" border="0">
1788
+ <colgroup>
1789
+ <col width="150px" class="parameters_name">
1790
+ <col class="parameters_description">
1791
+ <col width="200px" class="parameters_annotations">
1792
+ </colgroup>
1793
+ <tbody>
1794
+ <tr>
1795
+ <td class="parameter_name"><p>buffer</p></td>
1796
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
1797
+ <td class="parameter_annotations"> </td>
1798
+ </tr>
1799
+ <tr>
1800
+ <td class="parameter_name"><p>length</p></td>
1801
+ <td class="parameter_description"><p> output length. </p></td>
1802
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
1803
+ </tr>
1804
+ </tbody>
1805
+ </table></div>
1806
+ </div>
1807
+ <div class="refsect3">
1808
+ <a name="id-1.3.3.5.12.38.6"></a><h4>Returns</h4>
1809
+ <p>The <em class="parameter"><code>buffer</code></em>
1810
+ glyph position array.
1811
+ The value valid as long as buffer has not been modified. </p>
1812
+ <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=length]</span></p>
1813
+ </div>
1814
+ <p class="since">Since 0.9.2</p>
1815
+ </div>
1816
+ <hr>
1817
+ <div class="refsect2">
1818
+ <a name="hb-buffer-set-replacement-codepoint"></a><h3>hb_buffer_set_replacement_codepoint ()</h3>
1819
+ <pre class="programlisting"><span class="returnvalue">void</span>
1820
+ hb_buffer_set_replacement_codepoint (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
1821
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> replacement</code></em>);</pre>
1822
+ <p>Sets the <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> that replaces invalid entries for a given encoding
1823
+ when adding text to <em class="parameter"><code>buffer</code></em>
1824
+ .</p>
1825
+ <p>Default is <a class="link" href="harfbuzz-Buffers.html#HB-BUFFER-REPLACEMENT-CODEPOINT-DEFAULT:CAPS" title="HB_BUFFER_REPLACEMENT_CODEPOINT_DEFAULT"><code class="literal">HB_BUFFER_REPLACEMENT_CODEPOINT_DEFAULT</code></a>.</p>
1826
+ <div class="refsect3">
1827
+ <a name="id-1.3.3.5.12.39.6"></a><h4>Parameters</h4>
1828
+ <div class="informaltable"><table width="100%" border="0">
1829
+ <colgroup>
1830
+ <col width="150px" class="parameters_name">
1831
+ <col class="parameters_description">
1832
+ <col width="200px" class="parameters_annotations">
1833
+ </colgroup>
1834
+ <tbody>
1835
+ <tr>
1836
+ <td class="parameter_name"><p>buffer</p></td>
1837
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
1838
+ <td class="parameter_annotations"> </td>
1839
+ </tr>
1840
+ <tr>
1841
+ <td class="parameter_name"><p>replacement</p></td>
1842
+ <td class="parameter_description"><p>the replacement <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a></p></td>
1843
+ <td class="parameter_annotations"> </td>
1844
+ </tr>
1845
+ </tbody>
1846
+ </table></div>
1847
+ </div>
1848
+ <p class="since">Since 0.9.31</p>
1849
+ </div>
1850
+ <hr>
1851
+ <div class="refsect2">
1852
+ <a name="hb-buffer-get-replacement-codepoint"></a><h3>hb_buffer_get_replacement_codepoint ()</h3>
1853
+ <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="returnvalue">hb_codepoint_t</span></a>
1854
+ hb_buffer_get_replacement_codepoint (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
1855
+ <p>See <a class="link" href="harfbuzz-Buffers.html#hb-buffer-set-replacement-codepoint" title="hb_buffer_set_replacement_codepoint ()"><code class="function">hb_buffer_set_replacement_codepoint()</code></a>.</p>
1856
+ <div class="refsect3">
1857
+ <a name="id-1.3.3.5.12.40.5"></a><h4>Parameters</h4>
1858
+ <div class="informaltable"><table width="100%" border="0">
1859
+ <colgroup>
1860
+ <col width="150px" class="parameters_name">
1861
+ <col class="parameters_description">
1862
+ <col width="200px" class="parameters_annotations">
1863
+ </colgroup>
1864
+ <tbody><tr>
1865
+ <td class="parameter_name"><p>buffer</p></td>
1866
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
1867
+ <td class="parameter_annotations"> </td>
1868
+ </tr></tbody>
1869
+ </table></div>
1870
+ </div>
1871
+ <div class="refsect3">
1872
+ <a name="id-1.3.3.5.12.40.6"></a><h4>Returns</h4>
1873
+ <p>The <em class="parameter"><code>buffer</code></em>
1874
+ replacement <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a>.</p>
1875
+ <p></p>
1876
+ </div>
1877
+ <p class="since">Since 0.9.31</p>
1878
+ </div>
1879
+ <hr>
1880
+ <div class="refsect2">
1881
+ <a name="hb-buffer-normalize-glyphs"></a><h3>hb_buffer_normalize_glyphs ()</h3>
1882
+ <pre class="programlisting"><span class="returnvalue">void</span>
1883
+ hb_buffer_normalize_glyphs (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
1884
+ <p>Reorders a glyph buffer to have canonical in-cluster glyph order / position.
1885
+ The resulting clusters should behave identical to pre-reordering clusters.</p>
1886
+ <div class="note">This has nothing to do with Unicode normalization.</div>
1887
+ <div class="refsect3">
1888
+ <a name="id-1.3.3.5.12.41.6"></a><h4>Parameters</h4>
1889
+ <div class="informaltable"><table width="100%" border="0">
1890
+ <colgroup>
1891
+ <col width="150px" class="parameters_name">
1892
+ <col class="parameters_description">
1893
+ <col width="200px" class="parameters_annotations">
1894
+ </colgroup>
1895
+ <tbody><tr>
1896
+ <td class="parameter_name"><p>buffer</p></td>
1897
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
1898
+ <td class="parameter_annotations"> </td>
1899
+ </tr></tbody>
1900
+ </table></div>
1901
+ </div>
1902
+ <p class="since">Since 0.9.2</p>
1903
+ </div>
1904
+ <hr>
1905
+ <div class="refsect2">
1906
+ <a name="hb-buffer-reverse"></a><h3>hb_buffer_reverse ()</h3>
1907
+ <pre class="programlisting"><span class="returnvalue">void</span>
1908
+ hb_buffer_reverse (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
1909
+ <p>Reverses buffer contents.</p>
1910
+ <div class="refsect3">
1911
+ <a name="id-1.3.3.5.12.42.5"></a><h4>Parameters</h4>
1912
+ <div class="informaltable"><table width="100%" border="0">
1913
+ <colgroup>
1914
+ <col width="150px" class="parameters_name">
1915
+ <col class="parameters_description">
1916
+ <col width="200px" class="parameters_annotations">
1917
+ </colgroup>
1918
+ <tbody><tr>
1919
+ <td class="parameter_name"><p>buffer</p></td>
1920
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
1921
+ <td class="parameter_annotations"> </td>
1922
+ </tr></tbody>
1923
+ </table></div>
1924
+ </div>
1925
+ <p class="since">Since 0.9.2</p>
1926
+ </div>
1927
+ <hr>
1928
+ <div class="refsect2">
1929
+ <a name="hb-buffer-reverse-range"></a><h3>hb_buffer_reverse_range ()</h3>
1930
+ <pre class="programlisting"><span class="returnvalue">void</span>
1931
+ hb_buffer_reverse_range (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
1932
+ <em class="parameter"><code>unsigned <span class="type">int</span> start</code></em>,
1933
+ <em class="parameter"><code>unsigned <span class="type">int</span> end</code></em>);</pre>
1934
+ <p>Reverses buffer contents between start to end.</p>
1935
+ <div class="refsect3">
1936
+ <a name="id-1.3.3.5.12.43.5"></a><h4>Parameters</h4>
1937
+ <div class="informaltable"><table width="100%" border="0">
1938
+ <colgroup>
1939
+ <col width="150px" class="parameters_name">
1940
+ <col class="parameters_description">
1941
+ <col width="200px" class="parameters_annotations">
1942
+ </colgroup>
1943
+ <tbody>
1944
+ <tr>
1945
+ <td class="parameter_name"><p>buffer</p></td>
1946
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
1947
+ <td class="parameter_annotations"> </td>
1948
+ </tr>
1949
+ <tr>
1950
+ <td class="parameter_name"><p>start</p></td>
1951
+ <td class="parameter_description"><p>start index.</p></td>
1952
+ <td class="parameter_annotations"> </td>
1953
+ </tr>
1954
+ <tr>
1955
+ <td class="parameter_name"><p>end</p></td>
1956
+ <td class="parameter_description"><p>end index.</p></td>
1957
+ <td class="parameter_annotations"> </td>
1958
+ </tr>
1959
+ </tbody>
1960
+ </table></div>
1961
+ </div>
1962
+ <p class="since">Since 0.9.41</p>
1963
+ </div>
1964
+ <hr>
1965
+ <div class="refsect2">
1966
+ <a name="hb-buffer-reverse-clusters"></a><h3>hb_buffer_reverse_clusters ()</h3>
1967
+ <pre class="programlisting"><span class="returnvalue">void</span>
1968
+ hb_buffer_reverse_clusters (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
1969
+ <p>Reverses buffer clusters. That is, the buffer contents are
1970
+ reversed, then each cluster (consecutive items having the
1971
+ same cluster number) are reversed again.</p>
1972
+ <div class="refsect3">
1973
+ <a name="id-1.3.3.5.12.44.5"></a><h4>Parameters</h4>
1974
+ <div class="informaltable"><table width="100%" border="0">
1975
+ <colgroup>
1976
+ <col width="150px" class="parameters_name">
1977
+ <col class="parameters_description">
1978
+ <col width="200px" class="parameters_annotations">
1979
+ </colgroup>
1980
+ <tbody><tr>
1981
+ <td class="parameter_name"><p>buffer</p></td>
1982
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
1983
+ <td class="parameter_annotations"> </td>
1984
+ </tr></tbody>
1985
+ </table></div>
1986
+ </div>
1987
+ <p class="since">Since 0.9.2</p>
1988
+ </div>
1989
+ <hr>
1990
+ <div class="refsect2">
1991
+ <a name="hb-buffer-serialize-glyphs"></a><h3>hb_buffer_serialize_glyphs ()</h3>
1992
+ <pre class="programlisting">unsigned <span class="returnvalue">int</span>
1993
+ hb_buffer_serialize_glyphs (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
1994
+ <em class="parameter"><code>unsigned <span class="type">int</span> start</code></em>,
1995
+ <em class="parameter"><code>unsigned <span class="type">int</span> end</code></em>,
1996
+ <em class="parameter"><code><span class="type">char</span> *buf</code></em>,
1997
+ <em class="parameter"><code>unsigned <span class="type">int</span> buf_size</code></em>,
1998
+ <em class="parameter"><code>unsigned <span class="type">int</span> *buf_consumed</code></em>,
1999
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
2000
+ <em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-serialize-format-t" title="enum hb_buffer_serialize_format_t"><span class="type">hb_buffer_serialize_format_t</span></a> format</code></em>,
2001
+ <em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-serialize-flags-t" title="enum hb_buffer_serialize_flags_t"><span class="type">hb_buffer_serialize_flags_t</span></a> flags</code></em>);</pre>
2002
+ <p>Serializes <em class="parameter"><code>buffer</code></em>
2003
+ into a textual representation of its glyph content,
2004
+ useful for showing the contents of the buffer, for example during debugging.
2005
+ There are currently two supported serialization formats:</p>
2006
+ <div class="refsect3">
2007
+ <a name="id-1.3.3.5.12.45.5"></a><h4>text</h4>
2008
+ <p>A human-readable, plain text format.
2009
+ The serialized glyphs will look something like:</p>
2010
+ <p><code class="literal">
2011
+ [uni0651=0@518,0+0|uni0628=0+1897]
2012
+ </code></p>
2013
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
2014
+ <li class="listitem"><p>The serialized glyphs are delimited with <code class="literal">[</code> and <code class="literal">]</code>.</p></li>
2015
+ <li class="listitem"><p>Glyphs are separated with <code class="literal">|</code></p></li>
2016
+ <li class="listitem">
2017
+ <p>Each glyph starts with glyph name, or glyph index if
2018
+ <a class="link" href="harfbuzz-Buffers.html#HB-BUFFER-SERIALIZE-FLAG-NO-GLYPH-NAMES:CAPS"><span class="type">HB_BUFFER_SERIALIZE_FLAG_NO_GLYPH_NAMES</span></a> flag is set. Then,</p>
2019
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
2020
+ <li class="listitem"><p>If <a class="link" href="harfbuzz-Buffers.html#HB-BUFFER-SERIALIZE-FLAG-NO-CLUSTERS:CAPS"><span class="type">HB_BUFFER_SERIALIZE_FLAG_NO_CLUSTERS</span></a> is not set, <code class="literal">=</code> then <span class="type">hb_glyph_info_t.cluster</span>.</p></li>
2021
+ <li class="listitem">
2022
+ <p>If <a class="link" href="harfbuzz-Buffers.html#HB-BUFFER-SERIALIZE-FLAG-NO-POSITIONS:CAPS"><span class="type">HB_BUFFER_SERIALIZE_FLAG_NO_POSITIONS</span></a> is not set, the <a class="link" href="harfbuzz-Buffers.html#hb-glyph-position-t"><span class="type">hb_glyph_position_t</span></a> in the format:</p>
2023
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: square; ">
2024
+ <li class="listitem"><p>If both <span class="type">hb_glyph_position_t.x_offset</span> and <span class="type">hb_glyph_position_t.y_offset</span> are not 0, <code class="literal">@x_offset,y_offset</code>. Then,</p></li>
2025
+ <li class="listitem"><p><code class="literal">+x_advance</code>, then <code class="literal">,y_advance</code> if <span class="type">hb_glyph_position_t.y_advance</span> is not 0. Then,</p></li>
2026
+ </ul></div>
2027
+ </li>
2028
+ <li class="listitem"><p>If <a class="link" href="harfbuzz-Buffers.html#HB-BUFFER-SERIALIZE-FLAG-GLYPH-EXTENTS:CAPS"><span class="type">HB_BUFFER_SERIALIZE_FLAG_GLYPH_EXTENTS</span></a> is set, the
2029
+ <span class="type">hb_glyph_extents_t</span> in the format
2030
+ <code class="literal">&lt;x_bearing,y_bearing,width,height&gt;</code></p></li>
2031
+ </ul></div>
2032
+ </li>
2033
+ </ul></div>
2034
+ </div>
2035
+ <div class="refsect3">
2036
+ <a name="id-1.3.3.5.12.45.6"></a><h4>json</h4>
2037
+ <p>TODO.</p>
2038
+ </div>
2039
+ <div class="refsect3">
2040
+ <a name="id-1.3.3.5.12.45.7"></a><h4>Parameters</h4>
2041
+ <div class="informaltable"><table width="100%" border="0">
2042
+ <colgroup>
2043
+ <col width="150px" class="parameters_name">
2044
+ <col class="parameters_description">
2045
+ <col width="200px" class="parameters_annotations">
2046
+ </colgroup>
2047
+ <tbody>
2048
+ <tr>
2049
+ <td class="parameter_name"><p>buffer</p></td>
2050
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> buffer.</p></td>
2051
+ <td class="parameter_annotations"> </td>
2052
+ </tr>
2053
+ <tr>
2054
+ <td class="parameter_name"><p>start</p></td>
2055
+ <td class="parameter_description"><p>the first item in <em class="parameter"><code>buffer</code></em>
2056
+ to serialize.</p></td>
2057
+ <td class="parameter_annotations"> </td>
2058
+ </tr>
2059
+ <tr>
2060
+ <td class="parameter_name"><p>end</p></td>
2061
+ <td class="parameter_description"><p>the last item in <em class="parameter"><code>buffer</code></em>
2062
+ to serialize.</p></td>
2063
+ <td class="parameter_annotations"> </td>
2064
+ </tr>
2065
+ <tr>
2066
+ <td class="parameter_name"><p>buf</p></td>
2067
+ <td class="parameter_description"><p> output string to
2068
+ write serialized buffer into. </p></td>
2069
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=buf_size][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> uint8_t]</span></td>
2070
+ </tr>
2071
+ <tr>
2072
+ <td class="parameter_name"><p>buf_size</p></td>
2073
+ <td class="parameter_description"><p>the size of <em class="parameter"><code>buf</code></em>
2074
+ .</p></td>
2075
+ <td class="parameter_annotations"> </td>
2076
+ </tr>
2077
+ <tr>
2078
+ <td class="parameter_name"><p>buf_consumed</p></td>
2079
+ <td class="parameter_description"><p> if not <code class="literal">NULL</code>, will be set to the number of byes written into <em class="parameter"><code>buf</code></em>
2080
+ . </p></td>
2081
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
2082
+ </tr>
2083
+ <tr>
2084
+ <td class="parameter_name"><p>font</p></td>
2085
+ <td class="parameter_description"><p> the <a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> used to shape this buffer, needed to
2086
+ read glyph names and extents. If <code class="literal">NULL</code>, and empty font will be used. </p></td>
2087
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
2088
+ </tr>
2089
+ <tr>
2090
+ <td class="parameter_name"><p>format</p></td>
2091
+ <td class="parameter_description"><p>the <a class="link" href="harfbuzz-Buffers.html#hb-buffer-serialize-format-t" title="enum hb_buffer_serialize_format_t"><span class="type">hb_buffer_serialize_format_t</span></a> to use for formatting the output.</p></td>
2092
+ <td class="parameter_annotations"> </td>
2093
+ </tr>
2094
+ <tr>
2095
+ <td class="parameter_name"><p>flags</p></td>
2096
+ <td class="parameter_description"><p>the <a class="link" href="harfbuzz-Buffers.html#hb-buffer-serialize-flags-t" title="enum hb_buffer_serialize_flags_t"><span class="type">hb_buffer_serialize_flags_t</span></a> that control what glyph properties
2097
+ to serialize.</p></td>
2098
+ <td class="parameter_annotations"> </td>
2099
+ </tr>
2100
+ </tbody>
2101
+ </table></div>
2102
+ </div>
2103
+ <div class="refsect3">
2104
+ <a name="id-1.3.3.5.12.45.8"></a><h4>Returns</h4>
2105
+ <p>The number of serialized items.</p>
2106
+ <p></p>
2107
+ </div>
2108
+ <p class="since">Since 0.9.7</p>
2109
+ </div>
2110
+ <hr>
2111
+ <div class="refsect2">
2112
+ <a name="hb-buffer-deserialize-glyphs"></a><h3>hb_buffer_deserialize_glyphs ()</h3>
2113
+ <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
2114
+ hb_buffer_deserialize_glyphs (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
2115
+ <em class="parameter"><code>const <span class="type">char</span> *buf</code></em>,
2116
+ <em class="parameter"><code><span class="type">int</span> buf_len</code></em>,
2117
+ <em class="parameter"><code>const <span class="type">char</span> **end_ptr</code></em>,
2118
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
2119
+ <em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-serialize-format-t" title="enum hb_buffer_serialize_format_t"><span class="type">hb_buffer_serialize_format_t</span></a> format</code></em>);</pre>
2120
+ <div class="refsect3">
2121
+ <a name="id-1.3.3.5.12.46.4"></a><h4>Parameters</h4>
2122
+ <div class="informaltable"><table width="100%" border="0">
2123
+ <colgroup>
2124
+ <col width="150px" class="parameters_name">
2125
+ <col class="parameters_description">
2126
+ <col width="200px" class="parameters_annotations">
2127
+ </colgroup>
2128
+ <tbody>
2129
+ <tr>
2130
+ <td class="parameter_name"><p>buffer</p></td>
2131
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> buffer.</p></td>
2132
+ <td class="parameter_annotations"> </td>
2133
+ </tr>
2134
+ <tr>
2135
+ <td class="parameter_name"><p>buf</p></td>
2136
+ <td class="parameter_description"><p>. </p></td>
2137
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=buf_len]</span></td>
2138
+ </tr>
2139
+ <tr>
2140
+ <td class="parameter_name"><p>end_ptr</p></td>
2141
+ <td class="parameter_description"><p>. </p></td>
2142
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
2143
+ </tr>
2144
+ </tbody>
2145
+ </table></div>
2146
+ </div>
2147
+ <div class="refsect3">
2148
+ <a name="id-1.3.3.5.12.46.5"></a><h4>Returns</h4>
2149
+ <p></p>
2150
+ </div>
2151
+ <p class="since">Since 0.9.7</p>
2152
+ </div>
2153
+ <hr>
2154
+ <div class="refsect2">
2155
+ <a name="hb-buffer-serialize-format-from-string"></a><h3>hb_buffer_serialize_format_from_string ()</h3>
2156
+ <pre class="programlisting"><a class="link" href="harfbuzz-Buffers.html#hb-buffer-serialize-format-t" title="enum hb_buffer_serialize_format_t"><span class="returnvalue">hb_buffer_serialize_format_t</span></a>
2157
+ hb_buffer_serialize_format_from_string
2158
+ (<em class="parameter"><code>const <span class="type">char</span> *str</code></em>,
2159
+ <em class="parameter"><code><span class="type">int</span> len</code></em>);</pre>
2160
+ <p>Parses a string into an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-serialize-format-t" title="enum hb_buffer_serialize_format_t"><span class="type">hb_buffer_serialize_format_t</span></a>. Does not check if
2161
+ <em class="parameter"><code>str</code></em>
2162
+ is a valid buffer serialization format, use
2163
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-serialize-list-formats" title="hb_buffer_serialize_list_formats ()"><code class="function">hb_buffer_serialize_list_formats()</code></a> to get the list of supported formats.</p>
2164
+ <div class="refsect3">
2165
+ <a name="id-1.3.3.5.12.47.5"></a><h4>Parameters</h4>
2166
+ <div class="informaltable"><table width="100%" border="0">
2167
+ <colgroup>
2168
+ <col width="150px" class="parameters_name">
2169
+ <col class="parameters_description">
2170
+ <col width="200px" class="parameters_annotations">
2171
+ </colgroup>
2172
+ <tbody>
2173
+ <tr>
2174
+ <td class="parameter_name"><p>str</p></td>
2175
+ <td class="parameter_description"><p> a string to parse. </p></td>
2176
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=len][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> uint8_t]</span></td>
2177
+ </tr>
2178
+ <tr>
2179
+ <td class="parameter_name"><p>len</p></td>
2180
+ <td class="parameter_description"><p>length of <em class="parameter"><code>str</code></em>
2181
+ , or -1 if string is <code class="literal">NULL</code> terminated</p></td>
2182
+ <td class="parameter_annotations"> </td>
2183
+ </tr>
2184
+ </tbody>
2185
+ </table></div>
2186
+ </div>
2187
+ <div class="refsect3">
2188
+ <a name="id-1.3.3.5.12.47.6"></a><h4>Returns</h4>
2189
+ <p>The parsed <a class="link" href="harfbuzz-Buffers.html#hb-buffer-serialize-format-t" title="enum hb_buffer_serialize_format_t"><span class="type">hb_buffer_serialize_format_t</span></a>.</p>
2190
+ <p></p>
2191
+ </div>
2192
+ <p class="since">Since 0.9.7</p>
2193
+ </div>
2194
+ <hr>
2195
+ <div class="refsect2">
2196
+ <a name="hb-buffer-serialize-format-to-string"></a><h3>hb_buffer_serialize_format_to_string ()</h3>
2197
+ <pre class="programlisting">const <span class="returnvalue">char</span> *
2198
+ hb_buffer_serialize_format_to_string (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-serialize-format-t" title="enum hb_buffer_serialize_format_t"><span class="type">hb_buffer_serialize_format_t</span></a> format</code></em>);</pre>
2199
+ <p>Converts <em class="parameter"><code>format</code></em>
2200
+ to the string corresponding it, or <code class="literal">NULL</code> if it is not a valid
2201
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-serialize-format-t" title="enum hb_buffer_serialize_format_t"><span class="type">hb_buffer_serialize_format_t</span></a>.</p>
2202
+ <div class="refsect3">
2203
+ <a name="id-1.3.3.5.12.48.5"></a><h4>Parameters</h4>
2204
+ <div class="informaltable"><table width="100%" border="0">
2205
+ <colgroup>
2206
+ <col width="150px" class="parameters_name">
2207
+ <col class="parameters_description">
2208
+ <col width="200px" class="parameters_annotations">
2209
+ </colgroup>
2210
+ <tbody><tr>
2211
+ <td class="parameter_name"><p>format</p></td>
2212
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-serialize-format-t" title="enum hb_buffer_serialize_format_t"><span class="type">hb_buffer_serialize_format_t</span></a> to convert.</p></td>
2213
+ <td class="parameter_annotations"> </td>
2214
+ </tr></tbody>
2215
+ </table></div>
2216
+ </div>
2217
+ <div class="refsect3">
2218
+ <a name="id-1.3.3.5.12.48.6"></a><h4>Returns</h4>
2219
+ <p>A <code class="literal">NULL</code> terminated string corresponding to <em class="parameter"><code>format</code></em>
2220
+ . Should not be freed. </p>
2221
+ <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
2222
+ </div>
2223
+ <p class="since">Since 0.9.7</p>
2224
+ </div>
2225
+ <hr>
2226
+ <div class="refsect2">
2227
+ <a name="hb-buffer-serialize-list-formats"></a><h3>hb_buffer_serialize_list_formats ()</h3>
2228
+ <pre class="programlisting">const <span class="returnvalue">char</span> **
2229
+ hb_buffer_serialize_list_formats (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
2230
+ <p>Returns a list of supported buffer serialization formats.</p>
2231
+ <div class="refsect3">
2232
+ <a name="id-1.3.3.5.12.49.5"></a><h4>Returns</h4>
2233
+ <p>A string array of buffer serialization formats. Should not be freed. </p>
2234
+ <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
2235
+ </div>
2236
+ <p class="since">Since 0.9.7</p>
2237
+ </div>
2238
+ <hr>
2239
+ <div class="refsect2">
2240
+ <a name="hb-segment-properties-equal"></a><h3>hb_segment_properties_equal ()</h3>
2241
+ <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
2242
+ hb_segment_properties_equal (<em class="parameter"><code>const <a class="link" href="harfbuzz-Buffers.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> *a</code></em>,
2243
+ <em class="parameter"><code>const <a class="link" href="harfbuzz-Buffers.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> *b</code></em>);</pre>
2244
+ <p>Checks the equality of two <a class="link" href="harfbuzz-Buffers.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a>'s.</p>
2245
+ <div class="refsect3">
2246
+ <a name="id-1.3.3.5.12.50.5"></a><h4>Parameters</h4>
2247
+ <div class="informaltable"><table width="100%" border="0">
2248
+ <colgroup>
2249
+ <col width="150px" class="parameters_name">
2250
+ <col class="parameters_description">
2251
+ <col width="200px" class="parameters_annotations">
2252
+ </colgroup>
2253
+ <tbody>
2254
+ <tr>
2255
+ <td class="parameter_name"><p>a</p></td>
2256
+ <td class="parameter_description"><p>first <a class="link" href="harfbuzz-Buffers.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> to compare.</p></td>
2257
+ <td class="parameter_annotations"> </td>
2258
+ </tr>
2259
+ <tr>
2260
+ <td class="parameter_name"><p>b</p></td>
2261
+ <td class="parameter_description"><p>second <a class="link" href="harfbuzz-Buffers.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> to compare.</p></td>
2262
+ <td class="parameter_annotations"> </td>
2263
+ </tr>
2264
+ </tbody>
2265
+ </table></div>
2266
+ </div>
2267
+ <div class="refsect3">
2268
+ <a name="id-1.3.3.5.12.50.6"></a><h4>Returns</h4>
2269
+ <p><code class="literal">true</code> if all properties of <em class="parameter"><code>a</code></em>
2270
+ equal those of <em class="parameter"><code>b</code></em>
2271
+ , false otherwise. </p>
2272
+ <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
2273
+ </div>
2274
+ <p class="since">Since 0.9.7</p>
2275
+ </div>
2276
+ <hr>
2277
+ <div class="refsect2">
2278
+ <a name="hb-segment-properties-hash"></a><h3>hb_segment_properties_hash ()</h3>
2279
+ <pre class="programlisting">unsigned <span class="returnvalue">int</span>
2280
+ hb_segment_properties_hash (<em class="parameter"><code>const <a class="link" href="harfbuzz-Buffers.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> *p</code></em>);</pre>
2281
+ <p>Creates a hash representing <em class="parameter"><code>p</code></em>
2282
+ .</p>
2283
+ <div class="refsect3">
2284
+ <a name="id-1.3.3.5.12.51.5"></a><h4>Parameters</h4>
2285
+ <div class="informaltable"><table width="100%" border="0">
2286
+ <colgroup>
2287
+ <col width="150px" class="parameters_name">
2288
+ <col class="parameters_description">
2289
+ <col width="200px" class="parameters_annotations">
2290
+ </colgroup>
2291
+ <tbody><tr>
2292
+ <td class="parameter_name"><p>p</p></td>
2293
+ <td class="parameter_description"><p><a class="link" href="harfbuzz-Buffers.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> to hash.</p></td>
2294
+ <td class="parameter_annotations"> </td>
2295
+ </tr></tbody>
2296
+ </table></div>
2297
+ </div>
2298
+ <div class="refsect3">
2299
+ <a name="id-1.3.3.5.12.51.6"></a><h4>Returns</h4>
2300
+ <p>A hash of <em class="parameter"><code>p</code></em>
2301
+ .</p>
2302
+ <p></p>
2303
+ </div>
2304
+ <p class="since">Since 0.9.7</p>
2305
+ </div>
2306
+ <hr>
2307
+ <div class="refsect2">
2308
+ <a name="hb-buffer-set-message-func"></a><h3>hb_buffer_set_message_func ()</h3>
2309
+ <pre class="programlisting"><span class="returnvalue">void</span>
2310
+ hb_buffer_set_message_func (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
2311
+ <em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-message-func-t" title="hb_buffer_message_func_t ()"><span class="type">hb_buffer_message_func_t</span></a> func</code></em>,
2312
+ <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
2313
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
2314
+ <div class="refsect3">
2315
+ <a name="id-1.3.3.5.12.52.4"></a><h4>Parameters</h4>
2316
+ <div class="informaltable"><table width="100%" border="0">
2317
+ <colgroup>
2318
+ <col width="150px" class="parameters_name">
2319
+ <col class="parameters_description">
2320
+ <col width="200px" class="parameters_annotations">
2321
+ </colgroup>
2322
+ <tbody>
2323
+ <tr>
2324
+ <td class="parameter_name"><p>buffer</p></td>
2325
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
2326
+ <td class="parameter_annotations"> </td>
2327
+ </tr>
2328
+ <tr>
2329
+ <td class="parameter_name"><p>func</p></td>
2330
+ <td class="parameter_description"><p>. </p></td>
2331
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym> user_data][<acronym title="This parameter is a 'destroy_data', for callbacks."><span class="acronym">destroy</span></acronym> destroy][<acronym title="The callback is valid until the GDestroyNotify argument is called."><span class="acronym">scope notified</span></acronym>]</span></td>
2332
+ </tr>
2333
+ </tbody>
2334
+ </table></div>
2335
+ </div>
2336
+ <p class="since">Since 1.1.3</p>
2337
+ </div>
2338
+ <hr>
2339
+ <div class="refsect2">
2340
+ <a name="hb-buffer-message-func-t"></a><h3>hb_buffer_message_func_t ()</h3>
2341
+ <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
2342
+ <span class="c_punctuation">(</span>*hb_buffer_message_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
2343
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
2344
+ <em class="parameter"><code>const <span class="type">char</span> *message</code></em>,
2345
+ <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
2346
+ </div>
2347
+ </div>
2348
+ <div class="refsect1">
2349
+ <a name="harfbuzz-Buffers.other_details"></a><h2>Types and Values</h2>
2350
+ <div class="refsect2">
2351
+ <a name="HB-SEGMENT-PROPERTIES-DEFAULT:CAPS"></a><h3>HB_SEGMENT_PROPERTIES_DEFAULT</h3>
2352
+ <pre class="programlisting">#define HB_SEGMENT_PROPERTIES_DEFAULT</pre>
2353
+ </div>
2354
+ <hr>
2355
+ <div class="refsect2">
2356
+ <a name="HB-BUFFER-REPLACEMENT-CODEPOINT-DEFAULT:CAPS"></a><h3>HB_BUFFER_REPLACEMENT_CODEPOINT_DEFAULT</h3>
2357
+ <pre class="programlisting">#define HB_BUFFER_REPLACEMENT_CODEPOINT_DEFAULT 0xFFFDu
2358
+ </pre>
2359
+ <p>The default code point for replacing invalid characters in a given encoding.
2360
+ Set to U+FFFD REPLACEMENT CHARACTER.</p>
2361
+ <p class="since">Since 0.9.31</p>
2362
+ </div>
2363
+ <hr>
2364
+ <div class="refsect2">
2365
+ <a name="hb-buffer-t"></a><h3>hb_buffer_t</h3>
2366
+ <pre class="programlisting">typedef struct hb_buffer_t hb_buffer_t;
2367
+ </pre>
2368
+ <p>The main structure holding the input text and its properties before shaping,
2369
+ and output glyphs and their information after shaping.</p>
2370
+ </div>
2371
+ <hr>
2372
+ <div class="refsect2">
2373
+ <a name="hb-glyph-info-t-struct"></a><h3>hb_glyph_info_t</h3>
2374
+ <pre class="programlisting">typedef struct {
2375
+ hb_codepoint_t codepoint;
2376
+ hb_mask_t mask;
2377
+ uint32_t cluster;
2378
+ } hb_glyph_info_t;
2379
+ </pre>
2380
+ <p>The <a class="link" href="harfbuzz-Buffers.html#hb-glyph-info-t"><span class="type">hb_glyph_info_t</span></a> is the structure that holds information about the
2381
+ glyphs and their relation to input text.</p>
2382
+ <div class="refsect3">
2383
+ <a name="id-1.3.3.5.13.5.5"></a><h4>Members</h4>
2384
+ <div class="informaltable"><table width="100%" border="0">
2385
+ <colgroup>
2386
+ <col width="300px" class="struct_members_name">
2387
+ <col class="struct_members_description">
2388
+ <col width="200px" class="struct_members_annotations">
2389
+ </colgroup>
2390
+ <tbody>
2391
+ <tr>
2392
+ <td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> <em class="structfield"><code><a name="hb-glyph-info-t-struct.codepoint"></a>codepoint</code></em>;</p></td>
2393
+ <td class="struct_member_description"><p>either a Unicode code point (before shaping) or a glyph index
2394
+ (after shaping).</p></td>
2395
+ <td class="struct_member_annotations"> </td>
2396
+ </tr>
2397
+ <tr>
2398
+ <td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-mask-t" title="hb_mask_t"><span class="type">hb_mask_t</span></a> <em class="structfield"><code><a name="hb-glyph-info-t-struct.mask"></a>mask</code></em>;</p></td>
2399
+ <td class="struct_member_description"> </td>
2400
+ <td class="struct_member_annotations"> </td>
2401
+ </tr>
2402
+ <tr>
2403
+ <td class="struct_member_name"><p><span class="type">uint32_t</span> <em class="structfield"><code><a name="hb-glyph-info-t-struct.cluster"></a>cluster</code></em>;</p></td>
2404
+ <td class="struct_member_description"><p>the index of the character in the original text that corresponds
2405
+ to this <a class="link" href="harfbuzz-Buffers.html#hb-glyph-info-t"><span class="type">hb_glyph_info_t</span></a>, or whatever the client passes to
2406
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-add" title="hb_buffer_add ()"><code class="function">hb_buffer_add()</code></a>. More than one <a class="link" href="harfbuzz-Buffers.html#hb-glyph-info-t"><span class="type">hb_glyph_info_t</span></a> can have the same
2407
+ <em class="parameter"><code>cluster</code></em>
2408
+ value, if they resulted from the same character (e.g. one
2409
+ to many glyph substitution), and when more than one character gets
2410
+ merged in the same glyph (e.g. many to one glyph substitution) the
2411
+ <a class="link" href="harfbuzz-Buffers.html#hb-glyph-info-t"><span class="type">hb_glyph_info_t</span></a> will have the smallest cluster value of them.
2412
+ By default some characters are merged into the same cluster
2413
+ (e.g. combining marks have the same cluster as their bases)
2414
+ even if they are separate glyphs, <a class="link" href="harfbuzz-Buffers.html#hb-buffer-set-cluster-level" title="hb_buffer_set_cluster_level ()"><code class="function">hb_buffer_set_cluster_level()</code></a>
2415
+ allow selecting more fine-grained cluster handling.</p></td>
2416
+ <td class="struct_member_annotations"> </td>
2417
+ </tr>
2418
+ </tbody>
2419
+ </table></div>
2420
+ </div>
2421
+ </div>
2422
+ <hr>
2423
+ <div class="refsect2">
2424
+ <a name="hb-glyph-position-t-struct"></a><h3>hb_glyph_position_t</h3>
2425
+ <pre class="programlisting">typedef struct {
2426
+ hb_position_t x_advance;
2427
+ hb_position_t y_advance;
2428
+ hb_position_t x_offset;
2429
+ hb_position_t y_offset;
2430
+ } hb_glyph_position_t;
2431
+ </pre>
2432
+ <p>The <a class="link" href="harfbuzz-Buffers.html#hb-glyph-position-t"><span class="type">hb_glyph_position_t</span></a> is the structure that holds the positions of the
2433
+ glyph in both horizontal and vertical directions. All positions in
2434
+ <a class="link" href="harfbuzz-Buffers.html#hb-glyph-position-t"><span class="type">hb_glyph_position_t</span></a> are relative to the current point.</p>
2435
+ <div class="refsect3">
2436
+ <a name="id-1.3.3.5.13.6.5"></a><h4>Members</h4>
2437
+ <div class="informaltable"><table width="100%" border="0">
2438
+ <colgroup>
2439
+ <col width="300px" class="struct_members_name">
2440
+ <col class="struct_members_description">
2441
+ <col width="200px" class="struct_members_annotations">
2442
+ </colgroup>
2443
+ <tbody>
2444
+ <tr>
2445
+ <td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> <em class="structfield"><code><a name="hb-glyph-position-t-struct.x-advance"></a>x_advance</code></em>;</p></td>
2446
+ <td class="struct_member_description"><p>how much the line advances after drawing this glyph when setting
2447
+ text in horizontal direction.</p></td>
2448
+ <td class="struct_member_annotations"> </td>
2449
+ </tr>
2450
+ <tr>
2451
+ <td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> <em class="structfield"><code><a name="hb-glyph-position-t-struct.y-advance"></a>y_advance</code></em>;</p></td>
2452
+ <td class="struct_member_description"><p>how much the line advances after drawing this glyph when setting
2453
+ text in vertical direction.</p></td>
2454
+ <td class="struct_member_annotations"> </td>
2455
+ </tr>
2456
+ <tr>
2457
+ <td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> <em class="structfield"><code><a name="hb-glyph-position-t-struct.x-offset"></a>x_offset</code></em>;</p></td>
2458
+ <td class="struct_member_description"><p>how much the glyph moves on the X-axis before drawing it, this
2459
+ should not affect how much the line advances.</p></td>
2460
+ <td class="struct_member_annotations"> </td>
2461
+ </tr>
2462
+ <tr>
2463
+ <td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> <em class="structfield"><code><a name="hb-glyph-position-t-struct.y-offset"></a>y_offset</code></em>;</p></td>
2464
+ <td class="struct_member_description"><p>how much the glyph moves on the Y-axis before drawing it, this
2465
+ should not affect how much the line advances.</p></td>
2466
+ <td class="struct_member_annotations"> </td>
2467
+ </tr>
2468
+ </tbody>
2469
+ </table></div>
2470
+ </div>
2471
+ </div>
2472
+ <hr>
2473
+ <div class="refsect2">
2474
+ <a name="hb-buffer-content-type-t"></a><h3>enum hb_buffer_content_type_t</h3>
2475
+ <div class="refsect3">
2476
+ <a name="id-1.3.3.5.13.7.3"></a><h4>Members</h4>
2477
+ <div class="informaltable"><table width="100%" border="0">
2478
+ <colgroup>
2479
+ <col width="300px" class="enum_members_name">
2480
+ <col class="enum_members_description">
2481
+ <col width="200px" class="enum_members_annotations">
2482
+ </colgroup>
2483
+ <tbody>
2484
+ <tr>
2485
+ <td class="enum_member_name"><p><a name="HB-BUFFER-CONTENT-TYPE-INVALID:CAPS"></a>HB_BUFFER_CONTENT_TYPE_INVALID</p></td>
2486
+ <td class="enum_member_description">
2487
+ <p>Initial value for new buffer.</p>
2488
+ </td>
2489
+ <td class="enum_member_annotations"> </td>
2490
+ </tr>
2491
+ <tr>
2492
+ <td class="enum_member_name"><p><a name="HB-BUFFER-CONTENT-TYPE-UNICODE:CAPS"></a>HB_BUFFER_CONTENT_TYPE_UNICODE</p></td>
2493
+ <td class="enum_member_description">
2494
+ <p>The buffer contains input characters (before shaping).</p>
2495
+ </td>
2496
+ <td class="enum_member_annotations"> </td>
2497
+ </tr>
2498
+ <tr>
2499
+ <td class="enum_member_name"><p><a name="HB-BUFFER-CONTENT-TYPE-GLYPHS:CAPS"></a>HB_BUFFER_CONTENT_TYPE_GLYPHS</p></td>
2500
+ <td class="enum_member_description">
2501
+ <p>The buffer contains output glyphs (after shaping).</p>
2502
+ </td>
2503
+ <td class="enum_member_annotations"> </td>
2504
+ </tr>
2505
+ </tbody>
2506
+ </table></div>
2507
+ </div>
2508
+ </div>
2509
+ <hr>
2510
+ <div class="refsect2">
2511
+ <a name="hb-buffer-flags-t"></a><h3>enum hb_buffer_flags_t</h3>
2512
+ <div class="refsect3">
2513
+ <a name="id-1.3.3.5.13.8.3"></a><h4>Members</h4>
2514
+ <div class="informaltable"><table width="100%" border="0">
2515
+ <colgroup>
2516
+ <col width="300px" class="enum_members_name">
2517
+ <col class="enum_members_description">
2518
+ <col width="200px" class="enum_members_annotations">
2519
+ </colgroup>
2520
+ <tbody>
2521
+ <tr>
2522
+ <td class="enum_member_name"><p><a name="HB-BUFFER-FLAG-DEFAULT:CAPS"></a>HB_BUFFER_FLAG_DEFAULT</p></td>
2523
+ <td class="enum_member_description">
2524
+ <p>the default buffer flag.</p>
2525
+ </td>
2526
+ <td class="enum_member_annotations"> </td>
2527
+ </tr>
2528
+ <tr>
2529
+ <td class="enum_member_name"><p><a name="HB-BUFFER-FLAG-BOT:CAPS"></a>HB_BUFFER_FLAG_BOT</p></td>
2530
+ <td class="enum_member_description">
2531
+ <p>flag indicating that special handling of the beginning
2532
+ of text paragraph can be applied to this buffer. Should usually
2533
+ be set, unless you are passing to the buffer only part
2534
+ of the text without the full context.</p>
2535
+ </td>
2536
+ <td class="enum_member_annotations"> </td>
2537
+ </tr>
2538
+ <tr>
2539
+ <td class="enum_member_name"><p><a name="HB-BUFFER-FLAG-EOT:CAPS"></a>HB_BUFFER_FLAG_EOT</p></td>
2540
+ <td class="enum_member_description">
2541
+ <p>flag indicating that special handling of the end of text
2542
+ paragraph can be applied to this buffer, similar to
2543
+ <em class="parameter"><code>HB_BUFFER_FLAG_EOT</code></em>
2544
+ .</p>
2545
+ </td>
2546
+ <td class="enum_member_annotations"> </td>
2547
+ </tr>
2548
+ <tr>
2549
+ <td class="enum_member_name"><p><a name="HB-BUFFER-FLAG-PRESERVE-DEFAULT-IGNORABLES:CAPS"></a>HB_BUFFER_FLAG_PRESERVE_DEFAULT_IGNORABLES</p></td>
2550
+ <td class="enum_member_description">
2551
+ <p> flag indication that character with Default_Ignorable
2552
+ Unicode property should use the corresponding glyph
2553
+ from the font, instead of hiding them (currently done
2554
+ by replacing them with the space glyph and zeroing the
2555
+ advance width.)</p>
2556
+ </td>
2557
+ <td class="enum_member_annotations"> </td>
2558
+ </tr>
2559
+ </tbody>
2560
+ </table></div>
2561
+ </div>
2562
+ <p class="since">Since 0.9.20</p>
2563
+ </div>
2564
+ <hr>
2565
+ <div class="refsect2">
2566
+ <a name="hb-buffer-cluster-level-t"></a><h3>enum hb_buffer_cluster_level_t</h3>
2567
+ <div class="refsect3">
2568
+ <a name="id-1.3.3.5.13.9.3"></a><h4>Members</h4>
2569
+ <div class="informaltable"><table width="100%" border="0">
2570
+ <colgroup>
2571
+ <col width="300px" class="enum_members_name">
2572
+ <col class="enum_members_description">
2573
+ <col width="200px" class="enum_members_annotations">
2574
+ </colgroup>
2575
+ <tbody>
2576
+ <tr>
2577
+ <td class="enum_member_name"><p><a name="HB-BUFFER-CLUSTER-LEVEL-MONOTONE-GRAPHEMES:CAPS"></a>HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES</p></td>
2578
+ <td> </td>
2579
+ <td> </td>
2580
+ </tr>
2581
+ <tr>
2582
+ <td class="enum_member_name"><p><a name="HB-BUFFER-CLUSTER-LEVEL-MONOTONE-CHARACTERS:CAPS"></a>HB_BUFFER_CLUSTER_LEVEL_MONOTONE_CHARACTERS</p></td>
2583
+ <td> </td>
2584
+ <td> </td>
2585
+ </tr>
2586
+ <tr>
2587
+ <td class="enum_member_name"><p><a name="HB-BUFFER-CLUSTER-LEVEL-CHARACTERS:CAPS"></a>HB_BUFFER_CLUSTER_LEVEL_CHARACTERS</p></td>
2588
+ <td> </td>
2589
+ <td> </td>
2590
+ </tr>
2591
+ <tr>
2592
+ <td class="enum_member_name"><p><a name="HB-BUFFER-CLUSTER-LEVEL-DEFAULT:CAPS"></a>HB_BUFFER_CLUSTER_LEVEL_DEFAULT</p></td>
2593
+ <td> </td>
2594
+ <td> </td>
2595
+ </tr>
2596
+ </tbody>
2597
+ </table></div>
2598
+ </div>
2599
+ </div>
2600
+ <hr>
2601
+ <div class="refsect2">
2602
+ <a name="hb-segment-properties-t-struct"></a><h3>hb_segment_properties_t</h3>
2603
+ <pre class="programlisting">typedef struct {
2604
+ hb_direction_t direction;
2605
+ hb_script_t script;
2606
+ hb_language_t language;
2607
+ } hb_segment_properties_t;
2608
+ </pre>
2609
+ <p>The structure that holds various text properties of an <a class="link" href="harfbuzz-Buffers.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>. Can be
2610
+ set and retrieved using <a class="link" href="harfbuzz-Buffers.html#hb-buffer-set-segment-properties" title="hb_buffer_set_segment_properties ()"><code class="function">hb_buffer_set_segment_properties()</code></a> and
2611
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-get-segment-properties" title="hb_buffer_get_segment_properties ()"><code class="function">hb_buffer_get_segment_properties()</code></a>, respectively.</p>
2612
+ <div class="refsect3">
2613
+ <a name="id-1.3.3.5.13.10.5"></a><h4>Members</h4>
2614
+ <div class="informaltable"><table width="100%" border="0">
2615
+ <colgroup>
2616
+ <col width="300px" class="struct_members_name">
2617
+ <col class="struct_members_description">
2618
+ <col width="200px" class="struct_members_annotations">
2619
+ </colgroup>
2620
+ <tbody>
2621
+ <tr>
2622
+ <td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> <em class="structfield"><code><a name="hb-segment-properties-t-struct.direction"></a>direction</code></em>;</p></td>
2623
+ <td class="struct_member_description"><p>the <a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> of the buffer, see <a class="link" href="harfbuzz-Buffers.html#hb-buffer-set-direction" title="hb_buffer_set_direction ()"><code class="function">hb_buffer_set_direction()</code></a>.</p></td>
2624
+ <td class="struct_member_annotations"> </td>
2625
+ </tr>
2626
+ <tr>
2627
+ <td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="type">hb_script_t</span></a> <em class="structfield"><code><a name="hb-segment-properties-t-struct.script"></a>script</code></em>;</p></td>
2628
+ <td class="struct_member_description"><p>the <a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="type">hb_script_t</span></a> of the buffer, see <a class="link" href="harfbuzz-Buffers.html#hb-buffer-set-script" title="hb_buffer_set_script ()"><code class="function">hb_buffer_set_script()</code></a>.</p></td>
2629
+ <td class="struct_member_annotations"> </td>
2630
+ </tr>
2631
+ <tr>
2632
+ <td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-language-t" title="hb_language_t"><span class="type">hb_language_t</span></a> <em class="structfield"><code><a name="hb-segment-properties-t-struct.language"></a>language</code></em>;</p></td>
2633
+ <td class="struct_member_description"><p>the <a class="link" href="harfbuzz-hb-common.html#hb-language-t" title="hb_language_t"><span class="type">hb_language_t</span></a> of the buffer, see <a class="link" href="harfbuzz-Buffers.html#hb-buffer-set-language" title="hb_buffer_set_language ()"><code class="function">hb_buffer_set_language()</code></a>.</p></td>
2634
+ <td class="struct_member_annotations"> </td>
2635
+ </tr>
2636
+ </tbody>
2637
+ </table></div>
2638
+ </div>
2639
+ </div>
2640
+ <hr>
2641
+ <div class="refsect2">
2642
+ <a name="hb-buffer-serialize-format-t"></a><h3>enum hb_buffer_serialize_format_t</h3>
2643
+ <p>The buffer serialization and de-serialization format used in
2644
+ <a class="link" href="harfbuzz-Buffers.html#hb-buffer-serialize-glyphs" title="hb_buffer_serialize_glyphs ()"><code class="function">hb_buffer_serialize_glyphs()</code></a> and <a class="link" href="harfbuzz-Buffers.html#hb-buffer-deserialize-glyphs" title="hb_buffer_deserialize_glyphs ()"><code class="function">hb_buffer_deserialize_glyphs()</code></a>.</p>
2645
+ <div class="refsect3">
2646
+ <a name="id-1.3.3.5.13.11.4"></a><h4>Members</h4>
2647
+ <div class="informaltable"><table width="100%" border="0">
2648
+ <colgroup>
2649
+ <col width="300px" class="enum_members_name">
2650
+ <col class="enum_members_description">
2651
+ <col width="200px" class="enum_members_annotations">
2652
+ </colgroup>
2653
+ <tbody>
2654
+ <tr>
2655
+ <td class="enum_member_name"><p><a name="HB-BUFFER-SERIALIZE-FORMAT-TEXT:CAPS"></a>HB_BUFFER_SERIALIZE_FORMAT_TEXT</p></td>
2656
+ <td class="enum_member_description">
2657
+ <p>a human-readable, plain text format.</p>
2658
+ </td>
2659
+ <td class="enum_member_annotations"> </td>
2660
+ </tr>
2661
+ <tr>
2662
+ <td class="enum_member_name"><p><a name="HB-BUFFER-SERIALIZE-FORMAT-JSON:CAPS"></a>HB_BUFFER_SERIALIZE_FORMAT_JSON</p></td>
2663
+ <td class="enum_member_description">
2664
+ <p>a machine-readable JSON format.</p>
2665
+ </td>
2666
+ <td class="enum_member_annotations"> </td>
2667
+ </tr>
2668
+ <tr>
2669
+ <td class="enum_member_name"><p><a name="HB-BUFFER-SERIALIZE-FORMAT-INVALID:CAPS"></a>HB_BUFFER_SERIALIZE_FORMAT_INVALID</p></td>
2670
+ <td class="enum_member_description">
2671
+ <p>invalid format.</p>
2672
+ </td>
2673
+ <td class="enum_member_annotations"> </td>
2674
+ </tr>
2675
+ </tbody>
2676
+ </table></div>
2677
+ </div>
2678
+ <p class="since">Since 0.9.2</p>
2679
+ </div>
2680
+ <hr>
2681
+ <div class="refsect2">
2682
+ <a name="hb-buffer-serialize-flags-t"></a><h3>enum hb_buffer_serialize_flags_t</h3>
2683
+ <p>Flags that control what glyph information are serialized in <a class="link" href="harfbuzz-Buffers.html#hb-buffer-serialize-glyphs" title="hb_buffer_serialize_glyphs ()"><code class="function">hb_buffer_serialize_glyphs()</code></a>.</p>
2684
+ <div class="refsect3">
2685
+ <a name="id-1.3.3.5.13.12.4"></a><h4>Members</h4>
2686
+ <div class="informaltable"><table width="100%" border="0">
2687
+ <colgroup>
2688
+ <col width="300px" class="enum_members_name">
2689
+ <col class="enum_members_description">
2690
+ <col width="200px" class="enum_members_annotations">
2691
+ </colgroup>
2692
+ <tbody>
2693
+ <tr>
2694
+ <td class="enum_member_name"><p><a name="HB-BUFFER-SERIALIZE-FLAG-DEFAULT:CAPS"></a>HB_BUFFER_SERIALIZE_FLAG_DEFAULT</p></td>
2695
+ <td class="enum_member_description">
2696
+ <p>serialize glyph names, clusters and positions.</p>
2697
+ </td>
2698
+ <td class="enum_member_annotations"> </td>
2699
+ </tr>
2700
+ <tr>
2701
+ <td class="enum_member_name"><p><a name="HB-BUFFER-SERIALIZE-FLAG-NO-CLUSTERS:CAPS"></a>HB_BUFFER_SERIALIZE_FLAG_NO_CLUSTERS</p></td>
2702
+ <td class="enum_member_description">
2703
+ <p>do not serialize glyph cluster.</p>
2704
+ </td>
2705
+ <td class="enum_member_annotations"> </td>
2706
+ </tr>
2707
+ <tr>
2708
+ <td class="enum_member_name"><p><a name="HB-BUFFER-SERIALIZE-FLAG-NO-POSITIONS:CAPS"></a>HB_BUFFER_SERIALIZE_FLAG_NO_POSITIONS</p></td>
2709
+ <td class="enum_member_description">
2710
+ <p>do not serialize glyph position information.</p>
2711
+ </td>
2712
+ <td class="enum_member_annotations"> </td>
2713
+ </tr>
2714
+ <tr>
2715
+ <td class="enum_member_name"><p><a name="HB-BUFFER-SERIALIZE-FLAG-NO-GLYPH-NAMES:CAPS"></a>HB_BUFFER_SERIALIZE_FLAG_NO_GLYPH_NAMES</p></td>
2716
+ <td class="enum_member_description">
2717
+ <p>do no serialize glyph name.</p>
2718
+ </td>
2719
+ <td class="enum_member_annotations"> </td>
2720
+ </tr>
2721
+ <tr>
2722
+ <td class="enum_member_name"><p><a name="HB-BUFFER-SERIALIZE-FLAG-GLYPH-EXTENTS:CAPS"></a>HB_BUFFER_SERIALIZE_FLAG_GLYPH_EXTENTS</p></td>
2723
+ <td class="enum_member_description">
2724
+ <p>serialize glyph extents.</p>
2725
+ </td>
2726
+ <td class="enum_member_annotations"> </td>
2727
+ </tr>
2728
+ </tbody>
2729
+ </table></div>
2730
+ </div>
2731
+ <p class="since">Since 0.9.20</p>
2732
+ </div>
2733
+ </div>
2734
+ </div>
2735
+ <div class="footer">
2736
+ <hr>Generated by GTK-Doc V1.24.1</div>
2737
+ </body>
2738
+ </html>