pango 3.1.0-x86-mingw32 → 3.1.1-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (293) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +9 -4
  3. data/ext/pango/rbpangolayoutline.c +6 -2
  4. data/lib/2.2/pango.so +0 -0
  5. data/lib/2.3/pango.so +0 -0
  6. data/lib/2.4/pango.so +0 -0
  7. data/sample/layout.rb +1 -1
  8. data/vendor/local/bin/derb.exe +0 -0
  9. data/vendor/local/bin/genbrk.exe +0 -0
  10. data/vendor/local/bin/genccode.exe +0 -0
  11. data/vendor/local/bin/gencfu.exe +0 -0
  12. data/vendor/local/bin/gencmn.exe +0 -0
  13. data/vendor/local/bin/gencnval.exe +0 -0
  14. data/vendor/local/bin/gendict.exe +0 -0
  15. data/vendor/local/bin/gennorm2.exe +0 -0
  16. data/vendor/local/bin/genrb.exe +0 -0
  17. data/vendor/local/bin/gensprep.exe +0 -0
  18. data/vendor/local/bin/hb-ot-shape-closure.exe +0 -0
  19. data/vendor/local/bin/hb-shape.exe +0 -0
  20. data/vendor/local/bin/hb-view.exe +0 -0
  21. data/vendor/local/bin/icu-config +18 -13
  22. data/vendor/local/bin/icuinfo.exe +0 -0
  23. data/vendor/local/bin/icupkg.exe +0 -0
  24. data/vendor/local/bin/libharfbuzz-0.dll +0 -0
  25. data/vendor/local/bin/libpango-1.0-0.dll +0 -0
  26. data/vendor/local/bin/libpangocairo-1.0-0.dll +0 -0
  27. data/vendor/local/bin/libpangoft2-1.0-0.dll +0 -0
  28. data/vendor/local/bin/libpangowin32-1.0-0.dll +0 -0
  29. data/vendor/local/bin/makeconv.exe +0 -0
  30. data/vendor/local/bin/pango-view.exe +0 -0
  31. data/vendor/local/bin/pkgdata.exe +0 -0
  32. data/vendor/local/bin/uconv.exe +0 -0
  33. data/vendor/local/include/harfbuzz/hb-font.h +5 -0
  34. data/vendor/local/include/harfbuzz/hb-glib.h +2 -1
  35. data/vendor/local/include/harfbuzz/hb-ot-layout.h +19 -0
  36. data/vendor/local/include/harfbuzz/hb-shape-plan.h +19 -0
  37. data/vendor/local/include/harfbuzz/hb-version.h +3 -3
  38. data/vendor/local/include/unicode/alphaindex.h +2 -0
  39. data/vendor/local/include/unicode/appendable.h +2 -0
  40. data/vendor/local/include/unicode/basictz.h +2 -0
  41. data/vendor/local/include/unicode/brkiter.h +7 -0
  42. data/vendor/local/include/unicode/bytestream.h +2 -0
  43. data/vendor/local/include/unicode/bytestrie.h +3 -2
  44. data/vendor/local/include/unicode/bytestriebuilder.h +4 -4
  45. data/vendor/local/include/unicode/calendar.h +2 -0
  46. data/vendor/local/include/unicode/caniter.h +2 -0
  47. data/vendor/local/include/unicode/chariter.h +2 -0
  48. data/vendor/local/include/unicode/choicfmt.h +2 -0
  49. data/vendor/local/include/unicode/coleitr.h +2 -0
  50. data/vendor/local/include/unicode/coll.h +2 -0
  51. data/vendor/local/include/unicode/compactdecimalformat.h +4 -3
  52. data/vendor/local/include/unicode/curramt.h +2 -0
  53. data/vendor/local/include/unicode/currpinf.h +2 -0
  54. data/vendor/local/include/unicode/currunit.h +2 -0
  55. data/vendor/local/include/unicode/datefmt.h +2 -0
  56. data/vendor/local/include/unicode/dbbi.h +2 -0
  57. data/vendor/local/include/unicode/dcfmtsym.h +2 -0
  58. data/vendor/local/include/unicode/decimfmt.h +9 -5
  59. data/vendor/local/include/unicode/docmain.h +3 -1
  60. data/vendor/local/include/unicode/dtfmtsym.h +26 -14
  61. data/vendor/local/include/unicode/dtintrv.h +2 -0
  62. data/vendor/local/include/unicode/dtitvfmt.h +2 -0
  63. data/vendor/local/include/unicode/dtitvinf.h +8 -3
  64. data/vendor/local/include/unicode/dtptngen.h +13 -9
  65. data/vendor/local/include/unicode/dtrule.h +2 -0
  66. data/vendor/local/include/unicode/enumset.h +2 -0
  67. data/vendor/local/include/unicode/errorcode.h +2 -0
  68. data/vendor/local/include/unicode/fieldpos.h +5 -2
  69. data/vendor/local/include/unicode/filteredbrk.h +10 -12
  70. data/vendor/local/include/unicode/fmtable.h +4 -2
  71. data/vendor/local/include/unicode/format.h +2 -0
  72. data/vendor/local/include/unicode/fpositer.h +2 -0
  73. data/vendor/local/include/unicode/gender.h +2 -0
  74. data/vendor/local/include/unicode/gregocal.h +2 -0
  75. data/vendor/local/include/unicode/icudataver.h +2 -0
  76. data/vendor/local/include/unicode/icuplug.h +12 -2
  77. data/vendor/local/include/unicode/idna.h +6 -4
  78. data/vendor/local/include/unicode/listformatter.h +2 -0
  79. data/vendor/local/include/unicode/localpointer.h +19 -28
  80. data/vendor/local/include/unicode/locdspnm.h +2 -0
  81. data/vendor/local/include/unicode/locid.h +2 -0
  82. data/vendor/local/include/unicode/measfmt.h +21 -2
  83. data/vendor/local/include/unicode/measunit.h +50 -24
  84. data/vendor/local/include/unicode/measure.h +2 -0
  85. data/vendor/local/include/unicode/messagepattern.h +2 -0
  86. data/vendor/local/include/unicode/msgfmt.h +2 -0
  87. data/vendor/local/include/unicode/normalizer2.h +2 -0
  88. data/vendor/local/include/unicode/normlzr.h +4 -4
  89. data/vendor/local/include/unicode/numfmt.h +8 -6
  90. data/vendor/local/include/unicode/numsys.h +2 -0
  91. data/vendor/local/include/unicode/parseerr.h +2 -0
  92. data/vendor/local/include/unicode/parsepos.h +2 -0
  93. data/vendor/local/include/unicode/platform.h +8 -0
  94. data/vendor/local/include/unicode/plurfmt.h +2 -0
  95. data/vendor/local/include/unicode/plurrule.h +2 -0
  96. data/vendor/local/include/unicode/ptypes.h +2 -0
  97. data/vendor/local/include/unicode/putil.h +2 -0
  98. data/vendor/local/include/unicode/rbbi.h +18 -66
  99. data/vendor/local/include/unicode/rbnf.h +8 -0
  100. data/vendor/local/include/unicode/rbtz.h +2 -0
  101. data/vendor/local/include/unicode/regex.h +2 -0
  102. data/vendor/local/include/unicode/region.h +3 -1
  103. data/vendor/local/include/unicode/reldatefmt.h +19 -9
  104. data/vendor/local/include/unicode/rep.h +2 -0
  105. data/vendor/local/include/unicode/resbund.h +2 -0
  106. data/vendor/local/include/unicode/schriter.h +2 -0
  107. data/vendor/local/include/unicode/scientificnumberformatter.h +2 -0
  108. data/vendor/local/include/unicode/search.h +2 -0
  109. data/vendor/local/include/unicode/selfmt.h +2 -0
  110. data/vendor/local/include/unicode/simpleformatter.h +2 -0
  111. data/vendor/local/include/unicode/simpletz.h +2 -0
  112. data/vendor/local/include/unicode/smpdtfmt.h +9 -1
  113. data/vendor/local/include/unicode/sortkey.h +2 -0
  114. data/vendor/local/include/unicode/std_string.h +2 -0
  115. data/vendor/local/include/unicode/strenum.h +2 -0
  116. data/vendor/local/include/unicode/stringpiece.h +5 -3
  117. data/vendor/local/include/unicode/stringtriebuilder.h +13 -1
  118. data/vendor/local/include/unicode/stsearch.h +2 -0
  119. data/vendor/local/include/unicode/symtable.h +2 -0
  120. data/vendor/local/include/unicode/tblcoll.h +3 -1
  121. data/vendor/local/include/unicode/timezone.h +2 -0
  122. data/vendor/local/include/unicode/tmunit.h +8 -0
  123. data/vendor/local/include/unicode/tmutamt.h +2 -0
  124. data/vendor/local/include/unicode/tmutfmt.h +5 -0
  125. data/vendor/local/include/unicode/translit.h +2 -0
  126. data/vendor/local/include/unicode/tzfmt.h +2 -0
  127. data/vendor/local/include/unicode/tznames.h +16 -2
  128. data/vendor/local/include/unicode/tzrule.h +2 -0
  129. data/vendor/local/include/unicode/tztrans.h +2 -0
  130. data/vendor/local/include/unicode/ubidi.h +20 -8
  131. data/vendor/local/include/unicode/ubiditransform.h +321 -0
  132. data/vendor/local/include/unicode/ubrk.h +26 -7
  133. data/vendor/local/include/unicode/ucal.h +8 -4
  134. data/vendor/local/include/unicode/ucasemap.h +2 -0
  135. data/vendor/local/include/unicode/ucat.h +2 -0
  136. data/vendor/local/include/unicode/uchar.h +244 -17
  137. data/vendor/local/include/unicode/ucharstrie.h +2 -0
  138. data/vendor/local/include/unicode/ucharstriebuilder.h +2 -0
  139. data/vendor/local/include/unicode/uchriter.h +2 -0
  140. data/vendor/local/include/unicode/uclean.h +2 -0
  141. data/vendor/local/include/unicode/ucnv.h +8 -1
  142. data/vendor/local/include/unicode/ucnv_cb.h +2 -0
  143. data/vendor/local/include/unicode/ucnv_err.h +2 -0
  144. data/vendor/local/include/unicode/ucnvsel.h +2 -0
  145. data/vendor/local/include/unicode/ucol.h +28 -11
  146. data/vendor/local/include/unicode/ucoleitr.h +2 -0
  147. data/vendor/local/include/unicode/uconfig.h +2 -0
  148. data/vendor/local/include/unicode/ucsdet.h +2 -0
  149. data/vendor/local/include/unicode/ucurr.h +5 -1
  150. data/vendor/local/include/unicode/udat.h +13 -11
  151. data/vendor/local/include/unicode/udata.h +8 -1
  152. data/vendor/local/include/unicode/udateintervalformat.h +2 -0
  153. data/vendor/local/include/unicode/udatpg.h +15 -2
  154. data/vendor/local/include/unicode/udisplaycontext.h +34 -2
  155. data/vendor/local/include/unicode/uenum.h +2 -0
  156. data/vendor/local/include/unicode/ufieldpositer.h +4 -2
  157. data/vendor/local/include/unicode/uformattable.h +9 -1
  158. data/vendor/local/include/unicode/ugender.h +2 -0
  159. data/vendor/local/include/unicode/uidna.h +2 -0
  160. data/vendor/local/include/unicode/uiter.h +2 -0
  161. data/vendor/local/include/unicode/uldnames.h +2 -0
  162. data/vendor/local/include/unicode/ulistformatter.h +2 -0
  163. data/vendor/local/include/unicode/uloc.h +9 -3
  164. data/vendor/local/include/unicode/ulocdata.h +20 -2
  165. data/vendor/local/include/unicode/umachine.h +25 -0
  166. data/vendor/local/include/unicode/umisc.h +2 -0
  167. data/vendor/local/include/unicode/umsg.h +2 -0
  168. data/vendor/local/include/unicode/unifilt.h +2 -0
  169. data/vendor/local/include/unicode/unifunct.h +2 -0
  170. data/vendor/local/include/unicode/unimatch.h +2 -0
  171. data/vendor/local/include/unicode/unirepl.h +2 -0
  172. data/vendor/local/include/unicode/uniset.h +3 -1
  173. data/vendor/local/include/unicode/unistr.h +12 -14
  174. data/vendor/local/include/unicode/unorm.h +6 -2
  175. data/vendor/local/include/unicode/unorm2.h +2 -0
  176. data/vendor/local/include/unicode/unum.h +28 -10
  177. data/vendor/local/include/unicode/unumsys.h +2 -0
  178. data/vendor/local/include/unicode/uobject.h +2 -0
  179. data/vendor/local/include/unicode/upluralrules.h +6 -2
  180. data/vendor/local/include/unicode/uregex.h +2 -0
  181. data/vendor/local/include/unicode/uregion.h +6 -2
  182. data/vendor/local/include/unicode/ureldatefmt.h +13 -7
  183. data/vendor/local/include/unicode/urename.h +16 -4
  184. data/vendor/local/include/unicode/urep.h +2 -0
  185. data/vendor/local/include/unicode/ures.h +7 -1
  186. data/vendor/local/include/unicode/uscript.h +41 -29
  187. data/vendor/local/include/unicode/usearch.h +10 -4
  188. data/vendor/local/include/unicode/uset.h +5 -1
  189. data/vendor/local/include/unicode/usetiter.h +2 -0
  190. data/vendor/local/include/unicode/ushape.h +2 -0
  191. data/vendor/local/include/unicode/uspoof.h +876 -363
  192. data/vendor/local/include/unicode/usprep.h +2 -0
  193. data/vendor/local/include/unicode/ustdio.h +2 -0
  194. data/vendor/local/include/unicode/ustream.h +2 -0
  195. data/vendor/local/include/unicode/ustring.h +2 -0
  196. data/vendor/local/include/unicode/ustringtrie.h +2 -0
  197. data/vendor/local/include/unicode/utext.h +2 -0
  198. data/vendor/local/include/unicode/utf.h +2 -0
  199. data/vendor/local/include/unicode/utf16.h +2 -0
  200. data/vendor/local/include/unicode/utf32.h +2 -0
  201. data/vendor/local/include/unicode/utf8.h +2 -0
  202. data/vendor/local/include/unicode/utf_old.h +2 -0
  203. data/vendor/local/include/unicode/utmscale.h +2 -0
  204. data/vendor/local/include/unicode/utrace.h +20 -0
  205. data/vendor/local/include/unicode/utrans.h +2 -0
  206. data/vendor/local/include/unicode/utypes.h +71 -97
  207. data/vendor/local/include/unicode/uvernum.h +13 -12
  208. data/vendor/local/include/unicode/uversion.h +2 -0
  209. data/vendor/local/include/unicode/vtzone.h +2 -0
  210. data/vendor/local/lib/icu/{57.1 → 58.2}/Makefile.inc +8 -9
  211. data/vendor/local/lib/icu/{57.1 → 58.2}/pkgdata.inc +3 -3
  212. data/vendor/local/lib/icu/Makefile.inc +8 -9
  213. data/vendor/local/lib/icu/pkgdata.inc +3 -3
  214. data/vendor/local/lib/icudt.dll +0 -0
  215. data/vendor/local/lib/icudt58.dll +0 -0
  216. data/vendor/local/lib/icuin.dll +0 -0
  217. data/vendor/local/lib/icuin58.dll +0 -0
  218. data/vendor/local/lib/icuio.dll +0 -0
  219. data/vendor/local/lib/icuio58.dll +0 -0
  220. data/vendor/local/lib/icutest.dll +0 -0
  221. data/vendor/local/lib/{icutest57.dll → icutest58.dll} +0 -0
  222. data/vendor/local/lib/icutu.dll +0 -0
  223. data/vendor/local/lib/icutu58.dll +0 -0
  224. data/vendor/local/lib/icuuc.dll +0 -0
  225. data/vendor/local/lib/icuuc58.dll +0 -0
  226. data/vendor/local/lib/libharfbuzz-icu.a +0 -0
  227. data/vendor/local/lib/libharfbuzz-icu.la +4 -4
  228. data/vendor/local/lib/libharfbuzz.dll.a +0 -0
  229. data/vendor/local/lib/libharfbuzz.la +3 -3
  230. data/vendor/local/lib/libicudt.dll.a +0 -0
  231. data/vendor/local/lib/{icudt57.dll → libicudt58.dll} +0 -0
  232. data/vendor/local/lib/libicuin.dll.a +0 -0
  233. data/vendor/local/lib/libicuio.dll.a +0 -0
  234. data/vendor/local/lib/libicutest.dll.a +0 -0
  235. data/vendor/local/lib/libicutu.dll.a +0 -0
  236. data/vendor/local/lib/libicuuc.dll.a +0 -0
  237. data/vendor/local/lib/libpango-1.0.dll.a +0 -0
  238. data/vendor/local/lib/libpangocairo-1.0.dll.a +0 -0
  239. data/vendor/local/lib/libpangoft2-1.0.dll.a +0 -0
  240. data/vendor/local/lib/libpangowin32-1.0.dll.a +0 -0
  241. data/vendor/local/lib/pkgconfig/harfbuzz-icu.pc +1 -1
  242. data/vendor/local/lib/pkgconfig/harfbuzz.pc +2 -2
  243. data/vendor/local/lib/pkgconfig/icu-i18n.pc +8 -6
  244. data/vendor/local/lib/pkgconfig/icu-io.pc +8 -6
  245. data/vendor/local/lib/pkgconfig/icu-uc.pc +8 -6
  246. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-version.html +3 -3
  247. data/vendor/local/share/gtk-doc/html/harfbuzz/pt02.html +1 -1
  248. data/vendor/local/share/icu/{57.1 → 58.2}/LICENSE +52 -60
  249. data/vendor/local/share/icu/{57.1 → 58.2}/config/mh-mingw +4 -2
  250. data/vendor/local/share/icu/{57.1 → 58.2}/install-sh +0 -0
  251. data/vendor/local/share/icu/{57.1 → 58.2}/mkinstalldirs +2 -0
  252. data/vendor/local/share/man/man1/derb.1 +4 -2
  253. data/vendor/local/share/man/man1/genbrk.1 +4 -2
  254. data/vendor/local/share/man/man1/gencfu.1 +3 -1
  255. data/vendor/local/share/man/man1/gencnval.1 +5 -3
  256. data/vendor/local/share/man/man1/gendict.1 +4 -2
  257. data/vendor/local/share/man/man1/genrb.1 +5 -3
  258. data/vendor/local/share/man/man1/icu-config.1 +4 -5
  259. data/vendor/local/share/man/man1/makeconv.1 +5 -3
  260. data/vendor/local/share/man/man1/pkgdata.1 +4 -2
  261. data/vendor/local/share/man/man1/uconv.1 +4 -2
  262. data/vendor/local/share/man/man8/genccode.8 +4 -2
  263. data/vendor/local/share/man/man8/gencmn.8 +5 -3
  264. data/vendor/local/share/man/man8/gensprep.8 +5 -3
  265. data/vendor/local/share/man/man8/icupkg.8 +3 -1
  266. metadata +23 -40
  267. data/vendor/local/include/layout/LEFontInstance.h +0 -524
  268. data/vendor/local/include/layout/LEGlyphFilter.h +0 -45
  269. data/vendor/local/include/layout/LEGlyphStorage.h +0 -546
  270. data/vendor/local/include/layout/LEInsertionList.h +0 -177
  271. data/vendor/local/include/layout/LELanguages.h +0 -109
  272. data/vendor/local/include/layout/LEScripts.h +0 -204
  273. data/vendor/local/include/layout/LESwaps.h +0 -100
  274. data/vendor/local/include/layout/LETableReference.h +0 -435
  275. data/vendor/local/include/layout/LETypes.h +0 -728
  276. data/vendor/local/include/layout/LayoutEngine.h +0 -518
  277. data/vendor/local/include/layout/ParagraphLayout.h +0 -747
  278. data/vendor/local/include/layout/RunArrays.h +0 -676
  279. data/vendor/local/include/layout/loengine.h +0 -225
  280. data/vendor/local/include/layout/playout.h +0 -466
  281. data/vendor/local/include/layout/plruns.h +0 -441
  282. data/vendor/local/lib/icuin57.dll +0 -0
  283. data/vendor/local/lib/icuio57.dll +0 -0
  284. data/vendor/local/lib/icule.dll +0 -0
  285. data/vendor/local/lib/icule57.dll +0 -0
  286. data/vendor/local/lib/iculx.dll +0 -0
  287. data/vendor/local/lib/iculx57.dll +0 -0
  288. data/vendor/local/lib/icutu57.dll +0 -0
  289. data/vendor/local/lib/icuuc57.dll +0 -0
  290. data/vendor/local/lib/libicule.dll.a +0 -0
  291. data/vendor/local/lib/libiculx.dll.a +0 -0
  292. data/vendor/local/lib/pkgconfig/icu-le.pc +0 -38
  293. data/vendor/local/lib/pkgconfig/icu-lx.pc +0 -38
@@ -1,524 +0,0 @@
1
-
2
- /*
3
- *
4
- * (C) Copyright IBM Corp. 1998-2015 - 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
- * @param tableTag - the four byte table tag. (e.g. 'cmap')
160
- * @param length - ignored on entry, on exit will be the length of the table if known, or -1 if unknown.
161
- * @return the address of the table in memory, or <code>NULL</code>
162
- * if the table doesn't exist.
163
- * @deprecated ICU 54. See {@link LayoutEngine}
164
- */
165
- virtual const void* getFontTable(LETag tableTag, size_t &length) const = 0;
166
-
167
- /**
168
- * This method is used to determine if the font can
169
- * render the given character. This can usually be done
170
- * by looking the character up in the font's character
171
- * to glyph mapping.
172
- *
173
- * The default implementation of this method will return
174
- * <code>TRUE</code> if <code>mapCharToGlyph(ch)</code>
175
- * returns a non-zero value.
176
- *
177
- * @param ch - the character to be tested
178
- *
179
- * @return <code>TRUE</code> if the font can render ch.
180
- *
181
- * @deprecated ICU 54. See {@link icu::LayoutEngine}
182
- */
183
- virtual le_bool canDisplay(LEUnicode32 ch) const;
184
-
185
- /**
186
- * This method returns the number of design units in
187
- * the font's EM square.
188
- *
189
- * @return the number of design units pre EM.
190
- *
191
- * @deprecated ICU 54. See {@link icu::LayoutEngine}
192
- */
193
- virtual le_int32 getUnitsPerEM() const = 0;
194
-
195
- /**
196
- * This method maps an array of character codes to an array of glyph
197
- * indices, using the font's character to glyph map.
198
- *
199
- * The default implementation iterates over all of the characters and calls
200
- * <code>mapCharToGlyph(ch, mapper)</code> on each one. It also handles surrogate
201
- * characters, storing the glyph ID for the high surrogate, and a deleted glyph (0xFFFF)
202
- * for the low surrogate.
203
- *
204
- * Most sublcasses will not need to implement this method.
205
- *
206
- * @param chars - the character array
207
- * @param offset - the index of the first character
208
- * @param count - the number of characters
209
- * @param reverse - if <code>TRUE</code>, store the glyph indices in reverse order.
210
- * @param mapper - the character mapper.
211
- * @param filterZeroWidth - <code>TRUE</code> if ZWJ / ZWNJ characters should map to a glyph w/ no contours.
212
- * @param glyphStorage - the object which contains the output glyph array
213
- *
214
- * @see LECharMapper
215
- *
216
- * @deprecated ICU 54. See {@link icu::LayoutEngine}
217
- */
218
- virtual void mapCharsToGlyphs(const LEUnicode chars[], le_int32 offset, le_int32 count, le_bool reverse, const LECharMapper *mapper, le_bool filterZeroWidth, LEGlyphStorage &glyphStorage) const;
219
-
220
- /**
221
- * This method maps a single character to a glyph index, using the
222
- * font's character to glyph map. The default implementation of this
223
- * method calls the mapper, and then calls <code>mapCharToGlyph(mappedCh)</code>.
224
- *
225
- * @param ch - the character
226
- * @param mapper - the character mapper
227
- * @param filterZeroWidth - <code>TRUE</code> if ZWJ / ZWNJ characters should map to a glyph w/ no contours.
228
- *
229
- * @return the glyph index
230
- *
231
- * @see LECharMapper
232
- *
233
- * @deprecated ICU 54. See {@link icu::LayoutEngine}
234
- */
235
- virtual LEGlyphID mapCharToGlyph(LEUnicode32 ch, const LECharMapper *mapper, le_bool filterZeroWidth) const;
236
-
237
- /**
238
- * This method maps a single character to a glyph index, using the
239
- * font's character to glyph map. The default implementation of this
240
- * method calls the mapper, and then calls <code>mapCharToGlyph(mappedCh)</code>.
241
- *
242
- * @param ch - the character
243
- * @param mapper - the character mapper
244
- *
245
- * @return the glyph index
246
- *
247
- * @see LECharMapper
248
- *
249
- * @deprecated ICU 54. See {@link icu::LayoutEngine}
250
- */
251
- virtual LEGlyphID mapCharToGlyph(LEUnicode32 ch, const LECharMapper *mapper) const;
252
-
253
- /**
254
- * This method maps a single character to a glyph index, using the
255
- * font's character to glyph map. There is no default implementation
256
- * of this method because it requires information about the platform
257
- * font implementation.
258
- *
259
- * @param ch - the character
260
- *
261
- * @return the glyph index
262
- *
263
- * @deprecated ICU 54. See {@link icu::LayoutEngine}
264
- */
265
- virtual LEGlyphID mapCharToGlyph(LEUnicode32 ch) const = 0;
266
-
267
- //
268
- // Metrics
269
- //
270
-
271
- /**
272
- * This method gets the X and Y advance of a particular glyph, in pixels.
273
- *
274
- * @param glyph - the glyph index
275
- * @param advance - the X and Y pixel values will be stored here
276
- *
277
- * @deprecated ICU 54. See {@link icu::LayoutEngine}
278
- */
279
- virtual void getGlyphAdvance(LEGlyphID glyph, LEPoint &advance) const = 0;
280
-
281
- /**
282
- * This method gets the hinted X and Y pixel coordinates of a particular
283
- * point in the outline of the given glyph.
284
- *
285
- * @param glyph - the glyph index
286
- * @param pointNumber - the number of the point
287
- * @param point - the point's X and Y pixel values will be stored here
288
- *
289
- * @return <code>TRUE</code> if the point coordinates could be stored.
290
- *
291
- * @deprecated ICU 54. See {@link icu::LayoutEngine}
292
- */
293
- virtual le_bool getGlyphPoint(LEGlyphID glyph, le_int32 pointNumber, LEPoint &point) const = 0;
294
-
295
- /**
296
- * This method returns the width of the font's EM square
297
- * in pixels.
298
- *
299
- * @return the pixel width of the EM square
300
- *
301
- * @deprecated ICU 54. See {@link icu::LayoutEngine}
302
- */
303
- virtual float getXPixelsPerEm() const = 0;
304
-
305
- /**
306
- * This method returns the height of the font's EM square
307
- * in pixels.
308
- *
309
- * @return the pixel height of the EM square
310
- *
311
- * @deprecated ICU 54. See {@link icu::LayoutEngine}
312
- */
313
- virtual float getYPixelsPerEm() const = 0;
314
-
315
- /**
316
- * This method converts font design units in the
317
- * X direction to points.
318
- *
319
- * @param xUnits - design units in the X direction
320
- *
321
- * @return points in the X direction
322
- *
323
- * @deprecated ICU 54. See {@link icu::LayoutEngine}
324
- */
325
- virtual float xUnitsToPoints(float xUnits) const;
326
-
327
- /**
328
- * This method converts font design units in the
329
- * Y direction to points.
330
- *
331
- * @param yUnits - design units in the Y direction
332
- *
333
- * @return points in the Y direction
334
- *
335
- * @deprecated ICU 54. See {@link icu::LayoutEngine}
336
- */
337
- virtual float yUnitsToPoints(float yUnits) const;
338
-
339
- /**
340
- * This method converts font design units to points.
341
- *
342
- * @param units - X and Y design units
343
- * @param points - set to X and Y points
344
- *
345
- * @deprecated ICU 54. See {@link icu::LayoutEngine}
346
- */
347
- virtual void unitsToPoints(LEPoint &units, LEPoint &points) const;
348
-
349
- /**
350
- * This method converts pixels in the
351
- * X direction to font design units.
352
- *
353
- * @param xPixels - pixels in the X direction
354
- *
355
- * @return font design units in the X direction
356
- *
357
- * @deprecated ICU 54. See {@link icu::LayoutEngine}
358
- */
359
- virtual float xPixelsToUnits(float xPixels) const;
360
-
361
- /**
362
- * This method converts pixels in the
363
- * Y direction to font design units.
364
- *
365
- * @param yPixels - pixels in the Y direction
366
- *
367
- * @return font design units in the Y direction
368
- *
369
- * @deprecated ICU 54. See {@link icu::LayoutEngine}
370
- */
371
- virtual float yPixelsToUnits(float yPixels) const;
372
-
373
- /**
374
- * This method converts pixels to font design units.
375
- *
376
- * @param pixels - X and Y pixel
377
- * @param units - set to X and Y font design units
378
- *
379
- * @deprecated ICU 54. See {@link icu::LayoutEngine}
380
- */
381
- virtual void pixelsToUnits(LEPoint &pixels, LEPoint &units) const;
382
-
383
- /**
384
- * Get the X scale factor from the font's transform. The default
385
- * implementation of <code>transformFunits()</code> will call this method.
386
- *
387
- * @return the X scale factor.
388
- *
389
- *
390
- * @see transformFunits
391
- *
392
- * @deprecated ICU 54. See {@link icu::LayoutEngine}
393
- */
394
- virtual float getScaleFactorX() const = 0;
395
-
396
- /**
397
- * Get the Y scale factor from the font's transform. The default
398
- * implementation of <code>transformFunits()</code> will call this method.
399
- *
400
- * @return the Yscale factor.
401
- *
402
- * @see transformFunits
403
- *
404
- * @deprecated ICU 54. See {@link icu::LayoutEngine}
405
- */
406
- virtual float getScaleFactorY() const = 0;
407
-
408
- /**
409
- * This method transforms an X, Y point in font design units to a
410
- * pixel coordinate, applying the font's transform. The default
411
- * implementation of this method calls <code>getScaleFactorX()</code>
412
- * and <code>getScaleFactorY()</code>.
413
- *
414
- * @param xFunits - the X coordinate in font design units
415
- * @param yFunits - the Y coordinate in font design units
416
- * @param pixels - the tranformed co-ordinate in pixels
417
- *
418
- * @see getScaleFactorX
419
- * @see getScaleFactorY
420
- *
421
- * @deprecated ICU 54. See {@link icu::LayoutEngine}
422
- */
423
- virtual void transformFunits(float xFunits, float yFunits, LEPoint &pixels) const;
424
-
425
- /**
426
- * This is a convenience method used to convert
427
- * values in a 16.16 fixed point format to floating point.
428
- *
429
- * @param fixed - the fixed point value
430
- *
431
- * @return the floating point value
432
- *
433
- * @deprecated ICU 54. See {@link icu::LayoutEngine}
434
- */
435
- static inline float fixedToFloat(le_int32 fixed);
436
-
437
- /**
438
- * This is a convenience method used to convert
439
- * floating point values to 16.16 fixed point format.
440
- *
441
- * @param theFloat - the floating point value
442
- *
443
- * @return the fixed point value
444
- *
445
- * @deprecated ICU 54. See {@link icu::LayoutEngine}
446
- */
447
- static inline le_int32 floatToFixed(float theFloat);
448
-
449
- //
450
- // These methods won't ever be called by the LayoutEngine,
451
- // but are useful for clients of <code>LEFontInstance</code> who
452
- // need to render text.
453
- //
454
-
455
- /**
456
- * Get the font's ascent.
457
- *
458
- * @return the font's ascent, in points. This value
459
- * will always be positive.
460
- *
461
- * @deprecated ICU 54. See {@link icu::LayoutEngine}
462
- */
463
- virtual le_int32 getAscent() const = 0;
464
-
465
- /**
466
- * Get the font's descent.
467
- *
468
- * @return the font's descent, in points. This value
469
- * will always be positive.
470
- *
471
- * @deprecated ICU 54. See {@link icu::LayoutEngine}
472
- */
473
- virtual le_int32 getDescent() const = 0;
474
-
475
- /**
476
- * Get the font's leading.
477
- *
478
- * @return the font's leading, in points. This value
479
- * will always be positive.
480
- *
481
- * @deprecated ICU 54. See {@link icu::LayoutEngine}
482
- */
483
- virtual le_int32 getLeading() const = 0;
484
-
485
- /**
486
- * Get the line height required to display text in
487
- * this font. The default implementation of this method
488
- * returns the sum of the ascent, descent, and leading.
489
- *
490
- * @return the line height, in points. This vaule will
491
- * always be positive.
492
- *
493
- * @deprecated ICU 54. See {@link icu::LayoutEngine}
494
- */
495
- virtual le_int32 getLineHeight() const;
496
-
497
- /**
498
- * ICU "poor man's RTTI", returns a UClassID for the actual class.
499
- *
500
- * @deprecated ICU 54. See {@link icu::LayoutEngine}
501
- */
502
- virtual UClassID getDynamicClassID() const;
503
-
504
- /**
505
- * ICU "poor man's RTTI", returns a UClassID for this class.
506
- *
507
- * @deprecated ICU 54. See {@link icu::LayoutEngine}
508
- */
509
- static UClassID getStaticClassID();
510
-
511
- };
512
-
513
- inline float LEFontInstance::fixedToFloat(le_int32 fixed)
514
- {
515
- return (float) (fixed / 65536.0);
516
- }
517
-
518
- inline le_int32 LEFontInstance::floatToFixed(float theFloat)
519
- {
520
- return (le_int32) (theFloat * 65536.0);
521
- }
522
-
523
- U_NAMESPACE_END
524
- #endif