pango 3.2.5-x64-mingw32 → 3.2.6-x64-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/COPYING.LIB +502 -0
- data/README.md +25 -0
- data/Rakefile +8 -8
- data/ext/pango/extconf.rb +4 -1
- data/ext/pango/pango.def +1 -0
- data/ext/pango/rb-pango-attr-list.c +3 -3
- data/ext/pango/rb-pango-attribute.c +67 -57
- data/ext/pango/rb-pango-conversions.h +3 -3
- data/ext/pango/rb-pango-private.h +0 -1
- data/ext/pango/rb-pango.c +0 -1
- data/ext/pango/rb-pango.h +2 -1
- 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/lib/2.5/pango.so +0 -0
- data/lib/pango/loader.rb +13 -1
- data/lib/pango/rectangle.rb +7 -1
- data/pango.gemspec +43 -0
- data/vendor/local/bin/derb.exe +0 -0
- data/vendor/local/bin/escapesrc.exe +0 -0
- data/vendor/local/bin/fribidi.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-subset.exe +0 -0
- data/vendor/local/bin/hb-view.exe +0 -0
- data/vendor/local/bin/icu-config +13 -8
- data/vendor/local/bin/icuinfo.exe +0 -0
- data/vendor/local/bin/icupkg.exe +0 -0
- data/vendor/local/bin/libfribidi-0.dll +0 -0
- data/vendor/local/bin/libgraphene-1.0-0.dll +0 -0
- data/vendor/local/bin/libharfbuzz-0.dll +0 -0
- data/vendor/local/bin/libharfbuzz-subset-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/fribidi/fribidi-config.h +2 -2
- data/vendor/local/include/harfbuzz/hb-blob.h +2 -0
- data/vendor/local/include/harfbuzz/hb-common.h +24 -3
- data/vendor/local/include/harfbuzz/hb-face.h +4 -0
- data/vendor/local/include/harfbuzz/hb-map.h +104 -0
- data/vendor/local/include/harfbuzz/hb-ot-layout.h +1 -1
- data/vendor/local/include/harfbuzz/hb-set.h +0 -2
- data/vendor/local/include/harfbuzz/hb-subset-plan.hh +46 -25
- data/vendor/local/include/harfbuzz/hb-subset.h +4 -1
- data/vendor/local/include/harfbuzz/hb-version.h +3 -3
- data/vendor/local/include/harfbuzz/hb.h +1 -0
- data/vendor/local/include/pango-1.0/pango/pango-features.h +2 -2
- data/vendor/local/include/unicode/alphaindex.h +2 -1
- data/vendor/local/include/unicode/appendable.h +25 -25
- data/vendor/local/include/unicode/basictz.h +1 -1
- data/vendor/local/include/unicode/brkiter.h +19 -24
- data/vendor/local/include/unicode/bytestream.h +26 -13
- data/vendor/local/include/unicode/bytestrie.h +2 -2
- data/vendor/local/include/unicode/bytestriebuilder.h +4 -5
- data/vendor/local/include/unicode/calendar.h +11 -11
- data/vendor/local/include/unicode/caniter.h +3 -3
- data/vendor/local/include/unicode/casemap.h +494 -0
- data/vendor/local/include/unicode/char16ptr.h +302 -0
- data/vendor/local/include/unicode/chariter.h +22 -18
- data/vendor/local/include/unicode/choicfmt.h +1 -1
- data/vendor/local/include/unicode/coleitr.h +2 -1
- data/vendor/local/include/unicode/coll.h +17 -17
- data/vendor/local/include/unicode/compactdecimalformat.h +10 -2
- data/vendor/local/include/unicode/curramt.h +5 -5
- data/vendor/local/include/unicode/currpinf.h +1 -1
- data/vendor/local/include/unicode/currunit.h +24 -6
- data/vendor/local/include/unicode/datefmt.h +3 -2
- data/vendor/local/include/unicode/dbbi.h +1 -1
- data/vendor/local/include/unicode/dcfmtsym.h +89 -13
- data/vendor/local/include/unicode/decimfmt.h +38 -39
- data/vendor/local/include/unicode/docmain.h +7 -2
- data/vendor/local/include/unicode/dtfmtsym.h +7 -6
- data/vendor/local/include/unicode/dtintrv.h +2 -2
- data/vendor/local/include/unicode/dtitvfmt.h +2 -2
- data/vendor/local/include/unicode/dtitvinf.h +1 -3
- data/vendor/local/include/unicode/dtptngen.h +48 -24
- data/vendor/local/include/unicode/dtrule.h +1 -1
- data/vendor/local/include/unicode/edits.h +424 -0
- data/vendor/local/include/unicode/enumset.h +1 -1
- data/vendor/local/include/unicode/errorcode.h +2 -2
- data/vendor/local/include/unicode/fieldpos.h +1 -1
- data/vendor/local/include/unicode/filteredbrk.h +35 -5
- data/vendor/local/include/unicode/fmtable.h +1 -1
- data/vendor/local/include/unicode/format.h +1 -1
- data/vendor/local/include/unicode/fpositer.h +11 -3
- data/vendor/local/include/unicode/gender.h +1 -1
- data/vendor/local/include/unicode/gregocal.h +1 -1
- data/vendor/local/include/unicode/icudataver.h +1 -1
- data/vendor/local/include/unicode/icuplug.h +1 -1
- data/vendor/local/include/unicode/idna.h +2 -2
- data/vendor/local/include/unicode/listformatter.h +4 -2
- data/vendor/local/include/unicode/localpointer.h +6 -43
- data/vendor/local/include/unicode/locdspnm.h +2 -1
- data/vendor/local/include/unicode/locid.h +7 -6
- data/vendor/local/include/unicode/measfmt.h +18 -7
- data/vendor/local/include/unicode/measunit.h +31 -60
- data/vendor/local/include/unicode/measure.h +1 -1
- data/vendor/local/include/unicode/messagepattern.h +2 -2
- data/vendor/local/include/unicode/msgfmt.h +2 -2
- data/vendor/local/include/unicode/normalizer2.h +130 -16
- data/vendor/local/include/unicode/normlzr.h +5 -5
- data/vendor/local/include/unicode/nounit.h +111 -0
- data/vendor/local/include/unicode/numberformatter.h +2194 -0
- data/vendor/local/include/unicode/numfmt.h +81 -7
- data/vendor/local/include/unicode/numsys.h +2 -2
- data/vendor/local/include/unicode/parseerr.h +3 -3
- data/vendor/local/include/unicode/parsepos.h +1 -1
- data/vendor/local/include/unicode/platform.h +66 -63
- data/vendor/local/include/unicode/plurfmt.h +1 -1
- data/vendor/local/include/unicode/plurrule.h +23 -4
- data/vendor/local/include/unicode/ptypes.h +1 -1
- data/vendor/local/include/unicode/putil.h +4 -4
- data/vendor/local/include/unicode/rbbi.h +105 -134
- data/vendor/local/include/unicode/rbnf.h +65 -3
- data/vendor/local/include/unicode/rbtz.h +1 -1
- data/vendor/local/include/unicode/regex.h +17 -17
- data/vendor/local/include/unicode/region.h +1 -1
- data/vendor/local/include/unicode/reldatefmt.h +4 -5
- data/vendor/local/include/unicode/rep.h +4 -4
- data/vendor/local/include/unicode/resbund.h +3 -3
- data/vendor/local/include/unicode/schriter.h +3 -3
- data/vendor/local/include/unicode/scientificnumberformatter.h +1 -1
- data/vendor/local/include/unicode/search.h +1 -1
- data/vendor/local/include/unicode/selfmt.h +1 -1
- data/vendor/local/include/unicode/simpleformatter.h +31 -25
- data/vendor/local/include/unicode/simpletz.h +5 -3
- data/vendor/local/include/unicode/smpdtfmt.h +17 -7
- data/vendor/local/include/unicode/sortkey.h +1 -1
- data/vendor/local/include/unicode/std_string.h +6 -8
- data/vendor/local/include/unicode/strenum.h +5 -5
- data/vendor/local/include/unicode/stringoptions.h +198 -0
- data/vendor/local/include/unicode/stringpiece.h +1 -3
- data/vendor/local/include/unicode/stringtriebuilder.h +19 -19
- data/vendor/local/include/unicode/stsearch.h +1 -1
- data/vendor/local/include/unicode/symtable.h +1 -1
- data/vendor/local/include/unicode/tblcoll.h +13 -13
- data/vendor/local/include/unicode/timezone.h +5 -5
- data/vendor/local/include/unicode/tmunit.h +1 -1
- data/vendor/local/include/unicode/tmutamt.h +1 -1
- data/vendor/local/include/unicode/tmutfmt.h +1 -1
- data/vendor/local/include/unicode/translit.h +2 -2
- data/vendor/local/include/unicode/tzfmt.h +4 -4
- data/vendor/local/include/unicode/tznames.h +3 -5
- data/vendor/local/include/unicode/tzrule.h +1 -1
- data/vendor/local/include/unicode/tztrans.h +1 -1
- data/vendor/local/include/unicode/ubidi.h +11 -8
- data/vendor/local/include/unicode/ubiditransform.h +16 -19
- data/vendor/local/include/unicode/ubrk.h +61 -4
- data/vendor/local/include/unicode/ucal.h +3 -3
- data/vendor/local/include/unicode/ucasemap.h +7 -47
- data/vendor/local/include/unicode/ucat.h +1 -1
- data/vendor/local/include/unicode/uchar.h +62 -37
- data/vendor/local/include/unicode/ucharstrie.h +48 -48
- data/vendor/local/include/unicode/ucharstriebuilder.h +12 -12
- data/vendor/local/include/unicode/uchriter.h +33 -29
- data/vendor/local/include/unicode/uclean.h +15 -13
- data/vendor/local/include/unicode/ucnv.h +11 -11
- data/vendor/local/include/unicode/ucnv_cb.h +1 -1
- data/vendor/local/include/unicode/ucnv_err.h +7 -7
- data/vendor/local/include/unicode/ucnvsel.h +1 -1
- data/vendor/local/include/unicode/ucol.h +6 -6
- data/vendor/local/include/unicode/ucoleitr.h +3 -3
- data/vendor/local/include/unicode/uconfig.h +8 -5
- data/vendor/local/include/unicode/ucsdet.h +7 -3
- data/vendor/local/include/unicode/ucurr.h +14 -1
- data/vendor/local/include/unicode/udat.h +39 -41
- data/vendor/local/include/unicode/udata.h +2 -2
- data/vendor/local/include/unicode/udateintervalformat.h +1 -1
- data/vendor/local/include/unicode/udatpg.h +56 -5
- data/vendor/local/include/unicode/udisplaycontext.h +4 -8
- data/vendor/local/include/unicode/uenum.h +5 -3
- data/vendor/local/include/unicode/ufieldpositer.h +1 -1
- data/vendor/local/include/unicode/uformattable.h +2 -2
- data/vendor/local/include/unicode/ugender.h +1 -1
- data/vendor/local/include/unicode/uidna.h +2 -2
- data/vendor/local/include/unicode/uiter.h +2 -2
- data/vendor/local/include/unicode/uldnames.h +1 -1
- data/vendor/local/include/unicode/ulistformatter.h +4 -4
- data/vendor/local/include/unicode/uloc.h +29 -16
- data/vendor/local/include/unicode/ulocdata.h +5 -5
- data/vendor/local/include/unicode/umachine.h +81 -38
- data/vendor/local/include/unicode/umisc.h +2 -2
- data/vendor/local/include/unicode/umsg.h +2 -2
- data/vendor/local/include/unicode/unifilt.h +2 -2
- data/vendor/local/include/unicode/unifunct.h +1 -1
- data/vendor/local/include/unicode/unimatch.h +1 -1
- data/vendor/local/include/unicode/unirepl.h +1 -1
- data/vendor/local/include/unicode/uniset.h +5 -4
- data/vendor/local/include/unicode/unistr.h +322 -208
- data/vendor/local/include/unicode/unorm.h +9 -9
- data/vendor/local/include/unicode/unorm2.h +3 -26
- data/vendor/local/include/unicode/unum.h +71 -11
- data/vendor/local/include/unicode/unumsys.h +1 -1
- data/vendor/local/include/unicode/uobject.h +2 -2
- data/vendor/local/include/unicode/upluralrules.h +51 -6
- data/vendor/local/include/unicode/uregex.h +2 -2
- data/vendor/local/include/unicode/uregion.h +2 -2
- data/vendor/local/include/unicode/ureldatefmt.h +33 -39
- data/vendor/local/include/unicode/urename.h +18 -17
- data/vendor/local/include/unicode/urep.h +1 -1
- data/vendor/local/include/unicode/ures.h +9 -9
- data/vendor/local/include/unicode/uscript.h +10 -3
- data/vendor/local/include/unicode/usearch.h +3 -3
- data/vendor/local/include/unicode/uset.h +2 -2
- data/vendor/local/include/unicode/usetiter.h +1 -1
- data/vendor/local/include/unicode/ushape.h +3 -3
- data/vendor/local/include/unicode/uspoof.h +24 -29
- data/vendor/local/include/unicode/usprep.h +7 -7
- data/vendor/local/include/unicode/ustdio.h +1 -1
- data/vendor/local/include/unicode/ustream.h +2 -9
- data/vendor/local/include/unicode/ustring.h +3 -13
- data/vendor/local/include/unicode/ustringtrie.h +2 -2
- data/vendor/local/include/unicode/utext.h +16 -16
- data/vendor/local/include/unicode/utf.h +19 -19
- data/vendor/local/include/unicode/utf16.h +128 -8
- data/vendor/local/include/unicode/utf32.h +2 -2
- data/vendor/local/include/unicode/utf8.h +177 -121
- data/vendor/local/include/unicode/utf_old.h +40 -7
- data/vendor/local/include/unicode/utmscale.h +8 -1
- data/vendor/local/include/unicode/utrace.h +4 -4
- data/vendor/local/include/unicode/utrans.h +3 -3
- data/vendor/local/include/unicode/utypes.h +13 -10
- data/vendor/local/include/unicode/uvernum.h +18 -11
- data/vendor/local/include/unicode/uversion.h +10 -4
- data/vendor/local/include/unicode/vtzone.h +1 -1
- data/vendor/local/lib/cmake/harfbuzz/harfbuzz-config.cmake +1 -1
- data/vendor/local/lib/icu/{58.2 → 61.1}/Makefile.inc +7 -7
- data/vendor/local/lib/icu/{58.2 → 61.1}/pkgdata.inc +2 -2
- data/vendor/local/lib/icu/Makefile.inc +7 -7
- data/vendor/local/lib/icu/pkgdata.inc +2 -2
- data/vendor/local/lib/icudt.dll +0 -0
- data/vendor/local/lib/{icudt58.dll → icudt61.dll} +0 -0
- data/vendor/local/lib/icuin.dll +0 -0
- data/vendor/local/lib/icuin61.dll +0 -0
- data/vendor/local/lib/icuio.dll +0 -0
- data/vendor/local/lib/{icuio58.dll → icuio61.dll} +0 -0
- data/vendor/local/lib/icutest.dll +0 -0
- data/vendor/local/lib/{icutest58.dll → icutest61.dll} +0 -0
- data/vendor/local/lib/icutu.dll +0 -0
- data/vendor/local/lib/icutu61.dll +0 -0
- data/vendor/local/lib/icuuc.dll +0 -0
- data/vendor/local/lib/icuuc61.dll +0 -0
- data/vendor/local/lib/libfribidi.dll.a +0 -0
- data/vendor/local/lib/libgraphene-1.0.dll.a +0 -0
- data/vendor/local/lib/libharfbuzz-icu.a +0 -0
- data/vendor/local/lib/libharfbuzz-icu.la +3 -3
- data/vendor/local/lib/libharfbuzz-subset.dll.a +0 -0
- data/vendor/local/lib/libharfbuzz-subset.la +3 -3
- 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/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/libpango-1.0.la +2 -2
- data/vendor/local/lib/libpangocairo-1.0.dll.a +0 -0
- data/vendor/local/lib/libpangocairo-1.0.la +2 -2
- data/vendor/local/lib/libpangoft2-1.0.dll.a +0 -0
- data/vendor/local/lib/libpangoft2-1.0.la +2 -2
- data/vendor/local/lib/libpangowin32-1.0.dll.a +0 -0
- data/vendor/local/lib/libpangowin32-1.0.la +2 -2
- data/vendor/local/lib/pkgconfig/fribidi.pc +1 -1
- data/vendor/local/lib/pkgconfig/harfbuzz-icu.pc +1 -1
- data/vendor/local/lib/pkgconfig/harfbuzz-subset.pc +1 -1
- data/vendor/local/lib/pkgconfig/harfbuzz.pc +1 -1
- data/vendor/local/lib/pkgconfig/icu-i18n.pc +7 -7
- data/vendor/local/lib/pkgconfig/icu-io.pc +7 -7
- data/vendor/local/lib/pkgconfig/icu-uc.pc +7 -7
- data/vendor/local/lib/pkgconfig/pango.pc +2 -2
- data/vendor/local/lib/pkgconfig/pangocairo.pc +2 -2
- data/vendor/local/lib/pkgconfig/pangoft2.pc +2 -2
- data/vendor/local/lib/pkgconfig/pangowin32.pc +1 -1
- data/vendor/local/libexec/installed-tests/graphene-1.0/box.exe +0 -0
- data/vendor/local/libexec/installed-tests/graphene-1.0/euler.exe +0 -0
- data/vendor/local/libexec/installed-tests/graphene-1.0/frustum.exe +0 -0
- data/vendor/local/libexec/installed-tests/graphene-1.0/matrix.exe +0 -0
- data/vendor/local/libexec/installed-tests/graphene-1.0/plane.exe +0 -0
- data/vendor/local/libexec/installed-tests/graphene-1.0/point.exe +0 -0
- data/vendor/local/libexec/installed-tests/graphene-1.0/point3d.exe +0 -0
- data/vendor/local/libexec/installed-tests/graphene-1.0/quad.exe +0 -0
- data/vendor/local/libexec/installed-tests/graphene-1.0/quaternion.exe +0 -0
- data/vendor/local/libexec/installed-tests/graphene-1.0/ray.exe +0 -0
- data/vendor/local/libexec/installed-tests/graphene-1.0/rect.exe +0 -0
- data/vendor/local/libexec/installed-tests/graphene-1.0/simd.exe +0 -0
- data/vendor/local/libexec/installed-tests/graphene-1.0/size.exe +0 -0
- data/vendor/local/libexec/installed-tests/graphene-1.0/sphere.exe +0 -0
- data/vendor/local/libexec/installed-tests/graphene-1.0/triangle.exe +0 -0
- data/vendor/local/libexec/installed-tests/graphene-1.0/vec2.exe +0 -0
- data/vendor/local/libexec/installed-tests/graphene-1.0/vec3.exe +0 -0
- data/vendor/local/libexec/installed-tests/graphene-1.0/vec4.exe +0 -0
- data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-Buffers.html +5 -3
- data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-common.html +5 -0
- data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz.devhelp2 +1 -0
- data/vendor/local/share/gtk-doc/html/harfbuzz/pt02.html +1 -1
- data/vendor/local/share/gtk-doc/html/pango/index.html +1 -1
- data/vendor/local/share/gtk-doc/html/pango/pango-Version-Checking.html +2 -2
- data/vendor/local/share/icu/{58.2 → 61.1}/LICENSE +32 -3
- data/vendor/local/share/icu/{58.2 → 61.1}/config/mh-mingw64 +4 -0
- data/vendor/local/share/icu/{58.2 → 61.1}/install-sh +0 -0
- data/vendor/local/share/icu/{58.2 → 61.1}/mkinstalldirs +0 -0
- data/vendor/local/share/man/man1/derb.1 +2 -2
- data/vendor/local/share/man/man1/genbrk.1 +2 -2
- data/vendor/local/share/man/man1/gencfu.1 +1 -1
- data/vendor/local/share/man/man1/gencnval.1 +3 -3
- data/vendor/local/share/man/man1/gendict.1 +2 -2
- data/vendor/local/share/man/man1/genrb.1 +3 -3
- data/vendor/local/share/man/man1/icu-config.1 +2 -2
- data/vendor/local/share/man/man1/makeconv.1 +5 -5
- data/vendor/local/share/man/man1/pkgdata.1 +2 -2
- data/vendor/local/share/man/man1/uconv.1 +9 -9
- data/vendor/local/share/man/man3/fribidi_charset_to_unicode.3 +98 -0
- data/vendor/local/share/man/man3/fribidi_debug_status.3 +44 -0
- data/vendor/local/share/man/man3/fribidi_get_bidi_type.3 +58 -0
- data/vendor/local/share/man/man3/fribidi_get_bidi_type_name.3 +56 -0
- data/vendor/local/share/man/man3/fribidi_get_bidi_types.3 +68 -0
- data/vendor/local/share/man/man3/fribidi_get_bracket.3 +59 -0
- data/vendor/local/share/man/man3/fribidi_get_bracket_types.3 +73 -0
- data/vendor/local/share/man/man3/fribidi_get_joining_type.3 +87 -0
- data/vendor/local/share/man/man3/fribidi_get_joining_type_name.3 +83 -0
- data/vendor/local/share/man/man3/fribidi_get_joining_types.3 +96 -0
- data/vendor/local/share/man/man3/fribidi_get_mirror_char.3 +68 -0
- data/vendor/local/share/man/man3/fribidi_get_par_direction.3 +100 -0
- data/vendor/local/share/man/man3/fribidi_get_par_embedding_levels.3 +98 -0
- data/vendor/local/share/man/man3/fribidi_get_par_embedding_levels_ex.3 +114 -0
- data/vendor/local/share/man/man3/fribidi_get_type.3 +50 -0
- data/vendor/local/share/man/man3/fribidi_get_type_internal.3 +50 -0
- data/vendor/local/share/man/man3/fribidi_join_arabic.3 +92 -0
- data/vendor/local/share/man/man3/fribidi_log2vis.3 +124 -0
- data/vendor/local/share/man/man3/fribidi_log2vis_get_embedding_levels.3 +97 -0
- data/vendor/local/share/man/man3/fribidi_mirroring_status.3 +44 -0
- data/vendor/local/share/man/man3/fribidi_parse_charset.3 +78 -0
- data/vendor/local/share/man/man3/fribidi_remove_bidi_marks.3 +96 -0
- data/vendor/local/share/man/man3/fribidi_reorder_line.3 +146 -0
- data/vendor/local/share/man/man3/fribidi_reorder_nsm_status.3 +44 -0
- data/vendor/local/share/man/man3/fribidi_set_debug.3 +48 -0
- data/vendor/local/share/man/man3/fribidi_set_mirroring.3 +58 -0
- data/vendor/local/share/man/man3/fribidi_set_reorder_nsm.3 +60 -0
- data/vendor/local/share/man/man3/fribidi_shape.3 +89 -0
- data/vendor/local/share/man/man3/fribidi_shape_arabic.3 +95 -0
- data/vendor/local/share/man/man3/fribidi_shape_mirroring.3 +71 -0
- data/vendor/local/share/man/man3/fribidi_unicode_to_charset.3 +99 -0
- data/vendor/local/share/man/man8/genccode.8 +2 -2
- data/vendor/local/share/man/man8/gencmn.8 +3 -3
- data/vendor/local/share/man/man8/gensprep.8 +3 -3
- data/vendor/local/share/man/man8/icupkg.8 +1 -1
- metadata +58 -59
- data/ext/pango/rb-pango-context.c +0 -79
- data/vendor/local/lib/icuin58.dll +0 -0
- data/vendor/local/lib/icutu58.dll +0 -0
- data/vendor/local/lib/icuuc58.dll +0 -0
@@ -1,4 +1,4 @@
|
|
1
|
-
//
|
1
|
+
// © 2016 and later: Unicode, Inc. and others.
|
2
2
|
// License & terms of use: http://www.unicode.org/copyright.html
|
3
3
|
/*
|
4
4
|
*******************************************************************************
|
@@ -8,7 +8,7 @@
|
|
8
8
|
*
|
9
9
|
*******************************************************************************
|
10
10
|
* file name: usprep.h
|
11
|
-
* encoding:
|
11
|
+
* encoding: UTF-8
|
12
12
|
* tab size: 8 (not used)
|
13
13
|
* indentation:4
|
14
14
|
*
|
@@ -33,14 +33,14 @@
|
|
33
33
|
* StringPrep prepares Unicode strings for use in network protocols.
|
34
34
|
* Profiles of StingPrep are set of rules and data according to with the
|
35
35
|
* Unicode Strings are prepared. Each profiles contains tables which describe
|
36
|
-
* how a code point should be treated. The tables are broadly
|
36
|
+
* how a code point should be treated. The tables are broadly classified into
|
37
37
|
* <ul>
|
38
|
-
* <li>
|
38
|
+
* <li> Unassigned Table: Contains code points that are unassigned
|
39
39
|
* in the Unicode Version supported by StringPrep. Currently
|
40
40
|
* RFC 3454 supports Unicode 3.2. </li>
|
41
|
-
* <li> Prohibited Table: Contains code points that are
|
41
|
+
* <li> Prohibited Table: Contains code points that are prohibited from
|
42
42
|
* the output of the StringPrep processing function. </li>
|
43
|
-
* <li> Mapping Table: Contains code
|
43
|
+
* <li> Mapping Table: Contains code points that are deleted from the output or case mapped. </li>
|
44
44
|
* </ul>
|
45
45
|
*
|
46
46
|
* The procedure for preparing Unicode strings:
|
@@ -230,7 +230,7 @@ U_NAMESPACE_END
|
|
230
230
|
|
231
231
|
/**
|
232
232
|
* Prepare the input buffer for use in applications with the given profile. This operation maps, normalizes(NFKC),
|
233
|
-
* checks for
|
233
|
+
* checks for prohibited and BiDi characters in the order defined by RFC 3454
|
234
234
|
* depending on the options specified in the profile.
|
235
235
|
*
|
236
236
|
* @param prep The profile to use
|
@@ -1,4 +1,4 @@
|
|
1
|
-
//
|
1
|
+
// © 2016 and later: Unicode, Inc. and others.
|
2
2
|
// License & terms of use: http://www.unicode.org/copyright.html
|
3
3
|
/*
|
4
4
|
**********************************************************************
|
@@ -30,17 +30,11 @@
|
|
30
30
|
* C++ I/O stream API.
|
31
31
|
*/
|
32
32
|
|
33
|
-
#if
|
33
|
+
#if defined(__GLIBCXX__)
|
34
34
|
namespace std { class type_info; } // WORKAROUND: http://llvm.org/bugs/show_bug.cgi?id=13364
|
35
35
|
#endif
|
36
36
|
|
37
|
-
#if U_IOSTREAM_SOURCE >= 199711
|
38
|
-
#if (__GNUC__ == 2)
|
39
37
|
#include <iostream>
|
40
|
-
#else
|
41
|
-
#include <istream>
|
42
|
-
#include <ostream>
|
43
|
-
#endif
|
44
38
|
|
45
39
|
U_NAMESPACE_BEGIN
|
46
40
|
|
@@ -67,4 +61,3 @@ U_NAMESPACE_END
|
|
67
61
|
/* No operator for UChar because it can conflict with wchar_t */
|
68
62
|
|
69
63
|
#endif
|
70
|
-
#endif
|
@@ -1,4 +1,4 @@
|
|
1
|
-
//
|
1
|
+
// © 2016 and later: Unicode, Inc. and others.
|
2
2
|
// License & terms of use: http://www.unicode.org/copyright.html
|
3
3
|
/*
|
4
4
|
**********************************************************************
|
@@ -403,7 +403,7 @@ u_strspn(const UChar *string, const UChar *matchSet);
|
|
403
403
|
* @param saveState The current pointer within the original string,
|
404
404
|
* which is set by this function. The saveState
|
405
405
|
* parameter should the address of a local variable of type
|
406
|
-
* UChar *. (i.e. defined "
|
406
|
+
* UChar *. (i.e. defined "UChar *myLocalSaveState" and use
|
407
407
|
* &myLocalSaveState for this parameter).
|
408
408
|
* @return A pointer to the next token found in src, or NULL
|
409
409
|
* when there are no more tokens.
|
@@ -497,16 +497,6 @@ u_strCompare(const UChar *s1, int32_t length1,
|
|
497
497
|
U_STABLE int32_t U_EXPORT2
|
498
498
|
u_strCompareIter(UCharIterator *iter1, UCharIterator *iter2, UBool codePointOrder);
|
499
499
|
|
500
|
-
#ifndef U_COMPARE_CODE_POINT_ORDER
|
501
|
-
/* see also unistr.h and unorm.h */
|
502
|
-
/**
|
503
|
-
* Option bit for u_strCaseCompare, u_strcasecmp, unorm_compare, etc:
|
504
|
-
* Compare strings in code point order instead of code unit order.
|
505
|
-
* @stable ICU 2.2
|
506
|
-
*/
|
507
|
-
#define U_COMPARE_CODE_POINT_ORDER 0x8000
|
508
|
-
#endif
|
509
|
-
|
510
500
|
/**
|
511
501
|
* Compare two strings case-insensitively using full case folding.
|
512
502
|
* This is equivalent to
|
@@ -894,7 +884,7 @@ u_memrchr32(const UChar *s, UChar32 c, int32_t count);
|
|
894
884
|
* Unicode String literals in C.
|
895
885
|
* We need one macro to declare a variable for the string
|
896
886
|
* and to statically preinitialize it if possible,
|
897
|
-
* and a second macro to dynamically
|
887
|
+
* and a second macro to dynamically initialize such a string variable if necessary.
|
898
888
|
*
|
899
889
|
* The macros are defined for maximum performance.
|
900
890
|
* They work only for strings that contain "invariant characters", i.e.,
|
@@ -1,4 +1,4 @@
|
|
1
|
-
//
|
1
|
+
// © 2016 and later: Unicode, Inc. and others.
|
2
2
|
// License & terms of use: http://www.unicode.org/copyright.html
|
3
3
|
/*
|
4
4
|
*******************************************************************************
|
@@ -6,7 +6,7 @@
|
|
6
6
|
* Corporation and others. All Rights Reserved.
|
7
7
|
*******************************************************************************
|
8
8
|
* file name: udicttrie.h
|
9
|
-
* encoding:
|
9
|
+
* encoding: UTF-8
|
10
10
|
* tab size: 8 (not used)
|
11
11
|
* indentation:4
|
12
12
|
*
|
@@ -1,4 +1,4 @@
|
|
1
|
-
//
|
1
|
+
// © 2016 and later: Unicode, Inc. and others.
|
2
2
|
// License & terms of use: http://www.unicode.org/copyright.html
|
3
3
|
/*
|
4
4
|
*******************************************************************************
|
@@ -8,7 +8,7 @@
|
|
8
8
|
*
|
9
9
|
*******************************************************************************
|
10
10
|
* file name: utext.h
|
11
|
-
* encoding:
|
11
|
+
* encoding: UTF-8
|
12
12
|
* tab size: 8 (not used)
|
13
13
|
* indentation:4
|
14
14
|
*
|
@@ -389,7 +389,7 @@ utext_equals(const UText *a, const UText *b);
|
|
389
389
|
|
390
390
|
/*****************************************************************************
|
391
391
|
*
|
392
|
-
* Functions to work with the text
|
392
|
+
* Functions to work with the text represented by a UText wrapper
|
393
393
|
*
|
394
394
|
*****************************************************************************/
|
395
395
|
|
@@ -433,7 +433,7 @@ utext_isLengthExpensive(const UText *ut);
|
|
433
433
|
*
|
434
434
|
* The iteration position will be set to the start of the returned code point.
|
435
435
|
*
|
436
|
-
* This function is roughly equivalent to the
|
436
|
+
* This function is roughly equivalent to the sequence
|
437
437
|
* utext_setNativeIndex(index);
|
438
438
|
* utext_current32();
|
439
439
|
* (There is a subtle difference if the index is out of bounds by being less than zero -
|
@@ -592,7 +592,7 @@ U_STABLE void U_EXPORT2
|
|
592
592
|
utext_setNativeIndex(UText *ut, int64_t nativeIndex);
|
593
593
|
|
594
594
|
/**
|
595
|
-
* Move the iterator
|
595
|
+
* Move the iterator position by delta code points. The number of code points
|
596
596
|
* is a signed number; a negative delta will move the iterator backwards,
|
597
597
|
* towards the start of the text.
|
598
598
|
* <p>
|
@@ -611,7 +611,7 @@ U_STABLE UBool U_EXPORT2
|
|
611
611
|
utext_moveIndex32(UText *ut, int32_t delta);
|
612
612
|
|
613
613
|
/**
|
614
|
-
* Get the native index of the character
|
614
|
+
* Get the native index of the character preceding the current position.
|
615
615
|
* If the iteration position is already at the start of the text, zero
|
616
616
|
* is returned.
|
617
617
|
* The value returned is the same as that obtained from the following sequence,
|
@@ -628,7 +628,7 @@ utext_moveIndex32(UText *ut, int32_t delta);
|
|
628
628
|
* native index of the character most recently returned from utext_next().
|
629
629
|
*
|
630
630
|
* @param ut the text to be accessed
|
631
|
-
* @return the native index of the character
|
631
|
+
* @return the native index of the character preceding the current index position,
|
632
632
|
* or zero if the current position is at the start of the text.
|
633
633
|
* @stable ICU 3.6
|
634
634
|
*/
|
@@ -655,10 +655,10 @@ utext_getPreviousNativeIndex(UText *ut);
|
|
655
655
|
* @param ut the UText from which to extract data.
|
656
656
|
* @param nativeStart the native index of the first character to extract.\
|
657
657
|
* If the specified index is out of range,
|
658
|
-
* it will be pinned to
|
658
|
+
* it will be pinned to be within 0 <= index <= textLength
|
659
659
|
* @param nativeLimit the native string index of the position following the last
|
660
660
|
* character to extract. If the specified index is out of range,
|
661
|
-
* it will be pinned to
|
661
|
+
* it will be pinned to be within 0 <= index <= textLength.
|
662
662
|
* nativeLimit must be >= nativeStart.
|
663
663
|
* @param dest the UChar (UTF-16) buffer into which the extracted text is placed
|
664
664
|
* @param destCapacity The size, in UChars, of the destination buffer. May be zero
|
@@ -768,7 +768,7 @@ utext_extract(UText *ut,
|
|
768
768
|
*/
|
769
769
|
#define UTEXT_SETNATIVEINDEX(ut, ix) \
|
770
770
|
{ int64_t __offset = (ix) - (ut)->chunkNativeStart; \
|
771
|
-
if (__offset>=0 && __offset
|
771
|
+
if (__offset>=0 && __offset<(int64_t)(ut)->nativeIndexingLimit && (ut)->chunkContents[__offset]<0xdc00) { \
|
772
772
|
(ut)->chunkOffset=(int32_t)__offset; \
|
773
773
|
} else { \
|
774
774
|
utext_setNativeIndex((ut), (ix)); } }
|
@@ -906,7 +906,7 @@ utext_copy(UText *ut,
|
|
906
906
|
* Caution: freezing a UText will disable changes made via the specific
|
907
907
|
* frozen UText wrapper only; it will not have any effect on the ability to
|
908
908
|
* directly modify the text by bypassing the UText. Any such backdoor modifications
|
909
|
-
* are always an error while UText access is
|
909
|
+
* are always an error while UText access is occurring because the underlying
|
910
910
|
* text can get out of sync with UText's buffering.
|
911
911
|
* </p>
|
912
912
|
*
|
@@ -1054,7 +1054,7 @@ UTextAccess(UText *ut, int64_t nativeIndex, UBool forward);
|
|
1054
1054
|
* be NUL-terminated if there is sufficient space in the destination buffer.
|
1055
1055
|
*
|
1056
1056
|
* @param ut the UText from which to extract data.
|
1057
|
-
* @param nativeStart the native index of the first
|
1057
|
+
* @param nativeStart the native index of the first character to extract.
|
1058
1058
|
* @param nativeLimit the native string index of the position following the last
|
1059
1059
|
* character to extract.
|
1060
1060
|
* @param dest the UChar (UTF-16) buffer into which the extracted text is placed
|
@@ -1211,7 +1211,7 @@ UTextClose(UText *ut);
|
|
1211
1211
|
struct UTextFuncs {
|
1212
1212
|
/**
|
1213
1213
|
* (public) Function table size, sizeof(UTextFuncs)
|
1214
|
-
* Intended for use should the table grow to
|
1214
|
+
* Intended for use should the table grow to accommodate added
|
1215
1215
|
* functions in the future, to allow tests for older format
|
1216
1216
|
* function tables that do not contain the extensions.
|
1217
1217
|
*
|
@@ -1345,7 +1345,7 @@ typedef struct UTextFuncs UTextFuncs;
|
|
1345
1345
|
struct UText {
|
1346
1346
|
/**
|
1347
1347
|
* (private) Magic. Used to help detect when UText functions are handed
|
1348
|
-
* invalid or
|
1348
|
+
* invalid or uninitialized UText structs.
|
1349
1349
|
* utext_openXYZ() functions take an initialized,
|
1350
1350
|
* but not necessarily open, UText struct as an
|
1351
1351
|
* optional fill-in parameter. This magic field
|
@@ -1367,7 +1367,7 @@ struct UText {
|
|
1367
1367
|
|
1368
1368
|
|
1369
1369
|
/**
|
1370
|
-
* Text provider properties. This set of flags is
|
1370
|
+
* Text provider properties. This set of flags is maintained by the
|
1371
1371
|
* text provider implementation.
|
1372
1372
|
* @stable ICU 3.4
|
1373
1373
|
*/
|
@@ -1452,7 +1452,7 @@ struct UText {
|
|
1452
1452
|
void *pExtra;
|
1453
1453
|
|
1454
1454
|
/**
|
1455
|
-
* (protected) Pointer to string or text-
|
1455
|
+
* (protected) Pointer to string or text-containing object or similar.
|
1456
1456
|
* This is the source of the text that this UText is wrapping, in a format
|
1457
1457
|
* that is known to the text provider functions.
|
1458
1458
|
* @stable ICU 3.4
|
@@ -1,4 +1,4 @@
|
|
1
|
-
//
|
1
|
+
// © 2016 and later: Unicode, Inc. and others.
|
2
2
|
// License & terms of use: http://www.unicode.org/copyright.html
|
3
3
|
/*
|
4
4
|
*******************************************************************************
|
@@ -8,7 +8,7 @@
|
|
8
8
|
*
|
9
9
|
*******************************************************************************
|
10
10
|
* file name: utf.h
|
11
|
-
* encoding:
|
11
|
+
* encoding: UTF-8
|
12
12
|
* tab size: 8 (not used)
|
13
13
|
* indentation:4
|
14
14
|
*
|
@@ -23,9 +23,6 @@
|
|
23
23
|
* This file defines macros for checking whether a code point is
|
24
24
|
* a surrogate or a non-character etc.
|
25
25
|
*
|
26
|
-
* The UChar and UChar32 data types for Unicode code units and code points
|
27
|
-
* are defined in umachine.h because they can be machine-dependent.
|
28
|
-
*
|
29
26
|
* If U_NO_DEFAULT_INCLUDE_UTF_HEADERS is 0 then utf.h is included by utypes.h
|
30
27
|
* and itself includes utf8.h and utf16.h after some
|
31
28
|
* common definitions.
|
@@ -50,11 +47,11 @@
|
|
50
47
|
* but are optimized for the much more frequently occurring BMP code points.
|
51
48
|
*
|
52
49
|
* umachine.h defines UChar to be an unsigned 16-bit integer.
|
53
|
-
*
|
54
|
-
*
|
50
|
+
* Since ICU 59, ICU uses char16_t in C++, UChar only in C,
|
51
|
+
* and defines UChar=char16_t by default. See the UChar API docs for details.
|
55
52
|
*
|
56
53
|
* UChar32 is defined to be a signed 32-bit integer (int32_t), large enough for a 21-bit
|
57
|
-
* Unicode code point (Unicode scalar value, 0..0x10ffff).
|
54
|
+
* Unicode code point (Unicode scalar value, 0..0x10ffff) and U_SENTINEL (-1).
|
58
55
|
* Before ICU 2.4, the definition of UChar32 was similarly platform-dependent as
|
59
56
|
* the definition of UChar. For details see the documentation for UChar32 itself.
|
60
57
|
*
|
@@ -63,11 +60,20 @@
|
|
63
60
|
* For actual Unicode character properties see uchar.h.
|
64
61
|
*
|
65
62
|
* By default, string operations must be done with error checking in case
|
66
|
-
* a string is not well-formed UTF-16.
|
67
|
-
*
|
63
|
+
* a string is not well-formed UTF-16 or UTF-8.
|
64
|
+
*
|
65
|
+
* The U16_ macros detect if a surrogate code unit is unpaired
|
68
66
|
* (lead unit without trail unit or vice versa) and just return the unit itself
|
69
67
|
* as the code point.
|
70
68
|
*
|
69
|
+
* The U8_ macros detect illegal byte sequences and return a negative value.
|
70
|
+
* Starting with ICU 60, the observable length of a single illegal byte sequence
|
71
|
+
* skipped by one of these macros follows the Unicode 6+ recommendation
|
72
|
+
* which is consistent with the W3C Encoding Standard.
|
73
|
+
*
|
74
|
+
* There are ..._OR_FFFD versions of both U16_ and U8_ macros
|
75
|
+
* that return U+FFFD for illegal code unit sequences.
|
76
|
+
*
|
71
77
|
* The regular "safe" macros require that the initial, passed-in string index
|
72
78
|
* is within bounds. They only check the index when they read more than one
|
73
79
|
* code unit. This is usually done with code similar to the following loop:
|
@@ -91,10 +97,7 @@
|
|
91
97
|
* The performance differences are much larger here because UTF-8 provides so
|
92
98
|
* many opportunities for malformed sequences.
|
93
99
|
* The unsafe UTF-8 macros are entirely implemented inside the macro definitions
|
94
|
-
* and are fast, while the safe UTF-8 macros call functions for
|
95
|
-
* trivial (ASCII) cases.
|
96
|
-
* (ICU 3.6 optimizes U8_NEXT() and U8_APPEND() to handle most other common
|
97
|
-
* characters inline as well.)
|
100
|
+
* and are fast, while the safe UTF-8 macros call functions for some complicated cases.
|
98
101
|
*
|
99
102
|
* Unlike with UTF-16, malformed sequences cannot be expressed with distinct
|
100
103
|
* code point values (0..U+10ffff). They are indicated with negative values instead.
|
@@ -126,8 +129,7 @@
|
|
126
129
|
*/
|
127
130
|
#define U_IS_UNICODE_NONCHAR(c) \
|
128
131
|
((c)>=0xfdd0 && \
|
129
|
-
((
|
130
|
-
(uint32_t)(c)<=0x10ffff)
|
132
|
+
((c)<=0xfdef || ((c)&0xfffe)==0xfffe) && (c)<=0x10ffff)
|
131
133
|
|
132
134
|
/**
|
133
135
|
* Is c a Unicode code point value (0..U+10ffff)
|
@@ -148,9 +150,7 @@
|
|
148
150
|
*/
|
149
151
|
#define U_IS_UNICODE_CHAR(c) \
|
150
152
|
((uint32_t)(c)<0xd800 || \
|
151
|
-
((
|
152
|
-
(uint32_t)(c)<=0x10ffff && \
|
153
|
-
!U_IS_UNICODE_NONCHAR(c)))
|
153
|
+
(0xdfff<(c) && (c)<=0x10ffff && !U_IS_UNICODE_NONCHAR(c)))
|
154
154
|
|
155
155
|
/**
|
156
156
|
* Is this code point a BMP code point (U+0000..U+ffff)?
|
@@ -1,4 +1,4 @@
|
|
1
|
-
//
|
1
|
+
// © 2016 and later: Unicode, Inc. and others.
|
2
2
|
// License & terms of use: http://www.unicode.org/copyright.html
|
3
3
|
/*
|
4
4
|
*******************************************************************************
|
@@ -8,7 +8,7 @@
|
|
8
8
|
*
|
9
9
|
*******************************************************************************
|
10
10
|
* file name: utf16.h
|
11
|
-
* encoding:
|
11
|
+
* encoding: UTF-8
|
12
12
|
* tab size: 8 (not used)
|
13
13
|
* indentation:4
|
14
14
|
*
|
@@ -185,8 +185,8 @@
|
|
185
185
|
*
|
186
186
|
* The length can be negative for a NUL-terminated string.
|
187
187
|
*
|
188
|
-
* If the offset points to a single, unpaired surrogate, then
|
189
|
-
*
|
188
|
+
* If the offset points to a single, unpaired surrogate, then
|
189
|
+
* c is set to that unpaired surrogate.
|
190
190
|
* Iteration through a string is more efficient with U16_NEXT_UNSAFE or U16_NEXT.
|
191
191
|
*
|
192
192
|
* @param s const UChar * string
|
@@ -213,6 +213,53 @@
|
|
213
213
|
} \
|
214
214
|
}
|
215
215
|
|
216
|
+
#ifndef U_HIDE_DRAFT_API
|
217
|
+
|
218
|
+
/**
|
219
|
+
* Get a code point from a string at a random-access offset,
|
220
|
+
* without changing the offset.
|
221
|
+
* "Safe" macro, handles unpaired surrogates and checks for string boundaries.
|
222
|
+
*
|
223
|
+
* The offset may point to either the lead or trail surrogate unit
|
224
|
+
* for a supplementary code point, in which case the macro will read
|
225
|
+
* the adjacent matching surrogate as well.
|
226
|
+
*
|
227
|
+
* The length can be negative for a NUL-terminated string.
|
228
|
+
*
|
229
|
+
* If the offset points to a single, unpaired surrogate, then
|
230
|
+
* c is set to U+FFFD.
|
231
|
+
* Iteration through a string is more efficient with U16_NEXT_UNSAFE or U16_NEXT_OR_FFFD.
|
232
|
+
*
|
233
|
+
* @param s const UChar * string
|
234
|
+
* @param start starting string offset (usually 0)
|
235
|
+
* @param i string offset, must be start<=i<length
|
236
|
+
* @param length string length
|
237
|
+
* @param c output UChar32 variable
|
238
|
+
* @see U16_GET_UNSAFE
|
239
|
+
* @draft ICU 60
|
240
|
+
*/
|
241
|
+
#define U16_GET_OR_FFFD(s, start, i, length, c) { \
|
242
|
+
(c)=(s)[i]; \
|
243
|
+
if(U16_IS_SURROGATE(c)) { \
|
244
|
+
uint16_t __c2; \
|
245
|
+
if(U16_IS_SURROGATE_LEAD(c)) { \
|
246
|
+
if((i)+1!=(length) && U16_IS_TRAIL(__c2=(s)[(i)+1])) { \
|
247
|
+
(c)=U16_GET_SUPPLEMENTARY((c), __c2); \
|
248
|
+
} else { \
|
249
|
+
(c)=0xfffd; \
|
250
|
+
} \
|
251
|
+
} else { \
|
252
|
+
if((i)>(start) && U16_IS_LEAD(__c2=(s)[(i)-1])) { \
|
253
|
+
(c)=U16_GET_SUPPLEMENTARY(__c2, (c)); \
|
254
|
+
} else { \
|
255
|
+
(c)=0xfffd; \
|
256
|
+
} \
|
257
|
+
} \
|
258
|
+
} \
|
259
|
+
}
|
260
|
+
|
261
|
+
#endif // U_HIDE_DRAFT_API
|
262
|
+
|
216
263
|
/* definitions with forward iteration --------------------------------------- */
|
217
264
|
|
218
265
|
/**
|
@@ -253,8 +300,7 @@
|
|
253
300
|
* for a supplementary code point, in which case the macro will read
|
254
301
|
* the following trail surrogate as well.
|
255
302
|
* If the offset points to a trail surrogate or
|
256
|
-
* to a single, unpaired lead surrogate, then that
|
257
|
-
* will be returned as the code point.
|
303
|
+
* to a single, unpaired lead surrogate, then c is set to that unpaired surrogate.
|
258
304
|
*
|
259
305
|
* @param s const UChar * string
|
260
306
|
* @param i string offset, must be i<length
|
@@ -274,6 +320,44 @@
|
|
274
320
|
} \
|
275
321
|
}
|
276
322
|
|
323
|
+
#ifndef U_HIDE_DRAFT_API
|
324
|
+
|
325
|
+
/**
|
326
|
+
* Get a code point from a string at a code point boundary offset,
|
327
|
+
* and advance the offset to the next code point boundary.
|
328
|
+
* (Post-incrementing forward iteration.)
|
329
|
+
* "Safe" macro, handles unpaired surrogates and checks for string boundaries.
|
330
|
+
*
|
331
|
+
* The length can be negative for a NUL-terminated string.
|
332
|
+
*
|
333
|
+
* The offset may point to the lead surrogate unit
|
334
|
+
* for a supplementary code point, in which case the macro will read
|
335
|
+
* the following trail surrogate as well.
|
336
|
+
* If the offset points to a trail surrogate or
|
337
|
+
* to a single, unpaired lead surrogate, then c is set to U+FFFD.
|
338
|
+
*
|
339
|
+
* @param s const UChar * string
|
340
|
+
* @param i string offset, must be i<length
|
341
|
+
* @param length string length
|
342
|
+
* @param c output UChar32 variable
|
343
|
+
* @see U16_NEXT_UNSAFE
|
344
|
+
* @draft ICU 60
|
345
|
+
*/
|
346
|
+
#define U16_NEXT_OR_FFFD(s, i, length, c) { \
|
347
|
+
(c)=(s)[(i)++]; \
|
348
|
+
if(U16_IS_SURROGATE(c)) { \
|
349
|
+
uint16_t __c2; \
|
350
|
+
if(U16_IS_SURROGATE_LEAD(c) && (i)!=(length) && U16_IS_TRAIL(__c2=(s)[(i)])) { \
|
351
|
+
++(i); \
|
352
|
+
(c)=U16_GET_SUPPLEMENTARY((c), __c2); \
|
353
|
+
} else { \
|
354
|
+
(c)=0xfffd; \
|
355
|
+
} \
|
356
|
+
} \
|
357
|
+
}
|
358
|
+
|
359
|
+
#endif // U_HIDE_DRAFT_API
|
360
|
+
|
277
361
|
/**
|
278
362
|
* Append a code point to a string, overwriting 1 or 2 code units.
|
279
363
|
* The offset points to the current end of the string contents
|
@@ -481,8 +565,7 @@
|
|
481
565
|
* for a supplementary code point, then the macro will read
|
482
566
|
* the preceding lead surrogate as well.
|
483
567
|
* If the offset is behind a lead surrogate or behind a single, unpaired
|
484
|
-
* trail surrogate, then that
|
485
|
-
* will be returned as the code point.
|
568
|
+
* trail surrogate, then c is set to that unpaired surrogate.
|
486
569
|
*
|
487
570
|
* @param s const UChar * string
|
488
571
|
* @param start starting string offset (usually 0)
|
@@ -502,6 +585,43 @@
|
|
502
585
|
} \
|
503
586
|
}
|
504
587
|
|
588
|
+
#ifndef U_HIDE_DRAFT_API
|
589
|
+
|
590
|
+
/**
|
591
|
+
* Move the string offset from one code point boundary to the previous one
|
592
|
+
* and get the code point between them.
|
593
|
+
* (Pre-decrementing backward iteration.)
|
594
|
+
* "Safe" macro, handles unpaired surrogates and checks for string boundaries.
|
595
|
+
*
|
596
|
+
* The input offset may be the same as the string length.
|
597
|
+
* If the offset is behind a trail surrogate unit
|
598
|
+
* for a supplementary code point, then the macro will read
|
599
|
+
* the preceding lead surrogate as well.
|
600
|
+
* If the offset is behind a lead surrogate or behind a single, unpaired
|
601
|
+
* trail surrogate, then c is set to U+FFFD.
|
602
|
+
*
|
603
|
+
* @param s const UChar * string
|
604
|
+
* @param start starting string offset (usually 0)
|
605
|
+
* @param i string offset, must be start<i
|
606
|
+
* @param c output UChar32 variable
|
607
|
+
* @see U16_PREV_UNSAFE
|
608
|
+
* @draft ICU 60
|
609
|
+
*/
|
610
|
+
#define U16_PREV_OR_FFFD(s, start, i, c) { \
|
611
|
+
(c)=(s)[--(i)]; \
|
612
|
+
if(U16_IS_SURROGATE(c)) { \
|
613
|
+
uint16_t __c2; \
|
614
|
+
if(U16_IS_SURROGATE_TRAIL(c) && (i)>(start) && U16_IS_LEAD(__c2=(s)[(i)-1])) { \
|
615
|
+
--(i); \
|
616
|
+
(c)=U16_GET_SUPPLEMENTARY(__c2, (c)); \
|
617
|
+
} else { \
|
618
|
+
(c)=0xfffd; \
|
619
|
+
} \
|
620
|
+
} \
|
621
|
+
}
|
622
|
+
|
623
|
+
#endif // U_HIDE_DRAFT_API
|
624
|
+
|
505
625
|
/**
|
506
626
|
* Move the string offset from one code point boundary to the previous one.
|
507
627
|
* (Pre-decrementing backward iteration.)
|