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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (232) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +19 -3
  3. data/ext/pango/depend +0 -1
  4. data/ext/pango/extconf.rb +0 -2
  5. data/ext/pango/rbpango.c +44 -6
  6. data/ext/pango/rbpango.h +0 -1
  7. data/ext/pango/rbpangoattribute.c +2 -2
  8. data/ext/pango/rbpangocairo.c +4 -4
  9. data/ext/pango/rbpangocontext.c +2 -2
  10. data/ext/pango/rbpangofontdescription.c +2 -2
  11. data/ext/pango/rbpangogravity.c +2 -2
  12. data/ext/pango/rbpangolanguage.c +8 -0
  13. data/ext/pango/rbpangolayout.c +15 -4
  14. data/ext/pango/rbpangomatrix.c +2 -2
  15. data/ext/pango/rbpangoscript.c +3 -3
  16. data/lib/2.0/pango.so +0 -0
  17. data/lib/2.1/pango.so +0 -0
  18. data/lib/2.2/pango.so +0 -0
  19. data/test/test-language.rb +5 -0
  20. data/test/test-layout.rb +7 -1
  21. data/vendor/local/bin/derb.exe +0 -0
  22. data/vendor/local/bin/genbrk.exe +0 -0
  23. data/vendor/local/bin/genccode.exe +0 -0
  24. data/vendor/local/bin/gencfu.exe +0 -0
  25. data/vendor/local/bin/gencmn.exe +0 -0
  26. data/vendor/local/bin/gencnval.exe +0 -0
  27. data/vendor/local/bin/gendict.exe +0 -0
  28. data/vendor/local/bin/gennorm2.exe +0 -0
  29. data/vendor/local/bin/genrb.exe +0 -0
  30. data/vendor/local/bin/gensprep.exe +0 -0
  31. data/vendor/local/bin/hb-ot-shape-closure.exe +0 -0
  32. data/vendor/local/bin/hb-shape.exe +0 -0
  33. data/vendor/local/bin/hb-view.exe +0 -0
  34. data/vendor/local/bin/icu-config +6 -6
  35. data/vendor/local/bin/icuinfo.exe +0 -0
  36. data/vendor/local/bin/icupkg.exe +0 -0
  37. data/vendor/local/bin/libharfbuzz-0.dll +0 -0
  38. data/vendor/local/bin/libpango-1.0-0.dll +0 -0
  39. data/vendor/local/bin/libpangocairo-1.0-0.dll +0 -0
  40. data/vendor/local/bin/libpangoft2-1.0-0.dll +0 -0
  41. data/vendor/local/bin/libpangowin32-1.0-0.dll +0 -0
  42. data/vendor/local/bin/makeconv.exe +0 -0
  43. data/vendor/local/bin/pango-querymodules.exe +0 -0
  44. data/vendor/local/bin/pango-view.exe +0 -0
  45. data/vendor/local/bin/pkgdata.exe +0 -0
  46. data/vendor/local/bin/uconv.exe +0 -0
  47. data/vendor/local/etc/pango/pango.modules +1 -1
  48. data/vendor/local/include/harfbuzz/hb-buffer.h +26 -1
  49. data/vendor/local/include/harfbuzz/hb-common.h +7 -0
  50. data/vendor/local/include/harfbuzz/hb-font.h +7 -6
  51. data/vendor/local/include/harfbuzz/hb-ft.h +58 -1
  52. data/vendor/local/include/harfbuzz/hb-glib.h +3 -0
  53. data/vendor/local/include/harfbuzz/hb-ot-font.h +4 -0
  54. data/vendor/local/include/harfbuzz/hb-shape.h +0 -3
  55. data/vendor/local/include/harfbuzz/hb-unicode.h +28 -3
  56. data/vendor/local/include/harfbuzz/hb-version.h +4 -4
  57. data/vendor/local/include/layout/LEFontInstance.h +2 -28
  58. data/vendor/local/include/layout/LETableReference.h +7 -2
  59. data/vendor/local/include/unicode/calendar.h +32 -2
  60. data/vendor/local/include/unicode/coll.h +9 -7
  61. data/vendor/local/include/unicode/datefmt.h +102 -13
  62. data/vendor/local/include/unicode/dcfmtsym.h +4 -2
  63. data/vendor/local/include/unicode/decimfmt.h +4 -5
  64. data/vendor/local/include/unicode/dtfmtsym.h +60 -1
  65. data/vendor/local/include/unicode/dtptngen.h +21 -7
  66. data/vendor/local/include/unicode/localpointer.h +49 -1
  67. data/vendor/local/include/unicode/locid.h +2 -3
  68. data/vendor/local/include/unicode/measfmt.h +30 -37
  69. data/vendor/local/include/unicode/measunit.h +65 -152
  70. data/vendor/local/include/unicode/measure.h +3 -3
  71. data/vendor/local/include/unicode/numfmt.h +3 -5
  72. data/vendor/local/include/unicode/platform.h +12 -2
  73. data/vendor/local/include/unicode/plurrule.h +18 -14
  74. data/vendor/local/include/unicode/rbnf.h +3 -4
  75. data/vendor/local/include/unicode/regex.h +42 -26
  76. data/vendor/local/include/unicode/region.h +9 -9
  77. data/vendor/local/include/unicode/reldatefmt.h +50 -45
  78. data/vendor/local/include/unicode/scientificnumberformatter.h +222 -0
  79. data/vendor/local/include/unicode/smpdtfmt.h +30 -24
  80. data/vendor/local/include/unicode/tblcoll.h +5 -4
  81. data/vendor/local/include/unicode/timezone.h +18 -1
  82. data/vendor/local/include/unicode/ucal.h +2 -2
  83. data/vendor/local/include/unicode/ucol.h +22 -18
  84. data/vendor/local/include/unicode/uconfig.h +17 -2
  85. data/vendor/local/include/unicode/udat.h +164 -56
  86. data/vendor/local/include/unicode/udatpg.h +9 -7
  87. data/vendor/local/include/unicode/ufieldpositer.h +121 -0
  88. data/vendor/local/include/unicode/uidna.h +21 -13
  89. data/vendor/local/include/unicode/ulistformatter.h +130 -0
  90. data/vendor/local/include/unicode/ulocdata.h +4 -3
  91. data/vendor/local/include/unicode/unistr.h +101 -53
  92. data/vendor/local/include/unicode/unum.h +7 -10
  93. data/vendor/local/include/unicode/uregex.h +52 -29
  94. data/vendor/local/include/unicode/urename.h +14 -3
  95. data/vendor/local/include/unicode/uscript.h +30 -16
  96. data/vendor/local/include/unicode/uspoof.h +13 -9
  97. data/vendor/local/include/unicode/utrans.h +5 -7
  98. data/vendor/local/include/unicode/utypes.h +9 -3
  99. data/vendor/local/include/unicode/uvernum.h +8 -8
  100. data/vendor/local/lib/icu/{54.1 → 55.1}/Makefile.inc +5 -5
  101. data/vendor/local/lib/icu/{54.1 → 55.1}/pkgdata.inc +1 -1
  102. data/vendor/local/lib/icu/Makefile.inc +5 -5
  103. data/vendor/local/lib/icu/pkgdata.inc +1 -1
  104. data/vendor/local/lib/icudt.dll +0 -0
  105. data/vendor/local/lib/{icudt54.dll → icudt55.dll} +0 -0
  106. data/vendor/local/lib/icuin.dll +0 -0
  107. data/vendor/local/lib/icuin55.dll +0 -0
  108. data/vendor/local/lib/icuio.dll +0 -0
  109. data/vendor/local/lib/icuio55.dll +0 -0
  110. data/vendor/local/lib/icule.dll +0 -0
  111. data/vendor/local/lib/icule55.dll +0 -0
  112. data/vendor/local/lib/iculx.dll +0 -0
  113. data/vendor/local/lib/iculx55.dll +0 -0
  114. data/vendor/local/lib/icutest.dll +0 -0
  115. data/vendor/local/lib/icutest55.dll +0 -0
  116. data/vendor/local/lib/icutu.dll +0 -0
  117. data/vendor/local/lib/icutu55.dll +0 -0
  118. data/vendor/local/lib/icuuc.dll +0 -0
  119. data/vendor/local/lib/icuuc55.dll +0 -0
  120. data/vendor/local/lib/libharfbuzz-icu.a +0 -0
  121. data/vendor/local/lib/libharfbuzz-icu.la +7 -7
  122. data/vendor/local/lib/libharfbuzz.dll.a +0 -0
  123. data/vendor/local/lib/libharfbuzz.la +7 -7
  124. data/vendor/local/lib/libicudt.dll.a +0 -0
  125. data/vendor/local/lib/libicuin.dll.a +0 -0
  126. data/vendor/local/lib/libicuio.dll.a +0 -0
  127. data/vendor/local/lib/libicule.dll.a +0 -0
  128. data/vendor/local/lib/libiculx.dll.a +0 -0
  129. data/vendor/local/lib/libicutest.dll.a +0 -0
  130. data/vendor/local/lib/libicutu.dll.a +0 -0
  131. data/vendor/local/lib/libicuuc.dll.a +0 -0
  132. data/vendor/local/lib/libpango-1.0.dll.a +0 -0
  133. data/vendor/local/lib/libpango-1.0.la +2 -2
  134. data/vendor/local/lib/libpangocairo-1.0.dll.a +0 -0
  135. data/vendor/local/lib/libpangocairo-1.0.la +1 -1
  136. data/vendor/local/lib/libpangoft2-1.0.dll.a +0 -0
  137. data/vendor/local/lib/libpangoft2-1.0.la +2 -2
  138. data/vendor/local/lib/libpangowin32-1.0.dll.a +0 -0
  139. data/vendor/local/lib/libpangowin32-1.0.la +2 -2
  140. data/vendor/local/lib/pango/1.8.0/modules/pango-arabic-lang.dll +0 -0
  141. data/vendor/local/lib/pango/1.8.0/modules/pango-arabic-lang.dll.a +0 -0
  142. data/vendor/local/lib/pango/1.8.0/modules/pango-arabic-lang.la +2 -2
  143. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.dll +0 -0
  144. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.dll.a +0 -0
  145. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.la +2 -2
  146. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-win32.dll +0 -0
  147. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-win32.dll.a +0 -0
  148. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-win32.la +2 -2
  149. data/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.dll +0 -0
  150. data/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.dll.a +0 -0
  151. data/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.la +2 -2
  152. data/vendor/local/lib/pkgconfig/harfbuzz-icu.pc +1 -1
  153. data/vendor/local/lib/pkgconfig/harfbuzz.pc +3 -1
  154. data/vendor/local/lib/pkgconfig/icu-i18n.pc +5 -5
  155. data/vendor/local/lib/pkgconfig/icu-io.pc +5 -5
  156. data/vendor/local/lib/pkgconfig/icu-le.pc +5 -5
  157. data/vendor/local/lib/pkgconfig/icu-lx.pc +5 -5
  158. data/vendor/local/lib/pkgconfig/icu-uc.pc +5 -5
  159. data/vendor/local/share/gtk-doc/html/harfbuzz/adding-text-to-the-buffer.html +35 -0
  160. data/vendor/local/share/gtk-doc/html/harfbuzz/annotation-glossary.html +30 -35
  161. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-full.html +158 -27
  162. data/vendor/local/share/gtk-doc/html/harfbuzz/buffers-language-script-and-direction.html +87 -0
  163. data/vendor/local/share/gtk-doc/html/harfbuzz/{ch01.html → ch06.html} +12 -13
  164. data/vendor/local/share/gtk-doc/html/harfbuzz/customizing-unicode-functions.html +31 -0
  165. data/vendor/local/share/gtk-doc/html/harfbuzz/deprecated-api-index.html +7 -8
  166. data/vendor/local/share/gtk-doc/html/harfbuzz/fonts-and-faces.html +40 -0
  167. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-Shaping.html +352 -0
  168. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-blob.html +88 -47
  169. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-buffer.html +128 -204
  170. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-common.html +290 -304
  171. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-coretext.html +14 -23
  172. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-deprecated.html +14 -17
  173. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-face.html +40 -51
  174. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-font.html +126 -190
  175. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ft.html +19 -24
  176. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-glib.html +14 -29
  177. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-gobject.html +438 -11
  178. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-graphite2.html +14 -25
  179. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-icu.html +14 -29
  180. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-layout.html +19 -160
  181. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-tag.html +21 -36
  182. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot.html +14 -11
  183. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-set.html +70 -81
  184. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-shape-plan.html +33 -44
  185. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-unicode.html +290 -323
  186. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-uniscribe.html +14 -23
  187. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-version.html +59 -27
  188. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb.html +16 -13
  189. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz.devhelp2 +415 -104
  190. data/vendor/local/share/gtk-doc/html/harfbuzz/hello-harfbuzz.html +181 -0
  191. data/vendor/local/share/gtk-doc/html/harfbuzz/index.html +43 -12
  192. data/vendor/local/share/gtk-doc/html/harfbuzz/object-tree.html +11 -13
  193. data/vendor/local/share/gtk-doc/html/harfbuzz/plans-and-caching.html +31 -0
  194. data/vendor/local/share/gtk-doc/html/harfbuzz/pt01.html +70 -0
  195. data/vendor/local/share/gtk-doc/html/harfbuzz/pt02.html +107 -0
  196. data/vendor/local/share/gtk-doc/html/harfbuzz/setting-buffer-properties.html +31 -0
  197. data/vendor/local/share/gtk-doc/html/harfbuzz/shaping-and-shape-plans.html +39 -0
  198. data/vendor/local/share/gtk-doc/html/harfbuzz/style.css +9 -6
  199. data/vendor/local/share/gtk-doc/html/harfbuzz/using-harfbuzzs-native-opentype-implementation.html +31 -0
  200. data/vendor/local/share/gtk-doc/html/harfbuzz/using-your-own-font-functions.html +31 -0
  201. data/vendor/local/share/gtk-doc/html/harfbuzz/what-about-the-other-scripts.html +31 -0
  202. data/vendor/local/share/gtk-doc/html/harfbuzz/what-is-harfbuzz.html +124 -0
  203. data/vendor/local/share/gtk-doc/html/harfbuzz/why-is-it-called-harfbuzz.html +38 -0
  204. data/vendor/local/share/icu/{54.1 → 55.1}/config/mh-mingw +0 -0
  205. data/vendor/local/share/icu/{54.1 → 55.1}/install-sh +0 -0
  206. data/vendor/local/share/icu/{54.1 → 55.1}/license.html +3 -4
  207. data/vendor/local/share/icu/{54.1 → 55.1}/mkinstalldirs +0 -0
  208. data/vendor/local/share/man/man1/derb.1 +2 -2
  209. data/vendor/local/share/man/man1/genbrk.1 +2 -2
  210. data/vendor/local/share/man/man1/gencfu.1 +1 -1
  211. data/vendor/local/share/man/man1/gencnval.1 +3 -3
  212. data/vendor/local/share/man/man1/gendict.1 +2 -2
  213. data/vendor/local/share/man/man1/genrb.1 +3 -3
  214. data/vendor/local/share/man/man1/icu-config.1 +2 -2
  215. data/vendor/local/share/man/man1/makeconv.1 +3 -3
  216. data/vendor/local/share/man/man1/pkgdata.1 +2 -2
  217. data/vendor/local/share/man/man1/uconv.1 +2 -2
  218. data/vendor/local/share/man/man8/genccode.8 +2 -2
  219. data/vendor/local/share/man/man8/gencmn.8 +3 -3
  220. data/vendor/local/share/man/man8/gensprep.8 +3 -3
  221. data/vendor/local/share/man/man8/icupkg.8 +1 -1
  222. metadata +38 -22
  223. data/vendor/local/include/unicode/scientificformathelper.h +0 -139
  224. data/vendor/local/lib/icuin54.dll +0 -0
  225. data/vendor/local/lib/icuio54.dll +0 -0
  226. data/vendor/local/lib/icule54.dll +0 -0
  227. data/vendor/local/lib/iculx54.dll +0 -0
  228. data/vendor/local/lib/icutest54.dll +0 -0
  229. data/vendor/local/lib/icutu54.dll +0 -0
  230. data/vendor/local/lib/icuuc54.dll +0 -0
  231. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-shape.html +0 -286
  232. data/vendor/local/share/gtk-doc/html/harfbuzz/index.sgml +0 -496
@@ -34,19 +34,76 @@
34
34
 
35
35
  HB_BEGIN_DECLS
36
36
 
37
- /* Note: FreeType is not thread-safe. Hence, these functions are not either. */
37
+ /*
38
+ * Note: FreeType is not thread-safe.
39
+ * Hence, these functions are not either.
40
+ */
41
+
42
+ /*
43
+ * hb-face from ft-face.
44
+ */
38
45
 
46
+ /* This one creates a new hb-face for given ft-face.
47
+ * When the returned hb-face is destroyed, the destroy
48
+ * callback is called (if not NULL), with the ft-face passed
49
+ * to it.
50
+ *
51
+ * The client is responsible to make sure that ft-face is
52
+ * destroyed after hb-face is destroyed.
53
+ *
54
+ * Most often you don't want this function. You should use either
55
+ * hb_ft_face_create_cached(), or hb_ft_face_create_referenced().
56
+ * In particular, if you are going to pass NULL as destroy, you
57
+ * probably should use (the more recent) hb_ft_face_create_referenced()
58
+ * instead.
59
+ */
39
60
  hb_face_t *
40
61
  hb_ft_face_create (FT_Face ft_face,
41
62
  hb_destroy_func_t destroy);
42
63
 
64
+ /* This version is like hb_ft_face_create(), except that it caches
65
+ * the hb-face using the generic pointer of the ft-face. This means
66
+ * that subsequent calls to this function with the same ft-face will
67
+ * return the same hb-face (correctly referenced).
68
+ *
69
+ * Client is still responsible for making sure that ft-face is destroyed
70
+ * after hb-face is.
71
+ */
43
72
  hb_face_t *
44
73
  hb_ft_face_create_cached (FT_Face ft_face);
45
74
 
75
+ /* This version is like hb_ft_face_create(), except that it calls
76
+ * FT_Reference_Face() on ft-face, as such keeping ft-face alive
77
+ * as long as the hb-face is.
78
+ *
79
+ * This is the most convenient version to use. Use it unless you have
80
+ * very good reasons not to.
81
+ */
82
+ hb_face_t *
83
+ hb_ft_face_create_referenced (FT_Face ft_face);
84
+
85
+
86
+ /*
87
+ * hb-font from ft-face.
88
+ */
89
+
90
+ /*
91
+ * Note:
92
+ *
93
+ * Set face size on ft-face before creating hb-font from it.
94
+ * Otherwise hb-ft would NOT pick up the font size correctly.
95
+ */
96
+
97
+ /* See notes on hb_ft_face_create(). Same issues re lifecycle-management
98
+ * apply here. Use hb_ft_font_create_referenced() if you can. */
46
99
  hb_font_t *
47
100
  hb_ft_font_create (FT_Face ft_face,
48
101
  hb_destroy_func_t destroy);
49
102
 
103
+ /* See notes on hb_ft_face_create_referenced() re lifecycle-management
104
+ * issues. */
105
+ hb_font_t *
106
+ hb_ft_font_create_referenced (FT_Face ft_face);
50
107
 
51
108
 
52
109
  /* Makes an hb_font_t use FreeType internally to implement font functions. */
@@ -46,6 +46,9 @@ hb_glib_script_from_script (hb_script_t script);
46
46
  hb_unicode_funcs_t *
47
47
  hb_glib_get_unicode_funcs (void);
48
48
 
49
+ hb_blob_t *
50
+ hb_glib_blob_create (GBytes *gbytes);
51
+
49
52
 
50
53
  HB_END_DECLS
51
54
 
@@ -24,6 +24,10 @@
24
24
  * Google Author(s): Behdad Esfahbod, Roozbeh Pournader
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_FONT_H
28
32
  #define HB_OT_FONT_H
29
33
 
@@ -47,13 +47,10 @@ typedef struct hb_feature_t {
47
47
  unsigned int end;
48
48
  } hb_feature_t;
49
49
 
50
- /* len=-1 means str is NUL-terminated */
51
50
  hb_bool_t
52
51
  hb_feature_from_string (const char *str, int len,
53
52
  hb_feature_t *feature);
54
53
 
55
- /* Something like 128 bytes is more than enough.
56
- * nul-terminates. */
57
54
  void
58
55
  hb_feature_to_string (hb_feature_t *feature,
59
56
  char *buf, unsigned int size);
@@ -363,7 +363,7 @@ hb_unicode_funcs_set_script_func (hb_unicode_funcs_t *ufuncs,
363
363
  *
364
364
  *
365
365
  *
366
- * Since: 1.0
366
+ * Since: 0.9.2
367
367
  **/
368
368
  void
369
369
  hb_unicode_funcs_set_compose_func (hb_unicode_funcs_t *ufuncs,
@@ -379,7 +379,7 @@ hb_unicode_funcs_set_compose_func (hb_unicode_funcs_t *ufuncs,
379
379
  *
380
380
  *
381
381
  *
382
- * Since: 1.0
382
+ * Since: 0.9.2
383
383
  **/
384
384
  void
385
385
  hb_unicode_funcs_set_decompose_func (hb_unicode_funcs_t *ufuncs,
@@ -395,7 +395,7 @@ hb_unicode_funcs_set_decompose_func (hb_unicode_funcs_t *ufuncs,
395
395
  *
396
396
  *
397
397
  *
398
- * Since: 1.0
398
+ * Since: 0.9.2
399
399
  **/
400
400
  void
401
401
  hb_unicode_funcs_set_decompose_compatibility_func (hb_unicode_funcs_t *ufuncs,
@@ -404,37 +404,62 @@ hb_unicode_funcs_set_decompose_compatibility_func (hb_unicode_funcs_t *ufuncs,
404
404
 
405
405
  /* accessors */
406
406
 
407
+ /**
408
+ * Since: 0.9.2
409
+ **/
407
410
  hb_unicode_combining_class_t
408
411
  hb_unicode_combining_class (hb_unicode_funcs_t *ufuncs,
409
412
  hb_codepoint_t unicode);
410
413
 
414
+ /**
415
+ * Since: 0.9.2
416
+ **/
411
417
  unsigned int
412
418
  hb_unicode_eastasian_width (hb_unicode_funcs_t *ufuncs,
413
419
  hb_codepoint_t unicode);
414
420
 
421
+ /**
422
+ * Since: 0.9.2
423
+ **/
415
424
  hb_unicode_general_category_t
416
425
  hb_unicode_general_category (hb_unicode_funcs_t *ufuncs,
417
426
  hb_codepoint_t unicode);
418
427
 
428
+ /**
429
+ * Since: 0.9.2
430
+ **/
419
431
  hb_codepoint_t
420
432
  hb_unicode_mirroring (hb_unicode_funcs_t *ufuncs,
421
433
  hb_codepoint_t unicode);
422
434
 
435
+ /**
436
+ * Since: 0.9.2
437
+ **/
423
438
  hb_script_t
424
439
  hb_unicode_script (hb_unicode_funcs_t *ufuncs,
425
440
  hb_codepoint_t unicode);
426
441
 
442
+ /**
443
+ * Since: 0.9.2
444
+ **/
427
445
  hb_bool_t
428
446
  hb_unicode_compose (hb_unicode_funcs_t *ufuncs,
429
447
  hb_codepoint_t a,
430
448
  hb_codepoint_t b,
431
449
  hb_codepoint_t *ab);
450
+
451
+ /**
452
+ * Since: 0.9.2
453
+ **/
432
454
  hb_bool_t
433
455
  hb_unicode_decompose (hb_unicode_funcs_t *ufuncs,
434
456
  hb_codepoint_t ab,
435
457
  hb_codepoint_t *a,
436
458
  hb_codepoint_t *b);
437
459
 
460
+ /**
461
+ * Since: 0.9.2
462
+ **/
438
463
  unsigned int
439
464
  hb_unicode_decompose_compatibility (hb_unicode_funcs_t *ufuncs,
440
465
  hb_codepoint_t u,
@@ -36,11 +36,11 @@
36
36
  HB_BEGIN_DECLS
37
37
 
38
38
 
39
- #define HB_VERSION_MAJOR 0
40
- #define HB_VERSION_MINOR 9
41
- #define HB_VERSION_MICRO 35
39
+ #define HB_VERSION_MAJOR 1
40
+ #define HB_VERSION_MINOR 0
41
+ #define HB_VERSION_MICRO 3
42
42
 
43
- #define HB_VERSION_STRING "0.9.35"
43
+ #define HB_VERSION_STRING "1.0.3"
44
44
 
45
45
  #define HB_VERSION_ATLEAST(major,minor,micro) \
46
46
  ((major)*10000+(minor)*100+(micro) <= \
@@ -1,7 +1,7 @@
1
1
 
2
2
  /*
3
3
  *
4
- * (C) Copyright IBM Corp. 1998-2014 - All Rights Reserved
4
+ * (C) Copyright IBM Corp. 1998-2015 - All Rights Reserved
5
5
  *
6
6
  */
7
7
 
@@ -156,39 +156,13 @@ public:
156
156
  *
157
157
  * Subclasses which represent composite fonts should always return <code>NULL</code>.
158
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
159
  * @param tableTag - the four byte table tag. (e.g. 'cmap')
186
160
  * @param length - ignored on entry, on exit will be the length of the table if known, or -1 if unknown.
187
161
  * @return the address of the table in memory, or <code>NULL</code>
188
162
  * if the table doesn't exist.
189
163
  * @deprecated ICU 54. See {@link LayoutEngine}
190
164
  */
191
- virtual const void* getFontTable(LETag tableTag, size_t &length) const { length=-1; return getFontTable(tableTag); } /* -1 = unknown length */
165
+ virtual const void* getFontTable(LETag tableTag, size_t &length) const = 0;
192
166
 
193
167
  /**
194
168
  * This method is used to determine if the font can
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  * -*- c++ -*-
3
3
  *
4
- * (C) Copyright IBM Corp. and others 2013 - All Rights Reserved
4
+ * (C) Copyright IBM Corp. and others 2015 - All Rights Reserved
5
5
  *
6
6
  * Range checking
7
7
  *
@@ -313,7 +313,12 @@ LE_TRACE_TR("INFO: new RTAO")
313
313
  const T *getAliasRAW() const { LE_DEBUG_TR("getAliasRAW<>"); return (const T*)fStart; }
314
314
 
315
315
  const T& getObject(le_uint32 i, LEErrorCode &success) const {
316
- return *getAlias(i,success);
316
+ const T *ret = getAlias(i, success);
317
+ if (LE_FAILURE(success) || ret==NULL) {
318
+ return *(new T(0));
319
+ } else {
320
+ return *ret;
321
+ }
317
322
  }
318
323
 
319
324
  const T& operator()(le_uint32 i, LEErrorCode &success) const {
@@ -127,9 +127,9 @@ class BasicTimeZone;
127
127
  *
128
128
  * <p>
129
129
  * <strong>Ambiguous Wall Clock Time.</strong> When time offset from UTC has
130
- * changed, it produces ambiguous time slot around the transition. For example,
130
+ * changed, it produces an ambiguous time slot around the transition. For example,
131
131
  * many US locations observe daylight saving time. On the date switching to daylight
132
- * saving time in US, wall clock time jumps from 1:00 AM (standard) to 2:00 AM
132
+ * saving time in US, wall clock time jumps from 12:59 AM (standard) to 2:00 AM
133
133
  * (daylight). Therefore, wall clock time from 1:00 AM to 1:59 AM do not exist on
134
134
  * the date. When the input wall time fall into this missing time slot, the ICU
135
135
  * Calendar resolves the time using the UTC offset before the transition by default.
@@ -2461,6 +2461,36 @@ private:
2461
2461
  * @return TRUE if a transition is found.
2462
2462
  */
2463
2463
  UBool getImmediatePreviousZoneTransition(UDate base, UDate *transitionTime, UErrorCode& status) const;
2464
+
2465
+ public:
2466
+ #ifndef U_HIDE_INTERNAL_API
2467
+ /**
2468
+ * Creates a new Calendar from a Locale for the cache.
2469
+ * This method does not set the time or timezone in returned calendar.
2470
+ * @param locale the locale.
2471
+ * @param status any error returned here.
2472
+ * @return the new Calendar object with no time or timezone set.
2473
+ * @internal For ICU use only.
2474
+ */
2475
+ static Calendar * U_EXPORT2 makeInstance(
2476
+ const Locale &locale, UErrorCode &status);
2477
+
2478
+ /**
2479
+ * Get the calendar type for given locale.
2480
+ * @param locale the locale
2481
+ * @param typeBuffer calendar type returned here
2482
+ * @param typeBufferSize The size of typeBuffer in bytes. If the type
2483
+ * can't fit in the buffer, this method sets status to
2484
+ * U_BUFFER_OVERFLOW_ERROR
2485
+ * @param status error, if any, returned here.
2486
+ * @internal For ICU use only.
2487
+ */
2488
+ static void U_EXPORT2 getCalendarTypeFromLocale(
2489
+ const Locale &locale,
2490
+ char *typeBuffer,
2491
+ int32_t typeBufferSize,
2492
+ UErrorCode &status);
2493
+ #endif /* U_HIDE_INTERNAL_API */
2464
2494
  };
2465
2495
 
2466
2496
  // -------------------------------------
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  ******************************************************************************
3
- * Copyright (C) 1996-2014, International Business Machines
3
+ * Copyright (C) 1996-2015, International Business Machines
4
4
  * Corporation and others. All Rights Reserved.
5
5
  ******************************************************************************
6
6
  */
@@ -607,7 +607,7 @@ public:
607
607
  * Retrieves the reordering codes for this collator.
608
608
  * @param dest The array to fill with the script ordering.
609
609
  * @param destCapacity The length of dest. If it is 0, then dest may be NULL and the function
610
- * will only return the length of the result without writing any of the result string (pre-flighting).
610
+ * will only return the length of the result without writing any codes (pre-flighting).
611
611
  * @param status A reference to an error code value, which must not indicate
612
612
  * a failure before the function call.
613
613
  * @return The length of the script ordering array.
@@ -630,6 +630,7 @@ public:
630
630
  * length is also set to 0. An empty array will clear any reordering codes on the collator.
631
631
  * @param reorderCodesLength The length of reorderCodes.
632
632
  * @param status error code
633
+ * @see ucol_setReorderCodes
633
634
  * @see Collator#getReorderCodes
634
635
  * @see Collator#getEquivalentReorderCodes
635
636
  * @see UScriptCode
@@ -643,11 +644,13 @@ public:
643
644
  /**
644
645
  * Retrieves the reorder codes that are grouped with the given reorder code. Some reorder
645
646
  * codes will be grouped and must reorder together.
647
+ * Beginning with ICU 55, scripts only reorder together if they are primary-equal,
648
+ * for example Hiragana and Katakana.
649
+ *
646
650
  * @param reorderCode The reorder code to determine equivalence for.
647
651
  * @param dest The array to fill with the script equivalence reordering codes.
648
652
  * @param destCapacity The length of dest. If it is 0, then dest may be NULL and the
649
- * function will only return the length of the result without writing any of the result
650
- * string (pre-flighting).
653
+ * function will only return the length of the result without writing any codes (pre-flighting).
651
654
  * @param status A reference to an error code value, which must not indicate
652
655
  * a failure before the function call.
653
656
  * @return The length of the of the reordering code equivalence array.
@@ -866,7 +869,6 @@ public:
866
869
  virtual UColAttributeValue getAttribute(UColAttribute attr,
867
870
  UErrorCode &status) const = 0;
868
871
 
869
- /* Cannot use #ifndef U_HIDE_DRAFT_API for the following draft methods since they are virtual */
870
872
  /**
871
873
  * Sets the variable top to the top of the specified reordering group.
872
874
  * The variable top determines the highest-sorting character
@@ -883,7 +885,7 @@ public:
883
885
  * function chaining. (See User Guide for details.)
884
886
  * @return *this
885
887
  * @see getMaxVariable
886
- * @draft ICU 53
888
+ * @stable ICU 53
887
889
  */
888
890
  virtual Collator &setMaxVariable(UColReorderCode group, UErrorCode &errorCode);
889
891
 
@@ -893,7 +895,7 @@ public:
893
895
  * The base class implementation returns UCOL_REORDER_CODE_PUNCTUATION.
894
896
  * @return the maximum variable reordering group.
895
897
  * @see setMaxVariable
896
- * @draft ICU 53
898
+ * @stable ICU 53
897
899
  */
898
900
  virtual UColReorderCode getMaxVariable() const;
899
901
 
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  ********************************************************************************
3
- * Copyright (C) 1997-2014, International Business Machines
3
+ * Copyright (C) 1997-2015, International Business Machines
4
4
  * Corporation and others. All Rights Reserved.
5
5
  ********************************************************************************
6
6
  *
@@ -571,6 +571,100 @@ public:
571
571
  EStyle timeStyle = kDefault,
572
572
  const Locale& aLocale = Locale::getDefault());
573
573
 
574
+ #ifndef U_HIDE_DRAFT_API
575
+
576
+ /**
577
+ * Creates a date/time formatter for the given skeleton and
578
+ * default locale.
579
+ *
580
+ * @param skeleton The skeleton e.g "yMMMMd." Fields in the skeleton can
581
+ * be in any order, and this method uses the locale to
582
+ * map the skeleton to a pattern that includes locale
583
+ * specific separators with the fields in the appropriate
584
+ * order for that locale.
585
+ * @param status Any error returned here.
586
+ * @return A date/time formatter which the caller owns.
587
+ * @draft ICU 55
588
+ */
589
+ static DateFormat* U_EXPORT2 createInstanceForSkeleton(
590
+ const UnicodeString& skeleton,
591
+ UErrorCode &status);
592
+
593
+ /**
594
+ * Creates a date/time formatter for the given skeleton and locale.
595
+ *
596
+ * @param skeleton The skeleton e.g "yMMMMd." Fields in the skeleton can
597
+ * be in any order, and this method uses the locale to
598
+ * map the skeleton to a pattern that includes locale
599
+ * specific separators with the fields in the appropriate
600
+ * order for that locale.
601
+ * @param locale The given locale.
602
+ * @param status Any error returned here.
603
+ * @return A date/time formatter which the caller owns.
604
+ * @draft ICU 55
605
+ */
606
+ static DateFormat* U_EXPORT2 createInstanceForSkeleton(
607
+ const UnicodeString& skeleton,
608
+ const Locale &locale,
609
+ UErrorCode &status);
610
+
611
+ /**
612
+ * Creates a date/time formatter for the given skeleton and locale.
613
+ *
614
+ * @param calendarToAdopt the calendar returned DateFormat is to use.
615
+ * @param skeleton The skeleton e.g "yMMMMd." Fields in the skeleton can
616
+ * be in any order, and this method uses the locale to
617
+ * map the skeleton to a pattern that includes locale
618
+ * specific separators with the fields in the appropriate
619
+ * order for that locale.
620
+ * @param locale The given locale.
621
+ * @param status Any error returned here.
622
+ * @return A date/time formatter which the caller owns.
623
+ * @draft ICU 55
624
+ */
625
+ static DateFormat* U_EXPORT2 createInstanceForSkeleton(
626
+ Calendar *calendarToAdopt,
627
+ const UnicodeString& skeleton,
628
+ const Locale &locale,
629
+ UErrorCode &status);
630
+
631
+ #endif /* U_HIDE_DRAFT_API */
632
+
633
+ #ifndef U_HIDE_INTERNAL_API
634
+
635
+ /**
636
+ * Creates a date/time formatter for the given skeleton and locale and
637
+ * uses the given DateTimePatternGenerator to convert the skeleton to
638
+ * a format pattern. As creating a DateTimePatternGenerator is
639
+ * expensive, callers can supply it here (if they already have it) to save
640
+ * this method from creating its own.
641
+ *
642
+ * @param skeleton The skeleton e.g "yMMMMd." Fields in the skeleton can
643
+ * be in any order, and this method uses the provided
644
+ * DateTimePatternGenerator to map the skeleton to a
645
+ * pattern that includes appropriate separators with
646
+ * the fields in the appropriate order.
647
+ * @param locale The given locale.
648
+ * @param dpng The user supplied DateTimePatternGenerator. dpng
649
+ * must be created for the same locale as locale.
650
+ * Moreover, the caller must not modify dpng between
651
+ * creating it by locale and calling this method.
652
+ * Although dpng is a non-const reference, the caller
653
+ * must not regard it as an out or in-out parameter.
654
+ * The only reason dpng is a non-const reference is
655
+ * because its method, getBestPattern, which converts
656
+ * a skeleton to a date format pattern is non-const.
657
+ * @return A date/time formatter which the caller owns.
658
+ * @internal For ICU use only
659
+ */
660
+ static DateFormat* U_EXPORT2 internalCreateInstanceForSkeleton(
661
+ const UnicodeString& skeleton,
662
+ const Locale &locale,
663
+ DateTimePatternGenerator &dpng,
664
+ UErrorCode &status);
665
+
666
+ #endif /* U_HIDE_INTERNAL_API */
667
+
574
668
  /**
575
669
  * Gets the set of locales for which DateFormats are installed.
576
670
  * @param count Filled in with the number of locales in the list that is returned.
@@ -610,15 +704,13 @@ public:
610
704
  virtual void setLenient(UBool lenient);
611
705
 
612
706
 
613
- /* Cannot use #ifndef U_HIDE_DRAFT_API for the following draft method since it is virtual */
614
707
  /**
615
708
  * Returns whether date/time parsing in the encapsulated Calendar object processing is lenient.
616
- * @draft ICU 53
709
+ * @stable ICU 53
617
710
  */
618
711
  virtual UBool isCalendarLenient(void) const;
619
712
 
620
713
 
621
- /* Cannot use #ifndef U_HIDE_DRAFT_API for the following draft method since it is virtual */
622
714
  /**
623
715
  * Specifies whether encapsulated Calendar date/time parsing is to be lenient. With
624
716
  * lenient parsing, the parser may use heuristics to interpret inputs that
@@ -626,7 +718,7 @@ public:
626
718
  * inputs must match this object's format more closely.
627
719
  * @param lenient when true, parsing is lenient
628
720
  * @see com.ibm.icu.util.Calendar#setLenient
629
- * @draft ICU 53
721
+ * @stable ICU 53
630
722
  */
631
723
  virtual void setCalendarLenient(UBool lenient);
632
724
 
@@ -707,7 +799,6 @@ public:
707
799
  */
708
800
  virtual void setTimeZone(const TimeZone& zone);
709
801
 
710
- /* Cannot use #ifndef U_HIDE_DRAFT_API for the following draft method since it is virtual */
711
802
  /**
712
803
  * Set a particular UDisplayContext value in the formatter, such as
713
804
  * UDISPCTX_CAPITALIZATION_FOR_STANDALONE.
@@ -715,11 +806,10 @@ public:
715
806
  * @param status Input/output status. If at entry this indicates a failure
716
807
  * status, the function will do nothing; otherwise this will be
717
808
  * updated with any new status from the function.
718
- * @draft ICU 53
809
+ * @stable ICU 53
719
810
  */
720
811
  virtual void setContext(UDisplayContext value, UErrorCode& status);
721
812
 
722
- /* Cannot use #ifndef U_HIDE_DRAFT_API for the following draft method since it is virtual */
723
813
  /**
724
814
  * Get the formatter's UDisplayContext value for the specified UDisplayContextType,
725
815
  * such as UDISPCTX_TYPE_CAPITALIZATION.
@@ -728,11 +818,10 @@ public:
728
818
  * status, the function will do nothing; otherwise this will be
729
819
  * updated with any new status from the function.
730
820
  * @return The UDisplayContextValue for the specified type.
731
- * @draft ICU 53
821
+ * @stable ICU 53
732
822
  */
733
823
  virtual UDisplayContext getContext(UDisplayContextType type, UErrorCode& status) const;
734
824
 
735
- /* Cannot use #ifndef U_HIDE_DRAFT_API for the following draft method since it is virtual */
736
825
  /**
737
826
  * Sets an boolean attribute on this DateFormat.
738
827
  * May return U_UNSUPPORTED_ERROR if this instance does not support
@@ -741,14 +830,13 @@ public:
741
830
  * @param newvalue new value
742
831
  * @param status the error type
743
832
  * @return *this - for chaining (example: format.setAttribute(...).setAttribute(...) )
744
- * @draft ICU 53
833
+ * @stable ICU 53
745
834
  */
746
835
 
747
836
  virtual DateFormat& U_EXPORT2 setBooleanAttribute(UDateFormatBooleanAttribute attr,
748
837
  UBool newvalue,
749
838
  UErrorCode &status);
750
839
 
751
- /* Cannot use #ifndef U_HIDE_DRAFT_API for the following draft method since it is virtual */
752
840
  /**
753
841
  * Returns a boolean from this DateFormat
754
842
  * May return U_UNSUPPORTED_ERROR if this instance does not support
@@ -756,7 +844,7 @@ public:
756
844
  * @param attr the attribute to set
757
845
  * @param status the error type
758
846
  * @return the attribute value. Undefined if there is an error.
759
- * @draft ICU 53
847
+ * @stable ICU 53
760
848
  */
761
849
  virtual UBool U_EXPORT2 getBooleanAttribute(UDateFormatBooleanAttribute attr, UErrorCode &status) const;
762
850
 
@@ -817,6 +905,7 @@ private:
817
905
 
818
906
 
819
907
  UDisplayContext fCapitalizationContext;
908
+ friend class DateFmtKeyByStyle;
820
909
 
821
910
  public:
822
911
  #ifndef U_HIDE_OBSOLETE_API
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  ********************************************************************************
3
- * Copyright (C) 1997-2014, International Business Machines
3
+ * Copyright (C) 1997-2015, International Business Machines
4
4
  * Corporation and others. All Rights Reserved.
5
5
  ********************************************************************************
6
6
  *
@@ -163,12 +163,14 @@ public:
163
163
  * @stable ICU 4.6
164
164
  */
165
165
  kNineDigitSymbol,
166
+ #ifndef U_HIDE_DRAFT_API
166
167
  /** Multiplication sign.
167
168
  * @draft ICU 54
168
169
  */
169
170
  kExponentMultiplicationSymbol,
171
+ #endif /* U_HIDE_DRAFT_API */
170
172
  /** count symbol constants */
171
- kFormatSymbolCount
173
+ kFormatSymbolCount = kNineDigitSymbol + 2
172
174
  };
173
175
 
174
176
  /**
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  ********************************************************************************
3
- * Copyright (C) 1997-2014, International Business Machines
3
+ * Copyright (C) 1997-2015, International Business Machines
4
4
  * Corporation and others. All Rights Reserved.
5
5
  ********************************************************************************
6
6
  *
@@ -808,7 +808,7 @@ public:
808
808
  * Set whether or not grouping will be used in this format.
809
809
  * @param newValue True, grouping will be used in this format.
810
810
  * @see getGroupingUsed
811
- * @draft ICU 53
811
+ * @stable ICU 53
812
812
  */
813
813
  virtual void setGroupingUsed(UBool newValue);
814
814
 
@@ -817,11 +817,10 @@ public:
817
817
  * @param value set True, this format will parse numbers as integers
818
818
  * only.
819
819
  * @see isParseIntegerOnly
820
- * @draft ICU 53
820
+ * @stable ICU 53
821
821
  */
822
822
  virtual void setParseIntegerOnly(UBool value);
823
823
 
824
- /* Cannot use #ifndef U_HIDE_DRAFT_API for the following draft method since it is virtual */
825
824
  /**
826
825
  * Set a particular UDisplayContext value in the formatter, such as
827
826
  * UDISPCTX_CAPITALIZATION_FOR_STANDALONE.
@@ -829,7 +828,7 @@ public:
829
828
  * @param status Input/output status. If at entry this indicates a failure
830
829
  * status, the function will do nothing; otherwise this will be
831
830
  * updated with any new status from the function.
832
- * @draft ICU 53
831
+ * @stable ICU 53
833
832
  */
834
833
  virtual void setContext(UDisplayContext value, UErrorCode& status);
835
834