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,6 +1,6 @@
1
1
  /*
2
2
  **********************************************************************
3
- * Copyright (C) 2002-2014, International Business Machines
3
+ * Copyright (C) 2002-2015, International Business Machines
4
4
  * Corporation and others. All Rights Reserved.
5
5
  **********************************************************************
6
6
  * file name: uconfig.h
@@ -200,7 +200,7 @@
200
200
  * It does not turn off legacy conversion because that is necessary
201
201
  * for ICU to work on EBCDIC platforms (for the default converter).
202
202
  * If you want "only collation" and do not build for EBCDIC,
203
- * then you can define UCONFIG_NO_LEGACY_CONVERSION 1 as well.
203
+ * then you can define UCONFIG_NO_CONVERSION or UCONFIG_NO_LEGACY_CONVERSION to 1 as well.
204
204
  *
205
205
  * @stable ICU 2.4
206
206
  */
@@ -269,6 +269,21 @@
269
269
  # define UCONFIG_NO_LEGACY_CONVERSION 1
270
270
  #endif
271
271
 
272
+ /**
273
+ * \def UCONFIG_ONLY_HTML_CONVERSION
274
+ * This switch turns off all of the converters NOT listed in
275
+ * the HTML encoding standard:
276
+ * http://www.w3.org/TR/encoding/#names-and-labels
277
+ *
278
+ * This is not possible on EBCDIC platforms
279
+ * because they need ibm-37 or ibm-1047 default converters.
280
+ *
281
+ * @draft ICU 55
282
+ */
283
+ #ifndef UCONFIG_ONLY_HTML_CONVERSION
284
+ # define UCONFIG_ONLY_HTML_CONVERSION 0
285
+ #endif
286
+
272
287
  /**
273
288
  * \def UCONFIG_NO_LEGACY_CONVERSION
274
289
  * This switch turns off all converters except for
@@ -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
  */
@@ -16,6 +16,7 @@
16
16
  #include "unicode/ucal.h"
17
17
  #include "unicode/unum.h"
18
18
  #include "unicode/udisplaycontext.h"
19
+ #include "unicode/ufieldpositer.h"
19
20
  /**
20
21
  * \file
21
22
  * \brief C API: DateFormat
@@ -760,6 +761,15 @@ typedef enum UDateFormatField {
760
761
  UDAT_RELATED_YEAR_FIELD = 34,
761
762
  #endif /* U_HIDE_INTERNAL_API */
762
763
 
764
+ #ifndef U_HIDE_DRAFT_API
765
+ /**
766
+ * FieldPosition and UFieldPosition selector for ':' time separator,
767
+ * no corresponding UCAL_ field.
768
+ * @draft ICU 55
769
+ */
770
+ UDAT_TIME_SEPARATOR_FIELD = 35,
771
+ #endif /* U_HIDE_DRAFT_API */
772
+
763
773
  /**
764
774
  * Number of FieldPosition and UFieldPosition selectors for
765
775
  * DateFormat and UDateFormat.
@@ -768,7 +778,7 @@ typedef enum UDateFormatField {
768
778
  * in the future.
769
779
  * @stable ICU 3.0
770
780
  */
771
- UDAT_FIELD_COUNT = 35
781
+ UDAT_FIELD_COUNT = 36
772
782
 
773
783
  } UDateFormatField;
774
784
 
@@ -834,26 +844,24 @@ U_STABLE void U_EXPORT2
834
844
  udat_close(UDateFormat* format);
835
845
 
836
846
 
837
- /* Dont hide UDateFormatBooleanAttribute type with #ifndef U_HIDE_DRAFT_API, needed by virtual methods */
838
- /* Also don't hide UDAT_BOOLEAN_ATTRIBUTE_COUNT, needed by template class EnumSet<UDateFormatBooleanAttribute,...> */
839
847
  /**
840
848
  * DateFormat boolean attributes
841
849
  *
842
- * @draft ICU 53
850
+ * @stable ICU 53
843
851
  */
844
852
  typedef enum UDateFormatBooleanAttribute {
845
- #ifndef U_HIDE_DRAFT_API
846
853
  /**
847
854
  * indicates whether whitespace is allowed. Includes trailing dot tolerance.
848
- * @draft ICU 53
855
+ * @stable ICU 53
849
856
  */
850
857
  UDAT_PARSE_ALLOW_WHITESPACE = 0,
851
858
  /**
852
859
  * indicates tolerance of numeric data when String data may be assumed. eg: UDAT_YEAR_NAME_FIELD,
853
860
  * UDAT_STANDALONE_MONTH_FIELD, UDAT_DAY_OF_WEEK_FIELD
854
- * @draft ICU 53
861
+ * @stable ICU 53
855
862
  */
856
863
  UDAT_PARSE_ALLOW_NUMERIC = 1,
864
+ #ifndef U_HIDE_DRAFT_API
857
865
  /**
858
866
  * indicates tolerance of a partial literal match
859
867
  * @draft ICU 53
@@ -868,12 +876,11 @@ typedef enum UDateFormatBooleanAttribute {
868
876
  #endif /* U_HIDE_DRAFT_API */
869
877
  /**
870
878
  * count boolean date format constants
871
- * @draft ICU 53
879
+ * @stable ICU 53
872
880
  */
873
881
  UDAT_BOOLEAN_ATTRIBUTE_COUNT = 4
874
882
  } UDateFormatBooleanAttribute;
875
883
 
876
- #ifndef U_HIDE_DRAFT_API
877
884
  /**
878
885
  * Get a boolean attribute associated with a UDateFormat.
879
886
  * An example would be a true value for a key of UDAT_PARSE_ALLOW_WHITESPACE indicating allowing whitespace leniency.
@@ -882,9 +889,9 @@ typedef enum UDateFormatBooleanAttribute {
882
889
  * @param attr The attribute to query; e.g. UDAT_PARSE_ALLOW_WHITESPACE.
883
890
  * @param status A pointer to an UErrorCode to receive any errors
884
891
  * @return The value of attr.
885
- * @draft ICU 53
892
+ * @stable ICU 53
886
893
  */
887
- U_DRAFT UBool U_EXPORT2
894
+ U_STABLE UBool U_EXPORT2
888
895
  udat_getBooleanAttribute(const UDateFormat* fmt, UDateFormatBooleanAttribute attr, UErrorCode* status);
889
896
 
890
897
  /**
@@ -895,13 +902,11 @@ udat_getBooleanAttribute(const UDateFormat* fmt, UDateFormatBooleanAttribute att
895
902
  * @param attr The attribute to set; one of UDAT_PARSE_ALLOW_WHITESPACE or UDAT_PARSE_ALLOW_NUMERIC
896
903
  * @param newValue The new value of attr.
897
904
  * @param status A pointer to an UErrorCode to receive any errors
898
- * @draft ICU 53
905
+ * @stable ICU 53
899
906
  */
900
- U_DRAFT void U_EXPORT2
907
+ U_STABLE void U_EXPORT2
901
908
  udat_setBooleanAttribute(UDateFormat *fmt, UDateFormatBooleanAttribute attr, UBool newValue, UErrorCode* status);
902
909
 
903
- #endif /* U_HIDE_DRAFT_API */
904
-
905
910
 
906
911
 
907
912
  #if U_SHOW_CPLUSPLUS_API
@@ -936,7 +941,7 @@ udat_clone(const UDateFormat *fmt,
936
941
  UErrorCode *status);
937
942
 
938
943
  /**
939
- * Format a date using an UDateFormat.
944
+ * Format a date using a UDateFormat.
940
945
  * The date will be formatted using the conventions specified in {@link #udat_open }
941
946
  * @param format The formatter to use
942
947
  * @param dateToFormat The date to format
@@ -961,6 +966,112 @@ udat_format( const UDateFormat* format,
961
966
  UFieldPosition* position,
962
967
  UErrorCode* status);
963
968
 
969
+ #ifndef U_HIDE_DRAFT_API
970
+ /**
971
+ * Format a date using an UDateFormat.
972
+ * The date will be formatted using the conventions specified in {@link #udat_open }
973
+ * @param format The formatter to use
974
+ * @param calendar The calendar to format. The calendar instance might be
975
+ * mutated if fields are not yet fully calculated, though
976
+ * the function won't change the logical date and time held
977
+ * by the instance.
978
+ * @param result A pointer to a buffer to receive the formatted number.
979
+ * @param capacity The maximum size of result.
980
+ * @param position A pointer to a UFieldPosition. On input, position->field
981
+ * is read. On output, position->beginIndex and position->endIndex indicate
982
+ * the beginning and ending indices of field number position->field, if such
983
+ * a field exists. This parameter may be NULL, in which case no field
984
+ * position data is returned.
985
+ * @param status A pointer to an UErrorCode to receive any errors
986
+ * @return The total buffer size needed; if greater than resultLength, the output was truncated.
987
+ * @see udat_format
988
+ * @see udat_parseCalendar
989
+ * @see UFieldPosition
990
+ * @draft ICU 55
991
+ */
992
+ U_DRAFT int32_t U_EXPORT2
993
+ udat_formatCalendar( const UDateFormat* format,
994
+ UCalendar* calendar,
995
+ UChar* result,
996
+ int32_t capacity,
997
+ UFieldPosition* position,
998
+ UErrorCode* status);
999
+
1000
+ /**
1001
+ * Format a date using a UDateFormat.
1002
+ * The date will be formatted using the conventions specified in {@link #udat_open}
1003
+ * @param format
1004
+ * The formatter to use
1005
+ * @param dateToFormat
1006
+ * The date to format
1007
+ * @param result
1008
+ * A pointer to a buffer to receive the formatted number.
1009
+ * @param resultLength
1010
+ * The maximum size of result.
1011
+ * @param fpositer
1012
+ * A pointer to a UFieldPositionIterator created by {@link #ufieldpositer_open}
1013
+ * (may be NULL if field position information is not needed). Any
1014
+ * iteration information already present in the UFieldPositionIterator
1015
+ * will be deleted, and the iterator will be reset to apply to the
1016
+ * fields in the formatted string created by this function call; the
1017
+ * field values provided by {@link #ufieldpositer_next} will be from the
1018
+ * UDateFormatField enum.
1019
+ * @param status
1020
+ * A pointer to a UErrorCode to receive any errors
1021
+ * @return
1022
+ * The total buffer size needed; if greater than resultLength, the output was truncated.
1023
+ * @see udat_parse
1024
+ * @see UFieldPositionIterator
1025
+ * @draft ICU 55
1026
+ */
1027
+ U_DRAFT int32_t U_EXPORT2
1028
+ udat_formatForFields( const UDateFormat* format,
1029
+ UDate dateToFormat,
1030
+ UChar* result,
1031
+ int32_t resultLength,
1032
+ UFieldPositionIterator* fpositer,
1033
+ UErrorCode* status);
1034
+
1035
+ /**
1036
+ * Format a date using a UDateFormat.
1037
+ * The date will be formatted using the conventions specified in {@link #udat_open }
1038
+ * @param format
1039
+ * The formatter to use
1040
+ * @param calendar
1041
+ * The calendar to format. The calendar instance might be mutated if fields
1042
+ * are not yet fully calculated, though the function won't change the logical
1043
+ * date and time held by the instance.
1044
+ * @param result
1045
+ * A pointer to a buffer to receive the formatted number.
1046
+ * @param capacity
1047
+ * The maximum size of result.
1048
+ * @param fpositer
1049
+ * A pointer to a UFieldPositionIterator created by {@link #ufieldpositer_open}
1050
+ * (may be NULL if field position information is not needed). Any
1051
+ * iteration information already present in the UFieldPositionIterator
1052
+ * will be deleted, and the iterator will be reset to apply to the
1053
+ * fields in the formatted string created by this function call; the
1054
+ * field values provided by {@link #ufieldpositer_next} will be from the
1055
+ * UDateFormatField enum.
1056
+ * @param status
1057
+ * A pointer to a UErrorCode to receive any errors
1058
+ * @return
1059
+ * The total buffer size needed; if greater than resultLength, the output was truncated.
1060
+ * @see udat_format
1061
+ * @see udat_parseCalendar
1062
+ * @see UFieldPositionIterator
1063
+ * @draft ICU 55
1064
+ */
1065
+ U_DRAFT int32_t U_EXPORT2
1066
+ udat_formatCalendarForFields( const UDateFormat* format,
1067
+ UCalendar* calendar,
1068
+ UChar* result,
1069
+ int32_t capacity,
1070
+ UFieldPositionIterator* fpositer,
1071
+ UErrorCode* status);
1072
+
1073
+ #endif /* U_HIDE_DRAFT_API */
1074
+
964
1075
  /**
965
1076
  * Parse a string into an date/time using a UDateFormat.
966
1077
  * The date will be parsed using the conventions specified in {@link #udat_open }.
@@ -1300,40 +1411,40 @@ typedef enum UDateFormatSymbolType {
1300
1411
  UDAT_STANDALONE_SHORTER_WEEKDAYS
1301
1412
  #ifndef U_HIDE_DRAFT_API
1302
1413
  ,
1303
- /**
1304
- * Cyclic year names (only supported for some calendars, and only for FORMAT usage;
1305
- * udat_setSymbols not supported for UDAT_CYCLIC_YEARS_WIDE)
1306
- * @draft ICU 54
1307
- */
1308
- UDAT_CYCLIC_YEARS_WIDE,
1309
- /**
1310
- * Cyclic year names (only supported for some calendars, and only for FORMAT usage)
1311
- * @draft ICU 54
1312
- */
1313
- UDAT_CYCLIC_YEARS_ABBREVIATED,
1314
- /**
1315
- * Cyclic year names (only supported for some calendars, and only for FORMAT usage;
1316
- * udat_setSymbols not supported for UDAT_CYCLIC_YEARS_NARROW)
1317
- * @draft ICU 54
1318
- */
1319
- UDAT_CYCLIC_YEARS_NARROW,
1320
- /**
1321
- * Calendar zodiac names (only supported for some calendars, and only for FORMAT usage;
1322
- * udat_setSymbols not supported for UDAT_ZODIAC_NAMES_WIDE)
1323
- * @draft ICU 54
1324
- */
1325
- UDAT_ZODIAC_NAMES_WIDE,
1326
- /**
1327
- * Calendar zodiac names (only supported for some calendars, and only for FORMAT usage)
1328
- * @draft ICU 54
1329
- */
1330
- UDAT_ZODIAC_NAMES_ABBREVIATED,
1331
- /**
1332
- * Calendar zodiac names (only supported for some calendars, and only for FORMAT usage;
1333
- * udat_setSymbols not supported for UDAT_ZODIAC_NAMES_NARROW)
1334
- * @draft ICU 54
1335
- */
1336
- UDAT_ZODIAC_NAMES_NARROW
1414
+ /**
1415
+ * Cyclic year names (only supported for some calendars, and only for FORMAT usage;
1416
+ * udat_setSymbols not supported for UDAT_CYCLIC_YEARS_WIDE)
1417
+ * @draft ICU 54
1418
+ */
1419
+ UDAT_CYCLIC_YEARS_WIDE,
1420
+ /**
1421
+ * Cyclic year names (only supported for some calendars, and only for FORMAT usage)
1422
+ * @draft ICU 54
1423
+ */
1424
+ UDAT_CYCLIC_YEARS_ABBREVIATED,
1425
+ /**
1426
+ * Cyclic year names (only supported for some calendars, and only for FORMAT usage;
1427
+ * udat_setSymbols not supported for UDAT_CYCLIC_YEARS_NARROW)
1428
+ * @draft ICU 54
1429
+ */
1430
+ UDAT_CYCLIC_YEARS_NARROW,
1431
+ /**
1432
+ * Calendar zodiac names (only supported for some calendars, and only for FORMAT usage;
1433
+ * udat_setSymbols not supported for UDAT_ZODIAC_NAMES_WIDE)
1434
+ * @draft ICU 54
1435
+ */
1436
+ UDAT_ZODIAC_NAMES_WIDE,
1437
+ /**
1438
+ * Calendar zodiac names (only supported for some calendars, and only for FORMAT usage)
1439
+ * @draft ICU 54
1440
+ */
1441
+ UDAT_ZODIAC_NAMES_ABBREVIATED,
1442
+ /**
1443
+ * Calendar zodiac names (only supported for some calendars, and only for FORMAT usage;
1444
+ * udat_setSymbols not supported for UDAT_ZODIAC_NAMES_NARROW)
1445
+ * @draft ICU 54
1446
+ */
1447
+ UDAT_ZODIAC_NAMES_NARROW
1337
1448
  #endif /* U_HIDE_DRAFT_API */
1338
1449
  } UDateFormatSymbolType;
1339
1450
 
@@ -1432,7 +1543,6 @@ udat_getLocaleByType(const UDateFormat *fmt,
1432
1543
  U_DRAFT void U_EXPORT2
1433
1544
  udat_setContext(UDateFormat* fmt, UDisplayContext value, UErrorCode* status);
1434
1545
 
1435
- #ifndef U_HIDE_DRAFT_API
1436
1546
  /**
1437
1547
  * Get the formatter's UDisplayContext value for the specified UDisplayContextType,
1438
1548
  * such as UDISPCTX_TYPE_CAPITALIZATION.
@@ -1440,13 +1550,11 @@ udat_setContext(UDateFormat* fmt, UDisplayContext value, UErrorCode* status);
1440
1550
  * @param type The UDisplayContextType whose value to return
1441
1551
  * @param status A pointer to an UErrorCode to receive any errors
1442
1552
  * @return The UDisplayContextValue for the specified type.
1443
- * @draft ICU 53
1553
+ * @stable ICU 53
1444
1554
  */
1445
- U_DRAFT UDisplayContext U_EXPORT2
1555
+ U_STABLE UDisplayContext U_EXPORT2
1446
1556
  udat_getContext(const UDateFormat* fmt, UDisplayContextType type, UErrorCode* status);
1447
1557
 
1448
- #endif /* U_HIDE_DRAFT_API */
1449
-
1450
1558
  #ifndef U_HIDE_INTERNAL_API
1451
1559
  /**
1452
1560
  * Extract the date pattern from a UDateFormat set for relative date formatting.
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  *******************************************************************************
3
3
  *
4
- * Copyright (C) 2007-2012, International Business Machines
4
+ * Copyright (C) 2007-2015, International Business Machines
5
5
  * Corporation and others. All Rights Reserved.
6
6
  *
7
7
  *******************************************************************************
@@ -409,14 +409,16 @@ udatpg_getAppendItemName(const UDateTimePatternGenerator *dtpg,
409
409
  int32_t *pLength);
410
410
 
411
411
  /**
412
- * The date time format is a message format pattern used to compose date and
413
- * time patterns. The default value is "{0} {1}", where {0} will be replaced
414
- * by the date pattern and {1} will be replaced by the time pattern.
412
+ * The DateTimeFormat is a message format pattern used to compose date and
413
+ * time patterns. The default pattern in the root locale is "{1} {0}", where
414
+ * {1} will be replaced by the date pattern and {0} will be replaced by the
415
+ * time pattern; however, other locales may specify patterns such as
416
+ * "{1}, {0}" or "{1} 'at' {0}", etc.
415
417
  * <p>
416
418
  * This is used when the input skeleton contains both date and time fields,
417
419
  * but there is not a close match among the added patterns. For example,
418
420
  * suppose that this object was created by adding "dd-MMM" and "hh:mm", and
419
- * its datetimeFormat is the default "{0} {1}". Then if the input skeleton
421
+ * its DateTimeFormat is the default "{1} {0}". Then if the input skeleton
420
422
  * is "MMMdhmm", there is not an exact match, so the input skeleton is
421
423
  * broken up into two components "MMMd" and "hmm". There are close matches
422
424
  * for those two skeletons, so the result is put together with this pattern,
@@ -424,8 +426,8 @@ udatpg_getAppendItemName(const UDateTimePatternGenerator *dtpg,
424
426
  *
425
427
  * @param dtpg a pointer to UDateTimePatternGenerator.
426
428
  * @param dtFormat
427
- * message format pattern, here {0} will be replaced by the date
428
- * pattern and {1} will be replaced by the time pattern.
429
+ * message format pattern, here {1} will be replaced by the date
430
+ * pattern and {0} will be replaced by the time pattern.
429
431
  * @param length the length of dtFormat.
430
432
  * @stable ICU 3.8
431
433
  */
@@ -0,0 +1,121 @@
1
+ /*
2
+ *****************************************************************************************
3
+ * Copyright (C) 2015, International Business Machines
4
+ * Corporation and others. All Rights Reserved.
5
+ *****************************************************************************************
6
+ */
7
+
8
+ #ifndef UFIELDPOSITER_H
9
+ #define UFIELDPOSITER_H
10
+
11
+ #include "unicode/utypes.h"
12
+
13
+ #if !UCONFIG_NO_FORMATTING
14
+ #ifndef U_HIDE_DRAFT_API
15
+
16
+ #include "unicode/localpointer.h"
17
+
18
+ /**
19
+ * \file
20
+ * \brief C API: UFieldPositionIterator for use with format APIs.
21
+ *
22
+ * Usage:
23
+ * ufieldpositer_open creates an empty (unset) UFieldPositionIterator.
24
+ * This can be passed to format functions such as {@link #udat_formatForFields},
25
+ * which will set it to apply to the fields in a particular formatted string.
26
+ * ufieldpositer_next can then be used to iterate over those fields,
27
+ * providing for each field its type (using values that are specific to the
28
+ * particular format type, such as date or number formats), as well as the
29
+ * start and end positions of the field in the formatted string.
30
+ * A given UFieldPositionIterator can be re-used for different format calls;
31
+ * each such call resets it to apply to that format string.
32
+ * ufieldpositer_close should be called to dispose of the UFieldPositionIterator
33
+ * when it is no longer needed.
34
+ *
35
+ * @see FieldPositionIterator
36
+ */
37
+
38
+ /**
39
+ * Opaque UFieldPositionIterator object for use in C.
40
+ * @draft ICU 55
41
+ */
42
+ struct UFieldPositionIterator;
43
+ typedef struct UFieldPositionIterator UFieldPositionIterator; /**< C typedef for struct UFieldPositionIterator. @draft ICU 55 */
44
+
45
+ /**
46
+ * Open a new, unset UFieldPositionIterator object.
47
+ * @param status
48
+ * A pointer to a UErrorCode to receive any errors.
49
+ * @return
50
+ * A pointer to an empty (unset) UFieldPositionIterator object,
51
+ * or NULL if an error occurred.
52
+ * @draft ICU 55
53
+ */
54
+ U_DRAFT UFieldPositionIterator* U_EXPORT2
55
+ ufieldpositer_open(UErrorCode* status);
56
+
57
+ /**
58
+ * Close a UFieldPositionIterator object. Once closed it may no longer be used.
59
+ * @param fpositer
60
+ * A pointer to the UFieldPositionIterator object to close.
61
+ * @draft ICU 55
62
+ */
63
+ U_DRAFT void U_EXPORT2
64
+ ufieldpositer_close(UFieldPositionIterator *fpositer);
65
+
66
+
67
+ #if U_SHOW_CPLUSPLUS_API
68
+
69
+ U_NAMESPACE_BEGIN
70
+
71
+ /**
72
+ * \class LocalUFieldPositionIteratorPointer
73
+ * "Smart pointer" class, closes a UFieldPositionIterator via ufieldpositer_close().
74
+ * For most methods see the LocalPointerBase base class.
75
+ *
76
+ * @see LocalPointerBase
77
+ * @see LocalPointer
78
+ * @draft ICU 55
79
+ */
80
+ U_DEFINE_LOCAL_OPEN_POINTER(LocalUFieldPositionIteratorPointer, UFieldPositionIterator, ufieldpositer_close);
81
+
82
+ U_NAMESPACE_END
83
+
84
+ #endif
85
+
86
+ /**
87
+ * Get information for the next field in the formatted string to which this
88
+ * UFieldPositionIterator currently applies, or return FALSE if there are
89
+ * no more fields.
90
+ * @param fpositer
91
+ * A pointer to the UFieldPositionIterator object containing iteration
92
+ * state for the format fields.
93
+ * @param beginIndex
94
+ * A pointer to an int32_t to receive information about the start offset
95
+ * of the field in the formatted string (undefined if the function
96
+ * returns a negative value). May be NULL if this information is not needed.
97
+ * @param endIndex
98
+ * A pointer to an int32_t to receive information about the end offset
99
+ * of the field in the formatted string (undefined if the function
100
+ * returns a negative value). May be NULL if this information is not needed.
101
+ * @return
102
+ * The field type (non-negative value), or a negative value if there are
103
+ * no more fields for which to provide information. If negative, then any
104
+ * values pointed to by beginIndex and endIndex are undefined.
105
+ *
106
+ * The values for field type depend on what type of formatter the
107
+ * UFieldPositionIterator has been set by; for a date formatter, the
108
+ * values from the UDateFormatField enum. For more information, see the
109
+ * descriptions of format functions that take a UFieldPositionIterator*
110
+ * parameter, such as {@link #udat_formatForFields}.
111
+ *
112
+ * @draft ICU 55
113
+ */
114
+ U_DRAFT int32_t U_EXPORT2
115
+ ufieldpositer_next(UFieldPositionIterator *fpositer,
116
+ int32_t *beginIndex, int32_t *endIndex);
117
+
118
+ #endif /* U_HIDE_DRAFT_API */
119
+ #endif /* #if !UCONFIG_NO_FORMATTING */
120
+
121
+ #endif