pango 3.1.0-x64-mingw32 → 3.1.1-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (291) 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 +16 -11
  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 +2 -2
  212. data/vendor/local/lib/icu/Makefile.inc +8 -9
  213. data/vendor/local/lib/icu/pkgdata.inc +2 -2
  214. data/vendor/local/lib/icudt.dll +0 -0
  215. data/vendor/local/lib/{icudt57.dll → 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/{icuio57.dll → 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/libicuin.dll.a +0 -0
  232. data/vendor/local/lib/libicuio.dll.a +0 -0
  233. data/vendor/local/lib/libicutest.dll.a +0 -0
  234. data/vendor/local/lib/libicutu.dll.a +0 -0
  235. data/vendor/local/lib/libicuuc.dll.a +0 -0
  236. data/vendor/local/lib/libpango-1.0.dll.a +0 -0
  237. data/vendor/local/lib/libpangocairo-1.0.dll.a +0 -0
  238. data/vendor/local/lib/libpangoft2-1.0.dll.a +0 -0
  239. data/vendor/local/lib/libpangowin32-1.0.dll.a +0 -0
  240. data/vendor/local/lib/pkgconfig/harfbuzz-icu.pc +1 -1
  241. data/vendor/local/lib/pkgconfig/harfbuzz.pc +2 -2
  242. data/vendor/local/lib/pkgconfig/icu-i18n.pc +8 -6
  243. data/vendor/local/lib/pkgconfig/icu-io.pc +8 -6
  244. data/vendor/local/lib/pkgconfig/icu-uc.pc +8 -6
  245. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-version.html +3 -3
  246. data/vendor/local/share/gtk-doc/html/harfbuzz/pt02.html +1 -1
  247. data/vendor/local/share/icu/{57.1 → 58.2}/LICENSE +52 -60
  248. data/vendor/local/share/icu/{57.1 → 58.2}/config/mh-mingw64 +2 -0
  249. data/vendor/local/share/icu/{57.1 → 58.2}/install-sh +0 -0
  250. data/vendor/local/share/icu/{57.1 → 58.2}/mkinstalldirs +2 -0
  251. data/vendor/local/share/man/man1/derb.1 +4 -2
  252. data/vendor/local/share/man/man1/genbrk.1 +4 -2
  253. data/vendor/local/share/man/man1/gencfu.1 +3 -1
  254. data/vendor/local/share/man/man1/gencnval.1 +5 -3
  255. data/vendor/local/share/man/man1/gendict.1 +4 -2
  256. data/vendor/local/share/man/man1/genrb.1 +5 -3
  257. data/vendor/local/share/man/man1/icu-config.1 +4 -5
  258. data/vendor/local/share/man/man1/makeconv.1 +5 -3
  259. data/vendor/local/share/man/man1/pkgdata.1 +4 -2
  260. data/vendor/local/share/man/man1/uconv.1 +4 -2
  261. data/vendor/local/share/man/man8/genccode.8 +4 -2
  262. data/vendor/local/share/man/man8/gencmn.8 +5 -3
  263. data/vendor/local/share/man/man8/gensprep.8 +5 -3
  264. data/vendor/local/share/man/man8/icupkg.8 +3 -1
  265. metadata +22 -40
  266. data/vendor/local/include/layout/LEFontInstance.h +0 -524
  267. data/vendor/local/include/layout/LEGlyphFilter.h +0 -45
  268. data/vendor/local/include/layout/LEGlyphStorage.h +0 -546
  269. data/vendor/local/include/layout/LEInsertionList.h +0 -177
  270. data/vendor/local/include/layout/LELanguages.h +0 -109
  271. data/vendor/local/include/layout/LEScripts.h +0 -204
  272. data/vendor/local/include/layout/LESwaps.h +0 -100
  273. data/vendor/local/include/layout/LETableReference.h +0 -435
  274. data/vendor/local/include/layout/LETypes.h +0 -728
  275. data/vendor/local/include/layout/LayoutEngine.h +0 -518
  276. data/vendor/local/include/layout/ParagraphLayout.h +0 -747
  277. data/vendor/local/include/layout/RunArrays.h +0 -676
  278. data/vendor/local/include/layout/loengine.h +0 -225
  279. data/vendor/local/include/layout/playout.h +0 -466
  280. data/vendor/local/include/layout/plruns.h +0 -441
  281. data/vendor/local/lib/icuin57.dll +0 -0
  282. data/vendor/local/lib/icule.dll +0 -0
  283. data/vendor/local/lib/icule57.dll +0 -0
  284. data/vendor/local/lib/iculx.dll +0 -0
  285. data/vendor/local/lib/iculx57.dll +0 -0
  286. data/vendor/local/lib/icutu57.dll +0 -0
  287. data/vendor/local/lib/icuuc57.dll +0 -0
  288. data/vendor/local/lib/libicule.dll.a +0 -0
  289. data/vendor/local/lib/libiculx.dll.a +0 -0
  290. data/vendor/local/lib/pkgconfig/icu-le.pc +0 -38
  291. data/vendor/local/lib/pkgconfig/icu-lx.pc +0 -38
@@ -1,676 +0,0 @@
1
- /*
2
- **********************************************************************
3
- * Copyright (C) 2003-2008, International Business Machines
4
- * Corporation and others. All Rights Reserved.
5
- **********************************************************************
6
- */
7
-
8
- #ifndef __RUNARRAYS_H
9
-
10
- #define __RUNARRAYS_H
11
-
12
- #include "layout/LETypes.h"
13
- #include "layout/LEFontInstance.h"
14
-
15
- #include "unicode/utypes.h"
16
- #include "unicode/locid.h"
17
-
18
- /**
19
- * \file
20
- * \brief C++ API: base class for building classes which represent data that is associated with runs of text.
21
- */
22
-
23
- U_NAMESPACE_BEGIN
24
-
25
- /**
26
- * The initial size of an array if it is unspecified.
27
- *
28
- * @stable ICU 3.2
29
- */
30
- #define INITIAL_CAPACITY 16
31
-
32
- /**
33
- * When an array needs to grow, it will double in size until
34
- * it becomes this large, then it will grow by this amount.
35
- *
36
- * @stable ICU 3.2
37
- */
38
- #define CAPACITY_GROW_LIMIT 128
39
-
40
- /**
41
- * The <code>RunArray</code> class is a base class for building classes
42
- * which represent data that is associated with runs of text. This class
43
- * maintains an array of limit indices into the text, subclasses
44
- * provide one or more arrays of data.
45
- *
46
- * @stable ICU 3.2
47
- */
48
- class U_LAYOUTEX_API RunArray : public UObject
49
- {
50
- public:
51
- /**
52
- * Construct a <code>RunArray</code> object from a pre-existing
53
- * array of limit indices.
54
- *
55
- * @param limits is an array of limit indices. This array must remain
56
- * valid until the <code>RunArray</code> object is destroyed.
57
- *
58
- * @param count is the number of entries in the limit array.
59
- *
60
- * @stable ICU 3.2
61
- */
62
- inline RunArray(const le_int32 *limits, le_int32 count);
63
-
64
- /**
65
- * Construct an empty <code>RunArray</code> object. Clients can add limit
66
- * indices array using the <code>add</code> method.
67
- *
68
- * @param initialCapacity is the initial size of the limit indices array. If
69
- * this value is zero, no array will be allocated.
70
- *
71
- * @see add
72
- *
73
- * @stable ICU 3.2
74
- */
75
- RunArray(le_int32 initialCapacity);
76
-
77
- /**
78
- * The destructor; virtual so that subclass destructors are invoked as well.
79
- *
80
- * @stable ICU 3.2
81
- */
82
- virtual ~RunArray();
83
-
84
- /**
85
- * Get the number of entries in the limit indices array.
86
- *
87
- * @return the number of entries in the limit indices array.
88
- *
89
- * @stable ICU 3.2
90
- */
91
- inline le_int32 getCount() const;
92
-
93
- /**
94
- * Reset the limit indices array. This method sets the number of entries in the
95
- * limit indices array to zero. It does not delete the array.
96
- *
97
- * Note: Subclass arrays will also be reset and not deleted.
98
- *
99
- * @stable ICU 3.6
100
- */
101
- inline void reset();
102
-
103
- /**
104
- * Get the last limit index. This is the number of characters in
105
- * the text.
106
- *
107
- * @return the last limit index.
108
- *
109
- * @stable ICU 3.2
110
- */
111
- inline le_int32 getLimit() const;
112
-
113
- /**
114
- * Get the limit index for a particular run of text.
115
- *
116
- * @param run is the run. This is an index into the limit index array.
117
- *
118
- * @return the limit index for the run, or -1 if <code>run</code> is out of bounds.
119
- *
120
- * @stable ICU 3.2
121
- */
122
- inline le_int32 getLimit(le_int32 run) const;
123
-
124
- /**
125
- * Add a limit index to the limit indices array and return the run index
126
- * where it was stored. If the array does not exist, it will be created by
127
- * calling the <code>init</code> method. If it is full, it will be grown by
128
- * calling the <code>grow</code> method.
129
- *
130
- * If the <code>RunArray</code> object was created with a client-supplied
131
- * limit indices array, this method will return a run index of -1.
132
- *
133
- * Subclasses should not override this method. Rather they should provide
134
- * a new <code>add</code> method which takes a limit index along with whatever
135
- * other data they implement. The new <code>add</code> method should
136
- * first call this method to grow the data arrays, and use the return value
137
- * to store the data in their own arrays.
138
- *
139
- * @param limit is the limit index to add to the array.
140
- *
141
- * @return the run index where the limit index was stored, or -1 if the limit index cannt be stored.
142
- *
143
- * @see init
144
- * @see grow
145
- *
146
- * @stable ICU 3.2
147
- */
148
- le_int32 add(le_int32 limit);
149
-
150
- /**
151
- * ICU "poor man's RTTI", returns a UClassID for this class.
152
- *
153
- * @stable ICU 3.2
154
- */
155
- static inline UClassID getStaticClassID() { return (UClassID)&fgClassID; }
156
-
157
- /**
158
- * ICU "poor man's RTTI", returns a UClassID for the actual class.
159
- *
160
- * @stable ICU 3.2
161
- */
162
- virtual inline UClassID getDynamicClassID() const { return getStaticClassID(); }
163
-
164
- protected:
165
- /**
166
- * Create a data array with the given initial size. This method will be
167
- * called by the <code>add</code> method if there is no limit indices
168
- * array. Subclasses which override this method must also call it from
169
- * the overriding method to create the limit indices array.
170
- *
171
- * @param capacity is the initial size of the data array.
172
- *
173
- * @see add
174
- *
175
- * @stable ICU 3.2
176
- */
177
- virtual void init(le_int32 capacity);
178
-
179
- /**
180
- * Grow a data array to the given initial size. This method will be
181
- * called by the <code>add</code> method if the limit indices
182
- * array is full. Subclasses which override this method must also call it from
183
- * the overriding method to grow the limit indices array.
184
- *
185
- * @param capacity is the initial size of the data array.
186
- *
187
- * @see add
188
- *
189
- * @stable ICU 3.2
190
- */
191
- virtual void grow(le_int32 capacity);
192
-
193
- /**
194
- * Set by the constructors to indicate whether
195
- * or not the client supplied the data arrays.
196
- * If they were supplied by the client, the
197
- * <code>add</code> method won't change the arrays
198
- * and the destructor won't delete them.
199
- *
200
- * @stable ICU 3.2
201
- */
202
- le_bool fClientArrays;
203
-
204
- private:
205
- /**
206
- * The address of this static class variable serves as this class's ID
207
- * for ICU "poor man's RTTI".
208
- */
209
- static const char fgClassID;
210
-
211
- le_int32 ensureCapacity();
212
-
213
- inline RunArray();
214
- inline RunArray(const RunArray & /*other*/);
215
- inline RunArray &operator=(const RunArray & /*other*/) { return *this; };
216
-
217
- const le_int32 *fLimits;
218
- le_int32 fCount;
219
- le_int32 fCapacity;
220
- };
221
-
222
- inline RunArray::RunArray()
223
- : UObject(), fClientArrays(FALSE), fLimits(NULL), fCount(0), fCapacity(0)
224
- {
225
- // nothing else to do...
226
- }
227
-
228
- inline RunArray::RunArray(const RunArray & /*other*/)
229
- : UObject(), fClientArrays(FALSE), fLimits(NULL), fCount(0), fCapacity(0)
230
- {
231
- // nothing else to do...
232
- }
233
-
234
- inline RunArray::RunArray(const le_int32 *limits, le_int32 count)
235
- : UObject(), fClientArrays(TRUE), fLimits(limits), fCount(count), fCapacity(count)
236
- {
237
- // nothing else to do...
238
- }
239
-
240
- inline le_int32 RunArray::getCount() const
241
- {
242
- return fCount;
243
- }
244
-
245
- inline void RunArray::reset()
246
- {
247
- fCount = 0;
248
- }
249
-
250
- inline le_int32 RunArray::getLimit(le_int32 run) const
251
- {
252
- if (run < 0 || run >= fCount) {
253
- return -1;
254
- }
255
-
256
- return fLimits[run];
257
- }
258
-
259
- inline le_int32 RunArray::getLimit() const
260
- {
261
- return getLimit(fCount - 1);
262
- }
263
-
264
- /**
265
- * The <code>FontRuns</code> class associates pointers to <code>LEFontInstance</code>
266
- * objects with runs of text.
267
- *
268
- * @stable ICU 3.2
269
- */
270
- class U_LAYOUTEX_API FontRuns : public RunArray
271
- {
272
- public:
273
- /**
274
- * Construct a <code>FontRuns</code> object from pre-existing arrays of fonts
275
- * and limit indices.
276
- *
277
- * @param fonts is the address of an array of pointers to <code>LEFontInstance</code> objects. This
278
- * array, and the <code>LEFontInstance</code> objects to which it points must remain
279
- * valid until the <code>FontRuns</code> object is destroyed.
280
- *
281
- * @param limits is the address of an array of limit indices. This array must remain valid until
282
- * the <code>FontRuns</code> object is destroyed.
283
- *
284
- * @param count is the number of entries in the two arrays.
285
- *
286
- * @stable ICU 3.2
287
- */
288
- inline FontRuns(const LEFontInstance **fonts, const le_int32 *limits, le_int32 count);
289
-
290
- /**
291
- * Construct an empty <code>FontRuns</code> object. Clients can add font and limit
292
- * indices arrays using the <code>add</code> method.
293
- *
294
- * @param initialCapacity is the initial size of the font and limit indices arrays. If
295
- * this value is zero, no arrays will be allocated.
296
- *
297
- * @see add
298
- *
299
- * @stable ICU 3.2
300
- */
301
- FontRuns(le_int32 initialCapacity);
302
-
303
- /**
304
- * The destructor; virtual so that subclass destructors are invoked as well.
305
- *
306
- * @stable ICU 3.2
307
- */
308
- virtual ~FontRuns();
309
-
310
- /**
311
- * Get the <code>LEFontInstance</code> object assoicated with the given run
312
- * of text. Use <code>RunArray::getLimit(run)</code> to get the corresponding
313
- * limit index.
314
- *
315
- * @param run is the index into the font and limit indices arrays.
316
- *
317
- * @return the <code>LEFontInstance</code> associated with the given text run.
318
- *
319
- * @see RunArray::getLimit
320
- *
321
- * @stable ICU 3.2
322
- */
323
- const LEFontInstance *getFont(le_int32 run) const;
324
-
325
-
326
- /**
327
- * Add an <code>LEFontInstance</code> and limit index pair to the data arrays and return
328
- * the run index where the data was stored. This method calls
329
- * <code>RunArray::add(limit)</code> which will create or grow the arrays as needed.
330
- *
331
- * If the <code>FontRuns</code> object was created with a client-supplied
332
- * font and limit indices arrays, this method will return a run index of -1.
333
- *
334
- * Subclasses should not override this method. Rather they should provide a new <code>add</code>
335
- * method which takes a font and a limit index along with whatever other data they implement.
336
- * The new <code>add</code> method should first call this method to grow the font and limit indices
337
- * arrays, and use the returned run index to store data their own arrays.
338
- *
339
- * @param font is the address of the <code>LEFontInstance</code> to add. This object must
340
- * remain valid until the <code>FontRuns</code> object is destroyed.
341
- *
342
- * @param limit is the limit index to add
343
- *
344
- * @return the run index where the font and limit index were stored, or -1 if the data cannot be stored.
345
- *
346
- * @stable ICU 3.2
347
- */
348
- le_int32 add(const LEFontInstance *font, le_int32 limit);
349
-
350
- /**
351
- * ICU "poor man's RTTI", returns a UClassID for this class.
352
- *
353
- * @stable ICU 3.2
354
- */
355
- static inline UClassID getStaticClassID() { return (UClassID)&fgClassID; }
356
-
357
- /**
358
- * ICU "poor man's RTTI", returns a UClassID for the actual class.
359
- *
360
- * @stable ICU 3.2
361
- */
362
- virtual inline UClassID getDynamicClassID() const { return getStaticClassID(); }
363
-
364
- protected:
365
- virtual void init(le_int32 capacity);
366
- virtual void grow(le_int32 capacity);
367
-
368
- private:
369
-
370
- inline FontRuns();
371
- inline FontRuns(const FontRuns &other);
372
- inline FontRuns &operator=(const FontRuns & /*other*/) { return *this; };
373
-
374
- /**
375
- * The address of this static class variable serves as this class's ID
376
- * for ICU "poor man's RTTI".
377
- */
378
- static const char fgClassID;
379
-
380
- const LEFontInstance **fFonts;
381
- };
382
-
383
- inline FontRuns::FontRuns()
384
- : RunArray(0), fFonts(NULL)
385
- {
386
- // nothing else to do...
387
- }
388
-
389
- inline FontRuns::FontRuns(const FontRuns & /*other*/)
390
- : RunArray(0), fFonts(NULL)
391
- {
392
- // nothing else to do...
393
- }
394
-
395
- inline FontRuns::FontRuns(const LEFontInstance **fonts, const le_int32 *limits, le_int32 count)
396
- : RunArray(limits, count), fFonts(fonts)
397
- {
398
- // nothing else to do...
399
- }
400
-
401
- /**
402
- * The <code>LocaleRuns</code> class associates pointers to <code>Locale</code>
403
- * objects with runs of text.
404
- *
405
- * @stable ICU 3.2
406
- */
407
- class U_LAYOUTEX_API LocaleRuns : public RunArray
408
- {
409
- public:
410
- /**
411
- * Construct a <code>LocaleRuns</code> object from pre-existing arrays of locales
412
- * and limit indices.
413
- *
414
- * @param locales is the address of an array of pointers to <code>Locale</code> objects. This array,
415
- * and the <code>Locale</code> objects to which it points, must remain valid until
416
- * the <code>LocaleRuns</code> object is destroyed.
417
- *
418
- * @param limits is the address of an array of limit indices. This array must remain valid until the
419
- * <code>LocaleRuns</code> object is destroyed.
420
- *
421
- * @param count is the number of entries in the two arrays.
422
- *
423
- * @stable ICU 3.2
424
- */
425
- inline LocaleRuns(const Locale **locales, const le_int32 *limits, le_int32 count);
426
-
427
- /**
428
- * Construct an empty <code>LocaleRuns</code> object. Clients can add locale and limit
429
- * indices arrays using the <code>add</code> method.
430
- *
431
- * @param initialCapacity is the initial size of the locale and limit indices arrays. If
432
- * this value is zero, no arrays will be allocated.
433
- *
434
- * @see add
435
- *
436
- * @stable ICU 3.2
437
- */
438
- LocaleRuns(le_int32 initialCapacity);
439
-
440
- /**
441
- * The destructor; virtual so that subclass destructors are invoked as well.
442
- *
443
- * @stable ICU 3.2
444
- */
445
- virtual ~LocaleRuns();
446
-
447
- /**
448
- * Get the <code>Locale</code> object assoicated with the given run
449
- * of text. Use <code>RunArray::getLimit(run)</code> to get the corresponding
450
- * limit index.
451
- *
452
- * @param run is the index into the font and limit indices arrays.
453
- *
454
- * @return the <code>Locale</code> associated with the given text run.
455
- *
456
- * @see RunArray::getLimit
457
- *
458
- * @stable ICU 3.2
459
- */
460
- const Locale *getLocale(le_int32 run) const;
461
-
462
-
463
- /**
464
- * Add a <code>Locale</code> and limit index pair to the data arrays and return
465
- * the run index where the data was stored. This method calls
466
- * <code>RunArray::add(limit)</code> which will create or grow the arrays as needed.
467
- *
468
- * If the <code>LocaleRuns</code> object was created with a client-supplied
469
- * locale and limit indices arrays, this method will return a run index of -1.
470
- *
471
- * Subclasses should not override this method. Rather they should provide a new <code>add</code>
472
- * method which takes a locale and a limit index along with whatever other data they implement.
473
- * The new <code>add</code> method should first call this method to grow the font and limit indices
474
- * arrays, and use the returned run index to store data their own arrays.
475
- *
476
- * @param locale is the address of the <code>Locale</code> to add. This object must remain valid
477
- * until the <code>LocaleRuns</code> object is destroyed.
478
- *
479
- * @param limit is the limit index to add
480
- *
481
- * @return the run index where the locale and limit index were stored, or -1 if the data cannot be stored.
482
- *
483
- * @stable ICU 3.2
484
- */
485
- le_int32 add(const Locale *locale, le_int32 limit);
486
-
487
- /**
488
- * ICU "poor man's RTTI", returns a UClassID for this class.
489
- *
490
- * @stable ICU 3.2
491
- */
492
- static inline UClassID getStaticClassID() { return (UClassID)&fgClassID; }
493
-
494
- /**
495
- * ICU "poor man's RTTI", returns a UClassID for the actual class.
496
- *
497
- * @stable ICU 3.2
498
- */
499
- virtual inline UClassID getDynamicClassID() const { return getStaticClassID(); }
500
-
501
- protected:
502
- virtual void init(le_int32 capacity);
503
- virtual void grow(le_int32 capacity);
504
-
505
- /**
506
- * @internal
507
- */
508
- const Locale **fLocales;
509
-
510
- private:
511
-
512
- inline LocaleRuns();
513
- inline LocaleRuns(const LocaleRuns &other);
514
- inline LocaleRuns &operator=(const LocaleRuns & /*other*/) { return *this; };
515
-
516
- /**
517
- * The address of this static class variable serves as this class's ID
518
- * for ICU "poor man's RTTI".
519
- */
520
- static const char fgClassID;
521
- };
522
-
523
- inline LocaleRuns::LocaleRuns()
524
- : RunArray(0), fLocales(NULL)
525
- {
526
- // nothing else to do...
527
- }
528
-
529
- inline LocaleRuns::LocaleRuns(const LocaleRuns & /*other*/)
530
- : RunArray(0), fLocales(NULL)
531
- {
532
- // nothing else to do...
533
- }
534
-
535
- inline LocaleRuns::LocaleRuns(const Locale **locales, const le_int32 *limits, le_int32 count)
536
- : RunArray(limits, count), fLocales(locales)
537
- {
538
- // nothing else to do...
539
- }
540
-
541
- /**
542
- * The <code>ValueRuns</code> class associates integer values with runs of text.
543
- *
544
- * @stable ICU 3.2
545
- */
546
- class U_LAYOUTEX_API ValueRuns : public RunArray
547
- {
548
- public:
549
- /**
550
- * Construct a <code>ValueRuns</code> object from pre-existing arrays of values
551
- * and limit indices.
552
- *
553
- * @param values is the address of an array of integer. This array must remain valid until
554
- * the <code>ValueRuns</code> object is destroyed.
555
- *
556
- * @param limits is the address of an array of limit indices. This array must remain valid until
557
- * the <code>ValueRuns</code> object is destroyed.
558
- *
559
- * @param count is the number of entries in the two arrays.
560
- *
561
- * @stable ICU 3.2
562
- */
563
- inline ValueRuns(const le_int32 *values, const le_int32 *limits, le_int32 count);
564
-
565
- /**
566
- * Construct an empty <code>ValueRuns</code> object. Clients can add value and limit
567
- * indices arrays using the <code>add</code> method.
568
- *
569
- * @param initialCapacity is the initial size of the value and limit indices arrays. If
570
- * this value is zero, no arrays will be allocated.
571
- *
572
- * @see add
573
- *
574
- * @stable ICU 3.2
575
- */
576
- ValueRuns(le_int32 initialCapacity);
577
-
578
- /**
579
- * The destructor; virtual so that subclass destructors are invoked as well.
580
- *
581
- * @stable ICU 3.2
582
- */
583
- virtual ~ValueRuns();
584
-
585
- /**
586
- * Get the integer value assoicated with the given run
587
- * of text. Use <code>RunArray::getLimit(run)</code> to get the corresponding
588
- * limit index.
589
- *
590
- * @param run is the index into the font and limit indices arrays.
591
- *
592
- * @return the integer value associated with the given text run.
593
- *
594
- * @see RunArray::getLimit
595
- *
596
- * @stable ICU 3.2
597
- */
598
- le_int32 getValue(le_int32 run) const;
599
-
600
-
601
- /**
602
- * Add an integer value and limit index pair to the data arrays and return
603
- * the run index where the data was stored. This method calls
604
- * <code>RunArray::add(limit)</code> which will create or grow the arrays as needed.
605
- *
606
- * If the <code>ValueRuns</code> object was created with a client-supplied
607
- * font and limit indices arrays, this method will return a run index of -1.
608
- *
609
- * Subclasses should not override this method. Rather they should provide a new <code>add</code>
610
- * method which takes an integer value and a limit index along with whatever other data they implement.
611
- * The new <code>add</code> method should first call this method to grow the font and limit indices
612
- * arrays, and use the returned run index to store data their own arrays.
613
- *
614
- * @param value is the integer value to add
615
- *
616
- * @param limit is the limit index to add
617
- *
618
- * @return the run index where the value and limit index were stored, or -1 if the data cannot be stored.
619
- *
620
- * @stable ICU 3.2
621
- */
622
- le_int32 add(le_int32 value, le_int32 limit);
623
-
624
- /**
625
- * ICU "poor man's RTTI", returns a UClassID for this class.
626
- *
627
- * @stable ICU 3.2
628
- */
629
- static inline UClassID getStaticClassID() { return (UClassID)&fgClassID; }
630
-
631
- /**
632
- * ICU "poor man's RTTI", returns a UClassID for the actual class.
633
- *
634
- * @stable ICU 3.2
635
- */
636
- virtual inline UClassID getDynamicClassID() const { return getStaticClassID(); }
637
-
638
- protected:
639
- virtual void init(le_int32 capacity);
640
- virtual void grow(le_int32 capacity);
641
-
642
- private:
643
-
644
- inline ValueRuns();
645
- inline ValueRuns(const ValueRuns &other);
646
- inline ValueRuns &operator=(const ValueRuns & /*other*/) { return *this; };
647
-
648
- /**
649
- * The address of this static class variable serves as this class's ID
650
- * for ICU "poor man's RTTI".
651
- */
652
- static const char fgClassID;
653
-
654
- const le_int32 *fValues;
655
- };
656
-
657
- inline ValueRuns::ValueRuns()
658
- : RunArray(0), fValues(NULL)
659
- {
660
- // nothing else to do...
661
- }
662
-
663
- inline ValueRuns::ValueRuns(const ValueRuns & /*other*/)
664
- : RunArray(0), fValues(NULL)
665
- {
666
- // nothing else to do...
667
- }
668
-
669
- inline ValueRuns::ValueRuns(const le_int32 *values, const le_int32 *limits, le_int32 count)
670
- : RunArray(limits, count), fValues(values)
671
- {
672
- // nothing else to do...
673
- }
674
-
675
- U_NAMESPACE_END
676
- #endif