pango 3.1.0-x86-mingw32 → 3.1.1-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +9 -4
- data/ext/pango/rbpangolayoutline.c +6 -2
- data/lib/2.2/pango.so +0 -0
- data/lib/2.3/pango.so +0 -0
- data/lib/2.4/pango.so +0 -0
- data/sample/layout.rb +1 -1
- data/vendor/local/bin/derb.exe +0 -0
- data/vendor/local/bin/genbrk.exe +0 -0
- data/vendor/local/bin/genccode.exe +0 -0
- data/vendor/local/bin/gencfu.exe +0 -0
- data/vendor/local/bin/gencmn.exe +0 -0
- data/vendor/local/bin/gencnval.exe +0 -0
- data/vendor/local/bin/gendict.exe +0 -0
- data/vendor/local/bin/gennorm2.exe +0 -0
- data/vendor/local/bin/genrb.exe +0 -0
- data/vendor/local/bin/gensprep.exe +0 -0
- data/vendor/local/bin/hb-ot-shape-closure.exe +0 -0
- data/vendor/local/bin/hb-shape.exe +0 -0
- data/vendor/local/bin/hb-view.exe +0 -0
- data/vendor/local/bin/icu-config +18 -13
- data/vendor/local/bin/icuinfo.exe +0 -0
- data/vendor/local/bin/icupkg.exe +0 -0
- data/vendor/local/bin/libharfbuzz-0.dll +0 -0
- data/vendor/local/bin/libpango-1.0-0.dll +0 -0
- data/vendor/local/bin/libpangocairo-1.0-0.dll +0 -0
- data/vendor/local/bin/libpangoft2-1.0-0.dll +0 -0
- data/vendor/local/bin/libpangowin32-1.0-0.dll +0 -0
- data/vendor/local/bin/makeconv.exe +0 -0
- data/vendor/local/bin/pango-view.exe +0 -0
- data/vendor/local/bin/pkgdata.exe +0 -0
- data/vendor/local/bin/uconv.exe +0 -0
- data/vendor/local/include/harfbuzz/hb-font.h +5 -0
- data/vendor/local/include/harfbuzz/hb-glib.h +2 -1
- data/vendor/local/include/harfbuzz/hb-ot-layout.h +19 -0
- data/vendor/local/include/harfbuzz/hb-shape-plan.h +19 -0
- data/vendor/local/include/harfbuzz/hb-version.h +3 -3
- data/vendor/local/include/unicode/alphaindex.h +2 -0
- data/vendor/local/include/unicode/appendable.h +2 -0
- data/vendor/local/include/unicode/basictz.h +2 -0
- data/vendor/local/include/unicode/brkiter.h +7 -0
- data/vendor/local/include/unicode/bytestream.h +2 -0
- data/vendor/local/include/unicode/bytestrie.h +3 -2
- data/vendor/local/include/unicode/bytestriebuilder.h +4 -4
- data/vendor/local/include/unicode/calendar.h +2 -0
- data/vendor/local/include/unicode/caniter.h +2 -0
- data/vendor/local/include/unicode/chariter.h +2 -0
- data/vendor/local/include/unicode/choicfmt.h +2 -0
- data/vendor/local/include/unicode/coleitr.h +2 -0
- data/vendor/local/include/unicode/coll.h +2 -0
- data/vendor/local/include/unicode/compactdecimalformat.h +4 -3
- data/vendor/local/include/unicode/curramt.h +2 -0
- data/vendor/local/include/unicode/currpinf.h +2 -0
- data/vendor/local/include/unicode/currunit.h +2 -0
- data/vendor/local/include/unicode/datefmt.h +2 -0
- data/vendor/local/include/unicode/dbbi.h +2 -0
- data/vendor/local/include/unicode/dcfmtsym.h +2 -0
- data/vendor/local/include/unicode/decimfmt.h +9 -5
- data/vendor/local/include/unicode/docmain.h +3 -1
- data/vendor/local/include/unicode/dtfmtsym.h +26 -14
- data/vendor/local/include/unicode/dtintrv.h +2 -0
- data/vendor/local/include/unicode/dtitvfmt.h +2 -0
- data/vendor/local/include/unicode/dtitvinf.h +8 -3
- data/vendor/local/include/unicode/dtptngen.h +13 -9
- data/vendor/local/include/unicode/dtrule.h +2 -0
- data/vendor/local/include/unicode/enumset.h +2 -0
- data/vendor/local/include/unicode/errorcode.h +2 -0
- data/vendor/local/include/unicode/fieldpos.h +5 -2
- data/vendor/local/include/unicode/filteredbrk.h +10 -12
- data/vendor/local/include/unicode/fmtable.h +4 -2
- data/vendor/local/include/unicode/format.h +2 -0
- data/vendor/local/include/unicode/fpositer.h +2 -0
- data/vendor/local/include/unicode/gender.h +2 -0
- data/vendor/local/include/unicode/gregocal.h +2 -0
- data/vendor/local/include/unicode/icudataver.h +2 -0
- data/vendor/local/include/unicode/icuplug.h +12 -2
- data/vendor/local/include/unicode/idna.h +6 -4
- data/vendor/local/include/unicode/listformatter.h +2 -0
- data/vendor/local/include/unicode/localpointer.h +19 -28
- data/vendor/local/include/unicode/locdspnm.h +2 -0
- data/vendor/local/include/unicode/locid.h +2 -0
- data/vendor/local/include/unicode/measfmt.h +21 -2
- data/vendor/local/include/unicode/measunit.h +50 -24
- data/vendor/local/include/unicode/measure.h +2 -0
- data/vendor/local/include/unicode/messagepattern.h +2 -0
- data/vendor/local/include/unicode/msgfmt.h +2 -0
- data/vendor/local/include/unicode/normalizer2.h +2 -0
- data/vendor/local/include/unicode/normlzr.h +4 -4
- data/vendor/local/include/unicode/numfmt.h +8 -6
- data/vendor/local/include/unicode/numsys.h +2 -0
- data/vendor/local/include/unicode/parseerr.h +2 -0
- data/vendor/local/include/unicode/parsepos.h +2 -0
- data/vendor/local/include/unicode/platform.h +8 -0
- data/vendor/local/include/unicode/plurfmt.h +2 -0
- data/vendor/local/include/unicode/plurrule.h +2 -0
- data/vendor/local/include/unicode/ptypes.h +2 -0
- data/vendor/local/include/unicode/putil.h +2 -0
- data/vendor/local/include/unicode/rbbi.h +18 -66
- data/vendor/local/include/unicode/rbnf.h +8 -0
- data/vendor/local/include/unicode/rbtz.h +2 -0
- data/vendor/local/include/unicode/regex.h +2 -0
- data/vendor/local/include/unicode/region.h +3 -1
- data/vendor/local/include/unicode/reldatefmt.h +19 -9
- data/vendor/local/include/unicode/rep.h +2 -0
- data/vendor/local/include/unicode/resbund.h +2 -0
- data/vendor/local/include/unicode/schriter.h +2 -0
- data/vendor/local/include/unicode/scientificnumberformatter.h +2 -0
- data/vendor/local/include/unicode/search.h +2 -0
- data/vendor/local/include/unicode/selfmt.h +2 -0
- data/vendor/local/include/unicode/simpleformatter.h +2 -0
- data/vendor/local/include/unicode/simpletz.h +2 -0
- data/vendor/local/include/unicode/smpdtfmt.h +9 -1
- data/vendor/local/include/unicode/sortkey.h +2 -0
- data/vendor/local/include/unicode/std_string.h +2 -0
- data/vendor/local/include/unicode/strenum.h +2 -0
- data/vendor/local/include/unicode/stringpiece.h +5 -3
- data/vendor/local/include/unicode/stringtriebuilder.h +13 -1
- data/vendor/local/include/unicode/stsearch.h +2 -0
- data/vendor/local/include/unicode/symtable.h +2 -0
- data/vendor/local/include/unicode/tblcoll.h +3 -1
- data/vendor/local/include/unicode/timezone.h +2 -0
- data/vendor/local/include/unicode/tmunit.h +8 -0
- data/vendor/local/include/unicode/tmutamt.h +2 -0
- data/vendor/local/include/unicode/tmutfmt.h +5 -0
- data/vendor/local/include/unicode/translit.h +2 -0
- data/vendor/local/include/unicode/tzfmt.h +2 -0
- data/vendor/local/include/unicode/tznames.h +16 -2
- data/vendor/local/include/unicode/tzrule.h +2 -0
- data/vendor/local/include/unicode/tztrans.h +2 -0
- data/vendor/local/include/unicode/ubidi.h +20 -8
- data/vendor/local/include/unicode/ubiditransform.h +321 -0
- data/vendor/local/include/unicode/ubrk.h +26 -7
- data/vendor/local/include/unicode/ucal.h +8 -4
- data/vendor/local/include/unicode/ucasemap.h +2 -0
- data/vendor/local/include/unicode/ucat.h +2 -0
- data/vendor/local/include/unicode/uchar.h +244 -17
- data/vendor/local/include/unicode/ucharstrie.h +2 -0
- data/vendor/local/include/unicode/ucharstriebuilder.h +2 -0
- data/vendor/local/include/unicode/uchriter.h +2 -0
- data/vendor/local/include/unicode/uclean.h +2 -0
- data/vendor/local/include/unicode/ucnv.h +8 -1
- data/vendor/local/include/unicode/ucnv_cb.h +2 -0
- data/vendor/local/include/unicode/ucnv_err.h +2 -0
- data/vendor/local/include/unicode/ucnvsel.h +2 -0
- data/vendor/local/include/unicode/ucol.h +28 -11
- data/vendor/local/include/unicode/ucoleitr.h +2 -0
- data/vendor/local/include/unicode/uconfig.h +2 -0
- data/vendor/local/include/unicode/ucsdet.h +2 -0
- data/vendor/local/include/unicode/ucurr.h +5 -1
- data/vendor/local/include/unicode/udat.h +13 -11
- data/vendor/local/include/unicode/udata.h +8 -1
- data/vendor/local/include/unicode/udateintervalformat.h +2 -0
- data/vendor/local/include/unicode/udatpg.h +15 -2
- data/vendor/local/include/unicode/udisplaycontext.h +34 -2
- data/vendor/local/include/unicode/uenum.h +2 -0
- data/vendor/local/include/unicode/ufieldpositer.h +4 -2
- data/vendor/local/include/unicode/uformattable.h +9 -1
- data/vendor/local/include/unicode/ugender.h +2 -0
- data/vendor/local/include/unicode/uidna.h +2 -0
- data/vendor/local/include/unicode/uiter.h +2 -0
- data/vendor/local/include/unicode/uldnames.h +2 -0
- data/vendor/local/include/unicode/ulistformatter.h +2 -0
- data/vendor/local/include/unicode/uloc.h +9 -3
- data/vendor/local/include/unicode/ulocdata.h +20 -2
- data/vendor/local/include/unicode/umachine.h +25 -0
- data/vendor/local/include/unicode/umisc.h +2 -0
- data/vendor/local/include/unicode/umsg.h +2 -0
- data/vendor/local/include/unicode/unifilt.h +2 -0
- data/vendor/local/include/unicode/unifunct.h +2 -0
- data/vendor/local/include/unicode/unimatch.h +2 -0
- data/vendor/local/include/unicode/unirepl.h +2 -0
- data/vendor/local/include/unicode/uniset.h +3 -1
- data/vendor/local/include/unicode/unistr.h +12 -14
- data/vendor/local/include/unicode/unorm.h +6 -2
- data/vendor/local/include/unicode/unorm2.h +2 -0
- data/vendor/local/include/unicode/unum.h +28 -10
- data/vendor/local/include/unicode/unumsys.h +2 -0
- data/vendor/local/include/unicode/uobject.h +2 -0
- data/vendor/local/include/unicode/upluralrules.h +6 -2
- data/vendor/local/include/unicode/uregex.h +2 -0
- data/vendor/local/include/unicode/uregion.h +6 -2
- data/vendor/local/include/unicode/ureldatefmt.h +13 -7
- data/vendor/local/include/unicode/urename.h +16 -4
- data/vendor/local/include/unicode/urep.h +2 -0
- data/vendor/local/include/unicode/ures.h +7 -1
- data/vendor/local/include/unicode/uscript.h +41 -29
- data/vendor/local/include/unicode/usearch.h +10 -4
- data/vendor/local/include/unicode/uset.h +5 -1
- data/vendor/local/include/unicode/usetiter.h +2 -0
- data/vendor/local/include/unicode/ushape.h +2 -0
- data/vendor/local/include/unicode/uspoof.h +876 -363
- data/vendor/local/include/unicode/usprep.h +2 -0
- data/vendor/local/include/unicode/ustdio.h +2 -0
- data/vendor/local/include/unicode/ustream.h +2 -0
- data/vendor/local/include/unicode/ustring.h +2 -0
- data/vendor/local/include/unicode/ustringtrie.h +2 -0
- data/vendor/local/include/unicode/utext.h +2 -0
- data/vendor/local/include/unicode/utf.h +2 -0
- data/vendor/local/include/unicode/utf16.h +2 -0
- data/vendor/local/include/unicode/utf32.h +2 -0
- data/vendor/local/include/unicode/utf8.h +2 -0
- data/vendor/local/include/unicode/utf_old.h +2 -0
- data/vendor/local/include/unicode/utmscale.h +2 -0
- data/vendor/local/include/unicode/utrace.h +20 -0
- data/vendor/local/include/unicode/utrans.h +2 -0
- data/vendor/local/include/unicode/utypes.h +71 -97
- data/vendor/local/include/unicode/uvernum.h +13 -12
- data/vendor/local/include/unicode/uversion.h +2 -0
- data/vendor/local/include/unicode/vtzone.h +2 -0
- data/vendor/local/lib/icu/{57.1 → 58.2}/Makefile.inc +8 -9
- data/vendor/local/lib/icu/{57.1 → 58.2}/pkgdata.inc +3 -3
- data/vendor/local/lib/icu/Makefile.inc +8 -9
- data/vendor/local/lib/icu/pkgdata.inc +3 -3
- data/vendor/local/lib/icudt.dll +0 -0
- data/vendor/local/lib/icudt58.dll +0 -0
- data/vendor/local/lib/icuin.dll +0 -0
- data/vendor/local/lib/icuin58.dll +0 -0
- data/vendor/local/lib/icuio.dll +0 -0
- data/vendor/local/lib/icuio58.dll +0 -0
- data/vendor/local/lib/icutest.dll +0 -0
- data/vendor/local/lib/{icutest57.dll → icutest58.dll} +0 -0
- data/vendor/local/lib/icutu.dll +0 -0
- data/vendor/local/lib/icutu58.dll +0 -0
- data/vendor/local/lib/icuuc.dll +0 -0
- data/vendor/local/lib/icuuc58.dll +0 -0
- data/vendor/local/lib/libharfbuzz-icu.a +0 -0
- data/vendor/local/lib/libharfbuzz-icu.la +4 -4
- data/vendor/local/lib/libharfbuzz.dll.a +0 -0
- data/vendor/local/lib/libharfbuzz.la +3 -3
- data/vendor/local/lib/libicudt.dll.a +0 -0
- data/vendor/local/lib/{icudt57.dll → libicudt58.dll} +0 -0
- data/vendor/local/lib/libicuin.dll.a +0 -0
- data/vendor/local/lib/libicuio.dll.a +0 -0
- data/vendor/local/lib/libicutest.dll.a +0 -0
- data/vendor/local/lib/libicutu.dll.a +0 -0
- data/vendor/local/lib/libicuuc.dll.a +0 -0
- data/vendor/local/lib/libpango-1.0.dll.a +0 -0
- data/vendor/local/lib/libpangocairo-1.0.dll.a +0 -0
- data/vendor/local/lib/libpangoft2-1.0.dll.a +0 -0
- data/vendor/local/lib/libpangowin32-1.0.dll.a +0 -0
- data/vendor/local/lib/pkgconfig/harfbuzz-icu.pc +1 -1
- data/vendor/local/lib/pkgconfig/harfbuzz.pc +2 -2
- data/vendor/local/lib/pkgconfig/icu-i18n.pc +8 -6
- data/vendor/local/lib/pkgconfig/icu-io.pc +8 -6
- data/vendor/local/lib/pkgconfig/icu-uc.pc +8 -6
- data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-version.html +3 -3
- data/vendor/local/share/gtk-doc/html/harfbuzz/pt02.html +1 -1
- data/vendor/local/share/icu/{57.1 → 58.2}/LICENSE +52 -60
- data/vendor/local/share/icu/{57.1 → 58.2}/config/mh-mingw +4 -2
- data/vendor/local/share/icu/{57.1 → 58.2}/install-sh +0 -0
- data/vendor/local/share/icu/{57.1 → 58.2}/mkinstalldirs +2 -0
- data/vendor/local/share/man/man1/derb.1 +4 -2
- data/vendor/local/share/man/man1/genbrk.1 +4 -2
- data/vendor/local/share/man/man1/gencfu.1 +3 -1
- data/vendor/local/share/man/man1/gencnval.1 +5 -3
- data/vendor/local/share/man/man1/gendict.1 +4 -2
- data/vendor/local/share/man/man1/genrb.1 +5 -3
- data/vendor/local/share/man/man1/icu-config.1 +4 -5
- data/vendor/local/share/man/man1/makeconv.1 +5 -3
- data/vendor/local/share/man/man1/pkgdata.1 +4 -2
- data/vendor/local/share/man/man1/uconv.1 +4 -2
- data/vendor/local/share/man/man8/genccode.8 +4 -2
- data/vendor/local/share/man/man8/gencmn.8 +5 -3
- data/vendor/local/share/man/man8/gensprep.8 +5 -3
- data/vendor/local/share/man/man8/icupkg.8 +3 -1
- metadata +23 -40
- data/vendor/local/include/layout/LEFontInstance.h +0 -524
- data/vendor/local/include/layout/LEGlyphFilter.h +0 -45
- data/vendor/local/include/layout/LEGlyphStorage.h +0 -546
- data/vendor/local/include/layout/LEInsertionList.h +0 -177
- data/vendor/local/include/layout/LELanguages.h +0 -109
- data/vendor/local/include/layout/LEScripts.h +0 -204
- data/vendor/local/include/layout/LESwaps.h +0 -100
- data/vendor/local/include/layout/LETableReference.h +0 -435
- data/vendor/local/include/layout/LETypes.h +0 -728
- data/vendor/local/include/layout/LayoutEngine.h +0 -518
- data/vendor/local/include/layout/ParagraphLayout.h +0 -747
- data/vendor/local/include/layout/RunArrays.h +0 -676
- data/vendor/local/include/layout/loengine.h +0 -225
- data/vendor/local/include/layout/playout.h +0 -466
- data/vendor/local/include/layout/plruns.h +0 -441
- data/vendor/local/lib/icuin57.dll +0 -0
- data/vendor/local/lib/icuio57.dll +0 -0
- data/vendor/local/lib/icule.dll +0 -0
- data/vendor/local/lib/icule57.dll +0 -0
- data/vendor/local/lib/iculx.dll +0 -0
- data/vendor/local/lib/iculx57.dll +0 -0
- data/vendor/local/lib/icutu57.dll +0 -0
- data/vendor/local/lib/icuuc57.dll +0 -0
- data/vendor/local/lib/libicule.dll.a +0 -0
- data/vendor/local/lib/libiculx.dll.a +0 -0
- data/vendor/local/lib/pkgconfig/icu-le.pc +0 -38
- data/vendor/local/lib/pkgconfig/icu-lx.pc +0 -38
@@ -1,3 +1,5 @@
|
|
1
|
+
// Copyright (C) 2016 and later: Unicode, Inc. and others.
|
2
|
+
// License & terms of use: http://www.unicode.org/copyright.html
|
1
3
|
/*
|
2
4
|
**************************************************************************
|
3
5
|
* Copyright (C) 1999-2012, International Business Machines Corporation and
|
@@ -1,3 +1,5 @@
|
|
1
|
+
// Copyright (C) 2016 and later: Unicode, Inc. and others.
|
2
|
+
// License & terms of use: http://www.unicode.org/copyright.html
|
1
3
|
/********************************************************************
|
2
4
|
* COPYRIGHT:
|
3
5
|
* Copyright (c) 1997-2011, International Business Machines Corporation and
|
@@ -1,3 +1,5 @@
|
|
1
|
+
// Copyright (C) 2016 and later: Unicode, Inc. and others.
|
2
|
+
// License & terms of use: http://www.unicode.org/copyright.html
|
1
3
|
/*
|
2
4
|
******************************************************************************
|
3
5
|
* Copyright (C) 2014-2016, International Business Machines
|
@@ -1,3 +1,5 @@
|
|
1
|
+
// Copyright (C) 2016 and later: Unicode, Inc. and others.
|
2
|
+
// License & terms of use: http://www.unicode.org/copyright.html
|
1
3
|
/*
|
2
4
|
********************************************************************************
|
3
5
|
* Copyright (C) 1997-2013, International Business Machines *
|
@@ -1,3 +1,5 @@
|
|
1
|
+
// Copyright (C) 2016 and later: Unicode, Inc. and others.
|
2
|
+
// License & terms of use: http://www.unicode.org/copyright.html
|
1
3
|
/*
|
2
4
|
* Copyright (C) 1997-2016, International Business Machines Corporation and
|
3
5
|
* others. All Rights Reserved.
|
@@ -651,7 +653,7 @@ class SimpleDateFormatMutableNFs;
|
|
651
653
|
* = new SimpleDateFormat ("yyyy.MM.dd G 'at' hh:mm:ss a zzz", success );
|
652
654
|
* GregorianCalendar cal(success);
|
653
655
|
* UDate currentTime_1 = cal.getTime(success);
|
654
|
-
* FieldPosition fp(
|
656
|
+
* FieldPosition fp(FieldPosition::DONT_CARE);
|
655
657
|
* UnicodeString dateString;
|
656
658
|
* formatter->format( currentTime_1, dateString, fp );
|
657
659
|
* cout << "result: " << dateString << endl;
|
@@ -999,6 +1001,12 @@ public:
|
|
999
1001
|
* (Presumably, letters that would be more mnemonic in that locale's
|
1000
1002
|
* language.) This function would produce a pattern using those
|
1001
1003
|
* letters.
|
1004
|
+
* <p>
|
1005
|
+
* <b>Note:</b> This implementation depends on DateFormatSymbols::getLocalPatternChars()
|
1006
|
+
* to get localized format pattern characters. ICU does not include
|
1007
|
+
* localized pattern character data, therefore, unless user sets localized
|
1008
|
+
* pattern characters manually, this method returns the same result as
|
1009
|
+
* toPattern().
|
1002
1010
|
*
|
1003
1011
|
* @param result Receives the localized pattern.
|
1004
1012
|
* @param status Output param set to success/failure code on
|
@@ -1,3 +1,5 @@
|
|
1
|
+
// Copyright (C) 2016 and later: Unicode, Inc. and others.
|
2
|
+
// License & terms of use: http://www.unicode.org/copyright.html
|
1
3
|
/*
|
2
4
|
*****************************************************************************
|
3
5
|
* Copyright (C) 1996-2014, International Business Machines Corporation and others.
|
@@ -1,3 +1,5 @@
|
|
1
|
+
// Copyright (C) 2016 and later: Unicode, Inc. and others.
|
2
|
+
// License & terms of use: http://www.unicode.org/copyright.html
|
1
3
|
// Copyright (C) 2009-2013, International Business Machines
|
2
4
|
// Corporation and others. All Rights Reserved.
|
3
5
|
//
|
@@ -40,9 +42,9 @@ U_NAMESPACE_BEGIN
|
|
40
42
|
* in a "const char*" or a "string" wherever a "StringPiece" is
|
41
43
|
* expected.
|
42
44
|
*
|
43
|
-
* Functions or methods may use
|
44
|
-
*
|
45
|
-
*
|
45
|
+
* Functions or methods may use StringPiece parameters to accept either a
|
46
|
+
* "const char*" or a "string" value that will be implicitly converted to a
|
47
|
+
* StringPiece.
|
46
48
|
*
|
47
49
|
* Systematic usage of StringPiece is encouraged as it will reduce unnecessary
|
48
50
|
* conversions from "const char*" to "string" and back again.
|
@@ -1,3 +1,5 @@
|
|
1
|
+
// Copyright (C) 2016 and later: Unicode, Inc. and others.
|
2
|
+
// License & terms of use: http://www.unicode.org/copyright.html
|
1
3
|
/*
|
2
4
|
*******************************************************************************
|
3
5
|
* Copyright (C) 2010-2012,2014, International Business Machines
|
@@ -184,7 +186,8 @@ protected:
|
|
184
186
|
/** @internal */
|
185
187
|
UHashtable *nodes;
|
186
188
|
|
187
|
-
#ifndef U_HIDE_INTERNAL_API
|
189
|
+
// Do not conditionalize the following with #ifndef U_HIDE_INTERNAL_API,
|
190
|
+
// it is needed for layout of other objects.
|
188
191
|
/** @internal */
|
189
192
|
class Node : public UObject {
|
190
193
|
public:
|
@@ -243,6 +246,7 @@ protected:
|
|
243
246
|
int32_t offset;
|
244
247
|
};
|
245
248
|
|
249
|
+
#ifndef U_HIDE_INTERNAL_API
|
246
250
|
// This class should not be overridden because
|
247
251
|
// registerFinalValue() compares a stack-allocated FinalValueNode
|
248
252
|
// (stack-allocated so that we don't unnecessarily create lots of duplicate nodes)
|
@@ -258,7 +262,10 @@ protected:
|
|
258
262
|
protected:
|
259
263
|
int32_t value;
|
260
264
|
};
|
265
|
+
#endif /* U_HIDE_INTERNAL_API */
|
261
266
|
|
267
|
+
// Do not conditionalize the following with #ifndef U_HIDE_INTERNAL_API,
|
268
|
+
// it is needed for layout of other objects.
|
262
269
|
/**
|
263
270
|
* @internal
|
264
271
|
*/
|
@@ -276,6 +283,7 @@ protected:
|
|
276
283
|
int32_t value;
|
277
284
|
};
|
278
285
|
|
286
|
+
#ifndef U_HIDE_INTERNAL_API
|
279
287
|
/**
|
280
288
|
* @internal
|
281
289
|
*/
|
@@ -289,7 +297,10 @@ protected:
|
|
289
297
|
protected:
|
290
298
|
Node *next;
|
291
299
|
};
|
300
|
+
#endif /* U_HIDE_INTERNAL_API */
|
292
301
|
|
302
|
+
// Do not conditionalize the following with #ifndef U_HIDE_INTERNAL_API,
|
303
|
+
// it is needed for layout of other objects.
|
293
304
|
/**
|
294
305
|
* @internal
|
295
306
|
*/
|
@@ -305,6 +316,7 @@ protected:
|
|
305
316
|
Node *next;
|
306
317
|
};
|
307
318
|
|
319
|
+
#ifndef U_HIDE_INTERNAL_API
|
308
320
|
/**
|
309
321
|
* @internal
|
310
322
|
*/
|
@@ -1,3 +1,5 @@
|
|
1
|
+
// Copyright (C) 2016 and later: Unicode, Inc. and others.
|
2
|
+
// License & terms of use: http://www.unicode.org/copyright.html
|
1
3
|
/*
|
2
4
|
******************************************************************************
|
3
5
|
* Copyright (C) 1996-2016, International Business Machines Corporation and
|
@@ -854,7 +856,7 @@ private:
|
|
854
856
|
*/
|
855
857
|
UBool isUnsafe(UChar32 c) const;
|
856
858
|
|
857
|
-
static void computeMaxExpansions(const CollationTailoring *t, UErrorCode &errorCode);
|
859
|
+
static void U_CALLCONV computeMaxExpansions(const CollationTailoring *t, UErrorCode &errorCode);
|
858
860
|
UBool initMaxExpansions(UErrorCode &errorCode) const;
|
859
861
|
|
860
862
|
void setFastLatinOptions(CollationSettings &ownedSettings) const;
|
@@ -1,3 +1,5 @@
|
|
1
|
+
// Copyright (C) 2016 and later: Unicode, Inc. and others.
|
2
|
+
// License & terms of use: http://www.unicode.org/copyright.html
|
1
3
|
/*************************************************************************
|
2
4
|
* Copyright (c) 1997-2016, International Business Machines Corporation
|
3
5
|
* and others. All Rights Reserved.
|
@@ -1,3 +1,5 @@
|
|
1
|
+
// Copyright (C) 2016 and later: Unicode, Inc. and others.
|
2
|
+
// License & terms of use: http://www.unicode.org/copyright.html
|
1
3
|
/*
|
2
4
|
*******************************************************************************
|
3
5
|
* Copyright (C) 2009-2016, International Business Machines Corporation, *
|
@@ -41,7 +43,13 @@ public:
|
|
41
43
|
UTIMEUNIT_HOUR,
|
42
44
|
UTIMEUNIT_MINUTE,
|
43
45
|
UTIMEUNIT_SECOND,
|
46
|
+
#ifndef U_HIDE_DEPRECATED_API
|
47
|
+
/**
|
48
|
+
* One more than the highest normal UTimeUnitFields value.
|
49
|
+
* @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
|
50
|
+
*/
|
44
51
|
UTIMEUNIT_FIELD_COUNT
|
52
|
+
#endif // U_HIDE_DEPRECATED_API
|
45
53
|
};
|
46
54
|
|
47
55
|
/**
|
@@ -1,3 +1,5 @@
|
|
1
|
+
// Copyright (C) 2016 and later: Unicode, Inc. and others.
|
2
|
+
// License & terms of use: http://www.unicode.org/copyright.html
|
1
3
|
/*
|
2
4
|
*******************************************************************************
|
3
5
|
* Copyright (C) 2009-2010, Google, International Business Machines Corporation and *
|
@@ -1,3 +1,5 @@
|
|
1
|
+
// Copyright (C) 2016 and later: Unicode, Inc. and others.
|
2
|
+
// License & terms of use: http://www.unicode.org/copyright.html
|
1
3
|
/*
|
2
4
|
*******************************************************************************
|
3
5
|
* Copyright (C) 2008-2014, Google, International Business Machines Corporation
|
@@ -50,6 +52,8 @@ U_NAMESPACE_BEGIN
|
|
50
52
|
class Hashtable;
|
51
53
|
class UVector;
|
52
54
|
|
55
|
+
struct TimeUnitFormatReadSink;
|
56
|
+
|
53
57
|
/**
|
54
58
|
* Format or parse a TimeUnitAmount, using plural rules for the units where available.
|
55
59
|
*
|
@@ -227,6 +231,7 @@ private:
|
|
227
231
|
// UTIMEUNIT_YEAR.
|
228
232
|
static const char* getTimeUnitName(TimeUnit::UTimeUnitFields field, UErrorCode& status);
|
229
233
|
|
234
|
+
friend struct TimeUnitFormatReadSink;
|
230
235
|
};
|
231
236
|
|
232
237
|
inline UBool
|
@@ -1,3 +1,5 @@
|
|
1
|
+
// Copyright (C) 2016 and later: Unicode, Inc. and others.
|
2
|
+
// License & terms of use: http://www.unicode.org/copyright.html
|
1
3
|
/*
|
2
4
|
*******************************************************************************
|
3
5
|
* Copyright (C) 2011-2015, International Business Machines Corporation and
|
@@ -1,6 +1,8 @@
|
|
1
|
+
// Copyright (C) 2016 and later: Unicode, Inc. and others.
|
2
|
+
// License & terms of use: http://www.unicode.org/copyright.html
|
1
3
|
/*
|
2
4
|
*******************************************************************************
|
3
|
-
* Copyright (C) 2011-
|
5
|
+
* Copyright (C) 2011-2016, International Business Machines Corporation and
|
4
6
|
* others. All Rights Reserved.
|
5
7
|
*******************************************************************************
|
6
8
|
*/
|
@@ -133,7 +135,7 @@ public:
|
|
133
135
|
virtual ~TimeZoneNames();
|
134
136
|
|
135
137
|
/**
|
136
|
-
* Return true if the given TimeZoneNames objects are
|
138
|
+
* Return true if the given TimeZoneNames objects are semantically equal.
|
137
139
|
* @param other the object to be compared with.
|
138
140
|
* @return Return TRUE if the given Format objects are semantically equal.
|
139
141
|
* @stable ICU 50
|
@@ -288,6 +290,18 @@ public:
|
|
288
290
|
*/
|
289
291
|
virtual UnicodeString& getDisplayName(const UnicodeString& tzID, UTimeZoneNameType type, UDate date, UnicodeString& name) const;
|
290
292
|
|
293
|
+
/**
|
294
|
+
* @internal For specific users only until proposed publicly.
|
295
|
+
* @deprecated This API is ICU internal only.
|
296
|
+
*/
|
297
|
+
virtual void loadAllDisplayNames(UErrorCode& status);
|
298
|
+
|
299
|
+
/**
|
300
|
+
* @internal For specific users only until proposed publicly.
|
301
|
+
* @deprecated This API is ICU internal only.
|
302
|
+
*/
|
303
|
+
virtual void getDisplayNames(const UnicodeString& tzID, const UTimeZoneNameType types[], int32_t numTypes, UDate date, UnicodeString dest[], UErrorCode& status) const;
|
304
|
+
|
291
305
|
/**
|
292
306
|
* <code>MatchInfoCollection</code> represents a collection of time zone name matches used by
|
293
307
|
* {@link TimeZoneNames#find}.
|
@@ -1,3 +1,5 @@
|
|
1
|
+
// Copyright (C) 2016 and later: Unicode, Inc. and others.
|
2
|
+
// License & terms of use: http://www.unicode.org/copyright.html
|
1
3
|
/*
|
2
4
|
*******************************************************************************
|
3
5
|
* Copyright (C) 2007-2008, International Business Machines Corporation and *
|
@@ -1,3 +1,5 @@
|
|
1
|
+
// Copyright (C) 2016 and later: Unicode, Inc. and others.
|
2
|
+
// License & terms of use: http://www.unicode.org/copyright.html
|
1
3
|
/*
|
2
4
|
*******************************************************************************
|
3
5
|
* Copyright (C) 2007-2008, International Business Machines Corporation and *
|
@@ -1,3 +1,5 @@
|
|
1
|
+
// Copyright (C) 2016 and later: Unicode, Inc. and others.
|
2
|
+
// License & terms of use: http://www.unicode.org/copyright.html
|
1
3
|
/*
|
2
4
|
******************************************************************************
|
3
5
|
*
|
@@ -718,9 +720,13 @@ typedef enum UBiDiReorderingMode {
|
|
718
720
|
* <code>UBIDI_REORDER_NUMBERS_SPECIAL</code> Bidi algorithm.
|
719
721
|
* @stable ICU 3.6 */
|
720
722
|
UBIDI_REORDER_INVERSE_FOR_NUMBERS_SPECIAL,
|
721
|
-
|
722
|
-
|
723
|
+
#ifndef U_HIDE_DEPRECATED_API
|
724
|
+
/**
|
725
|
+
* Number of values for reordering mode.
|
726
|
+
* @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
|
727
|
+
*/
|
723
728
|
UBIDI_REORDER_COUNT
|
729
|
+
#endif // U_HIDE_DEPRECATED_API
|
724
730
|
} UBiDiReorderingMode;
|
725
731
|
|
726
732
|
/**
|
@@ -1959,13 +1965,19 @@ U_STABLE int32_t U_EXPORT2
|
|
1959
1965
|
ubidi_getResultLength(const UBiDi *pBiDi);
|
1960
1966
|
|
1961
1967
|
U_CDECL_BEGIN
|
1968
|
+
|
1969
|
+
#ifndef U_HIDE_DEPRECATED_API
|
1962
1970
|
/**
|
1963
|
-
*
|
1971
|
+
* Value returned by <code>UBiDiClassCallback</code> callbacks when
|
1964
1972
|
* there is no need to override the standard Bidi class for a given code point.
|
1973
|
+
*
|
1974
|
+
* This constant is deprecated; use u_getIntPropertyMaxValue(UCHAR_BIDI_CLASS)+1 instead.
|
1975
|
+
*
|
1965
1976
|
* @see UBiDiClassCallback
|
1966
|
-
* @
|
1977
|
+
* @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
|
1967
1978
|
*/
|
1968
1979
|
#define U_BIDI_CLASS_DEFAULT U_CHAR_DIRECTION_COUNT
|
1980
|
+
#endif // U_HIDE_DEPRECATED_API
|
1969
1981
|
|
1970
1982
|
/**
|
1971
1983
|
* Callback type declaration for overriding default Bidi class values with
|
@@ -1981,8 +1993,8 @@ U_CDECL_BEGIN
|
|
1981
1993
|
*
|
1982
1994
|
* @return The directional property / Bidi class for the given code point
|
1983
1995
|
* <code>c</code> if the default class has been overridden, or
|
1984
|
-
* <code>#U_BIDI_CLASS_DEFAULT</code>
|
1985
|
-
* for <code>c</code> is to be used.
|
1996
|
+
* <code>#U_BIDI_CLASS_DEFAULT=u_getIntPropertyMaxValue(UCHAR_BIDI_CLASS)+1</code>
|
1997
|
+
* if the standard Bidi class value for <code>c</code> is to be used.
|
1986
1998
|
* @see ubidi_setClassCallback
|
1987
1999
|
* @see ubidi_getClassCallback
|
1988
2000
|
* @stable ICU 3.6
|
@@ -1995,8 +2007,8 @@ U_CDECL_END
|
|
1995
2007
|
/**
|
1996
2008
|
* Retrieve the Bidi class for a given code point.
|
1997
2009
|
* <p>If a <code>#UBiDiClassCallback</code> callback is defined and returns a
|
1998
|
-
* value other than <code>#U_BIDI_CLASS_DEFAULT</code>,
|
1999
|
-
* otherwise the default class determination mechanism is invoked.</p>
|
2010
|
+
* value other than <code>#U_BIDI_CLASS_DEFAULT=u_getIntPropertyMaxValue(UCHAR_BIDI_CLASS)+1</code>,
|
2011
|
+
* that value is used; otherwise the default class determination mechanism is invoked.</p>
|
2000
2012
|
*
|
2001
2013
|
* @param pBiDi is the paragraph <code>UBiDi</code> object.
|
2002
2014
|
*
|
@@ -0,0 +1,321 @@
|
|
1
|
+
/*
|
2
|
+
******************************************************************************
|
3
|
+
*
|
4
|
+
* Copyright (C) 2016 and later: Unicode, Inc. and others.
|
5
|
+
* License & terms of use: http://www.unicode.org/copyright.html
|
6
|
+
*
|
7
|
+
******************************************************************************
|
8
|
+
* file name: ubiditransform.h
|
9
|
+
* encoding: US-ASCII
|
10
|
+
* tab size: 8 (not used)
|
11
|
+
* indentation:4
|
12
|
+
*
|
13
|
+
* created on: 2016jul24
|
14
|
+
* created by: Lina Kemmel
|
15
|
+
*
|
16
|
+
*/
|
17
|
+
|
18
|
+
#ifndef UBIDITRANSFORM_H
|
19
|
+
#define UBIDITRANSFORM_H
|
20
|
+
|
21
|
+
#include "unicode/utypes.h"
|
22
|
+
#include "unicode/ubidi.h"
|
23
|
+
#include "unicode/uchar.h"
|
24
|
+
#include "unicode/localpointer.h"
|
25
|
+
|
26
|
+
#ifndef U_HIDE_DRAFT_API
|
27
|
+
|
28
|
+
/**
|
29
|
+
* \file
|
30
|
+
* \brief Bidi Transformations
|
31
|
+
*
|
32
|
+
* <code>UBiDiOrder</code> indicates the order of text.<p>
|
33
|
+
* This bidi transformation engine supports all possible combinations (4 in
|
34
|
+
* total) of input and output text order:
|
35
|
+
* <ul>
|
36
|
+
* <li><logical input, visual output>: unless the output direction is RTL, this
|
37
|
+
* corresponds to a normal operation of the Bidi algorithm as described in the
|
38
|
+
* Unicode Technical Report and implemented by <code>UBiDi</code> when the
|
39
|
+
* reordering mode is set to <code>UBIDI_REORDER_DEFAULT</code>. Visual RTL
|
40
|
+
* mode is not supported by <code>UBiDi</code> and is accomplished through
|
41
|
+
* reversing a visual LTR string,</li>
|
42
|
+
* <li><visual input, logical output>: unless the input direction is RTL, this
|
43
|
+
* corresponds to an "inverse bidi algorithm" in <code>UBiDi</code> with the
|
44
|
+
* reordering mode set to <code>UBIDI_REORDER_INVERSE_LIKE_DIRECT</code>.
|
45
|
+
* Visual RTL mode is not not supported by <code>UBiDi</code> and is
|
46
|
+
* accomplished through reversing a visual LTR string,</li>
|
47
|
+
* <li><logical input, logical output>: if the input and output base directions
|
48
|
+
* mismatch, this corresponds to the <code>UBiDi</code> implementation with the
|
49
|
+
* reordering mode set to <code>UBIDI_REORDER_RUNS_ONLY</code>; and if the
|
50
|
+
* input and output base directions are identical, the transformation engine
|
51
|
+
* will only handle character mirroring and Arabic shaping operations without
|
52
|
+
* reordering,</li>
|
53
|
+
* <li><visual input, visual output>: this reordering mode is not supported by
|
54
|
+
* the <code>UBiDi</code> engine; it implies character mirroring, Arabic
|
55
|
+
* shaping, and - if the input/output base directions mismatch - string
|
56
|
+
* reverse operations.</li>
|
57
|
+
* </ul>
|
58
|
+
* @see ubidi_setInverse
|
59
|
+
* @see ubidi_setReorderingMode
|
60
|
+
* @see UBIDI_REORDER_DEFAULT
|
61
|
+
* @see UBIDI_REORDER_INVERSE_LIKE_DIRECT
|
62
|
+
* @see UBIDI_REORDER_RUNS_ONLY
|
63
|
+
* @draft ICU 58
|
64
|
+
*/
|
65
|
+
typedef enum {
|
66
|
+
/** 0: Constant indicating a logical order.
|
67
|
+
* This is the default for input text.
|
68
|
+
* @draft ICU 58
|
69
|
+
*/
|
70
|
+
UBIDI_LOGICAL = 0,
|
71
|
+
/** 1: Constant indicating a visual order.
|
72
|
+
* This is a default for output text.
|
73
|
+
* @draft ICU 58
|
74
|
+
*/
|
75
|
+
UBIDI_VISUAL
|
76
|
+
} UBiDiOrder;
|
77
|
+
|
78
|
+
/**
|
79
|
+
* <code>UBiDiMirroring</code> indicates whether or not characters with the
|
80
|
+
* "mirrored" property in RTL runs should be replaced with their mirror-image
|
81
|
+
* counterparts.
|
82
|
+
* @see UBIDI_DO_MIRRORING
|
83
|
+
* @see ubidi_setReorderingOptions
|
84
|
+
* @see ubidi_writeReordered
|
85
|
+
* @see ubidi_writeReverse
|
86
|
+
* @draft ICU 58
|
87
|
+
*/
|
88
|
+
typedef enum {
|
89
|
+
/** 0: Constant indicating that character mirroring should not be
|
90
|
+
* performed.
|
91
|
+
* This is the default.
|
92
|
+
* @draft ICU 58
|
93
|
+
*/
|
94
|
+
UBIDI_MIRRORING_OFF = 0,
|
95
|
+
/** 1: Constant indicating that character mirroring should be performed.
|
96
|
+
* This corresponds to calling <code>ubidi_writeReordered</code> or
|
97
|
+
* <code>ubidi_writeReverse</code> with the
|
98
|
+
* <code>UBIDI_DO_MIRRORING</code> option bit set.
|
99
|
+
* @draft ICU 58
|
100
|
+
*/
|
101
|
+
UBIDI_MIRRORING_ON
|
102
|
+
} UBiDiMirroring;
|
103
|
+
|
104
|
+
/**
|
105
|
+
* Forward declaration of the <code>UBiDiTransform</code> structure that stores
|
106
|
+
* information used by the layout transformation engine.
|
107
|
+
* @draft ICU 58
|
108
|
+
*/
|
109
|
+
typedef struct UBiDiTransform UBiDiTransform;
|
110
|
+
|
111
|
+
/**
|
112
|
+
* Performs transformation of text from the bidi layout defined by the input
|
113
|
+
* ordering scheme to the bidi layout defined by the output ordering scheme,
|
114
|
+
* and applies character mirroring and Arabic shaping operations.<p>
|
115
|
+
* In terms of <code>UBiDi</code>, such a transformation implies:
|
116
|
+
* <ul>
|
117
|
+
* <li>calling <code>ubidi_setReorderingMode</code> as needed (when the
|
118
|
+
* reordering mode is other than normal),</li>
|
119
|
+
* <li>calling <code>ubidi_setInverse</code> as needed (when text should be
|
120
|
+
* transformed from a visual to a logical form),</li>
|
121
|
+
* <li>resolving embedding levels of each character in the input text by
|
122
|
+
* calling <code>ubidi_setPara</code>,</li>
|
123
|
+
* <li>reordering the characters based on the computed embedding levels, also
|
124
|
+
* performing character mirroring as needed, and streaming the result to the
|
125
|
+
* output, by calling <code>ubidi_writeReordered</code>,</li>
|
126
|
+
* <li>performing Arabic digit and letter shaping on the output text by calling
|
127
|
+
* <code>u_shapeArabic</code>.</li>
|
128
|
+
* </ul>
|
129
|
+
* An "ordering scheme" encompasses the base direction and the order of text,
|
130
|
+
* and these characteristics must be defined by the caller for both input and
|
131
|
+
* output explicitly .<p>
|
132
|
+
* There are 36 possible combinations of <input, output> ordering schemes,
|
133
|
+
* which are partially supported by <code>UBiDi</code> already. Examples of the
|
134
|
+
* currently supported combinations:
|
135
|
+
* <ul>
|
136
|
+
* <li><Logical LTR, Visual LTR>: this is equivalent to calling
|
137
|
+
* <code>ubidi_setPara</code> with <code>paraLevel == UBIDI_LTR</code>,</li>
|
138
|
+
* <li><Logical RTL, Visual LTR>: this is equivalent to calling
|
139
|
+
* <code>ubidi_setPara</code> with <code>paraLevel == UBIDI_RTL</code>,</li>
|
140
|
+
* <li><Logical Default ("Auto") LTR, Visual LTR>: this is equivalent to
|
141
|
+
* calling <code>ubidi_setPara</code> with
|
142
|
+
* <code>paraLevel == UBIDI_DEFAULT_LTR</code>,</li>
|
143
|
+
* <li><Logical Default ("Auto") RTL, Visual LTR>: this is equivalent to
|
144
|
+
* calling <code>ubidi_setPara</code> with
|
145
|
+
* <code>paraLevel == UBIDI_DEFAULT_RTL</code>,</li>
|
146
|
+
* <li><Visual LTR, Logical LTR>: this is equivalent to
|
147
|
+
* calling <code>ubidi_setInverse(UBiDi*, TRUE)</code> and then
|
148
|
+
* <code>ubidi_setPara</code> with <code>paraLevel == UBIDI_LTR</code>,</li>
|
149
|
+
* <li><Visual LTR, Logical RTL>: this is equivalent to
|
150
|
+
* calling <code>ubidi_setInverse(UBiDi*, TRUE)</code> and then
|
151
|
+
* <code>ubidi_setPara</code> with <code>paraLevel == UBIDI_RTL</code>.</li>
|
152
|
+
* </ul>
|
153
|
+
* All combinations that involve the Visual RTL scheme are unsupported by
|
154
|
+
* <code>UBiDi</code>, for instance:
|
155
|
+
* <ul>
|
156
|
+
* <li><Logical LTR, Visual RTL>,</li>
|
157
|
+
* <li><Visual RTL, Logical RTL>.</li>
|
158
|
+
* </ul>
|
159
|
+
* <p>Example of usage of the transformation engine:<br>
|
160
|
+
* <pre>
|
161
|
+
* \code
|
162
|
+
* UChar text1[] = {'a', 'b', 'c', 0x0625, '1', 0};
|
163
|
+
* UChar text2[] = {'a', 'b', 'c', 0x0625, '1', 0};
|
164
|
+
* UErrorCode errorCode = U_ZERO_ERROR;
|
165
|
+
* // Run a transformation.
|
166
|
+
* ubiditransform_transform(pBidiTransform,
|
167
|
+
* text1, -1, text2, -1,
|
168
|
+
* UBIDI_LTR, UBIDI_VISUAL,
|
169
|
+
* UBIDI_RTL, UBIDI_LOGICAL,
|
170
|
+
* UBIDI_MIRRORING_OFF,
|
171
|
+
* U_SHAPE_DIGITS_AN2EN | U_SHAPE_DIGIT_TYPE_AN_EXTENDED,
|
172
|
+
* &errorCode);
|
173
|
+
* // Do something with text2.
|
174
|
+
* text2[4] = '2';
|
175
|
+
* // Run a reverse transformation.
|
176
|
+
* ubiditransform_transform(pBidiTransform,
|
177
|
+
* text2, -1, text1, -1,
|
178
|
+
* UBIDI_RTL, UBIDI_LOGICAL,
|
179
|
+
* UBIDI_LTR, UBIDI_VISUAL,
|
180
|
+
* UBIDI_MIRRORING_OFF,
|
181
|
+
* U_SHAPE_DIGITS_EN2AN | U_SHAPE_DIGIT_TYPE_AN_EXTENDED,
|
182
|
+
* &errorCode);
|
183
|
+
*\endcode
|
184
|
+
* </pre>
|
185
|
+
* </p>
|
186
|
+
*
|
187
|
+
* @param pBiDiTransform A pointer to a <code>UBiDiTransform</code> object
|
188
|
+
* allocated with <code>ubiditransform_open()</code> or
|
189
|
+
* <code>NULL</code>.<p>
|
190
|
+
* This object serves for one-time setup to amortize initialization
|
191
|
+
* overheads. Use of this object is not thread-safe. All other threads
|
192
|
+
* should allocate a new <code>UBiDiTransform</code> object by calling
|
193
|
+
* <code>ubiditransform_open()</code> before using it. Alternatively,
|
194
|
+
* a caller can set this parameter to <code>NULL</code>, in which case
|
195
|
+
* the object will be allocated by the engine on the fly.</p>
|
196
|
+
* @param src A pointer to the text that the Bidi layout transformations will
|
197
|
+
* be performed on.
|
198
|
+
* <p><strong>Note:</strong> the text must be (at least)
|
199
|
+
* <code>srcLength</code> long.</p>
|
200
|
+
* @param srcLength The length of the text, in number of UChars. If
|
201
|
+
* <code>length == -1</code> then the text must be zero-terminated.
|
202
|
+
* @param dest A pointer to where the processed text is to be copied.
|
203
|
+
* @param destSize The size of the <code>dest</code> buffer, in number of
|
204
|
+
* UChars. If the <code>U_SHAPE_LETTERS_UNSHAPE</code> option is set,
|
205
|
+
* then the destination length could be as large as
|
206
|
+
* <code>srcLength * 2</code>. Otherwise, the destination length will
|
207
|
+
* not exceed <code>srcLength</code>. If the caller reserves the last
|
208
|
+
* position for zero-termination, it should be excluded from
|
209
|
+
* <code>destSize</code>.
|
210
|
+
* <p><code>destSize == -1</code> is allowed and makes sense when
|
211
|
+
* <code>dest</code> was holds some meaningful value, e.g. that of
|
212
|
+
* <code>src</code>. In this case <code>dest</code> must be
|
213
|
+
* zero-terminated.</p>
|
214
|
+
* @param inParaLevel A base embedding level of the input as defined in
|
215
|
+
* <code>ubidi_setPara</code> documentation for the
|
216
|
+
* <code>paraLevel</code> parameter.
|
217
|
+
* @param inOrder An order of the input, which can be one of the
|
218
|
+
* <code>UBiDiOrder</code> values.
|
219
|
+
* @param outParaLevel A base embedding level of the output as defined in
|
220
|
+
* <code>ubidi_setPara</code> documentation for the
|
221
|
+
* <code>paraLevel</code> parameter.
|
222
|
+
* @param outOrder An order of the output, which can be one of the
|
223
|
+
* <code>UBiDiOrder</code> values.
|
224
|
+
* @param doMirroring Indicates whether or not to perform character mirroring,
|
225
|
+
* and can accept one of the <code>UBiDiMirroring</code> values.
|
226
|
+
* @param shapingOptions Arabic digit and letter shaping options defined in the
|
227
|
+
* ushape.h documentation.
|
228
|
+
* <p><strong>Note:</strong> Direction indicator options are computed by
|
229
|
+
* the transformation engine based on the effective ordering schemes, so
|
230
|
+
* user-defined direction indicators will be ignored.</p>
|
231
|
+
* @param pErrorCode A pointer to an error code value.
|
232
|
+
*
|
233
|
+
* @return The destination length, i.e. the number of UChars written to
|
234
|
+
* <code>dest</code>. If the transformation fails, the return value
|
235
|
+
* will be 0 (and the error code will be written to
|
236
|
+
* <code>pErrorCode</code>).
|
237
|
+
*
|
238
|
+
* @see UBiDiLevel
|
239
|
+
* @see UBiDiOrder
|
240
|
+
* @see UBiDiMirroring
|
241
|
+
* @see ubidi_setPara
|
242
|
+
* @see u_shapeArabic
|
243
|
+
* @draft ICU 58
|
244
|
+
*/
|
245
|
+
U_DRAFT uint32_t U_EXPORT2
|
246
|
+
ubiditransform_transform(UBiDiTransform *pBiDiTransform,
|
247
|
+
const UChar *src, int32_t srcLength,
|
248
|
+
UChar *dest, int32_t destSize,
|
249
|
+
UBiDiLevel inParaLevel, UBiDiOrder inOrder,
|
250
|
+
UBiDiLevel outParaLevel, UBiDiOrder outOrder,
|
251
|
+
UBiDiMirroring doMirroring, uint32_t shapingOptions,
|
252
|
+
UErrorCode *pErrorCode);
|
253
|
+
|
254
|
+
/**
|
255
|
+
* Allocates a <code>UBiDiTransform</code> object. This object can be reused,
|
256
|
+
* e.g. with different ordering schemes, mirroring or shaping options.<p>
|
257
|
+
* <strong>Note:</strong>The object can only be reused in the same thread.
|
258
|
+
* All other threads should allocate a new <code>UBiDiTransform</code> object
|
259
|
+
* before using it.<p>
|
260
|
+
* Example of usage:<p>
|
261
|
+
* <pre>
|
262
|
+
* \code
|
263
|
+
* UErrorCode errorCode = U_ZERO_ERROR;
|
264
|
+
* // Open a new UBiDiTransform.
|
265
|
+
* UBiDiTransform* transform = ubiditransform_open(&errorCode);
|
266
|
+
* // Run a transformation.
|
267
|
+
* ubiditransform_transform(transform,
|
268
|
+
* text1, -1, text2, -1,
|
269
|
+
* UBIDI_RTL, UBIDI_LOGICAL,
|
270
|
+
* UBIDI_LTR, UBIDI_VISUAL,
|
271
|
+
* UBIDI_MIRRORING_ON,
|
272
|
+
* U_SHAPE_DIGITS_EN2AN,
|
273
|
+
* &errorCode);
|
274
|
+
* // Do something with the output text and invoke another transformation using
|
275
|
+
* // that text as input.
|
276
|
+
* ubiditransform_transform(transform,
|
277
|
+
* text2, -1, text3, -1,
|
278
|
+
* UBIDI_LTR, UBIDI_VISUAL,
|
279
|
+
* UBIDI_RTL, UBIDI_VISUAL,
|
280
|
+
* UBIDI_MIRRORING_ON,
|
281
|
+
* 0, &errorCode);
|
282
|
+
*\endcode
|
283
|
+
* </pre>
|
284
|
+
* <p>
|
285
|
+
* The <code>UBiDiTransform</code> object must be deallocated by calling
|
286
|
+
* <code>ubiditransform_close()</code>.
|
287
|
+
*
|
288
|
+
* @return An empty <code>UBiDiTransform</code> object.
|
289
|
+
* @draft ICU 58
|
290
|
+
*/
|
291
|
+
U_DRAFT UBiDiTransform* U_EXPORT2
|
292
|
+
ubiditransform_open(UErrorCode *pErrorCode);
|
293
|
+
|
294
|
+
/**
|
295
|
+
* Deallocates the given <code>UBiDiTransform</code> object.
|
296
|
+
* @draft ICU 58
|
297
|
+
*/
|
298
|
+
U_DRAFT void U_EXPORT2
|
299
|
+
ubiditransform_close(UBiDiTransform *pBidiTransform);
|
300
|
+
|
301
|
+
#if U_SHOW_CPLUSPLUS_API
|
302
|
+
|
303
|
+
U_NAMESPACE_BEGIN
|
304
|
+
|
305
|
+
/**
|
306
|
+
* \class LocalUBiDiTransformPointer
|
307
|
+
* "Smart pointer" class, closes a UBiDiTransform via ubiditransform_close().
|
308
|
+
* For most methods see the LocalPointerBase base class.
|
309
|
+
*
|
310
|
+
* @see LocalPointerBase
|
311
|
+
* @see LocalPointer
|
312
|
+
* @draft ICU 58
|
313
|
+
*/
|
314
|
+
U_DEFINE_LOCAL_OPEN_POINTER(LocalUBiDiTransformPointer, UBiDiTransform, ubiditransform_close);
|
315
|
+
|
316
|
+
U_NAMESPACE_END
|
317
|
+
|
318
|
+
#endif
|
319
|
+
|
320
|
+
#endif /* U_HIDE_DRAFT_API */
|
321
|
+
#endif
|