pango 2.2.5-x64-mingw32 → 3.0.0-x64-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-mingw64 +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
@@ -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
 
@@ -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
  *
@@ -408,6 +408,38 @@ public:
408
408
  */
409
409
  void setAmPmStrings(const UnicodeString* ampms, int32_t count);
410
410
 
411
+ #ifndef U_HIDE_INTERNAL_API
412
+ /**
413
+ * This default time separator is used for formatting when the locale
414
+ * doesn't specify any time separator, and always recognized when parsing.
415
+ * @internal
416
+ */
417
+ static const UChar DEFAULT_TIME_SEPARATOR = 0x003a; // ':'
418
+
419
+ /**
420
+ * This alternate time separator is always recognized when parsing.
421
+ * @internal
422
+ */
423
+ static const UChar ALTERNATE_TIME_SEPARATOR = 0x002e; // '.'
424
+ #endif /* U_HIDE_INTERNAL_API */
425
+
426
+ #ifndef U_HIDE_DRAFT_API
427
+ /**
428
+ * Gets the time separator string. For example: ":".
429
+ * @param result Output param which will receive the time separator string.
430
+ * @return A reference to 'result'.
431
+ * @draft ICU 55
432
+ */
433
+ UnicodeString& getTimeSeparatorString(UnicodeString& result) const;
434
+
435
+ /**
436
+ * Sets the time separator string. For example: ":".
437
+ * @param newTimeSeparator the new time separator string.
438
+ * @draft ICU 55
439
+ */
440
+ void setTimeSeparatorString(const UnicodeString& newTimeSeparator);
441
+ #endif /* U_HIDE_DRAFT_API */
442
+
411
443
  #ifndef U_HIDE_DRAFT_API
412
444
  /**
413
445
  * Gets cyclic year name strings if the calendar has them, by width and context.
@@ -710,6 +742,17 @@ private:
710
742
  UnicodeString* fAmPms;
711
743
  int32_t fAmPmsCount;
712
744
 
745
+ /**
746
+ * Narrow Ampm strings. For example: "a" and "p".
747
+ */
748
+ UnicodeString* fNarrowAmPms;
749
+ int32_t fNarrowAmPmsCount;
750
+
751
+ /**
752
+ * Time separator string. For example: ":".
753
+ */
754
+ UnicodeString fTimeSeparator;
755
+
713
756
  /**
714
757
  * Quarter strings. For example: "1st quarter", "2nd quarter", etc.
715
758
  */
@@ -902,6 +945,22 @@ private:
902
945
  * Returns TRUE if c (repeated count times) is the pattern character for a numeric field.
903
946
  */
904
947
  static UBool U_EXPORT2 isNumericPatternChar(UChar c, int32_t count);
948
+ public:
949
+ #ifndef U_HIDE_INTERNAL_API
950
+ /**
951
+ * Gets a DateFormatSymbols by locale.
952
+ * Unlike the constructors which always use gregorian calendar, this
953
+ * method uses the calendar in the locale. If the locale contains no
954
+ * explicit calendar, this method uses the default calendar for that
955
+ * locale.
956
+ * @param locale the locale.
957
+ * @param status error returned here.
958
+ * @return the new DateFormatSymbols which the caller owns.
959
+ * @internal For ICU use only.
960
+ */
961
+ static DateFormatSymbols * U_EXPORT2 createForLocale(
962
+ const Locale &locale, UErrorCode &status);
963
+ #endif /* U_HIDE_INTERNAL_API */
905
964
  };
906
965
 
907
966
  U_NAMESPACE_END