pango 2.2.5-x86-mingw32 → 3.0.0-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (232) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +19 -3
  3. data/ext/pango/depend +0 -1
  4. data/ext/pango/extconf.rb +0 -2
  5. data/ext/pango/rbpango.c +44 -6
  6. data/ext/pango/rbpango.h +0 -1
  7. data/ext/pango/rbpangoattribute.c +2 -2
  8. data/ext/pango/rbpangocairo.c +4 -4
  9. data/ext/pango/rbpangocontext.c +2 -2
  10. data/ext/pango/rbpangofontdescription.c +2 -2
  11. data/ext/pango/rbpangogravity.c +2 -2
  12. data/ext/pango/rbpangolanguage.c +8 -0
  13. data/ext/pango/rbpangolayout.c +15 -4
  14. data/ext/pango/rbpangomatrix.c +2 -2
  15. data/ext/pango/rbpangoscript.c +3 -3
  16. data/lib/2.0/pango.so +0 -0
  17. data/lib/2.1/pango.so +0 -0
  18. data/lib/2.2/pango.so +0 -0
  19. data/test/test-language.rb +5 -0
  20. data/test/test-layout.rb +7 -1
  21. data/vendor/local/bin/derb.exe +0 -0
  22. data/vendor/local/bin/genbrk.exe +0 -0
  23. data/vendor/local/bin/genccode.exe +0 -0
  24. data/vendor/local/bin/gencfu.exe +0 -0
  25. data/vendor/local/bin/gencmn.exe +0 -0
  26. data/vendor/local/bin/gencnval.exe +0 -0
  27. data/vendor/local/bin/gendict.exe +0 -0
  28. data/vendor/local/bin/gennorm2.exe +0 -0
  29. data/vendor/local/bin/genrb.exe +0 -0
  30. data/vendor/local/bin/gensprep.exe +0 -0
  31. data/vendor/local/bin/hb-ot-shape-closure.exe +0 -0
  32. data/vendor/local/bin/hb-shape.exe +0 -0
  33. data/vendor/local/bin/hb-view.exe +0 -0
  34. data/vendor/local/bin/icu-config +6 -6
  35. data/vendor/local/bin/icuinfo.exe +0 -0
  36. data/vendor/local/bin/icupkg.exe +0 -0
  37. data/vendor/local/bin/libharfbuzz-0.dll +0 -0
  38. data/vendor/local/bin/libpango-1.0-0.dll +0 -0
  39. data/vendor/local/bin/libpangocairo-1.0-0.dll +0 -0
  40. data/vendor/local/bin/libpangoft2-1.0-0.dll +0 -0
  41. data/vendor/local/bin/libpangowin32-1.0-0.dll +0 -0
  42. data/vendor/local/bin/makeconv.exe +0 -0
  43. data/vendor/local/bin/pango-querymodules.exe +0 -0
  44. data/vendor/local/bin/pango-view.exe +0 -0
  45. data/vendor/local/bin/pkgdata.exe +0 -0
  46. data/vendor/local/bin/uconv.exe +0 -0
  47. data/vendor/local/etc/pango/pango.modules +1 -1
  48. data/vendor/local/include/harfbuzz/hb-buffer.h +26 -1
  49. data/vendor/local/include/harfbuzz/hb-common.h +7 -0
  50. data/vendor/local/include/harfbuzz/hb-font.h +7 -6
  51. data/vendor/local/include/harfbuzz/hb-ft.h +58 -1
  52. data/vendor/local/include/harfbuzz/hb-glib.h +3 -0
  53. data/vendor/local/include/harfbuzz/hb-ot-font.h +4 -0
  54. data/vendor/local/include/harfbuzz/hb-shape.h +0 -3
  55. data/vendor/local/include/harfbuzz/hb-unicode.h +28 -3
  56. data/vendor/local/include/harfbuzz/hb-version.h +4 -4
  57. data/vendor/local/include/layout/LEFontInstance.h +2 -28
  58. data/vendor/local/include/layout/LETableReference.h +7 -2
  59. data/vendor/local/include/unicode/calendar.h +32 -2
  60. data/vendor/local/include/unicode/coll.h +9 -7
  61. data/vendor/local/include/unicode/datefmt.h +102 -13
  62. data/vendor/local/include/unicode/dcfmtsym.h +4 -2
  63. data/vendor/local/include/unicode/decimfmt.h +4 -5
  64. data/vendor/local/include/unicode/dtfmtsym.h +60 -1
  65. data/vendor/local/include/unicode/dtptngen.h +21 -7
  66. data/vendor/local/include/unicode/localpointer.h +49 -1
  67. data/vendor/local/include/unicode/locid.h +2 -3
  68. data/vendor/local/include/unicode/measfmt.h +30 -37
  69. data/vendor/local/include/unicode/measunit.h +65 -152
  70. data/vendor/local/include/unicode/measure.h +3 -3
  71. data/vendor/local/include/unicode/numfmt.h +3 -5
  72. data/vendor/local/include/unicode/platform.h +12 -2
  73. data/vendor/local/include/unicode/plurrule.h +18 -14
  74. data/vendor/local/include/unicode/rbnf.h +3 -4
  75. data/vendor/local/include/unicode/regex.h +42 -26
  76. data/vendor/local/include/unicode/region.h +9 -9
  77. data/vendor/local/include/unicode/reldatefmt.h +50 -45
  78. data/vendor/local/include/unicode/scientificnumberformatter.h +222 -0
  79. data/vendor/local/include/unicode/smpdtfmt.h +30 -24
  80. data/vendor/local/include/unicode/tblcoll.h +5 -4
  81. data/vendor/local/include/unicode/timezone.h +18 -1
  82. data/vendor/local/include/unicode/ucal.h +2 -2
  83. data/vendor/local/include/unicode/ucol.h +22 -18
  84. data/vendor/local/include/unicode/uconfig.h +17 -2
  85. data/vendor/local/include/unicode/udat.h +164 -56
  86. data/vendor/local/include/unicode/udatpg.h +9 -7
  87. data/vendor/local/include/unicode/ufieldpositer.h +121 -0
  88. data/vendor/local/include/unicode/uidna.h +21 -13
  89. data/vendor/local/include/unicode/ulistformatter.h +130 -0
  90. data/vendor/local/include/unicode/ulocdata.h +4 -3
  91. data/vendor/local/include/unicode/unistr.h +101 -53
  92. data/vendor/local/include/unicode/unum.h +7 -10
  93. data/vendor/local/include/unicode/uregex.h +52 -29
  94. data/vendor/local/include/unicode/urename.h +14 -3
  95. data/vendor/local/include/unicode/uscript.h +30 -16
  96. data/vendor/local/include/unicode/uspoof.h +13 -9
  97. data/vendor/local/include/unicode/utrans.h +5 -7
  98. data/vendor/local/include/unicode/utypes.h +9 -3
  99. data/vendor/local/include/unicode/uvernum.h +8 -8
  100. data/vendor/local/lib/icu/{54.1 → 55.1}/Makefile.inc +5 -5
  101. data/vendor/local/lib/icu/{54.1 → 55.1}/pkgdata.inc +1 -1
  102. data/vendor/local/lib/icu/Makefile.inc +5 -5
  103. data/vendor/local/lib/icu/pkgdata.inc +1 -1
  104. data/vendor/local/lib/icudt.dll +0 -0
  105. data/vendor/local/lib/{icudt54.dll → icudt55.dll} +0 -0
  106. data/vendor/local/lib/icuin.dll +0 -0
  107. data/vendor/local/lib/icuin55.dll +0 -0
  108. data/vendor/local/lib/icuio.dll +0 -0
  109. data/vendor/local/lib/icuio55.dll +0 -0
  110. data/vendor/local/lib/icule.dll +0 -0
  111. data/vendor/local/lib/icule55.dll +0 -0
  112. data/vendor/local/lib/iculx.dll +0 -0
  113. data/vendor/local/lib/iculx55.dll +0 -0
  114. data/vendor/local/lib/icutest.dll +0 -0
  115. data/vendor/local/lib/icutest55.dll +0 -0
  116. data/vendor/local/lib/icutu.dll +0 -0
  117. data/vendor/local/lib/icutu55.dll +0 -0
  118. data/vendor/local/lib/icuuc.dll +0 -0
  119. data/vendor/local/lib/icuuc55.dll +0 -0
  120. data/vendor/local/lib/libharfbuzz-icu.a +0 -0
  121. data/vendor/local/lib/libharfbuzz-icu.la +7 -7
  122. data/vendor/local/lib/libharfbuzz.dll.a +0 -0
  123. data/vendor/local/lib/libharfbuzz.la +7 -7
  124. data/vendor/local/lib/libicudt.dll.a +0 -0
  125. data/vendor/local/lib/libicuin.dll.a +0 -0
  126. data/vendor/local/lib/libicuio.dll.a +0 -0
  127. data/vendor/local/lib/libicule.dll.a +0 -0
  128. data/vendor/local/lib/libiculx.dll.a +0 -0
  129. data/vendor/local/lib/libicutest.dll.a +0 -0
  130. data/vendor/local/lib/libicutu.dll.a +0 -0
  131. data/vendor/local/lib/libicuuc.dll.a +0 -0
  132. data/vendor/local/lib/libpango-1.0.dll.a +0 -0
  133. data/vendor/local/lib/libpango-1.0.la +2 -2
  134. data/vendor/local/lib/libpangocairo-1.0.dll.a +0 -0
  135. data/vendor/local/lib/libpangocairo-1.0.la +1 -1
  136. data/vendor/local/lib/libpangoft2-1.0.dll.a +0 -0
  137. data/vendor/local/lib/libpangoft2-1.0.la +2 -2
  138. data/vendor/local/lib/libpangowin32-1.0.dll.a +0 -0
  139. data/vendor/local/lib/libpangowin32-1.0.la +2 -2
  140. data/vendor/local/lib/pango/1.8.0/modules/pango-arabic-lang.dll +0 -0
  141. data/vendor/local/lib/pango/1.8.0/modules/pango-arabic-lang.dll.a +0 -0
  142. data/vendor/local/lib/pango/1.8.0/modules/pango-arabic-lang.la +2 -2
  143. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.dll +0 -0
  144. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.dll.a +0 -0
  145. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.la +2 -2
  146. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-win32.dll +0 -0
  147. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-win32.dll.a +0 -0
  148. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-win32.la +2 -2
  149. data/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.dll +0 -0
  150. data/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.dll.a +0 -0
  151. data/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.la +2 -2
  152. data/vendor/local/lib/pkgconfig/harfbuzz-icu.pc +1 -1
  153. data/vendor/local/lib/pkgconfig/harfbuzz.pc +3 -1
  154. data/vendor/local/lib/pkgconfig/icu-i18n.pc +5 -5
  155. data/vendor/local/lib/pkgconfig/icu-io.pc +5 -5
  156. data/vendor/local/lib/pkgconfig/icu-le.pc +5 -5
  157. data/vendor/local/lib/pkgconfig/icu-lx.pc +5 -5
  158. data/vendor/local/lib/pkgconfig/icu-uc.pc +5 -5
  159. data/vendor/local/share/gtk-doc/html/harfbuzz/adding-text-to-the-buffer.html +35 -0
  160. data/vendor/local/share/gtk-doc/html/harfbuzz/annotation-glossary.html +30 -35
  161. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-full.html +158 -27
  162. data/vendor/local/share/gtk-doc/html/harfbuzz/buffers-language-script-and-direction.html +87 -0
  163. data/vendor/local/share/gtk-doc/html/harfbuzz/{ch01.html → ch06.html} +12 -13
  164. data/vendor/local/share/gtk-doc/html/harfbuzz/customizing-unicode-functions.html +31 -0
  165. data/vendor/local/share/gtk-doc/html/harfbuzz/deprecated-api-index.html +7 -8
  166. data/vendor/local/share/gtk-doc/html/harfbuzz/fonts-and-faces.html +40 -0
  167. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-Shaping.html +352 -0
  168. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-blob.html +88 -47
  169. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-buffer.html +128 -204
  170. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-common.html +290 -304
  171. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-coretext.html +14 -23
  172. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-deprecated.html +14 -17
  173. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-face.html +40 -51
  174. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-font.html +126 -190
  175. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ft.html +19 -24
  176. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-glib.html +14 -29
  177. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-gobject.html +438 -11
  178. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-graphite2.html +14 -25
  179. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-icu.html +14 -29
  180. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-layout.html +19 -160
  181. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-tag.html +21 -36
  182. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot.html +14 -11
  183. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-set.html +70 -81
  184. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-shape-plan.html +33 -44
  185. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-unicode.html +290 -323
  186. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-uniscribe.html +14 -23
  187. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-version.html +59 -27
  188. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb.html +16 -13
  189. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz.devhelp2 +415 -104
  190. data/vendor/local/share/gtk-doc/html/harfbuzz/hello-harfbuzz.html +181 -0
  191. data/vendor/local/share/gtk-doc/html/harfbuzz/index.html +43 -12
  192. data/vendor/local/share/gtk-doc/html/harfbuzz/object-tree.html +11 -13
  193. data/vendor/local/share/gtk-doc/html/harfbuzz/plans-and-caching.html +31 -0
  194. data/vendor/local/share/gtk-doc/html/harfbuzz/pt01.html +70 -0
  195. data/vendor/local/share/gtk-doc/html/harfbuzz/pt02.html +107 -0
  196. data/vendor/local/share/gtk-doc/html/harfbuzz/setting-buffer-properties.html +31 -0
  197. data/vendor/local/share/gtk-doc/html/harfbuzz/shaping-and-shape-plans.html +39 -0
  198. data/vendor/local/share/gtk-doc/html/harfbuzz/style.css +9 -6
  199. data/vendor/local/share/gtk-doc/html/harfbuzz/using-harfbuzzs-native-opentype-implementation.html +31 -0
  200. data/vendor/local/share/gtk-doc/html/harfbuzz/using-your-own-font-functions.html +31 -0
  201. data/vendor/local/share/gtk-doc/html/harfbuzz/what-about-the-other-scripts.html +31 -0
  202. data/vendor/local/share/gtk-doc/html/harfbuzz/what-is-harfbuzz.html +124 -0
  203. data/vendor/local/share/gtk-doc/html/harfbuzz/why-is-it-called-harfbuzz.html +38 -0
  204. data/vendor/local/share/icu/{54.1 → 55.1}/config/mh-mingw +0 -0
  205. data/vendor/local/share/icu/{54.1 → 55.1}/install-sh +0 -0
  206. data/vendor/local/share/icu/{54.1 → 55.1}/license.html +3 -4
  207. data/vendor/local/share/icu/{54.1 → 55.1}/mkinstalldirs +0 -0
  208. data/vendor/local/share/man/man1/derb.1 +2 -2
  209. data/vendor/local/share/man/man1/genbrk.1 +2 -2
  210. data/vendor/local/share/man/man1/gencfu.1 +1 -1
  211. data/vendor/local/share/man/man1/gencnval.1 +3 -3
  212. data/vendor/local/share/man/man1/gendict.1 +2 -2
  213. data/vendor/local/share/man/man1/genrb.1 +3 -3
  214. data/vendor/local/share/man/man1/icu-config.1 +2 -2
  215. data/vendor/local/share/man/man1/makeconv.1 +3 -3
  216. data/vendor/local/share/man/man1/pkgdata.1 +2 -2
  217. data/vendor/local/share/man/man1/uconv.1 +2 -2
  218. data/vendor/local/share/man/man8/genccode.8 +2 -2
  219. data/vendor/local/share/man/man8/gencmn.8 +3 -3
  220. data/vendor/local/share/man/man8/gensprep.8 +3 -3
  221. data/vendor/local/share/man/man8/icupkg.8 +1 -1
  222. metadata +38 -22
  223. data/vendor/local/include/unicode/scientificformathelper.h +0 -139
  224. data/vendor/local/lib/icuin54.dll +0 -0
  225. data/vendor/local/lib/icuio54.dll +0 -0
  226. data/vendor/local/lib/icule54.dll +0 -0
  227. data/vendor/local/lib/iculx54.dll +0 -0
  228. data/vendor/local/lib/icutest54.dll +0 -0
  229. data/vendor/local/lib/icutu54.dll +0 -0
  230. data/vendor/local/lib/icuuc54.dll +0 -0
  231. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-shape.html +0 -286
  232. data/vendor/local/share/gtk-doc/html/harfbuzz/index.sgml +0 -496
@@ -0,0 +1,352 @@
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>Shaping: 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="ch06.html" title="Harfbuzz API">
9
+ <link rel="prev" href="harfbuzz-hb-font.html" title="hb-font">
10
+ <link rel="next" href="harfbuzz-hb-version.html" title="hb-version">
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-Shaping.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
19
+ <a href="#harfbuzz-Shaping.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="ch06.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
23
+ <td><a accesskey="p" href="harfbuzz-hb-font.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
24
+ <td><a accesskey="n" href="harfbuzz-hb-version.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-Shaping"></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-Shaping.top_of_page"></a>Shaping</span></h2>
31
+ <p>Shaping — Conversion of text strings into positioned glyphs</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-Shaping.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-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
46
+ </td>
47
+ <td class="function_name">
48
+ <a class="link" href="harfbuzz-Shaping.html#hb-feature-from-string" title="hb_feature_from_string ()">hb_feature_from_string</a> <span class="c_punctuation">()</span>
49
+ </td>
50
+ </tr>
51
+ <tr>
52
+ <td class="function_type">
53
+ <span class="returnvalue">void</span>
54
+ </td>
55
+ <td class="function_name">
56
+ <a class="link" href="harfbuzz-Shaping.html#hb-feature-to-string" title="hb_feature_to_string ()">hb_feature_to_string</a> <span class="c_punctuation">()</span>
57
+ </td>
58
+ </tr>
59
+ <tr>
60
+ <td class="function_type">
61
+ <span class="returnvalue">void</span>
62
+ </td>
63
+ <td class="function_name">
64
+ <a class="link" href="harfbuzz-Shaping.html#hb-shape" title="hb_shape ()">hb_shape</a> <span class="c_punctuation">()</span>
65
+ </td>
66
+ </tr>
67
+ <tr>
68
+ <td class="function_type">
69
+ <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
70
+ </td>
71
+ <td class="function_name">
72
+ <a class="link" href="harfbuzz-Shaping.html#hb-shape-full" title="hb_shape_full ()">hb_shape_full</a> <span class="c_punctuation">()</span>
73
+ </td>
74
+ </tr>
75
+ <tr>
76
+ <td class="function_type">const <span class="returnvalue">char</span> **
77
+ </td>
78
+ <td class="function_name">
79
+ <a class="link" href="harfbuzz-Shaping.html#hb-shape-list-shapers" title="hb_shape_list_shapers ()">hb_shape_list_shapers</a> <span class="c_punctuation">()</span>
80
+ </td>
81
+ </tr>
82
+ </tbody>
83
+ </table></div>
84
+ </div>
85
+ <a name="hb-feature-t"></a><div class="refsect1">
86
+ <a name="harfbuzz-Shaping.other"></a><h2>Types and Values</h2>
87
+ <div class="informaltable"><table width="100%" border="0">
88
+ <colgroup>
89
+ <col width="150px" class="name">
90
+ <col class="description">
91
+ </colgroup>
92
+ <tbody><tr>
93
+ <td class="datatype_keyword"> </td>
94
+ <td class="function_name"><a class="link" href="harfbuzz-Shaping.html#hb-feature-t-struct" title="hb_feature_t">hb_feature_t</a></td>
95
+ </tr></tbody>
96
+ </table></div>
97
+ </div>
98
+ <div class="refsect1">
99
+ <a name="harfbuzz-Shaping.object-hierarchy"></a><h2>Object Hierarchy</h2>
100
+ <pre class="screen"> <a href="/home/behdad/.local/share/gtk-doc/html/gobject/gobject-Boxed-Types.html">GBoxed</a>
101
+ <span class="lineart">╰──</span> hb_feature_t
102
+ </pre>
103
+ </div>
104
+ <div class="refsect1">
105
+ <a name="harfbuzz-Shaping.includes"></a><h2>Includes</h2>
106
+ <pre class="synopsis">#include &lt;hb.h&gt;
107
+ </pre>
108
+ </div>
109
+ <div class="refsect1">
110
+ <a name="harfbuzz-Shaping.description"></a><h2>Description</h2>
111
+ <p>Shaping is the central operation of HarfBuzz. Shaping operates on buffers,
112
+ which are sequences of Unicode characters that use the same font and have
113
+ the same text direction, script and language. After shaping the buffer
114
+ contains the output glyphs and their positions.</p>
115
+ </div>
116
+ <div class="refsect1">
117
+ <a name="harfbuzz-Shaping.functions_details"></a><h2>Functions</h2>
118
+ <div class="refsect2">
119
+ <a name="hb-feature-from-string"></a><h3>hb_feature_from_string ()</h3>
120
+ <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>
121
+ hb_feature_from_string (<em class="parameter"><code>const <span class="type">char</span> *str</code></em>,
122
+ <em class="parameter"><code><span class="type">int</span> len</code></em>,
123
+ <em class="parameter"><code><a class="link" href="harfbuzz-Shaping.html#hb-feature-t"><span class="type">hb_feature_t</span></a> *feature</code></em>);</pre>
124
+ <p>Parses a string into a <a class="link" href="harfbuzz-Shaping.html#hb-feature-t"><span class="type">hb_feature_t</span></a>. If <em class="parameter"><code>len</code></em>
125
+ is -1 then <em class="parameter"><code>str</code></em>
126
+ is
127
+ <code class="literal">NULL</code>-terminated.</p>
128
+ <div class="refsect3">
129
+ <a name="id-1.3.2.9.9.2.5"></a><h4>Parameters</h4>
130
+ <div class="informaltable"><table width="100%" border="0">
131
+ <colgroup>
132
+ <col width="150px" class="parameters_name">
133
+ <col class="parameters_description">
134
+ <col width="200px" class="parameters_annotations">
135
+ </colgroup>
136
+ <tbody>
137
+ <tr>
138
+ <td class="parameter_name"><p>str</p></td>
139
+ <td class="parameter_description"><p> a string to parse. </p></td>
140
+ <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>
141
+ </tr>
142
+ <tr>
143
+ <td class="parameter_name"><p>len</p></td>
144
+ <td class="parameter_description"><p>length of <em class="parameter"><code>str</code></em>
145
+ , or -1 if string is nul-terminated</p></td>
146
+ <td class="parameter_annotations"> </td>
147
+ </tr>
148
+ <tr>
149
+ <td class="parameter_name"><p>feature</p></td>
150
+ <td class="parameter_description"><p> the <a class="link" href="harfbuzz-Shaping.html#hb-feature-t"><span class="type">hb_feature_t</span></a> to initialize with the parsed values. </p></td>
151
+ <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>
152
+ </tr>
153
+ </tbody>
154
+ </table></div>
155
+ </div>
156
+ <div class="refsect3">
157
+ <a name="id-1.3.2.9.9.2.6"></a><h4>Returns</h4>
158
+ <p> <code class="literal">TRUE</code> if <em class="parameter"><code>str</code></em>
159
+ is successfully parsed, <code class="literal">FALSE</code> otherwise</p>
160
+ <p></p>
161
+ </div>
162
+ <p class="since">Since 0.9.5</p>
163
+ </div>
164
+ <hr>
165
+ <div class="refsect2">
166
+ <a name="hb-feature-to-string"></a><h3>hb_feature_to_string ()</h3>
167
+ <pre class="programlisting"><span class="returnvalue">void</span>
168
+ hb_feature_to_string (<em class="parameter"><code><a class="link" href="harfbuzz-Shaping.html#hb-feature-t"><span class="type">hb_feature_t</span></a> *feature</code></em>,
169
+ <em class="parameter"><code><span class="type">char</span> *buf</code></em>,
170
+ <em class="parameter"><code>unsigned <span class="type">int</span> size</code></em>);</pre>
171
+ <p>Converts a <a class="link" href="harfbuzz-Shaping.html#hb-feature-t"><span class="type">hb_feature_t</span></a> into a <code class="literal">NULL</code>-terminated string in the format
172
+ understood by <a class="link" href="harfbuzz-Shaping.html#hb-feature-from-string" title="hb_feature_from_string ()"><code class="function">hb_feature_from_string()</code></a>. The client in responsible for
173
+ allocating big enough size for <em class="parameter"><code>buf</code></em>
174
+ , 128 bytes is more than enough.</p>
175
+ <div class="refsect3">
176
+ <a name="id-1.3.2.9.9.3.5"></a><h4>Parameters</h4>
177
+ <div class="informaltable"><table width="100%" border="0">
178
+ <colgroup>
179
+ <col width="150px" class="parameters_name">
180
+ <col class="parameters_description">
181
+ <col width="200px" class="parameters_annotations">
182
+ </colgroup>
183
+ <tbody>
184
+ <tr>
185
+ <td class="parameter_name"><p>feature</p></td>
186
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-Shaping.html#hb-feature-t"><span class="type">hb_feature_t</span></a> to convert</p></td>
187
+ <td class="parameter_annotations"> </td>
188
+ </tr>
189
+ <tr>
190
+ <td class="parameter_name"><p>buf</p></td>
191
+ <td class="parameter_description"><p> output string. </p></td>
192
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=size][<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
193
+ </tr>
194
+ <tr>
195
+ <td class="parameter_name"><p>size</p></td>
196
+ <td class="parameter_description"><p>the allocated size of <em class="parameter"><code>buf</code></em>
197
+ </p></td>
198
+ <td class="parameter_annotations"> </td>
199
+ </tr>
200
+ </tbody>
201
+ </table></div>
202
+ </div>
203
+ <p class="since">Since 0.9.5</p>
204
+ </div>
205
+ <hr>
206
+ <div class="refsect2">
207
+ <a name="hb-shape"></a><h3>hb_shape ()</h3>
208
+ <pre class="programlisting"><span class="returnvalue">void</span>
209
+ hb_shape (<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>,
210
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
211
+ <em class="parameter"><code>const <a class="link" href="harfbuzz-Shaping.html#hb-feature-t"><span class="type">hb_feature_t</span></a> *features</code></em>,
212
+ <em class="parameter"><code>unsigned <span class="type">int</span> num_features</code></em>);</pre>
213
+ <p>Shapes <em class="parameter"><code>buffer</code></em>
214
+ using <em class="parameter"><code>font</code></em>
215
+ turning its Unicode characters content to
216
+ positioned glyphs. If <em class="parameter"><code>features</code></em>
217
+ is not <code class="literal">NULL</code>, it will be used to control the
218
+ features applied during shaping.</p>
219
+ <div class="refsect3">
220
+ <a name="id-1.3.2.9.9.4.5"></a><h4>Parameters</h4>
221
+ <div class="informaltable"><table width="100%" border="0">
222
+ <colgroup>
223
+ <col width="150px" class="parameters_name">
224
+ <col class="parameters_description">
225
+ <col width="200px" class="parameters_annotations">
226
+ </colgroup>
227
+ <tbody>
228
+ <tr>
229
+ <td class="parameter_name"><p>font</p></td>
230
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> to use for shaping</p></td>
231
+ <td class="parameter_annotations"> </td>
232
+ </tr>
233
+ <tr>
234
+ <td class="parameter_name"><p>buffer</p></td>
235
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> to shape</p></td>
236
+ <td class="parameter_annotations"> </td>
237
+ </tr>
238
+ <tr>
239
+ <td class="parameter_name"><p>features</p></td>
240
+ <td class="parameter_description"><p> an array of user
241
+ specified <a class="link" href="harfbuzz-Shaping.html#hb-feature-t"><span class="type">hb_feature_t</span></a> or <code class="literal">NULL</code>. </p></td>
242
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=num_features][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
243
+ </tr>
244
+ <tr>
245
+ <td class="parameter_name"><p>num_features</p></td>
246
+ <td class="parameter_description"><p>the length of <em class="parameter"><code>features</code></em>
247
+ array</p></td>
248
+ <td class="parameter_annotations"> </td>
249
+ </tr>
250
+ </tbody>
251
+ </table></div>
252
+ </div>
253
+ <div class="refsect3">
254
+ <a name="id-1.3.2.9.9.4.6"></a><h4>Returns</h4>
255
+ <p> <code class="literal">FALSE</code> if all shapers failed, <code class="literal">TRUE</code> otherwise</p>
256
+ <p></p>
257
+ </div>
258
+ <p class="since">Since 1.0</p>
259
+ </div>
260
+ <hr>
261
+ <div class="refsect2">
262
+ <a name="hb-shape-full"></a><h3>hb_shape_full ()</h3>
263
+ <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>
264
+ hb_shape_full (<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>,
265
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
266
+ <em class="parameter"><code>const <a class="link" href="harfbuzz-Shaping.html#hb-feature-t"><span class="type">hb_feature_t</span></a> *features</code></em>,
267
+ <em class="parameter"><code>unsigned <span class="type">int</span> num_features</code></em>,
268
+ <em class="parameter"><code>const <span class="type">char</span> * const *shaper_list</code></em>);</pre>
269
+ <p>See <a class="link" href="harfbuzz-Shaping.html#hb-shape" title="hb_shape ()"><code class="function">hb_shape()</code></a> for details. If <em class="parameter"><code>shaper_list</code></em>
270
+ is not <code class="literal">NULL</code>, the specified
271
+ shapers will be used in the given order, otherwise the default shapers list
272
+ will be used.</p>
273
+ <div class="refsect3">
274
+ <a name="id-1.3.2.9.9.5.5"></a><h4>Parameters</h4>
275
+ <div class="informaltable"><table width="100%" border="0">
276
+ <colgroup>
277
+ <col width="150px" class="parameters_name">
278
+ <col class="parameters_description">
279
+ <col width="200px" class="parameters_annotations">
280
+ </colgroup>
281
+ <tbody>
282
+ <tr>
283
+ <td class="parameter_name"><p>font</p></td>
284
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> to use for shaping</p></td>
285
+ <td class="parameter_annotations"> </td>
286
+ </tr>
287
+ <tr>
288
+ <td class="parameter_name"><p>buffer</p></td>
289
+ <td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> to shape</p></td>
290
+ <td class="parameter_annotations"> </td>
291
+ </tr>
292
+ <tr>
293
+ <td class="parameter_name"><p>features</p></td>
294
+ <td class="parameter_description"><p> an array of user
295
+ specified <a class="link" href="harfbuzz-Shaping.html#hb-feature-t"><span class="type">hb_feature_t</span></a> or <code class="literal">NULL</code>. </p></td>
296
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=num_features][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
297
+ </tr>
298
+ <tr>
299
+ <td class="parameter_name"><p>num_features</p></td>
300
+ <td class="parameter_description"><p>the length of <em class="parameter"><code>features</code></em>
301
+ array</p></td>
302
+ <td class="parameter_annotations"> </td>
303
+ </tr>
304
+ <tr>
305
+ <td class="parameter_name"><p>shaper_list</p></td>
306
+ <td class="parameter_description"><p> a <code class="literal">NULL</code>-terminated
307
+ array of shapers to use or <code class="literal">NULL</code>. </p></td>
308
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
309
+ </tr>
310
+ </tbody>
311
+ </table></div>
312
+ </div>
313
+ <div class="refsect3">
314
+ <a name="id-1.3.2.9.9.5.6"></a><h4>Returns</h4>
315
+ <p> <code class="literal">FALSE</code> if all shapers failed, <code class="literal">TRUE</code> otherwise</p>
316
+ <p></p>
317
+ </div>
318
+ <p class="since">Since 0.9.2</p>
319
+ </div>
320
+ <hr>
321
+ <div class="refsect2">
322
+ <a name="hb-shape-list-shapers"></a><h3>hb_shape_list_shapers ()</h3>
323
+ <pre class="programlisting">const <span class="returnvalue">char</span> **
324
+ hb_shape_list_shapers (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
325
+ <p>Retrieves the list of shapers supported by HarfBuzz.</p>
326
+ <div class="refsect3">
327
+ <a name="id-1.3.2.9.9.6.5"></a><h4>Returns</h4>
328
+ <p> an array of
329
+ constant strings. </p>
330
+ <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> zero-terminated=1]</span></p>
331
+ </div>
332
+ <p class="since">Since 0.9.2</p>
333
+ </div>
334
+ </div>
335
+ <div class="refsect1">
336
+ <a name="harfbuzz-Shaping.other_details"></a><h2>Types and Values</h2>
337
+ <div class="refsect2">
338
+ <a name="hb-feature-t-struct"></a><h3>hb_feature_t</h3>
339
+ <pre class="programlisting">typedef struct {
340
+ hb_tag_t tag;
341
+ uint32_t value;
342
+ unsigned int start;
343
+ unsigned int end;
344
+ } hb_feature_t;
345
+ </pre>
346
+ </div>
347
+ </div>
348
+ </div>
349
+ <div class="footer">
350
+ <hr>Generated by GTK-Doc V1.24.1</div>
351
+ </body>
352
+ </html>