pango 3.0.7-x64-mingw32 → 3.0.8-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.
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-mingw64 +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>