pango 2.2.0-x86-mingw32 → 2.2.1-x86-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (407) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +21 -2
  3. data/lib/2.0/pango.so +0 -0
  4. data/vendor/local/bin/derb.exe +0 -0
  5. data/vendor/local/bin/genbrk.exe +0 -0
  6. data/vendor/local/bin/genccode.exe +0 -0
  7. data/vendor/local/bin/gencfu.exe +0 -0
  8. data/vendor/local/bin/gencmn.exe +0 -0
  9. data/vendor/local/bin/gencnval.exe +0 -0
  10. data/vendor/local/bin/gendict.exe +0 -0
  11. data/vendor/local/bin/gennorm2.exe +0 -0
  12. data/vendor/local/bin/genrb.exe +0 -0
  13. data/vendor/local/bin/gensprep.exe +0 -0
  14. data/vendor/local/bin/hb-ot-shape-closure.exe +0 -0
  15. data/vendor/local/bin/hb-shape.exe +0 -0
  16. data/vendor/local/bin/hb-view.exe +0 -0
  17. data/vendor/local/bin/icu-config +820 -0
  18. data/vendor/local/bin/icuinfo.exe +0 -0
  19. data/vendor/local/bin/icupkg.exe +0 -0
  20. data/vendor/local/bin/libharfbuzz-0.dll +0 -0
  21. data/vendor/local/bin/libpango-1.0-0.dll +0 -0
  22. data/vendor/local/bin/libpangocairo-1.0-0.dll +0 -0
  23. data/vendor/local/bin/libpangoft2-1.0-0.dll +0 -0
  24. data/vendor/local/bin/libpangowin32-1.0-0.dll +0 -0
  25. data/vendor/local/bin/libstdc++-6.dll +0 -0
  26. data/vendor/local/bin/makeconv.exe +0 -0
  27. data/vendor/local/bin/pango-querymodules.exe +0 -0
  28. data/vendor/local/bin/pango-view.exe +0 -0
  29. data/vendor/local/bin/pkgdata.exe +0 -0
  30. data/vendor/local/bin/uconv.exe +0 -0
  31. data/vendor/local/etc/pango/pango.modules +3 -3
  32. data/vendor/local/include/harfbuzz/hb-blob.h +3 -4
  33. data/vendor/local/include/harfbuzz/hb-buffer.h +22 -1
  34. data/vendor/local/include/harfbuzz/hb-common.h +23 -18
  35. data/vendor/local/include/harfbuzz/hb-icu.h +52 -0
  36. data/vendor/local/include/harfbuzz/hb-ot-font.h +41 -0
  37. data/vendor/local/include/harfbuzz/hb-ot-layout.h +11 -3
  38. data/vendor/local/include/harfbuzz/hb-ot-shape.h +10 -11
  39. data/vendor/local/include/harfbuzz/hb-ot.h +1 -0
  40. data/vendor/local/include/harfbuzz/hb-version.h +7 -7
  41. data/vendor/local/include/layout/LEFontInstance.h +550 -0
  42. data/vendor/local/include/layout/LEGlyphFilter.h +45 -0
  43. data/vendor/local/include/layout/LEGlyphStorage.h +546 -0
  44. data/vendor/local/include/layout/LEInsertionList.h +177 -0
  45. data/vendor/local/include/layout/LELanguages.h +112 -0
  46. data/vendor/local/include/layout/LEScripts.h +263 -0
  47. data/vendor/local/include/layout/LESwaps.h +100 -0
  48. data/vendor/local/include/layout/LETableReference.h +418 -0
  49. data/vendor/local/include/layout/LETypes.h +728 -0
  50. data/vendor/local/include/layout/LayoutEngine.h +518 -0
  51. data/vendor/local/include/layout/ParagraphLayout.h +747 -0
  52. data/vendor/local/include/layout/RunArrays.h +676 -0
  53. data/vendor/local/include/layout/loengine.h +225 -0
  54. data/vendor/local/include/layout/playout.h +466 -0
  55. data/vendor/local/include/layout/plruns.h +441 -0
  56. data/vendor/local/include/pango-1.0/pango/pango-features.h +2 -2
  57. data/vendor/local/include/pango-1.0/pango/pango-font.h +3 -1
  58. data/vendor/local/include/pango-1.0/pango/pango-item.h +11 -2
  59. data/vendor/local/include/unicode/alphaindex.h +752 -0
  60. data/vendor/local/include/unicode/appendable.h +232 -0
  61. data/vendor/local/include/unicode/basictz.h +214 -0
  62. data/vendor/local/include/unicode/brkiter.h +655 -0
  63. data/vendor/local/include/unicode/bytestream.h +257 -0
  64. data/vendor/local/include/unicode/bytestrie.h +519 -0
  65. data/vendor/local/include/unicode/bytestriebuilder.h +181 -0
  66. data/vendor/local/include/unicode/calendar.h +2519 -0
  67. data/vendor/local/include/unicode/caniter.h +208 -0
  68. data/vendor/local/include/unicode/chariter.h +722 -0
  69. data/vendor/local/include/unicode/choicfmt.h +594 -0
  70. data/vendor/local/include/unicode/coleitr.h +404 -0
  71. data/vendor/local/include/unicode/coll.h +1267 -0
  72. data/vendor/local/include/unicode/compactdecimalformat.h +330 -0
  73. data/vendor/local/include/unicode/curramt.h +130 -0
  74. data/vendor/local/include/unicode/currpinf.h +258 -0
  75. data/vendor/local/include/unicode/currunit.h +110 -0
  76. data/vendor/local/include/unicode/datefmt.h +883 -0
  77. data/vendor/local/include/unicode/dbbi.h +40 -0
  78. data/vendor/local/include/unicode/dcfmtsym.h +482 -0
  79. data/vendor/local/include/unicode/decimfmt.h +2479 -0
  80. data/vendor/local/include/unicode/docmain.h +215 -0
  81. data/vendor/local/include/unicode/dtfmtsym.h +912 -0
  82. data/vendor/local/include/unicode/dtintrv.h +158 -0
  83. data/vendor/local/include/unicode/dtitvfmt.h +985 -0
  84. data/vendor/local/include/unicode/dtitvinf.h +514 -0
  85. data/vendor/local/include/unicode/dtptngen.h +498 -0
  86. data/vendor/local/include/unicode/dtrule.h +250 -0
  87. data/vendor/local/include/unicode/enumset.h +64 -0
  88. data/vendor/local/include/unicode/errorcode.h +137 -0
  89. data/vendor/local/include/unicode/fieldpos.h +291 -0
  90. data/vendor/local/include/unicode/filteredbrk.h +131 -0
  91. data/vendor/local/include/unicode/fmtable.h +760 -0
  92. data/vendor/local/include/unicode/format.h +305 -0
  93. data/vendor/local/include/unicode/fpositer.h +117 -0
  94. data/vendor/local/include/unicode/gender.h +111 -0
  95. data/vendor/local/include/unicode/gregocal.h +777 -0
  96. data/vendor/local/include/unicode/icudataver.h +41 -0
  97. data/vendor/local/include/unicode/icuplug.h +371 -0
  98. data/vendor/local/include/unicode/idna.h +323 -0
  99. data/vendor/local/include/unicode/listformatter.h +167 -0
  100. data/vendor/local/include/unicode/localpointer.h +304 -0
  101. data/vendor/local/include/unicode/locdspnm.h +204 -0
  102. data/vendor/local/include/unicode/locid.h +815 -0
  103. data/vendor/local/include/unicode/measfmt.h +389 -0
  104. data/vendor/local/include/unicode/measunit.h +1443 -0
  105. data/vendor/local/include/unicode/measure.h +159 -0
  106. data/vendor/local/include/unicode/messagepattern.h +943 -0
  107. data/vendor/local/include/unicode/msgfmt.h +1093 -0
  108. data/vendor/local/include/unicode/normalizer2.h +658 -0
  109. data/vendor/local/include/unicode/normlzr.h +797 -0
  110. data/vendor/local/include/unicode/numfmt.h +1187 -0
  111. data/vendor/local/include/unicode/numsys.h +208 -0
  112. data/vendor/local/include/unicode/parseerr.h +92 -0
  113. data/vendor/local/include/unicode/parsepos.h +230 -0
  114. data/vendor/local/include/unicode/platform.h +751 -0
  115. data/vendor/local/include/unicode/plurfmt.h +615 -0
  116. data/vendor/local/include/unicode/plurrule.h +501 -0
  117. data/vendor/local/include/unicode/ptypes.h +126 -0
  118. data/vendor/local/include/unicode/putil.h +181 -0
  119. data/vendor/local/include/unicode/rbbi.h +782 -0
  120. data/vendor/local/include/unicode/rbnf.h +1032 -0
  121. data/vendor/local/include/unicode/rbtz.h +362 -0
  122. data/vendor/local/include/unicode/regex.h +1857 -0
  123. data/vendor/local/include/unicode/region.h +228 -0
  124. data/vendor/local/include/unicode/reldatefmt.h +498 -0
  125. data/vendor/local/include/unicode/rep.h +261 -0
  126. data/vendor/local/include/unicode/resbund.h +490 -0
  127. data/vendor/local/include/unicode/schriter.h +187 -0
  128. data/vendor/local/include/unicode/scientificformathelper.h +139 -0
  129. data/vendor/local/include/unicode/search.h +575 -0
  130. data/vendor/local/include/unicode/selfmt.h +367 -0
  131. data/vendor/local/include/unicode/simpletz.h +928 -0
  132. data/vendor/local/include/unicode/smpdtfmt.h +1592 -0
  133. data/vendor/local/include/unicode/sortkey.h +338 -0
  134. data/vendor/local/include/unicode/std_string.h +37 -0
  135. data/vendor/local/include/unicode/strenum.h +276 -0
  136. data/vendor/local/include/unicode/stringpiece.h +224 -0
  137. data/vendor/local/include/unicode/stringtriebuilder.h +402 -0
  138. data/vendor/local/include/unicode/stsearch.h +504 -0
  139. data/vendor/local/include/unicode/symtable.h +112 -0
  140. data/vendor/local/include/unicode/tblcoll.h +873 -0
  141. data/vendor/local/include/unicode/timezone.h +948 -0
  142. data/vendor/local/include/unicode/tmunit.h +129 -0
  143. data/vendor/local/include/unicode/tmutamt.h +168 -0
  144. data/vendor/local/include/unicode/tmutfmt.h +243 -0
  145. data/vendor/local/include/unicode/translit.h +1342 -0
  146. data/vendor/local/include/unicode/tzfmt.h +1098 -0
  147. data/vendor/local/include/unicode/tznames.h +404 -0
  148. data/vendor/local/include/unicode/tzrule.h +828 -0
  149. data/vendor/local/include/unicode/tztrans.h +195 -0
  150. data/vendor/local/include/unicode/ubidi.h +2186 -0
  151. data/vendor/local/include/unicode/ubrk.h +540 -0
  152. data/vendor/local/include/unicode/ucal.h +1560 -0
  153. data/vendor/local/include/unicode/ucasemap.h +423 -0
  154. data/vendor/local/include/unicode/ucat.h +158 -0
  155. data/vendor/local/include/unicode/uchar.h +3426 -0
  156. data/vendor/local/include/unicode/ucharstrie.h +576 -0
  157. data/vendor/local/include/unicode/ucharstriebuilder.h +185 -0
  158. data/vendor/local/include/unicode/uchriter.h +381 -0
  159. data/vendor/local/include/unicode/uclean.h +258 -0
  160. data/vendor/local/include/unicode/ucnv.h +2036 -0
  161. data/vendor/local/include/unicode/ucnv_cb.h +162 -0
  162. data/vendor/local/include/unicode/ucnv_err.h +463 -0
  163. data/vendor/local/include/unicode/ucnvsel.h +187 -0
  164. data/vendor/local/include/unicode/ucol.h +1474 -0
  165. data/vendor/local/include/unicode/ucoleitr.h +266 -0
  166. data/vendor/local/include/unicode/uconfig.h +430 -0
  167. data/vendor/local/include/unicode/ucsdet.h +413 -0
  168. data/vendor/local/include/unicode/ucurr.h +424 -0
  169. data/vendor/local/include/unicode/udat.h +1536 -0
  170. data/vendor/local/include/unicode/udata.h +430 -0
  171. data/vendor/local/include/unicode/udateintervalformat.h +181 -0
  172. data/vendor/local/include/unicode/udatpg.h +588 -0
  173. data/vendor/local/include/unicode/udisplaycontext.h +150 -0
  174. data/vendor/local/include/unicode/uenum.h +206 -0
  175. data/vendor/local/include/unicode/uformattable.h +280 -0
  176. data/vendor/local/include/unicode/ugender.h +82 -0
  177. data/vendor/local/include/unicode/uidna.h +762 -0
  178. data/vendor/local/include/unicode/uiter.h +707 -0
  179. data/vendor/local/include/unicode/uldnames.h +302 -0
  180. data/vendor/local/include/unicode/uloc.h +1256 -0
  181. data/vendor/local/include/unicode/ulocdata.h +277 -0
  182. data/vendor/local/include/unicode/umachine.h +356 -0
  183. data/vendor/local/include/unicode/umisc.h +60 -0
  184. data/vendor/local/include/unicode/umsg.h +623 -0
  185. data/vendor/local/include/unicode/unifilt.h +120 -0
  186. data/vendor/local/include/unicode/unifunct.h +125 -0
  187. data/vendor/local/include/unicode/unimatch.h +163 -0
  188. data/vendor/local/include/unicode/unirepl.h +97 -0
  189. data/vendor/local/include/unicode/uniset.h +1691 -0
  190. data/vendor/local/include/unicode/unistr.h +4470 -0
  191. data/vendor/local/include/unicode/unorm.h +561 -0
  192. data/vendor/local/include/unicode/unorm2.h +528 -0
  193. data/vendor/local/include/unicode/unum.h +1328 -0
  194. data/vendor/local/include/unicode/unumsys.h +170 -0
  195. data/vendor/local/include/unicode/uobject.h +320 -0
  196. data/vendor/local/include/unicode/upluralrules.h +145 -0
  197. data/vendor/local/include/unicode/uregex.h +1591 -0
  198. data/vendor/local/include/unicode/uregion.h +248 -0
  199. data/vendor/local/include/unicode/urename.h +1784 -0
  200. data/vendor/local/include/unicode/urep.h +155 -0
  201. data/vendor/local/include/unicode/ures.h +887 -0
  202. data/vendor/local/include/unicode/uscript.h +642 -0
  203. data/vendor/local/include/unicode/usearch.h +885 -0
  204. data/vendor/local/include/unicode/uset.h +1126 -0
  205. data/vendor/local/include/unicode/usetiter.h +318 -0
  206. data/vendor/local/include/unicode/ushape.h +474 -0
  207. data/vendor/local/include/unicode/uspoof.h +1064 -0
  208. data/vendor/local/include/unicode/usprep.h +269 -0
  209. data/vendor/local/include/unicode/ustdio.h +1018 -0
  210. data/vendor/local/include/unicode/ustream.h +68 -0
  211. data/vendor/local/include/unicode/ustring.h +1700 -0
  212. data/vendor/local/include/unicode/ustringtrie.h +95 -0
  213. data/vendor/local/include/unicode/utext.h +1600 -0
  214. data/vendor/local/include/unicode/utf.h +223 -0
  215. data/vendor/local/include/unicode/utf16.h +623 -0
  216. data/vendor/local/include/unicode/utf32.h +23 -0
  217. data/vendor/local/include/unicode/utf8.h +824 -0
  218. data/vendor/local/include/unicode/utf_old.h +1169 -0
  219. data/vendor/local/include/unicode/utmscale.h +481 -0
  220. data/vendor/local/include/unicode/utrace.h +359 -0
  221. data/vendor/local/include/unicode/utrans.h +658 -0
  222. data/vendor/local/include/unicode/utypes.h +723 -0
  223. data/vendor/local/include/unicode/uvernum.h +170 -0
  224. data/vendor/local/include/unicode/uversion.h +193 -0
  225. data/vendor/local/include/unicode/vtzone.h +455 -0
  226. data/vendor/local/lib/girepository-1.0/Pango-1.0.typelib +0 -0
  227. data/vendor/local/lib/girepository-1.0/PangoCairo-1.0.typelib +0 -0
  228. data/vendor/local/lib/girepository-1.0/PangoFT2-1.0.typelib +0 -0
  229. data/vendor/local/lib/icu/54.1/Makefile.inc +293 -0
  230. data/vendor/local/lib/icu/54.1/pkgdata.inc +17 -0
  231. data/vendor/local/lib/icu/Makefile.inc +293 -0
  232. data/vendor/local/lib/icu/pkgdata.inc +17 -0
  233. data/vendor/local/lib/icudt.dll +0 -0
  234. data/vendor/local/lib/icudt54.dll +0 -0
  235. data/vendor/local/lib/icuin.dll +0 -0
  236. data/vendor/local/lib/icuin54.dll +0 -0
  237. data/vendor/local/lib/icuio.dll +0 -0
  238. data/vendor/local/lib/icuio54.dll +0 -0
  239. data/vendor/local/lib/icule.dll +0 -0
  240. data/vendor/local/lib/icule54.dll +0 -0
  241. data/vendor/local/lib/iculx.dll +0 -0
  242. data/vendor/local/lib/iculx54.dll +0 -0
  243. data/vendor/local/lib/icutest.dll +0 -0
  244. data/vendor/local/lib/icutest54.dll +0 -0
  245. data/vendor/local/lib/icutu.dll +0 -0
  246. data/vendor/local/lib/icutu54.dll +0 -0
  247. data/vendor/local/lib/icuuc.dll +0 -0
  248. data/vendor/local/lib/icuuc54.dll +0 -0
  249. data/vendor/local/lib/libharfbuzz-icu.a +0 -0
  250. data/vendor/local/lib/libharfbuzz-icu.la +41 -0
  251. data/vendor/local/lib/libharfbuzz.dll.a +0 -0
  252. data/vendor/local/lib/libharfbuzz.la +3 -3
  253. data/vendor/local/lib/libicudt.dll.a +0 -0
  254. data/vendor/local/lib/libicuin.dll.a +0 -0
  255. data/vendor/local/lib/libicuio.dll.a +0 -0
  256. data/vendor/local/lib/libicule.dll.a +0 -0
  257. data/vendor/local/lib/libiculx.dll.a +0 -0
  258. data/vendor/local/lib/libicutest.dll.a +0 -0
  259. data/vendor/local/lib/libicutu.dll.a +0 -0
  260. data/vendor/local/lib/libicuuc.dll.a +0 -0
  261. data/vendor/local/lib/libpango-1.0.dll.a +0 -0
  262. data/vendor/local/lib/libpango-1.0.la +2 -2
  263. data/vendor/local/lib/libpangocairo-1.0.dll.a +0 -0
  264. data/vendor/local/lib/libpangocairo-1.0.la +2 -2
  265. data/vendor/local/lib/libpangoft2-1.0.dll.a +0 -0
  266. data/vendor/local/lib/libpangoft2-1.0.la +2 -2
  267. data/vendor/local/lib/libpangowin32-1.0.dll.a +0 -0
  268. data/vendor/local/lib/libpangowin32-1.0.la +2 -2
  269. data/vendor/local/lib/pango/1.8.0/modules/pango-arabic-lang.dll +0 -0
  270. data/vendor/local/lib/pango/1.8.0/modules/pango-arabic-lang.dll.a +0 -0
  271. data/vendor/local/lib/pango/1.8.0/modules/pango-arabic-lang.la +1 -1
  272. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.dll +0 -0
  273. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.dll.a +0 -0
  274. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.la +1 -1
  275. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-win32.dll +0 -0
  276. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-win32.dll.a +0 -0
  277. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-win32.la +1 -1
  278. data/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.dll +0 -0
  279. data/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.dll.a +0 -0
  280. data/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.la +1 -1
  281. data/vendor/local/lib/pkgconfig/harfbuzz-icu.pc +13 -0
  282. data/vendor/local/lib/pkgconfig/harfbuzz.pc +1 -1
  283. data/vendor/local/lib/pkgconfig/icu-i18n.pc +38 -0
  284. data/vendor/local/lib/pkgconfig/icu-io.pc +38 -0
  285. data/vendor/local/lib/pkgconfig/icu-le.pc +38 -0
  286. data/vendor/local/lib/pkgconfig/icu-lx.pc +38 -0
  287. data/vendor/local/lib/pkgconfig/icu-uc.pc +38 -0
  288. data/vendor/local/lib/pkgconfig/pango.pc +1 -1
  289. data/vendor/local/lib/pkgconfig/pangocairo.pc +1 -1
  290. data/vendor/local/lib/pkgconfig/pangoft2.pc +1 -1
  291. data/vendor/local/lib/pkgconfig/pangowin32.pc +1 -1
  292. data/vendor/local/share/gir-1.0/Pango-1.0.gir +3009 -462
  293. data/vendor/local/share/gir-1.0/PangoCairo-1.0.gir +64 -22
  294. data/vendor/local/share/gir-1.0/PangoFT2-1.0.gir +4 -2
  295. data/vendor/local/share/gtk-doc/html/harfbuzz/annotation-glossary.html +30 -26
  296. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-full.html +343 -313
  297. data/vendor/local/share/gtk-doc/html/harfbuzz/ch01.html +5 -5
  298. data/vendor/local/share/gtk-doc/html/harfbuzz/deprecated-api-index.html +6 -8
  299. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-blob.html +442 -247
  300. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-buffer.html +1389 -654
  301. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-common.html +954 -698
  302. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-coretext.html +95 -18
  303. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-deprecated.html +36 -27
  304. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-face.html +477 -191
  305. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-font.html +1951 -1039
  306. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ft.html +123 -65
  307. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-glib.html +66 -21
  308. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-gobject.html +11 -13
  309. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-graphite2.html +67 -23
  310. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-icu.html +66 -21
  311. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-layout.html +574 -347
  312. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-tag.html +104 -37
  313. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot.html +10 -27
  314. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-set.html +744 -318
  315. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-shape-plan.html +294 -153
  316. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-shape.html +196 -104
  317. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-unicode.html +1100 -757
  318. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-uniscribe.html +51 -18
  319. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-version.html +110 -84
  320. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb.html +11 -13
  321. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz.devhelp2 +289 -503
  322. data/vendor/local/share/gtk-doc/html/harfbuzz/index.html +3 -3
  323. data/vendor/local/share/gtk-doc/html/harfbuzz/index.sgml +161 -316
  324. data/vendor/local/share/gtk-doc/html/harfbuzz/object-tree.html +31 -4
  325. data/vendor/local/share/gtk-doc/html/harfbuzz/style.css +260 -105
  326. data/vendor/local/share/gtk-doc/html/pango/PangoEngineLang.html +143 -105
  327. data/vendor/local/share/gtk-doc/html/pango/PangoEngineShape.html +150 -108
  328. data/vendor/local/share/gtk-doc/html/pango/PangoFcDecoder.html +163 -112
  329. data/vendor/local/share/gtk-doc/html/pango/PangoFcFont.html +348 -229
  330. data/vendor/local/share/gtk-doc/html/pango/PangoFcFontMap.html +746 -514
  331. data/vendor/local/share/gtk-doc/html/pango/PangoMarkupFormat.html +9 -9
  332. data/vendor/local/share/gtk-doc/html/pango/PangoRenderer.html +853 -623
  333. data/vendor/local/share/gtk-doc/html/pango/annotation-glossary.html +29 -13
  334. data/vendor/local/share/gtk-doc/html/pango/api-index-1-10.html +31 -33
  335. data/vendor/local/share/gtk-doc/html/pango/api-index-1-12.html +10 -12
  336. data/vendor/local/share/gtk-doc/html/pango/api-index-1-14.html +12 -14
  337. data/vendor/local/share/gtk-doc/html/pango/api-index-1-16.html +53 -55
  338. data/vendor/local/share/gtk-doc/html/pango/api-index-1-18.html +28 -30
  339. data/vendor/local/share/gtk-doc/html/pango/api-index-1-2.html +29 -31
  340. data/vendor/local/share/gtk-doc/html/pango/api-index-1-20.html +17 -19
  341. data/vendor/local/share/gtk-doc/html/pango/api-index-1-22.html +28 -30
  342. data/vendor/local/share/gtk-doc/html/pango/api-index-1-24.html +17 -19
  343. data/vendor/local/share/gtk-doc/html/pango/api-index-1-26.html +9 -11
  344. data/vendor/local/share/gtk-doc/html/pango/api-index-1-30.html +6 -6
  345. data/vendor/local/share/gtk-doc/html/pango/api-index-1-31-0.html +6 -6
  346. data/vendor/local/share/gtk-doc/html/pango/api-index-1-32-4.html +11 -13
  347. data/vendor/local/share/gtk-doc/html/pango/api-index-1-32.html +7 -9
  348. data/vendor/local/share/gtk-doc/html/pango/api-index-1-34.html +5 -5
  349. data/vendor/local/share/gtk-doc/html/pango/api-index-1-4.html +49 -51
  350. data/vendor/local/share/gtk-doc/html/pango/api-index-1-6.html +36 -38
  351. data/vendor/local/share/gtk-doc/html/pango/api-index-1-8.html +37 -39
  352. data/vendor/local/share/gtk-doc/html/pango/api-index-deprecated.html +68 -70
  353. data/vendor/local/share/gtk-doc/html/pango/api-index-full.html +568 -570
  354. data/vendor/local/share/gtk-doc/html/pango/index.html +3 -3
  355. data/vendor/local/share/gtk-doc/html/pango/index.sgml +229 -399
  356. data/vendor/local/share/gtk-doc/html/pango/lowlevel.html +4 -4
  357. data/vendor/local/share/gtk-doc/html/pango/pango-Bidirectional-Text.html +345 -259
  358. data/vendor/local/share/gtk-doc/html/pango/pango-Cairo-Rendering.html +979 -664
  359. data/vendor/local/share/gtk-doc/html/pango/pango-CoreText-Fonts.html +70 -43
  360. data/vendor/local/share/gtk-doc/html/pango/pango-Coverage-Maps.html +349 -229
  361. data/vendor/local/share/gtk-doc/html/pango/pango-Engines.html +236 -153
  362. data/vendor/local/share/gtk-doc/html/pango/pango-Fonts.html +3100 -2159
  363. data/vendor/local/share/gtk-doc/html/pango/pango-FreeType-Fonts-and-Rendering.html +659 -472
  364. data/vendor/local/share/gtk-doc/html/pango/pango-Glyph-Storage.html +1952 -1384
  365. data/vendor/local/share/gtk-doc/html/pango/pango-Layout-Objects.html +3050 -2135
  366. data/vendor/local/share/gtk-doc/html/pango/pango-Miscellaneous-Utilities.html +676 -463
  367. data/vendor/local/share/gtk-doc/html/pango/pango-Modules.html +223 -146
  368. data/vendor/local/share/gtk-doc/html/pango/pango-OpenType-Font-Handling.html +1589 -1199
  369. data/vendor/local/share/gtk-doc/html/pango/pango-Scripts-and-Languages.html +1072 -842
  370. data/vendor/local/share/gtk-doc/html/pango/pango-Tab-Stops.html +406 -276
  371. data/vendor/local/share/gtk-doc/html/pango/pango-Text-Attributes.html +2541 -1792
  372. data/vendor/local/share/gtk-doc/html/pango/pango-Text-Processing.html +1479 -1033
  373. data/vendor/local/share/gtk-doc/html/pango/pango-Version-Checking.html +214 -154
  374. data/vendor/local/share/gtk-doc/html/pango/pango-Vertical-Text.html +374 -291
  375. data/vendor/local/share/gtk-doc/html/pango/pango-Win32-Fonts-and-Rendering.html +733 -498
  376. data/vendor/local/share/gtk-doc/html/pango/pango-Xft-Fonts-and-Rendering.html +893 -617
  377. data/vendor/local/share/gtk-doc/html/pango/pango-hierarchy.html +59 -59
  378. data/vendor/local/share/gtk-doc/html/pango/pango-querymodules.html +5 -5
  379. data/vendor/local/share/gtk-doc/html/pango/pango.devhelp2 +578 -782
  380. data/vendor/local/share/gtk-doc/html/pango/pango.html +4 -4
  381. data/vendor/local/share/gtk-doc/html/pango/rendering.html +4 -4
  382. data/vendor/local/share/gtk-doc/html/pango/style.css +260 -105
  383. data/vendor/local/share/gtk-doc/html/pango/tools.html +4 -4
  384. data/vendor/local/share/icu/54.1/config/mh-mingw +158 -0
  385. data/vendor/local/share/icu/54.1/install-sh +251 -0
  386. data/vendor/local/share/icu/54.1/license.html +385 -0
  387. data/vendor/local/share/icu/54.1/mkinstalldirs +43 -0
  388. data/vendor/local/share/license/harfbuzz/AUTHORS +1 -0
  389. data/vendor/local/share/man/man1/derb.1 +196 -0
  390. data/vendor/local/share/man/man1/genbrk.1 +112 -0
  391. data/vendor/local/share/man/man1/gencfu.1 +91 -0
  392. data/vendor/local/share/man/man1/gencnval.1 +91 -0
  393. data/vendor/local/share/man/man1/gendict.1 +131 -0
  394. data/vendor/local/share/man/man1/genrb.1 +146 -0
  395. data/vendor/local/share/man/man1/icu-config.1 +288 -0
  396. data/vendor/local/share/man/man1/makeconv.1 +112 -0
  397. data/vendor/local/share/man/man1/pango-querymodules.1 +2 -2
  398. data/vendor/local/share/man/man1/pango-view.1 +1 -118
  399. data/vendor/local/share/man/man1/pkgdata.1 +258 -0
  400. data/vendor/local/share/man/man1/uconv.1 +443 -0
  401. data/vendor/local/share/man/man8/genccode.8 +106 -0
  402. data/vendor/local/share/man/man8/gencmn.8 +129 -0
  403. data/vendor/local/share/man/man8/gensprep.8 +102 -0
  404. data/vendor/local/share/man/man8/icupkg.8 +204 -0
  405. metadata +266 -14
  406. data/lib/1.9/pango.so +0 -0
  407. data/lib/2.1/pango.so +0 -0
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -3,6 +3,9 @@
3
3
  #
4
4
  # ModulesPath = /home/kou/work/ruby/ruby-gnome2.win32/pango/vendor/local/lib/pango/1.8.0/modules
5
5
  #
6
+ /home/kou/work/ruby/ruby-gnome2.win32/pango/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.dll BasicScriptEngineFc PangoEngineShape PangoRenderFc common:
7
+ /home/kou/work/ruby/ruby-gnome2.win32/pango/vendor/local/lib/pango/1.8.0/modules/pango-basic-win32.dll BasicScriptEngineWin32 PangoEngineShape PangoRenderWin32 common:
8
+ /home/kou/work/ruby/ruby-gnome2.win32/pango/vendor/local/lib/pango/1.8.0/modules/pango-arabic-lang.dll ArabicScriptEngineLang PangoEngineLang PangoRenderNone arabic:*
6
9
  /home/kou/work/ruby/ruby-gnome2.win32/pango/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.dll devaIndicScriptEngineLang PangoEngineLang PangoRenderNone devanagari:*
7
10
  /home/kou/work/ruby/ruby-gnome2.win32/pango/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.dll bengIndicScriptEngineLang PangoEngineLang PangoRenderNone bengali:*
8
11
  /home/kou/work/ruby/ruby-gnome2.win32/pango/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.dll guruIndicScriptEngineLang PangoEngineLang PangoRenderNone gurmukhi:*
@@ -13,7 +16,4 @@
13
16
  /home/kou/work/ruby/ruby-gnome2.win32/pango/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.dll kndaIndicScriptEngineLang PangoEngineLang PangoRenderNone kannada:*
14
17
  /home/kou/work/ruby/ruby-gnome2.win32/pango/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.dll mlymIndicScriptEngineLang PangoEngineLang PangoRenderNone malayalam:*
15
18
  /home/kou/work/ruby/ruby-gnome2.win32/pango/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.dll sinhIndicScriptEngineLang PangoEngineLang PangoRenderNone sinhala:*
16
- /home/kou/work/ruby/ruby-gnome2.win32/pango/vendor/local/lib/pango/1.8.0/modules/pango-arabic-lang.dll ArabicScriptEngineLang PangoEngineLang PangoRenderNone arabic:*
17
- /home/kou/work/ruby/ruby-gnome2.win32/pango/vendor/local/lib/pango/1.8.0/modules/pango-basic-win32.dll BasicScriptEngineWin32 PangoEngineShape PangoRenderWin32 common:
18
- /home/kou/work/ruby/ruby-gnome2.win32/pango/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.dll BasicScriptEngineFc PangoEngineShape PangoRenderFc common:
19
19
 
@@ -47,14 +47,13 @@ HB_BEGIN_DECLS
47
47
  * - Use MODE_READONLY otherse, unless you really really
48
48
  * really know what you are doing,
49
49
  *
50
- * - MODE_WRITABLE is appropriate if you relaly made a
50
+ * - MODE_WRITABLE is appropriate if you really made a
51
51
  * copy of data solely for the purpose of passing to
52
52
  * HarfBuzz and doing that just once (no reuse!),
53
53
  *
54
54
  * - If the font is mmap()ed, it's ok to use
55
- * READONLY_MAY_MAKE_WRITABLE, however, there were
56
- * design problems with that mode, so HarfBuzz do not
57
- * really use it anymore. If not sure, use MODE_READONLY.
55
+ * READONLY_MAY_MAKE_WRITABLE, however, using that mode
56
+ * correctly is very tricky. Use MODE_READONLY instead.
58
57
  */
59
58
  typedef enum {
60
59
  HB_MEMORY_MODE_DUPLICATE,
@@ -186,12 +186,25 @@ hb_buffer_flags_t
186
186
  hb_buffer_get_flags (hb_buffer_t *buffer);
187
187
 
188
188
 
189
+
190
+ #define HB_BUFFER_REPLACEMENT_CODEPOINT_DEFAULT 0xFFFDu
191
+
192
+ /* Sets codepoint used to replace invalid UTF-8/16/32 entries.
193
+ * Default is 0xFFFDu. */
194
+ void
195
+ hb_buffer_set_replacement_codepoint (hb_buffer_t *buffer,
196
+ hb_codepoint_t replacement);
197
+
198
+ hb_codepoint_t
199
+ hb_buffer_get_replacement_codepoint (hb_buffer_t *buffer);
200
+
201
+
189
202
  /* Resets the buffer. Afterwards it's as if it was just created,
190
203
  * except that it has a larger buffer allocated perhaps... */
191
204
  void
192
205
  hb_buffer_reset (hb_buffer_t *buffer);
193
206
 
194
- /* Like reset, but does NOT clear unicode_funcs. */
207
+ /* Like reset, but does NOT clear unicode_funcs and replacement_codepoint. */
195
208
  void
196
209
  hb_buffer_clear_contents (hb_buffer_t *buffer);
197
210
 
@@ -240,6 +253,14 @@ hb_buffer_add_utf32 (hb_buffer_t *buffer,
240
253
  unsigned int item_offset,
241
254
  int item_length);
242
255
 
256
+ /* Like add_utf32 but does NOT check for invalid Unicode codepoints. */
257
+ void
258
+ hb_buffer_add_codepoints (hb_buffer_t *buffer,
259
+ const hb_codepoint_t *text,
260
+ int text_length,
261
+ unsigned int item_offset,
262
+ int item_length);
263
+
243
264
 
244
265
  /* Clears any new items added at the end */
245
266
  hb_bool_t
@@ -95,6 +95,7 @@ typedef uint32_t hb_tag_t;
95
95
 
96
96
  #define HB_TAG_NONE HB_TAG(0,0,0,0)
97
97
  #define HB_TAG_MAX HB_TAG(0xff,0xff,0xff,0xff)
98
+ #define HB_TAG_MAX_SIGNED HB_TAG(0x7f,0xff,0xff,0xff)
98
99
 
99
100
  /* len=-1 means str is NUL-terminated. */
100
101
  hb_tag_t
@@ -122,12 +123,13 @@ hb_direction_from_string (const char *str, int len);
122
123
  const char *
123
124
  hb_direction_to_string (hb_direction_t direction);
124
125
 
126
+ #define HB_DIRECTION_IS_VALID(dir) ((((unsigned int) (dir)) & ~3U) == 4)
127
+ /* Direction must be valid for the following */
125
128
  #define HB_DIRECTION_IS_HORIZONTAL(dir) ((((unsigned int) (dir)) & ~1U) == 4)
126
129
  #define HB_DIRECTION_IS_VERTICAL(dir) ((((unsigned int) (dir)) & ~1U) == 6)
127
130
  #define HB_DIRECTION_IS_FORWARD(dir) ((((unsigned int) (dir)) & ~2U) == 4)
128
131
  #define HB_DIRECTION_IS_BACKWARD(dir) ((((unsigned int) (dir)) & ~2U) == 5)
129
- #define HB_DIRECTION_IS_VALID(dir) ((((unsigned int) (dir)) & ~3U) == 4)
130
- #define HB_DIRECTION_REVERSE(dir) ((hb_direction_t) (((unsigned int) (dir)) ^ 1)) /* Direction must be valid */
132
+ #define HB_DIRECTION_REVERSE(dir) ((hb_direction_t) (((unsigned int) (dir)) ^ 1))
131
133
 
132
134
 
133
135
  /* hb_language_t */
@@ -270,17 +272,6 @@ typedef enum
270
272
  /*6.1*/ HB_SCRIPT_SORA_SOMPENG = HB_TAG ('S','o','r','a'),
271
273
  /*6.1*/ HB_SCRIPT_TAKRI = HB_TAG ('T','a','k','r'),
272
274
 
273
- /* No script set. */
274
- /*---*/ HB_SCRIPT_INVALID = HB_TAG_NONE,
275
-
276
- /* Dummy value to ensure any hb_tag_t value can be passed/stored as hb_script_t
277
- * without risking undefined behavior. */
278
- /*---*/ _HB_SCRIPT_MAX_VALUE = HB_TAG_MAX
279
-
280
- } hb_script_t;
281
-
282
- /* These are moved out of hb_script_t because glib-mkenums chokes otherwise. */
283
- #if 0
284
275
  /*7.0*/ HB_SCRIPT_BASSA_VAH = HB_TAG ('B','a','s','s'),
285
276
  /*7.0*/ HB_SCRIPT_CAUCASIAN_ALBANIAN = HB_TAG ('A','g','h','b'),
286
277
  /*7.0*/ HB_SCRIPT_DUPLOYAN = HB_TAG ('D','u','p','l'),
@@ -292,19 +283,33 @@ typedef enum
292
283
  /*7.0*/ HB_SCRIPT_MAHAJANI = HB_TAG ('M','a','h','j'),
293
284
  /*7.0*/ HB_SCRIPT_MANICHAEAN = HB_TAG ('M','a','n','i'),
294
285
  /*7.0*/ HB_SCRIPT_MENDE_KIKAKUI = HB_TAG ('M','e','n','d'),
295
- /*7.0*/ HB_SCRIPT_MODI = ???
286
+ /*7.0*/ HB_SCRIPT_MODI = HB_TAG ('M','o','d','i'),
296
287
  /*7.0*/ HB_SCRIPT_MRO = HB_TAG ('M','r','o','o'),
297
288
  /*7.0*/ HB_SCRIPT_NABATAEAN = HB_TAG ('N','b','a','t'),
298
289
  /*7.0*/ HB_SCRIPT_OLD_NORTH_ARABIAN = HB_TAG ('N','a','r','b'),
299
290
  /*7.0*/ HB_SCRIPT_OLD_PERMIC = HB_TAG ('P','e','r','m'),
300
291
  /*7.0*/ HB_SCRIPT_PAHAWH_HMONG = HB_TAG ('H','m','n','g'),
301
292
  /*7.0*/ HB_SCRIPT_PALMYRENE = HB_TAG ('P','a','l','m'),
302
- /*7.0*/ HB_SCRIPT_PAU_CIN_HAU = ???
293
+ /*7.0*/ HB_SCRIPT_PAU_CIN_HAU = HB_TAG ('P','a','u','c'),
303
294
  /*7.0*/ HB_SCRIPT_PSALTER_PAHLAVI = HB_TAG ('P','h','l','p'),
304
- /*7.0*/ HB_SCRIPT_SIDDHAM = ???
295
+ /*7.0*/ HB_SCRIPT_SIDDHAM = HB_TAG ('S','i','d','d'),
305
296
  /*7.0*/ HB_SCRIPT_TIRHUTA = HB_TAG ('T','i','r','h'),
306
297
  /*7.0*/ HB_SCRIPT_WARANG_CITI = HB_TAG ('W','a','r','a'),
307
- #endif
298
+
299
+ /* No script set. */
300
+ HB_SCRIPT_INVALID = HB_TAG_NONE,
301
+
302
+ /* Dummy values to ensure any hb_tag_t value can be passed/stored as hb_script_t
303
+ * without risking undefined behavior. Include both a signed and unsigned max,
304
+ * since technically enums are int, and indeed, hb_script_t ends up being signed.
305
+ * See this thread for technicalities:
306
+ *
307
+ * http://lists.freedesktop.org/archives/harfbuzz/2014-March/004150.html
308
+ */
309
+ _HB_SCRIPT_MAX_VALUE = HB_TAG_MAX, /*< skip >*/
310
+ _HB_SCRIPT_MAX_VALUE_SIGNED = HB_TAG_MAX_SIGNED /*< skip >*/
311
+
312
+ } hb_script_t;
308
313
 
309
314
 
310
315
  /* Script functions */
@@ -312,7 +317,7 @@ typedef enum
312
317
  hb_script_t
313
318
  hb_script_from_iso15924_tag (hb_tag_t tag);
314
319
 
315
- /* suger for tag_from_string() then script_from_iso15924_tag */
320
+ /* sugar for tag_from_string() then script_from_iso15924_tag */
316
321
  /* len=-1 means s is NUL-terminated */
317
322
  hb_script_t
318
323
  hb_script_from_string (const char *s, int len);
@@ -0,0 +1,52 @@
1
+ /*
2
+ * Copyright © 2009 Red Hat, Inc.
3
+ * Copyright © 2011 Google, Inc.
4
+ *
5
+ * This is part of HarfBuzz, a text shaping library.
6
+ *
7
+ * Permission is hereby granted, without written agreement and without
8
+ * license or royalty fees, to use, copy, modify, and distribute this
9
+ * software and its documentation for any purpose, provided that the
10
+ * above copyright notice and the following two paragraphs appear in
11
+ * all copies of this software.
12
+ *
13
+ * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
14
+ * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
15
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
16
+ * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
17
+ * DAMAGE.
18
+ *
19
+ * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
20
+ * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
21
+ * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
22
+ * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
23
+ * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
24
+ *
25
+ * Red Hat Author(s): Behdad Esfahbod
26
+ * Google Author(s): Behdad Esfahbod
27
+ */
28
+
29
+ #ifndef HB_ICU_H
30
+ #define HB_ICU_H
31
+
32
+ #include "hb.h"
33
+
34
+ #include <unicode/uscript.h>
35
+
36
+ HB_BEGIN_DECLS
37
+
38
+
39
+ hb_script_t
40
+ hb_icu_script_to_script (UScriptCode script);
41
+
42
+ UScriptCode
43
+ hb_icu_script_from_script (hb_script_t script);
44
+
45
+
46
+ hb_unicode_funcs_t *
47
+ hb_icu_get_unicode_funcs (void);
48
+
49
+
50
+ HB_END_DECLS
51
+
52
+ #endif /* HB_ICU_H */
@@ -0,0 +1,41 @@
1
+ /*
2
+ * Copyright © 2014 Google, Inc.
3
+ *
4
+ * This is part of HarfBuzz, a text shaping library.
5
+ *
6
+ * Permission is hereby granted, without written agreement and without
7
+ * license or royalty fees, to use, copy, modify, and distribute this
8
+ * software and its documentation for any purpose, provided that the
9
+ * above copyright notice and the following two paragraphs appear in
10
+ * all copies of this software.
11
+ *
12
+ * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
13
+ * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
14
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
15
+ * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
16
+ * DAMAGE.
17
+ *
18
+ * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
19
+ * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
20
+ * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
21
+ * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
22
+ * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
23
+ *
24
+ * Google Author(s): Behdad Esfahbod, Roozbeh Pournader
25
+ */
26
+
27
+ #ifndef HB_OT_FONT_H
28
+ #define HB_OT_FONT_H
29
+
30
+ #include "hb.h"
31
+
32
+ HB_BEGIN_DECLS
33
+
34
+
35
+ void
36
+ hb_ot_font_set_funcs (hb_font_t *font);
37
+
38
+
39
+ HB_END_DECLS
40
+
41
+ #endif /* HB_OT_FONT_H */
@@ -92,9 +92,9 @@ hb_ot_layout_get_ligature_carets (hb_font_t *font,
92
92
  * GSUB/GPOS feature query and enumeration interface
93
93
  */
94
94
 
95
- #define HB_OT_LAYOUT_NO_SCRIPT_INDEX ((unsigned int) 0xFFFF)
96
- #define HB_OT_LAYOUT_NO_FEATURE_INDEX ((unsigned int) 0xFFFF)
97
- #define HB_OT_LAYOUT_DEFAULT_LANGUAGE_INDEX ((unsigned int) 0xFFFF)
95
+ #define HB_OT_LAYOUT_NO_SCRIPT_INDEX 0xFFFFu
96
+ #define HB_OT_LAYOUT_NO_FEATURE_INDEX 0xFFFFu
97
+ #define HB_OT_LAYOUT_DEFAULT_LANGUAGE_INDEX 0xFFFFu
98
98
 
99
99
  unsigned int
100
100
  hb_ot_layout_table_get_script_tags (hb_face_t *face,
@@ -146,6 +146,14 @@ hb_ot_layout_language_get_required_feature_index (hb_face_t *face,
146
146
  unsigned int language_index,
147
147
  unsigned int *feature_index);
148
148
 
149
+ hb_bool_t
150
+ hb_ot_layout_language_get_required_feature (hb_face_t *face,
151
+ hb_tag_t table_tag,
152
+ unsigned int script_index,
153
+ unsigned int language_index,
154
+ unsigned int *feature_index,
155
+ hb_tag_t *feature_tag);
156
+
149
157
  unsigned int
150
158
  hb_ot_layout_language_get_feature_indexes (hb_face_t *face,
151
159
  hb_tag_t table_tag,
@@ -24,31 +24,30 @@
24
24
  * Red Hat Author(s): Behdad Esfahbod
25
25
  */
26
26
 
27
+ #ifndef HB_OT_H_IN
28
+ #error "Include <hb-ot.h> instead."
29
+ #endif
30
+
27
31
  #ifndef HB_OT_SHAPE_H
28
32
  #define HB_OT_SHAPE_H
29
- #define HB_OT_SHAPE_H_IN
30
33
 
31
34
  #include "hb.h"
32
35
 
33
- #include "hb-ot-layout.h"
34
- #include "hb-ot-tag.h"
35
-
36
36
  HB_BEGIN_DECLS
37
37
 
38
38
  /* TODO port to shape-plan / set. */
39
39
  void
40
40
  hb_ot_shape_glyphs_closure (hb_font_t *font,
41
- hb_buffer_t *buffer,
42
- const hb_feature_t *features,
43
- unsigned int num_features,
44
- hb_set_t *glyphs);
41
+ hb_buffer_t *buffer,
42
+ const hb_feature_t *features,
43
+ unsigned int num_features,
44
+ hb_set_t *glyphs);
45
45
 
46
46
  void
47
47
  hb_ot_shape_plan_collect_lookups (hb_shape_plan_t *shape_plan,
48
- hb_tag_t table_tag,
49
- hb_set_t *lookup_indexes /* OUT */);
48
+ hb_tag_t table_tag,
49
+ hb_set_t *lookup_indexes /* OUT */);
50
50
 
51
51
  HB_END_DECLS
52
52
 
53
- #undef HB_OT_SHAPE_H_IN
54
53
  #endif /* HB_OT_SHAPE_H */
@@ -30,6 +30,7 @@
30
30
 
31
31
  #include "hb.h"
32
32
 
33
+ #include "hb-ot-font.h"
33
34
  #include "hb-ot-layout.h"
34
35
  #include "hb-ot-tag.h"
35
36
  #include "hb-ot-shape.h"
@@ -38,12 +38,12 @@ HB_BEGIN_DECLS
38
38
 
39
39
  #define HB_VERSION_MAJOR 0
40
40
  #define HB_VERSION_MINOR 9
41
- #define HB_VERSION_MICRO 26
41
+ #define HB_VERSION_MICRO 35
42
42
 
43
- #define HB_VERSION_STRING "0.9.26"
43
+ #define HB_VERSION_STRING "0.9.35"
44
44
 
45
- #define HB_VERSION_CHECK(major,minor,micro) \
46
- ((major)*10000+(minor)*100+(micro) >= \
45
+ #define HB_VERSION_ATLEAST(major,minor,micro) \
46
+ ((major)*10000+(minor)*100+(micro) <= \
47
47
  HB_VERSION_MAJOR*10000+HB_VERSION_MINOR*100+HB_VERSION_MICRO)
48
48
 
49
49
 
@@ -56,9 +56,9 @@ const char *
56
56
  hb_version_string (void);
57
57
 
58
58
  hb_bool_t
59
- hb_version_check (unsigned int major,
60
- unsigned int minor,
61
- unsigned int micro);
59
+ hb_version_atleast (unsigned int major,
60
+ unsigned int minor,
61
+ unsigned int micro);
62
62
 
63
63
 
64
64
  HB_END_DECLS
@@ -0,0 +1,550 @@
1
+
2
+ /*
3
+ *
4
+ * (C) Copyright IBM Corp. 1998-2014 - All Rights Reserved
5
+ *
6
+ */
7
+
8
+ #ifndef __LEFONTINSTANCE_H
9
+ #define __LEFONTINSTANCE_H
10
+
11
+ #include "LETypes.h"
12
+ /**
13
+ * \file
14
+ * \brief C++ API: Layout Engine Font Instance object
15
+ */
16
+
17
+ U_NAMESPACE_BEGIN
18
+
19
+ /**
20
+ * Instances of this class are used by <code>LEFontInstance::mapCharsToGlyphs</code> and
21
+ * <code>LEFontInstance::mapCharToGlyph</code> to adjust character codes before the character
22
+ * to glyph mapping process. Examples of this are filtering out control characters
23
+ * and character mirroring - replacing a character which has both a left and a right
24
+ * hand form with the opposite form.
25
+ *
26
+ * @deprecated ICU 54. See {@link icu::LayoutEngine}
27
+ */
28
+ class LECharMapper /* not : public UObject because this is an interface/mixin class */
29
+ {
30
+ public:
31
+ /**
32
+ * Destructor.
33
+ * @deprecated ICU 54. See {@link icu::LayoutEngine}
34
+ */
35
+ virtual ~LECharMapper();
36
+
37
+ /**
38
+ * This method does the adjustments.
39
+ *
40
+ * @param ch - the input character
41
+ *
42
+ * @return the adjusted character
43
+ *
44
+ * @deprecated ICU 54. See {@link icu::LayoutEngine}
45
+ */
46
+ virtual LEUnicode32 mapChar(LEUnicode32 ch) const = 0;
47
+ };
48
+
49
+ /**
50
+ * This is a forward reference to the class which holds the per-glyph
51
+ * storage.
52
+ *
53
+ * @deprecated ICU 54. See {@link icu::LayoutEngine}
54
+ */
55
+ class LEGlyphStorage;
56
+
57
+ /**
58
+ * This is a virtual base class that serves as the interface between a LayoutEngine
59
+ * and the platform font environment. It allows a LayoutEngine to access font tables, do
60
+ * character to glyph mapping, and obtain metrics information without knowing any platform
61
+ * specific details. There are also a few utility methods for converting between points,
62
+ * pixels and funits. (font design units)
63
+ *
64
+ * An instance of an <code>LEFontInstance</code> represents a font at a particular point
65
+ * size. Each instance can represent either a single physical font, or a composite font.
66
+ * A composite font is a collection of physical fonts, each of which contains a subset of
67
+ * the characters contained in the composite font.
68
+ *
69
+ * Note: with the exception of <code>getSubFont</code>, the methods in this class only
70
+ * make sense for a physical font. If you have an <code>LEFontInstance</code> which
71
+ * represents a composite font you should only call the methods below which have
72
+ * an <code>LEGlyphID</code>, an <code>LEUnicode</code> or an <code>LEUnicode32</code>
73
+ * as one of the arguments because these can be used to select a particular subfont.
74
+ *
75
+ * Subclasses which implement composite fonts should supply an implementation of these
76
+ * methods with some default behavior such as returning constant values, or using the
77
+ * values from the first subfont.
78
+ *
79
+ * @deprecated ICU 54. See {@link icu::LayoutEngine}
80
+ */
81
+ class U_LAYOUT_API LEFontInstance : public UObject
82
+ {
83
+ public:
84
+
85
+ /**
86
+ * This virtual destructor is here so that the subclass
87
+ * destructors can be invoked through the base class.
88
+ *
89
+ * @deprecated ICU 54. See {@link icu::LayoutEngine}
90
+ */
91
+ virtual ~LEFontInstance();
92
+
93
+ /**
94
+ * Get a physical font which can render the given text. For composite fonts,
95
+ * if there is no single physical font which can render all of the text,
96
+ * return a physical font which can render an initial substring of the text,
97
+ * and set the <code>offset</code> parameter to the end of that substring.
98
+ *
99
+ * Internally, the LayoutEngine works with runs of text all in the same
100
+ * font and script, so it is best to call this method with text which is
101
+ * in a single script, passing the script code in as a hint. If you don't
102
+ * know the script of the text, you can use zero, which is the script code
103
+ * for characters used in more than one script.
104
+ *
105
+ * The default implementation of this method is intended for instances of
106
+ * <code>LEFontInstance</code> which represent a physical font. It returns
107
+ * <code>this</code> and indicates that the entire string can be rendered.
108
+ *
109
+ * This method will return a valid <code>LEFontInstance</code> unless you
110
+ * have passed illegal parameters, or an internal error has been encountered.
111
+ * For composite fonts, it may return the warning <code>LE_NO_SUBFONT_WARNING</code>
112
+ * to indicate that the returned font may not be able to render all of
113
+ * the text. Whenever a valid font is returned, the <code>offset</code> parameter
114
+ * will be advanced by at least one.
115
+ *
116
+ * Subclasses which implement composite fonts must override this method.
117
+ * Where it makes sense, they should use the script code as a hint to render
118
+ * characters from the COMMON script in the font which is used for the given
119
+ * script. For example, if the input text is a series of Arabic words separated
120
+ * by spaces, and the script code passed in is <code>arabScriptCode</code> you
121
+ * should return the font used for Arabic characters for all of the input text,
122
+ * including the spaces. If, on the other hand, the input text contains characters
123
+ * which cannot be rendered by the font used for Arabic characters, but which can
124
+ * be rendered by another font, you should return that font for those characters.
125
+ *
126
+ * @param chars - the array of Unicode characters.
127
+ * @param offset - a pointer to the starting offset in the text. On exit this
128
+ * will be set the the limit offset of the text which can be
129
+ * rendered using the returned font.
130
+ * @param limit - the limit offset for the input text.
131
+ * @param script - the script hint.
132
+ * @param success - set to an error code if the arguments are illegal, or no font
133
+ * can be returned for some reason. May also be set to
134
+ * <code>LE_NO_SUBFONT_WARNING</code> if the subfont which
135
+ * was returned cannot render all of the text.
136
+ *
137
+ * @return an <code>LEFontInstance</code> for the sub font which can render the characters, or
138
+ * <code>NULL</code> if there is an error.
139
+ *
140
+ * @see LEScripts.h
141
+ *
142
+ * @deprecated ICU 54. See {@link icu::LayoutEngine}
143
+ */
144
+ virtual const LEFontInstance *getSubFont(const LEUnicode chars[], le_int32 *offset, le_int32 limit, le_int32 script, LEErrorCode &success) const;
145
+
146
+ //
147
+ // Font file access
148
+ //
149
+
150
+ /**
151
+ * This method reads a table from the font. Note that in general,
152
+ * it only makes sense to call this method on an <code>LEFontInstance</code>
153
+ * which represents a physical font - i.e. one which has been returned by
154
+ * <code>getSubFont()</code>. This is because each subfont in a composite font
155
+ * will have different tables, and there's no way to know which subfont to access.
156
+ *
157
+ * Subclasses which represent composite fonts should always return <code>NULL</code>.
158
+ *
159
+ * Note that implementing this function does not allow for range checking.
160
+ * Subclasses that desire the safety of range checking must implement the
161
+ * variation which has a length parameter.
162
+ *
163
+ * @param tableTag - the four byte table tag. (e.g. 'cmap')
164
+ *
165
+ * @return the address of the table in memory, or <code>NULL</code>
166
+ * if the table doesn't exist.
167
+ *
168
+ * @deprecated ICU 54. See {@link icu::LayoutEngine}
169
+ */
170
+ virtual const void *getFontTable(LETag tableTag) const = 0;
171
+
172
+ /**
173
+ * This method reads a table from the font. Note that in general,
174
+ * it only makes sense to call this method on an <code>LEFontInstance</code>
175
+ * which represents a physical font - i.e. one which has been returned by
176
+ * <code>getSubFont()</code>. This is because each subfont in a composite font
177
+ * will have different tables, and there's no way to know which subfont to access.
178
+ *
179
+ * Subclasses which represent composite fonts should always return <code>NULL</code>.
180
+ *
181
+ * This version sets a length, for range checking.
182
+ * Note that range checking can only be accomplished if this function is
183
+ * implemented in subclasses.
184
+ *
185
+ * @param tableTag - the four byte table tag. (e.g. 'cmap')
186
+ * @param length - ignored on entry, on exit will be the length of the table if known, or -1 if unknown.
187
+ * @return the address of the table in memory, or <code>NULL</code>
188
+ * if the table doesn't exist.
189
+ * @deprecated ICU 54. See {@link LayoutEngine}
190
+ */
191
+ virtual const void* getFontTable(LETag tableTag, size_t &length) const { length=-1; return getFontTable(tableTag); } /* -1 = unknown length */
192
+
193
+ /**
194
+ * This method is used to determine if the font can
195
+ * render the given character. This can usually be done
196
+ * by looking the character up in the font's character
197
+ * to glyph mapping.
198
+ *
199
+ * The default implementation of this method will return
200
+ * <code>TRUE</code> if <code>mapCharToGlyph(ch)</code>
201
+ * returns a non-zero value.
202
+ *
203
+ * @param ch - the character to be tested
204
+ *
205
+ * @return <code>TRUE</code> if the font can render ch.
206
+ *
207
+ * @deprecated ICU 54. See {@link icu::LayoutEngine}
208
+ */
209
+ virtual le_bool canDisplay(LEUnicode32 ch) const;
210
+
211
+ /**
212
+ * This method returns the number of design units in
213
+ * the font's EM square.
214
+ *
215
+ * @return the number of design units pre EM.
216
+ *
217
+ * @deprecated ICU 54. See {@link icu::LayoutEngine}
218
+ */
219
+ virtual le_int32 getUnitsPerEM() const = 0;
220
+
221
+ /**
222
+ * This method maps an array of character codes to an array of glyph
223
+ * indices, using the font's character to glyph map.
224
+ *
225
+ * The default implementation iterates over all of the characters and calls
226
+ * <code>mapCharToGlyph(ch, mapper)</code> on each one. It also handles surrogate
227
+ * characters, storing the glyph ID for the high surrogate, and a deleted glyph (0xFFFF)
228
+ * for the low surrogate.
229
+ *
230
+ * Most sublcasses will not need to implement this method.
231
+ *
232
+ * @param chars - the character array
233
+ * @param offset - the index of the first character
234
+ * @param count - the number of characters
235
+ * @param reverse - if <code>TRUE</code>, store the glyph indices in reverse order.
236
+ * @param mapper - the character mapper.
237
+ * @param filterZeroWidth - <code>TRUE</code> if ZWJ / ZWNJ characters should map to a glyph w/ no contours.
238
+ * @param glyphStorage - the object which contains the output glyph array
239
+ *
240
+ * @see LECharMapper
241
+ *
242
+ * @deprecated ICU 54. See {@link icu::LayoutEngine}
243
+ */
244
+ virtual void mapCharsToGlyphs(const LEUnicode chars[], le_int32 offset, le_int32 count, le_bool reverse, const LECharMapper *mapper, le_bool filterZeroWidth, LEGlyphStorage &glyphStorage) const;
245
+
246
+ /**
247
+ * This method maps a single character to a glyph index, using the
248
+ * font's character to glyph map. The default implementation of this
249
+ * method calls the mapper, and then calls <code>mapCharToGlyph(mappedCh)</code>.
250
+ *
251
+ * @param ch - the character
252
+ * @param mapper - the character mapper
253
+ * @param filterZeroWidth - <code>TRUE</code> if ZWJ / ZWNJ characters should map to a glyph w/ no contours.
254
+ *
255
+ * @return the glyph index
256
+ *
257
+ * @see LECharMapper
258
+ *
259
+ * @deprecated ICU 54. See {@link icu::LayoutEngine}
260
+ */
261
+ virtual LEGlyphID mapCharToGlyph(LEUnicode32 ch, const LECharMapper *mapper, le_bool filterZeroWidth) const;
262
+
263
+ /**
264
+ * This method maps a single character to a glyph index, using the
265
+ * font's character to glyph map. The default implementation of this
266
+ * method calls the mapper, and then calls <code>mapCharToGlyph(mappedCh)</code>.
267
+ *
268
+ * @param ch - the character
269
+ * @param mapper - the character mapper
270
+ *
271
+ * @return the glyph index
272
+ *
273
+ * @see LECharMapper
274
+ *
275
+ * @deprecated ICU 54. See {@link icu::LayoutEngine}
276
+ */
277
+ virtual LEGlyphID mapCharToGlyph(LEUnicode32 ch, const LECharMapper *mapper) const;
278
+
279
+ /**
280
+ * This method maps a single character to a glyph index, using the
281
+ * font's character to glyph map. There is no default implementation
282
+ * of this method because it requires information about the platform
283
+ * font implementation.
284
+ *
285
+ * @param ch - the character
286
+ *
287
+ * @return the glyph index
288
+ *
289
+ * @deprecated ICU 54. See {@link icu::LayoutEngine}
290
+ */
291
+ virtual LEGlyphID mapCharToGlyph(LEUnicode32 ch) const = 0;
292
+
293
+ //
294
+ // Metrics
295
+ //
296
+
297
+ /**
298
+ * This method gets the X and Y advance of a particular glyph, in pixels.
299
+ *
300
+ * @param glyph - the glyph index
301
+ * @param advance - the X and Y pixel values will be stored here
302
+ *
303
+ * @deprecated ICU 54. See {@link icu::LayoutEngine}
304
+ */
305
+ virtual void getGlyphAdvance(LEGlyphID glyph, LEPoint &advance) const = 0;
306
+
307
+ /**
308
+ * This method gets the hinted X and Y pixel coordinates of a particular
309
+ * point in the outline of the given glyph.
310
+ *
311
+ * @param glyph - the glyph index
312
+ * @param pointNumber - the number of the point
313
+ * @param point - the point's X and Y pixel values will be stored here
314
+ *
315
+ * @return <code>TRUE</code> if the point coordinates could be stored.
316
+ *
317
+ * @deprecated ICU 54. See {@link icu::LayoutEngine}
318
+ */
319
+ virtual le_bool getGlyphPoint(LEGlyphID glyph, le_int32 pointNumber, LEPoint &point) const = 0;
320
+
321
+ /**
322
+ * This method returns the width of the font's EM square
323
+ * in pixels.
324
+ *
325
+ * @return the pixel width of the EM square
326
+ *
327
+ * @deprecated ICU 54. See {@link icu::LayoutEngine}
328
+ */
329
+ virtual float getXPixelsPerEm() const = 0;
330
+
331
+ /**
332
+ * This method returns the height of the font's EM square
333
+ * in pixels.
334
+ *
335
+ * @return the pixel height of the EM square
336
+ *
337
+ * @deprecated ICU 54. See {@link icu::LayoutEngine}
338
+ */
339
+ virtual float getYPixelsPerEm() const = 0;
340
+
341
+ /**
342
+ * This method converts font design units in the
343
+ * X direction to points.
344
+ *
345
+ * @param xUnits - design units in the X direction
346
+ *
347
+ * @return points in the X direction
348
+ *
349
+ * @deprecated ICU 54. See {@link icu::LayoutEngine}
350
+ */
351
+ virtual float xUnitsToPoints(float xUnits) const;
352
+
353
+ /**
354
+ * This method converts font design units in the
355
+ * Y direction to points.
356
+ *
357
+ * @param yUnits - design units in the Y direction
358
+ *
359
+ * @return points in the Y direction
360
+ *
361
+ * @deprecated ICU 54. See {@link icu::LayoutEngine}
362
+ */
363
+ virtual float yUnitsToPoints(float yUnits) const;
364
+
365
+ /**
366
+ * This method converts font design units to points.
367
+ *
368
+ * @param units - X and Y design units
369
+ * @param points - set to X and Y points
370
+ *
371
+ * @deprecated ICU 54. See {@link icu::LayoutEngine}
372
+ */
373
+ virtual void unitsToPoints(LEPoint &units, LEPoint &points) const;
374
+
375
+ /**
376
+ * This method converts pixels in the
377
+ * X direction to font design units.
378
+ *
379
+ * @param xPixels - pixels in the X direction
380
+ *
381
+ * @return font design units in the X direction
382
+ *
383
+ * @deprecated ICU 54. See {@link icu::LayoutEngine}
384
+ */
385
+ virtual float xPixelsToUnits(float xPixels) const;
386
+
387
+ /**
388
+ * This method converts pixels in the
389
+ * Y direction to font design units.
390
+ *
391
+ * @param yPixels - pixels in the Y direction
392
+ *
393
+ * @return font design units in the Y direction
394
+ *
395
+ * @deprecated ICU 54. See {@link icu::LayoutEngine}
396
+ */
397
+ virtual float yPixelsToUnits(float yPixels) const;
398
+
399
+ /**
400
+ * This method converts pixels to font design units.
401
+ *
402
+ * @param pixels - X and Y pixel
403
+ * @param units - set to X and Y font design units
404
+ *
405
+ * @deprecated ICU 54. See {@link icu::LayoutEngine}
406
+ */
407
+ virtual void pixelsToUnits(LEPoint &pixels, LEPoint &units) const;
408
+
409
+ /**
410
+ * Get the X scale factor from the font's transform. The default
411
+ * implementation of <code>transformFunits()</code> will call this method.
412
+ *
413
+ * @return the X scale factor.
414
+ *
415
+ *
416
+ * @see transformFunits
417
+ *
418
+ * @deprecated ICU 54. See {@link icu::LayoutEngine}
419
+ */
420
+ virtual float getScaleFactorX() const = 0;
421
+
422
+ /**
423
+ * Get the Y scale factor from the font's transform. The default
424
+ * implementation of <code>transformFunits()</code> will call this method.
425
+ *
426
+ * @return the Yscale factor.
427
+ *
428
+ * @see transformFunits
429
+ *
430
+ * @deprecated ICU 54. See {@link icu::LayoutEngine}
431
+ */
432
+ virtual float getScaleFactorY() const = 0;
433
+
434
+ /**
435
+ * This method transforms an X, Y point in font design units to a
436
+ * pixel coordinate, applying the font's transform. The default
437
+ * implementation of this method calls <code>getScaleFactorX()</code>
438
+ * and <code>getScaleFactorY()</code>.
439
+ *
440
+ * @param xFunits - the X coordinate in font design units
441
+ * @param yFunits - the Y coordinate in font design units
442
+ * @param pixels - the tranformed co-ordinate in pixels
443
+ *
444
+ * @see getScaleFactorX
445
+ * @see getScaleFactorY
446
+ *
447
+ * @deprecated ICU 54. See {@link icu::LayoutEngine}
448
+ */
449
+ virtual void transformFunits(float xFunits, float yFunits, LEPoint &pixels) const;
450
+
451
+ /**
452
+ * This is a convenience method used to convert
453
+ * values in a 16.16 fixed point format to floating point.
454
+ *
455
+ * @param fixed - the fixed point value
456
+ *
457
+ * @return the floating point value
458
+ *
459
+ * @deprecated ICU 54. See {@link icu::LayoutEngine}
460
+ */
461
+ static inline float fixedToFloat(le_int32 fixed);
462
+
463
+ /**
464
+ * This is a convenience method used to convert
465
+ * floating point values to 16.16 fixed point format.
466
+ *
467
+ * @param theFloat - the floating point value
468
+ *
469
+ * @return the fixed point value
470
+ *
471
+ * @deprecated ICU 54. See {@link icu::LayoutEngine}
472
+ */
473
+ static inline le_int32 floatToFixed(float theFloat);
474
+
475
+ //
476
+ // These methods won't ever be called by the LayoutEngine,
477
+ // but are useful for clients of <code>LEFontInstance</code> who
478
+ // need to render text.
479
+ //
480
+
481
+ /**
482
+ * Get the font's ascent.
483
+ *
484
+ * @return the font's ascent, in points. This value
485
+ * will always be positive.
486
+ *
487
+ * @deprecated ICU 54. See {@link icu::LayoutEngine}
488
+ */
489
+ virtual le_int32 getAscent() const = 0;
490
+
491
+ /**
492
+ * Get the font's descent.
493
+ *
494
+ * @return the font's descent, in points. This value
495
+ * will always be positive.
496
+ *
497
+ * @deprecated ICU 54. See {@link icu::LayoutEngine}
498
+ */
499
+ virtual le_int32 getDescent() const = 0;
500
+
501
+ /**
502
+ * Get the font's leading.
503
+ *
504
+ * @return the font's leading, in points. This value
505
+ * will always be positive.
506
+ *
507
+ * @deprecated ICU 54. See {@link icu::LayoutEngine}
508
+ */
509
+ virtual le_int32 getLeading() const = 0;
510
+
511
+ /**
512
+ * Get the line height required to display text in
513
+ * this font. The default implementation of this method
514
+ * returns the sum of the ascent, descent, and leading.
515
+ *
516
+ * @return the line height, in points. This vaule will
517
+ * always be positive.
518
+ *
519
+ * @deprecated ICU 54. See {@link icu::LayoutEngine}
520
+ */
521
+ virtual le_int32 getLineHeight() const;
522
+
523
+ /**
524
+ * ICU "poor man's RTTI", returns a UClassID for the actual class.
525
+ *
526
+ * @deprecated ICU 54. See {@link icu::LayoutEngine}
527
+ */
528
+ virtual UClassID getDynamicClassID() const;
529
+
530
+ /**
531
+ * ICU "poor man's RTTI", returns a UClassID for this class.
532
+ *
533
+ * @deprecated ICU 54. See {@link icu::LayoutEngine}
534
+ */
535
+ static UClassID getStaticClassID();
536
+
537
+ };
538
+
539
+ inline float LEFontInstance::fixedToFloat(le_int32 fixed)
540
+ {
541
+ return (float) (fixed / 65536.0);
542
+ }
543
+
544
+ inline le_int32 LEFontInstance::floatToFixed(float theFloat)
545
+ {
546
+ return (le_int32) (theFloat * 65536.0);
547
+ }
548
+
549
+ U_NAMESPACE_END
550
+ #endif