8239383: Support for Unicode 13.0

Reviewed-by: rriggs, joehw
This commit is contained in:
Naoto Sato 2020-05-13 15:46:08 -07:00
parent 073e095e60
commit 80c75c9fa9
40 changed files with 3807 additions and 1834 deletions

View file

@ -62,7 +62,7 @@ import static java.lang.constant.ConstantDescs.DEFAULT_NAME;
* from the Unicode Consortium at
* <a href="http://www.unicode.org">http://www.unicode.org</a>.
* <p>
* Character information is based on the Unicode Standard, version 12.1.
* Character information is based on the Unicode Standard, version 13.0.
*
* <h2><a id="unicode">Unicode Character Representations</a></h2>
*
@ -691,10 +691,10 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
*/
public static final class UnicodeBlock extends Subset {
/**
* 676 - the expected number of entities
* 684 - the expected number of entities
* 0.75 - the default load factor of HashMap
*/
private static final int NUM_ENTITIES = 676;
private static final int NUM_ENTITIES = 684;
private static Map<String, UnicodeBlock> map =
new HashMap<>((int)(NUM_ENTITIES / 0.75f + 1.0f));
@ -3304,6 +3304,82 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
"SYMBOLS AND PICTOGRAPHS EXTENDED-A",
"SYMBOLSANDPICTOGRAPHSEXTENDED-A");
/**
* Constant for the "Yezidi" Unicode
* character block.
* @since 15
*/
public static final UnicodeBlock YEZIDI =
new UnicodeBlock("YEZIDI");
/**
* Constant for the "Chorasmian" Unicode
* character block.
* @since 15
*/
public static final UnicodeBlock CHORASMIAN =
new UnicodeBlock("CHORASMIAN");
/**
* Constant for the "Dives Akuru" Unicode
* character block.
* @since 15
*/
public static final UnicodeBlock DIVES_AKURU =
new UnicodeBlock("DIVES_AKURU",
"DIVES AKURU",
"DIVESAKURU");
/**
* Constant for the "Lisu Supplement" Unicode
* character block.
* @since 15
*/
public static final UnicodeBlock LISU_SUPPLEMENT =
new UnicodeBlock("LISU_SUPPLEMENT",
"LISU SUPPLEMENT",
"LISUSUPPLEMENT");
/**
* Constant for the "Khitan Small Script" Unicode
* character block.
* @since 15
*/
public static final UnicodeBlock KHITAN_SMALL_SCRIPT =
new UnicodeBlock("KHITAN_SMALL_SCRIPT",
"KHITAN SMALL SCRIPT",
"KHITANSMALLSCRIPT");
/**
* Constant for the "Tangut Supplement" Unicode
* character block.
* @since 15
*/
public static final UnicodeBlock TANGUT_SUPPLEMENT =
new UnicodeBlock("TANGUT_SUPPLEMENT",
"TANGUT SUPPLEMENT",
"TANGUTSUPPLEMENT");
/**
* Constant for the "Symbols for Legacy Computing" Unicode
* character block.
* @since 15
*/
public static final UnicodeBlock SYMBOLS_FOR_LEGACY_COMPUTING =
new UnicodeBlock("SYMBOLS_FOR_LEGACY_COMPUTING",
"SYMBOLS FOR LEGACY COMPUTING",
"SYMBOLSFORLEGACYCOMPUTING");
/**
* Constant for the "CJK Unified Ideographs Extension G" Unicode
* character block.
* @since 15
*/
public static final UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G =
new UnicodeBlock("CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G",
"CJK UNIFIED IDEOGRAPHS EXTENSION G",
"CJKUNIFIEDIDEOGRAPHSEXTENSIONG");
private static final int[] blockStarts = {
0x0000, // 0000..007F; Basic Latin
0x0080, // 0080..00FF; Latin-1 Supplement
@ -3522,10 +3598,12 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
0x10D00, // 10D00..10D3F; Hanifi Rohingya
0x10D40, // unassigned
0x10E60, // 10E60..10E7F; Rumi Numeral Symbols
0x10E80, // unassigned
0x10E80, // 10E80..10EBF; Yezidi
0x10EC0, // unassigned
0x10F00, // 10F00..10F2F; Old Sogdian
0x10F30, // 10F30..10F6F; Sogdian
0x10F70, // unassigned
0x10FB0, // 10FB0..10FDF; Chorasmian
0x10FE0, // 10FE0..10FFF; Elymaic
0x11000, // 11000..1107F; Brahmi
0x11080, // 11080..110CF; Kaithi
@ -3553,7 +3631,8 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
0x11800, // 11800..1184F; Dogra
0x11850, // unassigned
0x118A0, // 118A0..118FF; Warang Citi
0x11900, // unassigned
0x11900, // 11900..1195F; Dives Akuru
0x11960, // unassigned
0x119A0, // 119A0..119FF; Nandinagari
0x11A00, // 11A00..11A4F; Zanabazar Square
0x11A50, // 11A50..11AAF; Soyombo
@ -3568,6 +3647,7 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
0x11DB0, // unassigned
0x11EE0, // 11EE0..11EFF; Makasar
0x11F00, // unassigned
0x11FB0, // 11FB0..11FBF; Lisu Supplement
0x11FC0, // 11FC0..11FFF; Tamil Supplement
0x12000, // 12000..123FF; Cuneiform
0x12400, // 12400..1247F; Cuneiform Numbers and Punctuation
@ -3591,7 +3671,9 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
0x16FE0, // 16FE0..16FFF; Ideographic Symbols and Punctuation
0x17000, // 17000..187FF; Tangut
0x18800, // 18800..18AFF; Tangut Components
0x18B00, // unassigned
0x18B00, // 18B00..18CFF; Khitan Small Script
0x18D00, // 18D00..18D8F; Tangut Supplement
0x18D90, // unassigned
0x1B000, // 1B000..1B0FF; Kana Supplement
0x1B100, // 1B100..1B12F; Kana Extended-A
0x1B130, // 1B130..1B16F; Small Kana Extension
@ -3642,7 +3724,8 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
0x1F900, // 1F900..1F9FF; Supplemental Symbols and Pictographs
0x1FA00, // 1FA00..1FA6F; Chess Symbols
0x1FA70, // 1FA70..1FAFF; Symbols and Pictographs Extended-A
0x1FB00, // unassigned
0x1FB00, // 1FB00..1FBFF; Symbols for Legacy Computing
0x1FC00, // unassigned
0x20000, // 20000..2A6DF; CJK Unified Ideographs Extension B
0x2A6E0, // unassigned
0x2A700, // 2A700..2B73F; CJK Unified Ideographs Extension C
@ -3652,6 +3735,8 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
0x2EBF0, // unassigned
0x2F800, // 2F800..2FA1F; CJK Compatibility Ideographs Supplement
0x2FA20, // unassigned
0x30000, // 30000..3134F; CJK Unified Ideographs Extension G
0x31350, // unassigned
0xE0000, // E0000..E007F; Tags
0xE0080, // unassigned
0xE0100, // E0100..E01EF; Variation Selectors Supplement
@ -3878,10 +3963,12 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
HANIFI_ROHINGYA,
null,
RUMI_NUMERAL_SYMBOLS,
YEZIDI,
null,
OLD_SOGDIAN,
SOGDIAN,
null,
CHORASMIAN,
ELYMAIC,
BRAHMI,
KAITHI,
@ -3909,6 +3996,7 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
DOGRA,
null,
WARANG_CITI,
DIVES_AKURU,
null,
NANDINAGARI,
ZANABAZAR_SQUARE,
@ -3924,6 +4012,7 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
null,
MAKASAR,
null,
LISU_SUPPLEMENT,
TAMIL_SUPPLEMENT,
CUNEIFORM,
CUNEIFORM_NUMBERS_AND_PUNCTUATION,
@ -3947,6 +4036,8 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION,
TANGUT,
TANGUT_COMPONENTS,
KHITAN_SMALL_SCRIPT,
TANGUT_SUPPLEMENT,
null,
KANA_SUPPLEMENT,
KANA_EXTENDED_A,
@ -3998,6 +4089,7 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS,
CHESS_SYMBOLS,
SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A,
SYMBOLS_FOR_LEGACY_COMPUTING,
null,
CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B,
null,
@ -4008,6 +4100,8 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
null,
CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT,
null,
CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G,
null,
TAGS,
null,
VARIATION_SELECTORS_SUPPLEMENT,
@ -4954,6 +5048,30 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
*/
WANCHO,
/**
* Unicode script "Yezidi".
* @since 15
*/
YEZIDI,
/**
* Unicode script "Chorasmian".
* @since 15
*/
CHORASMIAN,
/**
* Unicode script "Dives Akuru".
* @since 15
*/
DIVES_AKURU,
/**
* Unicode script "Khitan Small Script".
* @since 15
*/
KHITAN_SMALL_SCRIPT,
/**
* Unicode script "Unknown".
*/
@ -5007,9 +5125,7 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
0x0530, // 0530 ; UNKNOWN
0x0531, // 0531..0556; ARMENIAN
0x0557, // 0557..0558; UNKNOWN
0x0559, // 0559..0588; ARMENIAN
0x0589, // 0589 ; COMMON
0x058A, // 058A ; ARMENIAN
0x0559, // 0559..058A; ARMENIAN
0x058B, // 058B..058C; UNKNOWN
0x058D, // 058D..058F; ARMENIAN
0x0590, // 0590 ; UNKNOWN
@ -5061,8 +5177,8 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
0x086B, // 086B..089F; UNKNOWN
0x08A0, // 08A0..08B4; ARABIC
0x08B5, // 08B5 ; UNKNOWN
0x08B6, // 08B6..08BD; ARABIC
0x08BE, // 08BE..08D2; UNKNOWN
0x08B6, // 08B6..08C7; ARABIC
0x08C8, // 08C8..08D2; UNKNOWN
0x08D3, // 08D3..08E1; ARABIC
0x08E2, // 08E2 ; COMMON
0x08E3, // 08E3..08FF; ARABIC
@ -5178,8 +5294,8 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
0x0B47, // 0B47..0B48; ORIYA
0x0B49, // 0B49..0B4A; UNKNOWN
0x0B4B, // 0B4B..0B4D; ORIYA
0x0B4E, // 0B4E..0B55; UNKNOWN
0x0B56, // 0B56..0B57; ORIYA
0x0B4E, // 0B4E..0B54; UNKNOWN
0x0B55, // 0B55..0B57; ORIYA
0x0B58, // 0B58..0B5B; UNKNOWN
0x0B5C, // 0B5C..0B5D; ORIYA
0x0B5E, // 0B5E ; UNKNOWN
@ -5268,9 +5384,7 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
0x0CF0, // 0CF0 ; UNKNOWN
0x0CF1, // 0CF1..0CF2; KANNADA
0x0CF3, // 0CF3..0CFF; UNKNOWN
0x0D00, // 0D00..0D03; MALAYALAM
0x0D04, // 0D04 ; UNKNOWN
0x0D05, // 0D05..0D0C; MALAYALAM
0x0D00, // 0D00..0D0C; MALAYALAM
0x0D0D, // 0D0D ; UNKNOWN
0x0D0E, // 0D0E..0D10; MALAYALAM
0x0D11, // 0D11 ; UNKNOWN
@ -5283,8 +5397,8 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
0x0D54, // 0D54..0D63; MALAYALAM
0x0D64, // 0D64..0D65; UNKNOWN
0x0D66, // 0D66..0D7F; MALAYALAM
0x0D80, // 0D80..0D81; UNKNOWN
0x0D82, // 0D82..0D83; SINHALA
0x0D80, // 0D80 ; UNKNOWN
0x0D81, // 0D81..0D83; SINHALA
0x0D84, // 0D84 ; UNKNOWN
0x0D85, // 0D85..0D96; SINHALA
0x0D97, // 0D97..0D99; UNKNOWN
@ -5476,8 +5590,8 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
0x1A9A, // 1A9A..1A9F; UNKNOWN
0x1AA0, // 1AA0..1AAD; TAI_THAM
0x1AAE, // 1AAE..1AAF; UNKNOWN
0x1AB0, // 1AB0..1ABE; INHERITED
0x1ABF, // 1ABF..1AFF; UNKNOWN
0x1AB0, // 1AB0..1AC0; INHERITED
0x1AC1, // 1AC1..1AFF; UNKNOWN
0x1B00, // 1B00..1B4B; BALINESE
0x1B4C, // 1B4C..1B4F; UNKNOWN
0x1B50, // 1B50..1B7C; BALINESE
@ -5597,8 +5711,8 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
0x2900, // 2900..2B73; COMMON
0x2B74, // 2B74..2B75; UNKNOWN
0x2B76, // 2B76..2B95; COMMON
0x2B96, // 2B96..2B97; UNKNOWN
0x2B98, // 2B98..2BFF; COMMON
0x2B96, // 2B96 ; UNKNOWN
0x2B97, // 2B97..2BFF; COMMON
0x2C00, // 2C00..2C2E; GLAGOLITIC
0x2C2F, // 2C2F ; UNKNOWN
0x2C30, // 2C30..2C5E; GLAGOLITIC
@ -5637,8 +5751,8 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
0x2DD8, // 2DD8..2DDE; ETHIOPIC
0x2DDF, // 2DDF ; UNKNOWN
0x2DE0, // 2DE0..2DFF; CYRILLIC
0x2E00, // 2E00..2E4F; COMMON
0x2E50, // 2E50..2E7F; UNKNOWN
0x2E00, // 2E00..2E52; COMMON
0x2E53, // 2E53..2E7F; UNKNOWN
0x2E80, // 2E80..2E99; HAN
0x2E9A, // 2E9A ; UNKNOWN
0x2E9B, // 2E9B..2EF3; HAN
@ -5674,8 +5788,7 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
0x3131, // 3131..318E; HANGUL
0x318F, // 318F ; UNKNOWN
0x3190, // 3190..319F; COMMON
0x31A0, // 31A0..31BA; BOPOMOFO
0x31BB, // 31BB..31BF; UNKNOWN
0x31A0, // 31A0..31BF; BOPOMOFO
0x31C0, // 31C0..31E3; COMMON
0x31E4, // 31E4..31EF; UNKNOWN
0x31F0, // 31F0..31FF; KATAKANA
@ -5688,11 +5801,10 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
0x32FF, // 32FF ; COMMON
0x3300, // 3300..3357; KATAKANA
0x3358, // 3358..33FF; COMMON
0x3400, // 3400..4DB5; HAN
0x4DB6, // 4DB6..4DBF; UNKNOWN
0x3400, // 3400..4DBF; HAN
0x4DC0, // 4DC0..4DFF; COMMON
0x4E00, // 4E00..9FEF; HAN
0x9FF0, // 9FF0..9FFF; UNKNOWN
0x4E00, // 4E00..9FFC; HAN
0x9FFD, // 9FFD..9FFF; UNKNOWN
0xA000, // A000..A48C; YI
0xA48D, // A48D..A48F; UNKNOWN
0xA490, // A490..A4C6; YI
@ -5708,11 +5820,11 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
0xA788, // A788..A78A; COMMON
0xA78B, // A78B..A7BF; LATIN
0xA7C0, // A7C0..A7C1; UNKNOWN
0xA7C2, // A7C2..A7C6; LATIN
0xA7C7, // A7C7..A7F6; UNKNOWN
0xA7F7, // A7F7..A7FF; LATIN
0xA800, // A800..A82B; SYLOTI_NAGRI
0xA82C, // A82C..A82F; UNKNOWN
0xA7C2, // A7C2..A7CA; LATIN
0xA7CB, // A7CB..A7F4; UNKNOWN
0xA7F5, // A7F5..A7FF; LATIN
0xA800, // A800..A82C; SYLOTI_NAGRI
0xA82D, // A82D..A82F; UNKNOWN
0xA830, // A830..A839; COMMON
0xA83A, // A83A..A83F; UNKNOWN
0xA840, // A840..A877; PHAGS_PA
@ -5765,8 +5877,9 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
0xAB5B, // AB5B ; COMMON
0xAB5C, // AB5C..AB64; LATIN
0xAB65, // AB65 ; GREEK
0xAB66, // AB66..AB67; LATIN
0xAB68, // AB68..AB6F; UNKNOWN
0xAB66, // AB66..AB69; LATIN
0xAB6A, // AB6A..AB6B; COMMON
0xAB6C, // AB6C..AB6F; UNKNOWN
0xAB70, // AB70..ABBF; CHEROKEE
0xABC0, // ABC0..ABED; MEETEI_MAYEK
0xABEE, // ABEE..ABEF; UNKNOWN
@ -5871,8 +5984,8 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
0x10137, // 10137..1013F; COMMON
0x10140, // 10140..1018E; GREEK
0x1018F, // 1018F ; UNKNOWN
0x10190, // 10190..1019B; COMMON
0x1019C, // 1019C..1019F; UNKNOWN
0x10190, // 10190..1019C; COMMON
0x1019D, // 1019D..1019F; UNKNOWN
0x101A0, // 101A0 ; GREEK
0x101A1, // 101A1..101CF; UNKNOWN
0x101D0, // 101D0..101FC; COMMON
@ -6008,11 +6121,19 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
0x10D30, // 10D30..10D39; HANIFI_ROHINGYA
0x10D3A, // 10D3A..10E5F; UNKNOWN
0x10E60, // 10E60..10E7E; ARABIC
0x10E7F, // 10E7F..10EFF; UNKNOWN
0x10E7F, // 10E7F ; UNKNOWN
0x10E80, // 10E80..10EA9; YEZIDI
0x10EAA, // 10EAA ; UNKNOWN
0x10EAB, // 10EAB..10EAD; YEZIDI
0x10EAE, // 10EAE..10EAF; UNKNOWN
0x10EB0, // 10EB0..10EB1; YEZIDI
0x10EB2, // 10EB2..10EFF; UNKNOWN
0x10F00, // 10F00..10F27; OLD_SOGDIAN
0x10F28, // 10F28..10F2F; UNKNOWN
0x10F30, // 10F30..10F59; SOGDIAN
0x10F5A, // 10F5A..10FDF; UNKNOWN
0x10F5A, // 10F5A..10FAF; UNKNOWN
0x10FB0, // 10FB0..10FCB; CHORASMIAN
0x10FCC, // 10FCC..10FDF; UNKNOWN
0x10FE0, // 10FE0..10FF6; ELYMAIC
0x10FF7, // 10FF7..10FFF; UNKNOWN
0x11000, // 11000..1104D; BRAHMI
@ -6030,13 +6151,11 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
0x110FA, // 110FA..110FF; UNKNOWN
0x11100, // 11100..11134; CHAKMA
0x11135, // 11135 ; UNKNOWN
0x11136, // 11136..11146; CHAKMA
0x11147, // 11147..1114F; UNKNOWN
0x11136, // 11136..11147; CHAKMA
0x11148, // 11148..1114F; UNKNOWN
0x11150, // 11150..11176; MAHAJANI
0x11177, // 11177..1117F; UNKNOWN
0x11180, // 11180..111CD; SHARADA
0x111CE, // 111CE..111CF; UNKNOWN
0x111D0, // 111D0..111DF; SHARADA
0x11180, // 11180..111DF; SHARADA
0x111E0, // 111E0 ; UNKNOWN
0x111E1, // 111E1..111F4; SINHALA
0x111F5, // 111F5..111FF; UNKNOWN
@ -6089,12 +6208,10 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
0x1136D, // 1136D..1136F; UNKNOWN
0x11370, // 11370..11374; GRANTHA
0x11375, // 11375..113FF; UNKNOWN
0x11400, // 11400..11459; NEWA
0x1145A, // 1145A ; UNKNOWN
0x1145B, // 1145B ; NEWA
0x11400, // 11400..1145B; NEWA
0x1145C, // 1145C ; UNKNOWN
0x1145D, // 1145D..1145F; NEWA
0x11460, // 11460..1147F; UNKNOWN
0x1145D, // 1145D..11461; NEWA
0x11462, // 11462..1147F; UNKNOWN
0x11480, // 11480..114C7; TIRHUTA
0x114C8, // 114C8..114CF; UNKNOWN
0x114D0, // 114D0..114D9; TIRHUTA
@ -6124,7 +6241,22 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
0x118A0, // 118A0..118F2; WARANG_CITI
0x118F3, // 118F3..118FE; UNKNOWN
0x118FF, // 118FF ; WARANG_CITI
0x11900, // 11900..1199F; UNKNOWN
0x11900, // 11900..11906; DIVES_AKURU
0x11907, // 11907..11908; UNKNOWN
0x11909, // 11909 ; DIVES_AKURU
0x1190A, // 1190A..1190B; UNKNOWN
0x1190C, // 1190C..11913; DIVES_AKURU
0x11914, // 11914 ; UNKNOWN
0x11915, // 11915..11916; DIVES_AKURU
0x11917, // 11917 ; UNKNOWN
0x11918, // 11918..11935; DIVES_AKURU
0x11936, // 11936 ; UNKNOWN
0x11937, // 11937..11938; DIVES_AKURU
0x11939, // 11939..1193A; UNKNOWN
0x1193B, // 1193B..11946; DIVES_AKURU
0x11947, // 11947..1194F; UNKNOWN
0x11950, // 11950..11959; DIVES_AKURU
0x1195A, // 1195A..1199F; UNKNOWN
0x119A0, // 119A0..119A7; NANDINAGARI
0x119A8, // 119A8..119A9; UNKNOWN
0x119AA, // 119AA..119D7; NANDINAGARI
@ -6178,7 +6310,9 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
0x11DA0, // 11DA0..11DA9; GUNJALA_GONDI
0x11DAA, // 11DAA..11EDF; UNKNOWN
0x11EE0, // 11EE0..11EF8; MAKASAR
0x11EF9, // 11EF9..11FBF; UNKNOWN
0x11EF9, // 11EF9..11FAF; UNKNOWN
0x11FB0, // 11FB0 ; LISU
0x11FB1, // 11FB1..11FBF; UNKNOWN
0x11FC0, // 11FC0..11FF1; TAMIL
0x11FF2, // 11FF2..11FFE; UNKNOWN
0x11FFF, // 11FFF ; TAMIL
@ -6229,11 +6363,17 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
0x16FE0, // 16FE0 ; TANGUT
0x16FE1, // 16FE1 ; NUSHU
0x16FE2, // 16FE2..16FE3; COMMON
0x16FE4, // 16FE4..16FFF; UNKNOWN
0x16FE4, // 16FE4 ; KHITAN_SMALL_SCRIPT
0x16FE5, // 16FE5..16FEF; UNKNOWN
0x16FF0, // 16FF0..16FF1; HAN
0x16FF2, // 16FF2..16FFF; UNKNOWN
0x17000, // 17000..187F7; TANGUT
0x187F8, // 187F8..187FF; UNKNOWN
0x18800, // 18800..18AF2; TANGUT
0x18AF3, // 18AF3..1AFFF; UNKNOWN
0x18800, // 18800..18AFF; TANGUT
0x18B00, // 18B00..18CD5; KHITAN_SMALL_SCRIPT
0x18CD6, // 18CD6..18CFF; UNKNOWN
0x18D00, // 18D00..18D08; TANGUT
0x18D09, // 18D09..1AFFF; UNKNOWN
0x1B000, // 1B000 ; KATAKANA
0x1B001, // 1B001..1B11E; HIRAGANA
0x1B11F, // 1B11F..1B14F; UNKNOWN
@ -6439,12 +6579,8 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
0x1F0D0, // 1F0D0 ; UNKNOWN
0x1F0D1, // 1F0D1..1F0F5; COMMON
0x1F0F6, // 1F0F6..1F0FF; UNKNOWN
0x1F100, // 1F100..1F10C; COMMON
0x1F10D, // 1F10D..1F10F; UNKNOWN
0x1F110, // 1F110..1F16C; COMMON
0x1F16D, // 1F16D..1F16F; UNKNOWN
0x1F170, // 1F170..1F1AC; COMMON
0x1F1AD, // 1F1AD..1F1E5; UNKNOWN
0x1F100, // 1F100..1F1AD; COMMON
0x1F1AE, // 1F1AE..1F1E5; UNKNOWN
0x1F1E6, // 1F1E6..1F1FF; COMMON
0x1F200, // 1F200 ; HIRAGANA
0x1F201, // 1F201..1F202; COMMON
@ -6457,12 +6593,12 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
0x1F252, // 1F252..1F25F; UNKNOWN
0x1F260, // 1F260..1F265; COMMON
0x1F266, // 1F266..1F2FF; UNKNOWN
0x1F300, // 1F300..1F6D5; COMMON
0x1F6D6, // 1F6D6..1F6DF; UNKNOWN
0x1F300, // 1F300..1F6D7; COMMON
0x1F6D8, // 1F6D8..1F6DF; UNKNOWN
0x1F6E0, // 1F6E0..1F6EC; COMMON
0x1F6ED, // 1F6ED..1F6EF; UNKNOWN
0x1F6F0, // 1F6F0..1F6FA; COMMON
0x1F6FB, // 1F6FB..1F6FF; UNKNOWN
0x1F6F0, // 1F6F0..1F6FC; COMMON
0x1F6FD, // 1F6FD..1F6FF; UNKNOWN
0x1F700, // 1F700..1F773; COMMON
0x1F774, // 1F774..1F77F; UNKNOWN
0x1F780, // 1F780..1F7D8; COMMON
@ -6478,33 +6614,39 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
0x1F860, // 1F860..1F887; COMMON
0x1F888, // 1F888..1F88F; UNKNOWN
0x1F890, // 1F890..1F8AD; COMMON
0x1F8AE, // 1F8AE..1F8FF; UNKNOWN
0x1F900, // 1F900..1F90B; COMMON
0x1F90C, // 1F90C ; UNKNOWN
0x1F90D, // 1F90D..1F971; COMMON
0x1F972, // 1F972 ; UNKNOWN
0x1F973, // 1F973..1F976; COMMON
0x1F977, // 1F977..1F979; UNKNOWN
0x1F97A, // 1F97A..1F9A2; COMMON
0x1F9A3, // 1F9A3..1F9A4; UNKNOWN
0x1F9A5, // 1F9A5..1F9AA; COMMON
0x1F9AB, // 1F9AB..1F9AD; UNKNOWN
0x1F9AE, // 1F9AE..1F9CA; COMMON
0x1F9CB, // 1F9CB..1F9CC; UNKNOWN
0x1F8AE, // 1F8AE..1F8AF; UNKNOWN
0x1F8B0, // 1F8B0..1F8B1; COMMON
0x1F8B2, // 1F8B2..1F8FF; UNKNOWN
0x1F900, // 1F900..1F978; COMMON
0x1F979, // 1F979 ; UNKNOWN
0x1F97A, // 1F97A..1F9CB; COMMON
0x1F9CC, // 1F9CC ; UNKNOWN
0x1F9CD, // 1F9CD..1FA53; COMMON
0x1FA54, // 1FA54..1FA5F; UNKNOWN
0x1FA60, // 1FA60..1FA6D; COMMON
0x1FA6E, // 1FA6E..1FA6F; UNKNOWN
0x1FA70, // 1FA70..1FA73; COMMON
0x1FA74, // 1FA74..1FA77; UNKNOWN
0x1FA70, // 1FA70..1FA74; COMMON
0x1FA75, // 1FA75..1FA77; UNKNOWN
0x1FA78, // 1FA78..1FA7A; COMMON
0x1FA7B, // 1FA7B..1FA7F; UNKNOWN
0x1FA80, // 1FA80..1FA82; COMMON
0x1FA83, // 1FA83..1FA8F; UNKNOWN
0x1FA90, // 1FA90..1FA95; COMMON
0x1FA96, // 1FA96..1FFFF; UNKNOWN
0x20000, // 20000..2A6D6; HAN
0x2A6D7, // 2A6D7..2A6FF; UNKNOWN
0x1FA80, // 1FA80..1FA86; COMMON
0x1FA87, // 1FA87..1FA8F; UNKNOWN
0x1FA90, // 1FA90..1FAA8; COMMON
0x1FAA9, // 1FAA9..1FAAF; UNKNOWN
0x1FAB0, // 1FAB0..1FAB6; COMMON
0x1FAB7, // 1FAB7..1FABF; UNKNOWN
0x1FAC0, // 1FAC0..1FAC2; COMMON
0x1FAC3, // 1FAC3..1FACF; UNKNOWN
0x1FAD0, // 1FAD0..1FAD6; COMMON
0x1FAD7, // 1FAD7..1FAFF; UNKNOWN
0x1FB00, // 1FB00..1FB92; COMMON
0x1FB93, // 1FB93 ; UNKNOWN
0x1FB94, // 1FB94..1FBCA; COMMON
0x1FBCB, // 1FBCB..1FBEF; UNKNOWN
0x1FBF0, // 1FBF0..1FBF9; COMMON
0x1FBFA, // 1FBFA..1FFFF; UNKNOWN
0x20000, // 20000..2A6DD; HAN
0x2A6DE, // 2A6DE..2A6FF; UNKNOWN
0x2A700, // 2A700..2B734; HAN
0x2B735, // 2B735..2B73F; UNKNOWN
0x2B740, // 2B740..2B81D; HAN
@ -6514,7 +6656,9 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
0x2CEB0, // 2CEB0..2EBE0; HAN
0x2EBE1, // 2EBE1..2F7FF; UNKNOWN
0x2F800, // 2F800..2FA1D; HAN
0x2FA1E, // 2FA1E..E0000; UNKNOWN
0x2FA1E, // 2FA1E..2FFFF; UNKNOWN
0x30000, // 30000..3134A; HAN
0x3134B, // 3134B..E0000; UNKNOWN
0xE0001, // E0001 ; COMMON
0xE0002, // E0002..E001F; UNKNOWN
0xE0020, // E0020..E007F; COMMON
@ -6571,9 +6715,7 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
UNKNOWN, // 0530
ARMENIAN, // 0531..0556
UNKNOWN, // 0557..0558
ARMENIAN, // 0559..0588
COMMON, // 0589
ARMENIAN, // 058A
ARMENIAN, // 0559..058A
UNKNOWN, // 058B..058C
ARMENIAN, // 058D..058F
UNKNOWN, // 0590
@ -6625,8 +6767,8 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
UNKNOWN, // 086B..089F
ARABIC, // 08A0..08B4
UNKNOWN, // 08B5
ARABIC, // 08B6..08BD
UNKNOWN, // 08BE..08D2
ARABIC, // 08B6..08C7
UNKNOWN, // 08C8..08D2
ARABIC, // 08D3..08E1
COMMON, // 08E2
ARABIC, // 08E3..08FF
@ -6742,8 +6884,8 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
ORIYA, // 0B47..0B48
UNKNOWN, // 0B49..0B4A
ORIYA, // 0B4B..0B4D
UNKNOWN, // 0B4E..0B55
ORIYA, // 0B56..0B57
UNKNOWN, // 0B4E..0B54
ORIYA, // 0B55..0B57
UNKNOWN, // 0B58..0B5B
ORIYA, // 0B5C..0B5D
UNKNOWN, // 0B5E
@ -6832,9 +6974,7 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
UNKNOWN, // 0CF0
KANNADA, // 0CF1..0CF2
UNKNOWN, // 0CF3..0CFF
MALAYALAM, // 0D00..0D03
UNKNOWN, // 0D04
MALAYALAM, // 0D05..0D0C
MALAYALAM, // 0D00..0D0C
UNKNOWN, // 0D0D
MALAYALAM, // 0D0E..0D10
UNKNOWN, // 0D11
@ -6847,8 +6987,8 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
MALAYALAM, // 0D54..0D63
UNKNOWN, // 0D64..0D65
MALAYALAM, // 0D66..0D7F
UNKNOWN, // 0D80..0D81
SINHALA, // 0D82..0D83
UNKNOWN, // 0D80
SINHALA, // 0D81..0D83
UNKNOWN, // 0D84
SINHALA, // 0D85..0D96
UNKNOWN, // 0D97..0D99
@ -7040,8 +7180,8 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
UNKNOWN, // 1A9A..1A9F
TAI_THAM, // 1AA0..1AAD
UNKNOWN, // 1AAE..1AAF
INHERITED, // 1AB0..1ABE
UNKNOWN, // 1ABF..1AFF
INHERITED, // 1AB0..1AC0
UNKNOWN, // 1AC1..1AFF
BALINESE, // 1B00..1B4B
UNKNOWN, // 1B4C..1B4F
BALINESE, // 1B50..1B7C
@ -7161,8 +7301,8 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
COMMON, // 2900..2B73
UNKNOWN, // 2B74..2B75
COMMON, // 2B76..2B95
UNKNOWN, // 2B96..2B97
COMMON, // 2B98..2BFF
UNKNOWN, // 2B96
COMMON, // 2B97..2BFF
GLAGOLITIC, // 2C00..2C2E
UNKNOWN, // 2C2F
GLAGOLITIC, // 2C30..2C5E
@ -7201,8 +7341,8 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
ETHIOPIC, // 2DD8..2DDE
UNKNOWN, // 2DDF
CYRILLIC, // 2DE0..2DFF
COMMON, // 2E00..2E4F
UNKNOWN, // 2E50..2E7F
COMMON, // 2E00..2E52
UNKNOWN, // 2E53..2E7F
HAN, // 2E80..2E99
UNKNOWN, // 2E9A
HAN, // 2E9B..2EF3
@ -7238,8 +7378,7 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
HANGUL, // 3131..318E
UNKNOWN, // 318F
COMMON, // 3190..319F
BOPOMOFO, // 31A0..31BA
UNKNOWN, // 31BB..31BF
BOPOMOFO, // 31A0..31BF
COMMON, // 31C0..31E3
UNKNOWN, // 31E4..31EF
KATAKANA, // 31F0..31FF
@ -7252,11 +7391,10 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
COMMON, // 32FF
KATAKANA, // 3300..3357
COMMON, // 3358..33FF
HAN, // 3400..4DB5
UNKNOWN, // 4DB6..4DBF
HAN, // 3400..4DBF
COMMON, // 4DC0..4DFF
HAN, // 4E00..9FEF
UNKNOWN, // 9FF0..9FFF
HAN, // 4E00..9FFC
UNKNOWN, // 9FFD..9FFF
YI, // A000..A48C
UNKNOWN, // A48D..A48F
YI, // A490..A4C6
@ -7272,11 +7410,11 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
COMMON, // A788..A78A
LATIN, // A78B..A7BF
UNKNOWN, // A7C0..A7C1
LATIN, // A7C2..A7C6
UNKNOWN, // A7C7..A7F6
LATIN, // A7F7..A7FF
SYLOTI_NAGRI, // A800..A82B
UNKNOWN, // A82C..A82F
LATIN, // A7C2..A7CA
UNKNOWN, // A7CB..A7F4
LATIN, // A7F5..A7FF
SYLOTI_NAGRI, // A800..A82C
UNKNOWN, // A82D..A82F
COMMON, // A830..A839
UNKNOWN, // A83A..A83F
PHAGS_PA, // A840..A877
@ -7329,8 +7467,9 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
COMMON, // AB5B
LATIN, // AB5C..AB64
GREEK, // AB65
LATIN, // AB66..AB67
UNKNOWN, // AB68..AB6F
LATIN, // AB66..AB69
COMMON, // AB6A..AB6B
UNKNOWN, // AB6C..AB6F
CHEROKEE, // AB70..ABBF
MEETEI_MAYEK, // ABC0..ABED
UNKNOWN, // ABEE..ABEF
@ -7435,8 +7574,8 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
COMMON, // 10137..1013F
GREEK, // 10140..1018E
UNKNOWN, // 1018F
COMMON, // 10190..1019B
UNKNOWN, // 1019C..1019F
COMMON, // 10190..1019C
UNKNOWN, // 1019D..1019F
GREEK, // 101A0
UNKNOWN, // 101A1..101CF
COMMON, // 101D0..101FC
@ -7572,11 +7711,19 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
HANIFI_ROHINGYA, // 10D30..10D39
UNKNOWN, // 10D3A..10E5F
ARABIC, // 10E60..10E7E
UNKNOWN, // 10E7F..10EFF
UNKNOWN, // 10E7F
YEZIDI, // 10E80..10EA9
UNKNOWN, // 10EAA
YEZIDI, // 10EAB..10EAD
UNKNOWN, // 10EAE..10EAF
YEZIDI, // 10EB0..10EB1
UNKNOWN, // 10EB2..10EFF
OLD_SOGDIAN, // 10F00..10F27
UNKNOWN, // 10F28..10F2F
SOGDIAN, // 10F30..10F59
UNKNOWN, // 10F5A..10FDF
UNKNOWN, // 10F5A..10FAF
CHORASMIAN, // 10FB0..10FCB
UNKNOWN, // 10FCC..10FDF
ELYMAIC, // 10FE0..10FF6
UNKNOWN, // 10FF7..10FFF
BRAHMI, // 11000..1104D
@ -7594,13 +7741,11 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
UNKNOWN, // 110FA..110FF
CHAKMA, // 11100..11134
UNKNOWN, // 11135
CHAKMA, // 11136..11146
UNKNOWN, // 11147..1114F
CHAKMA, // 11136..11147
UNKNOWN, // 11148..1114F
MAHAJANI, // 11150..11176
UNKNOWN, // 11177..1117F
SHARADA, // 11180..111CD
UNKNOWN, // 111CE..111CF
SHARADA, // 111D0..111DF
SHARADA, // 11180..111DF
UNKNOWN, // 111E0
SINHALA, // 111E1..111F4
UNKNOWN, // 111F5..111FF
@ -7653,12 +7798,10 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
UNKNOWN, // 1136D..1136F
GRANTHA, // 11370..11374
UNKNOWN, // 11375..113FF
NEWA, // 11400..11459
UNKNOWN, // 1145A
NEWA, // 1145B
NEWA, // 11400..1145B
UNKNOWN, // 1145C
NEWA, // 1145D..1145F
UNKNOWN, // 11460..1147F
NEWA, // 1145D..11461
UNKNOWN, // 11462..1147F
TIRHUTA, // 11480..114C7
UNKNOWN, // 114C8..114CF
TIRHUTA, // 114D0..114D9
@ -7688,7 +7831,22 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
WARANG_CITI, // 118A0..118F2
UNKNOWN, // 118F3..118FE
WARANG_CITI, // 118FF
UNKNOWN, // 11900..1199F
DIVES_AKURU, // 11900..11906
UNKNOWN, // 11907..11908
DIVES_AKURU, // 11909
UNKNOWN, // 1190A..1190B
DIVES_AKURU, // 1190C..11913
UNKNOWN, // 11914
DIVES_AKURU, // 11915..11916
UNKNOWN, // 11917
DIVES_AKURU, // 11918..11935
UNKNOWN, // 11936
DIVES_AKURU, // 11937..11938
UNKNOWN, // 11939..1193A
DIVES_AKURU, // 1193B..11946
UNKNOWN, // 11947..1194F
DIVES_AKURU, // 11950..11959
UNKNOWN, // 1195A..1199F
NANDINAGARI, // 119A0..119A7
UNKNOWN, // 119A8..119A9
NANDINAGARI, // 119AA..119D7
@ -7742,7 +7900,9 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
GUNJALA_GONDI, // 11DA0..11DA9
UNKNOWN, // 11DAA..11EDF
MAKASAR, // 11EE0..11EF8
UNKNOWN, // 11EF9..11FBF
UNKNOWN, // 11EF9..11FAF
LISU, // 11FB0
UNKNOWN, // 11FB1..11FBF
TAMIL, // 11FC0..11FF1
UNKNOWN, // 11FF2..11FFE
TAMIL, // 11FFF
@ -7793,11 +7953,17 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
TANGUT, // 16FE0
NUSHU, // 16FE1
COMMON, // 16FE2..16FE3
UNKNOWN, // 16FE4..16FFF
KHITAN_SMALL_SCRIPT, // 16FE4
UNKNOWN, // 16FE5..16FEF
HAN, // 16FF0..16FF1
UNKNOWN, // 16FF2..16FFF
TANGUT, // 17000..187F7
UNKNOWN, // 187F8..187FF
TANGUT, // 18800..18AF2
UNKNOWN, // 18AF3..1AFFF
TANGUT, // 18800..18AFF
KHITAN_SMALL_SCRIPT, // 18B00..18CD5
UNKNOWN, // 18CD6..18CFF
TANGUT, // 18D00..18D08
UNKNOWN, // 18D09..1AFFF
KATAKANA, // 1B000
HIRAGANA, // 1B001..1B11E
UNKNOWN, // 1B11F..1B14F
@ -8003,12 +8169,8 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
UNKNOWN, // 1F0D0
COMMON, // 1F0D1..1F0F5
UNKNOWN, // 1F0F6..1F0FF
COMMON, // 1F100..1F10C
UNKNOWN, // 1F10D..1F10F
COMMON, // 1F110..1F16C
UNKNOWN, // 1F16D..1F16F
COMMON, // 1F170..1F1AC
UNKNOWN, // 1F1AD..1F1E5
COMMON, // 1F100..1F1AD
UNKNOWN, // 1F1AE..1F1E5
COMMON, // 1F1E6..1F1FF
HIRAGANA, // 1F200
COMMON, // 1F201..1F202
@ -8021,12 +8183,12 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
UNKNOWN, // 1F252..1F25F
COMMON, // 1F260..1F265
UNKNOWN, // 1F266..1F2FF
COMMON, // 1F300..1F6D5
UNKNOWN, // 1F6D6..1F6DF
COMMON, // 1F300..1F6D7
UNKNOWN, // 1F6D8..1F6DF
COMMON, // 1F6E0..1F6EC
UNKNOWN, // 1F6ED..1F6EF
COMMON, // 1F6F0..1F6FA
UNKNOWN, // 1F6FB..1F6FF
COMMON, // 1F6F0..1F6FC
UNKNOWN, // 1F6FD..1F6FF
COMMON, // 1F700..1F773
UNKNOWN, // 1F774..1F77F
COMMON, // 1F780..1F7D8
@ -8042,33 +8204,39 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
COMMON, // 1F860..1F887
UNKNOWN, // 1F888..1F88F
COMMON, // 1F890..1F8AD
UNKNOWN, // 1F8AE..1F8FF
COMMON, // 1F900..1F90B
UNKNOWN, // 1F90C
COMMON, // 1F90D..1F971
UNKNOWN, // 1F972
COMMON, // 1F973..1F976
UNKNOWN, // 1F977..1F979
COMMON, // 1F97A..1F9A2
UNKNOWN, // 1F9A3..1F9A4
COMMON, // 1F9A5..1F9AA
UNKNOWN, // 1F9AB..1F9AD
COMMON, // 1F9AE..1F9CA
UNKNOWN, // 1F9CB..1F9CC
UNKNOWN, // 1F8AE..1F8AF
COMMON, // 1F8B0..1F8B1
UNKNOWN, // 1F8B2..1F8FF
COMMON, // 1F900..1F978
UNKNOWN, // 1F979
COMMON, // 1F97A..1F9CB
UNKNOWN, // 1F9CC
COMMON, // 1F9CD..1FA53
UNKNOWN, // 1FA54..1FA5F
COMMON, // 1FA60..1FA6D
UNKNOWN, // 1FA6E..1FA6F
COMMON, // 1FA70..1FA73
UNKNOWN, // 1FA74..1FA77
COMMON, // 1FA70..1FA74
UNKNOWN, // 1FA75..1FA77
COMMON, // 1FA78..1FA7A
UNKNOWN, // 1FA7B..1FA7F
COMMON, // 1FA80..1FA82
UNKNOWN, // 1FA83..1FA8F
COMMON, // 1FA90..1FA95
UNKNOWN, // 1FA96..1FFFF
HAN, // 20000..2A6D6
UNKNOWN, // 2A6D7..2A6FF
COMMON, // 1FA80..1FA86
UNKNOWN, // 1FA87..1FA8F
COMMON, // 1FA90..1FAA8
UNKNOWN, // 1FAA9..1FAAF
COMMON, // 1FAB0..1FAB6
UNKNOWN, // 1FAB7..1FABF
COMMON, // 1FAC0..1FAC2
UNKNOWN, // 1FAC3..1FACF
COMMON, // 1FAD0..1FAD6
UNKNOWN, // 1FAD7..1FAFF
COMMON, // 1FB00..1FB92
UNKNOWN, // 1FB93
COMMON, // 1FB94..1FBCA
UNKNOWN, // 1FBCB..1FBEF
COMMON, // 1FBF0..1FBF9
UNKNOWN, // 1FBFA..1FFFF
HAN, // 20000..2A6DD
UNKNOWN, // 2A6DE..2A6FF
HAN, // 2A700..2B734
UNKNOWN, // 2B735..2B73F
HAN, // 2B740..2B81D
@ -8078,7 +8246,9 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
HAN, // 2CEB0..2EBE0
UNKNOWN, // 2EBE1..2F7FF
HAN, // 2F800..2FA1D
UNKNOWN, // 2FA1E..E0000
UNKNOWN, // 2FA1E..2FFFF
HAN, // 30000..3134A
UNKNOWN, // 3134B..E0000
COMMON, // E0001
UNKNOWN, // E0002..E001F
COMMON, // E0020..E007F
@ -8089,7 +8259,7 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
private static final HashMap<String, Character.UnicodeScript> aliases;
static {
aliases = new HashMap<>((int)(153 / 0.75f + 1.0f));
aliases = new HashMap<>((int)(157 / 0.75f + 1.0f));
aliases.put("ADLM", ADLAM);
aliases.put("AGHB", CAUCASIAN_ALBANIAN);
aliases.put("AHOM", AHOM);
@ -8113,10 +8283,12 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
aliases.put("CARI", CARIAN);
aliases.put("CHAM", CHAM);
aliases.put("CHER", CHEROKEE);
aliases.put("CHRS", CHORASMIAN);
aliases.put("COPT", COPTIC);
aliases.put("CPRT", CYPRIOT);
aliases.put("CYRL", CYRILLIC);
aliases.put("DEVA", DEVANAGARI);
aliases.put("DIAK", DIVES_AKURU);
aliases.put("DOGR", DOGRA);
aliases.put("DSRT", DESERET);
aliases.put("DUPL", DUPLOYAN);
@ -8152,6 +8324,7 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
aliases.put("KHAR", KHAROSHTHI);
aliases.put("KHMR", KHMER);
aliases.put("KHOJ", KHOJKI);
aliases.put("KITS", KHITAN_SMALL_SCRIPT);
aliases.put("KNDA", KANNADA);
aliases.put("KTHI", KAITHI);
aliases.put("LANA", TAI_THAM);
@ -8241,6 +8414,7 @@ class Character implements java.io.Serializable, Comparable<Character>, Constabl
aliases.put("XPEO", OLD_PERSIAN);
aliases.put("XSUX", CUNEIFORM);
aliases.put("YIII", YI);
aliases.put("YEZI", YEZIDI);
aliases.put("ZANB", ZANABAZAR_SQUARE);
aliases.put("ZINH", INHERITED);
aliases.put("ZYYY", COMMON);

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2006, 2018, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2006, 2020, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -87,6 +87,8 @@ abstract class CharacterData {
return CharacterData01.instance;
case(2):
return CharacterData02.instance;
case(3):
return CharacterData03.instance;
case(14):
return CharacterData0E.instance;
case(15): // Private Use

View file

@ -266,6 +266,8 @@ final class Grapheme {
case 0x0D4E:
case 0x111C2:
case 0x111C3:
case 0x1193F:
case 0x11941:
case 0x11A3A:
case 0x11A84:
case 0x11A85:

View file

@ -372,21 +372,30 @@ public final class UCharacterProperty
* Properties in vector word 0
* Bits
* 31..24 DerivedAge version major/minor one nibble each
* 23..22 3..1: Bits 7..0 = Script_Extensions index
* 23..22 3..1: Bits 21..20 & 7..0 = Script_Extensions index
* 3: Script value from Script_Extensions
* 2: Script=Inherited
* 1: Script=Common
* 0: Script=bits 7..0
* 21..20 reserved
* 0: Script=bits 21..20 & 7..0
* 21..20 Bits 9..8 of the UScriptCode, or index to Script_Extensions
* 19..17 East Asian Width
* 16.. 8 UBlockCode
* 7.. 0 UScriptCode
* 7.. 0 UScriptCode, or index to Script_Extensions
*/
/**
* Script_Extensions: mask includes Script
*/
public static final int SCRIPT_X_MASK = 0x00c000ff;
public static final int SCRIPT_X_MASK = 0x00f000ff;
//private static final int SCRIPT_X_SHIFT = 22;
// The UScriptCode or Script_Extensions index is split across two bit fields.
// (Starting with Unicode 13/ICU 66/2019 due to more varied Script_Extensions.)
// Shift the high bits right by 12 to assemble the full value.
public static final int SCRIPT_HIGH_MASK = 0x00300000;
public static final int SCRIPT_HIGH_SHIFT = 12;
public static final int MAX_SCRIPT = 0x3ff;
/**
* Integer properties mask and shift values for East Asian cell width.
* Equivalent to icu4c UPROPS_EA_MASK
@ -409,9 +418,15 @@ public final class UCharacterProperty
private static final int BLOCK_SHIFT_ = 8;
/**
* Integer properties mask and shift values for scripts.
* Equivalent to icu4c UPROPS_SHIFT_MASK
* Equivalent to icu4c UPROPS_SHIFT_LOW_MASK.
*/
public static final int SCRIPT_MASK_ = 0x000000ff;
public static final int SCRIPT_LOW_MASK = 0x000000ff;
public static final int mergeScriptCodeOrIndex(int scriptX) {
return
((scriptX & SCRIPT_HIGH_MASK) >> SCRIPT_HIGH_SHIFT) |
(scriptX & SCRIPT_LOW_MASK);
}
/**
* Additional properties used in internal trie data

View file

@ -36,8 +36,7 @@ import java.util.NoSuchElementException;
* Abstract map from Unicode code points (U+0000..U+10FFFF) to integer values.
* This does not implement java.util.Map.
*
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public abstract class CodePointMap implements Iterable<CodePointMap.Range> {
/**
@ -45,16 +44,14 @@ public abstract class CodePointMap implements Iterable<CodePointMap.Range> {
* Most users should use NORMAL.
*
* @see #getRange
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public enum RangeOption {
/**
* getRange() enumerates all same-value ranges as stored in the map.
* Most users should use this option.
*
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
NORMAL,
/**
@ -71,8 +68,7 @@ public abstract class CodePointMap implements Iterable<CodePointMap.Range> {
* or for special error behavior for unpaired surrogates,
* but those values are not to be associated with the lead surrogate code *points*.
*
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
FIXED_LEAD_SURROGATES,
/**
@ -89,8 +85,7 @@ public abstract class CodePointMap implements Iterable<CodePointMap.Range> {
* or for special error behavior for unpaired surrogates,
* but those values are not to be associated with the lead surrogate code *points*.
*
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
FIXED_ALL_SURROGATES
}
@ -106,8 +101,7 @@ public abstract class CodePointMap implements Iterable<CodePointMap.Range> {
*
* @see #getRange
* @see #iterator
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public interface ValueFilter {
/**
@ -115,8 +109,7 @@ public abstract class CodePointMap implements Iterable<CodePointMap.Range> {
*
* @param value map value
* @return modified value
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public int apply(int value);
}
@ -129,8 +122,7 @@ public abstract class CodePointMap implements Iterable<CodePointMap.Range> {
*
* @see #getRange
* @see #iterator
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public static final class Range {
private int start;
@ -140,8 +132,7 @@ public abstract class CodePointMap implements Iterable<CodePointMap.Range> {
/**
* Constructor. Sets start and end to -1 and value to 0.
*
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public Range() {
start = end = -1;
@ -150,20 +141,17 @@ public abstract class CodePointMap implements Iterable<CodePointMap.Range> {
/**
* @return the start code point
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public int getStart() { return start; }
/**
* @return the (inclusive) end code point
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public int getEnd() { return end; }
/**
* @return the range value
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public int getValue() { return value; }
/**
@ -173,8 +161,7 @@ public abstract class CodePointMap implements Iterable<CodePointMap.Range> {
* @param start new start code point
* @param end new end code point
* @param value new value
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public void set(int start, int end, int value) {
this.start = start;
@ -223,8 +210,7 @@ public abstract class CodePointMap implements Iterable<CodePointMap.Range> {
*
* <p>This class is not intended for public subclassing.
*
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public class StringIterator {
/**
@ -269,8 +255,7 @@ public abstract class CodePointMap implements Iterable<CodePointMap.Range> {
*
* @param s string to iterate over
* @param sIndex string index where the iteration will start
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public void reset(CharSequence s, int sIndex) {
this.s = s;
@ -286,8 +271,7 @@ public abstract class CodePointMap implements Iterable<CodePointMap.Range> {
*
* @return true if the string index was not yet at the end of the string;
* otherwise the iterator did not advance
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public boolean next() {
if (sIndex >= s.length()) {
@ -306,8 +290,7 @@ public abstract class CodePointMap implements Iterable<CodePointMap.Range> {
*
* @return true if the string index was not yet at the start of the string;
* otherwise the iterator did not advance
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public boolean previous() {
if (sIndex <= 0) {
@ -320,22 +303,19 @@ public abstract class CodePointMap implements Iterable<CodePointMap.Range> {
}
/**
* @return the string index
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public final int getIndex() { return sIndex; }
/**
* @return the code point
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public final int getCodePoint() { return c; }
/**
* @return the map value,
* or an implementation-defined error value if
* the code point is an unpaired surrogate
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public final int getValue() { return value; }
}
@ -343,8 +323,7 @@ public abstract class CodePointMap implements Iterable<CodePointMap.Range> {
/**
* Protected no-args constructor.
*
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
protected CodePointMap() {
}
@ -357,8 +336,7 @@ public abstract class CodePointMap implements Iterable<CodePointMap.Range> {
* @return the map value,
* or an implementation-defined error value if
* the code point is not in the range 0..U+10FFFF
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public abstract int get(int c);
@ -395,8 +373,7 @@ public abstract class CodePointMap implements Iterable<CodePointMap.Range> {
* or null if the values from the map are to be used unmodified
* @param range the range object that will be set to the code point range and value
* @return true if start is 0..U+10FFFF; otherwise no new range is fetched
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public abstract boolean getRange(int start, ValueFilter filter, Range range);
@ -419,8 +396,7 @@ public abstract class CodePointMap implements Iterable<CodePointMap.Range> {
* or null if the values from the map are to be used unmodified
* @param range the range object that will be set to the code point range and value
* @return true if start is 0..U+10FFFF; otherwise no new range is fetched
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public boolean getRange(int start, RangeOption option, int surrogateValue,
ValueFilter filter, Range range) {
@ -477,8 +453,7 @@ public abstract class CodePointMap implements Iterable<CodePointMap.Range> {
* <p>The iterator always returns the same Range object.
*
* @return a Range iterator
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
@Override
public Iterator<Range> iterator() {
@ -492,8 +467,7 @@ public abstract class CodePointMap implements Iterable<CodePointMap.Range> {
* @param s string to iterate over
* @param sIndex string index where the iteration will start
* @return the iterator
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public StringIterator stringIterator(CharSequence s, int sIndex) {
return new StringIterator(s, sIndex);

View file

@ -48,8 +48,7 @@ import static jdk.internal.icu.impl.NormalizerImpl.UTF16Plus;
* <p>This class is not intended for public subclassing.
*
* @see MutableCodePointTrie
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
@SuppressWarnings("deprecation")
public abstract class CodePointTrie extends CodePointMap {
@ -63,8 +62,7 @@ public abstract class CodePointTrie extends CodePointMap {
* @see MutableCodePointTrie#buildImmutable(CodePointTrie.Type, CodePointTrie.ValueWidth)
* @see #fromBinary
* @see #getType
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public enum Type {
/**
@ -72,16 +70,14 @@ public abstract class CodePointTrie extends CodePointMap {
* The {@link Fast} subclasses have additional functions for lookup for BMP and supplementary code points.
*
* @see Fast
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
FAST,
/**
* Small/slower BMP data structure.
*
* @see Small
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
SMALL
}
@ -92,31 +88,27 @@ public abstract class CodePointTrie extends CodePointMap {
* <p>Use null for {@link #fromBinary} to accept any data value width;
* {@link #getValueWidth} will return the actual data value width.
*
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public enum ValueWidth {
/**
* The trie stores 16 bits per data value.
* It returns them as unsigned values 0..0xffff=65535.
*
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
BITS_16,
/**
* The trie stores 32 bits per data value.
*
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
BITS_32,
/**
* The trie stores 8 bits per data value.
* It returns them as unsigned values 0..0xff=255.
*
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
BITS_8
}
@ -162,8 +154,7 @@ public abstract class CodePointTrie extends CodePointMap {
* @see MutableCodePointTrie#MutableCodePointTrie(int, int)
* @see MutableCodePointTrie#buildImmutable(CodePointTrie.Type, CodePointTrie.ValueWidth)
* @see #toBinary(OutputStream)
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public static CodePointTrie fromBinary(Type type, ValueWidth valueWidth, ByteBuffer bytes) {
ByteOrder outerByteOrder = bytes.order();
@ -306,23 +297,20 @@ public abstract class CodePointTrie extends CodePointMap {
* Returns the trie type.
*
* @return the trie type
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public abstract Type getType();
/**
* Returns the number of bits in a trie data value.
*
* @return the number of bits in a trie data value
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public final ValueWidth getValueWidth() { return data.getValueWidth(); }
/**
* {@inheritDoc}
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
@Override
public int get(int c) {
@ -334,8 +322,7 @@ public abstract class CodePointTrie extends CodePointMap {
*
* @param c the input code point; must be U+0000..U+007F
* @return The ASCII code point's trie value.
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public final int asciiGet(int c) {
return ascii[c];
@ -357,8 +344,7 @@ public abstract class CodePointTrie extends CodePointMap {
/**
* {@inheritDoc}
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
@Override
public final boolean getRange(int start, ValueFilter filter, Range range) {
@ -515,8 +501,7 @@ public abstract class CodePointTrie extends CodePointMap {
*
* @param os the output stream
* @return the number of bytes written
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public final int toBinary(OutputStream os) {
try {
@ -781,8 +766,7 @@ public abstract class CodePointTrie extends CodePointMap {
/**
* A CodePointTrie with {@link Type#FAST}.
*
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public static abstract class Fast extends CodePointTrie {
private Fast(char[] index, Data data, int highStart,
@ -800,8 +784,7 @@ public abstract class CodePointTrie extends CodePointMap {
* use null to accept any data value width
* @param bytes a buffer containing the binary data of a CodePointTrie
* @return the trie
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public static Fast fromBinary(ValueWidth valueWidth, ByteBuffer bytes) {
return (Fast) CodePointTrie.fromBinary(Type.FAST, valueWidth, bytes);
@ -809,8 +792,7 @@ public abstract class CodePointTrie extends CodePointMap {
/**
* @return {@link Type#FAST}
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
@Override
public final Type getType() { return Type.FAST; }
@ -822,8 +804,7 @@ public abstract class CodePointTrie extends CodePointMap {
*
* @param c the input code point, must be U+0000..U+FFFF
* @return The BMP code point's trie value.
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public abstract int bmpGet(int c);
@ -833,8 +814,7 @@ public abstract class CodePointTrie extends CodePointMap {
*
* @param c the input code point, must be U+10000..U+10FFFF
* @return The supplementary code point's trie value.
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public abstract int suppGet(int c);
@ -857,8 +837,7 @@ public abstract class CodePointTrie extends CodePointMap {
/**
* {@inheritDoc}
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
@Override
public final StringIterator stringIterator(CharSequence s, int sIndex) {
@ -925,8 +904,7 @@ public abstract class CodePointTrie extends CodePointMap {
/**
* A CodePointTrie with {@link Type#SMALL}.
*
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public static abstract class Small extends CodePointTrie {
private Small(char[] index, Data data, int highStart,
@ -944,8 +922,7 @@ public abstract class CodePointTrie extends CodePointMap {
* use null to accept any data value width
* @param bytes a buffer containing the binary data of a CodePointTrie
* @return the trie
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public static Small fromBinary(ValueWidth valueWidth, ByteBuffer bytes) {
return (Small) CodePointTrie.fromBinary(Type.SMALL, valueWidth, bytes);
@ -953,8 +930,7 @@ public abstract class CodePointTrie extends CodePointMap {
/**
* @return {@link Type#SMALL}
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
@Override
public final Type getType() { return Type.SMALL; }
@ -978,8 +954,7 @@ public abstract class CodePointTrie extends CodePointMap {
/**
* {@inheritDoc}
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
@Override
public final StringIterator stringIterator(CharSequence s, int sIndex) {
@ -1046,8 +1021,7 @@ public abstract class CodePointTrie extends CodePointMap {
/**
* A CodePointTrie with {@link Type#FAST} and {@link ValueWidth#BITS_16}.
*
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public static final class Fast16 extends Fast {
private final char[] dataArray;
@ -1065,8 +1039,7 @@ public abstract class CodePointTrie extends CodePointMap {
*
* @param bytes a buffer containing the binary data of a CodePointTrie
* @return the trie
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public static Fast16 fromBinary(ByteBuffer bytes) {
return (Fast16) CodePointTrie.fromBinary(Type.FAST, ValueWidth.BITS_16, bytes);
@ -1074,8 +1047,7 @@ public abstract class CodePointTrie extends CodePointMap {
/**
* {@inheritDoc}
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
@Override
public final int get(int c) {
@ -1084,8 +1056,7 @@ public abstract class CodePointTrie extends CodePointMap {
/**
* {@inheritDoc}
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
@Override
public final int bmpGet(int c) {
@ -1095,8 +1066,7 @@ public abstract class CodePointTrie extends CodePointMap {
/**
* {@inheritDoc}
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
@Override
public final int suppGet(int c) {
@ -1108,8 +1078,7 @@ public abstract class CodePointTrie extends CodePointMap {
/**
* A CodePointTrie with {@link Type#FAST} and {@link ValueWidth#BITS_32}.
*
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public static final class Fast32 extends Fast {
private final int[] dataArray;
@ -1127,8 +1096,7 @@ public abstract class CodePointTrie extends CodePointMap {
*
* @param bytes a buffer containing the binary data of a CodePointTrie
* @return the trie
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public static Fast32 fromBinary(ByteBuffer bytes) {
return (Fast32) CodePointTrie.fromBinary(Type.FAST, ValueWidth.BITS_32, bytes);
@ -1136,8 +1104,7 @@ public abstract class CodePointTrie extends CodePointMap {
/**
* {@inheritDoc}
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
@Override
public final int get(int c) {
@ -1146,8 +1113,7 @@ public abstract class CodePointTrie extends CodePointMap {
/**
* {@inheritDoc}
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
@Override
public final int bmpGet(int c) {
@ -1157,8 +1123,7 @@ public abstract class CodePointTrie extends CodePointMap {
/**
* {@inheritDoc}
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
@Override
public final int suppGet(int c) {
@ -1170,8 +1135,7 @@ public abstract class CodePointTrie extends CodePointMap {
/**
* A CodePointTrie with {@link Type#FAST} and {@link ValueWidth#BITS_8}.
*
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public static final class Fast8 extends Fast {
private final byte[] dataArray;
@ -1189,8 +1153,7 @@ public abstract class CodePointTrie extends CodePointMap {
*
* @param bytes a buffer containing the binary data of a CodePointTrie
* @return the trie
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public static Fast8 fromBinary(ByteBuffer bytes) {
return (Fast8) CodePointTrie.fromBinary(Type.FAST, ValueWidth.BITS_8, bytes);
@ -1198,8 +1161,7 @@ public abstract class CodePointTrie extends CodePointMap {
/**
* {@inheritDoc}
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
@Override
public final int get(int c) {
@ -1208,8 +1170,7 @@ public abstract class CodePointTrie extends CodePointMap {
/**
* {@inheritDoc}
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
@Override
public final int bmpGet(int c) {
@ -1219,8 +1180,7 @@ public abstract class CodePointTrie extends CodePointMap {
/**
* {@inheritDoc}
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
@Override
public final int suppGet(int c) {
@ -1232,8 +1192,7 @@ public abstract class CodePointTrie extends CodePointMap {
/**
* A CodePointTrie with {@link Type#SMALL} and {@link ValueWidth#BITS_16}.
*
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public static final class Small16 extends Small {
Small16(char[] index, char[] data16, int highStart,
@ -1248,8 +1207,7 @@ public abstract class CodePointTrie extends CodePointMap {
*
* @param bytes a buffer containing the binary data of a CodePointTrie
* @return the trie
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public static Small16 fromBinary(ByteBuffer bytes) {
return (Small16) CodePointTrie.fromBinary(Type.SMALL, ValueWidth.BITS_16, bytes);
@ -1259,8 +1217,7 @@ public abstract class CodePointTrie extends CodePointMap {
/**
* A CodePointTrie with {@link Type#SMALL} and {@link ValueWidth#BITS_32}.
*
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public static final class Small32 extends Small {
Small32(char[] index, int[] data32, int highStart,
@ -1275,8 +1232,7 @@ public abstract class CodePointTrie extends CodePointMap {
*
* @param bytes a buffer containing the binary data of a CodePointTrie
* @return the trie
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public static Small32 fromBinary(ByteBuffer bytes) {
return (Small32) CodePointTrie.fromBinary(Type.SMALL, ValueWidth.BITS_32, bytes);
@ -1286,8 +1242,7 @@ public abstract class CodePointTrie extends CodePointMap {
/**
* A CodePointTrie with {@link Type#SMALL} and {@link ValueWidth#BITS_8}.
*
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public static final class Small8 extends Small {
Small8(char[] index, byte[] data8, int highStart,
@ -1302,8 +1257,7 @@ public abstract class CodePointTrie extends CodePointMap {
*
* @param bytes a buffer containing the binary data of a CodePointTrie
* @return the trie
* @draft ICU 63
* @provisional This API might change or be removed in a future release.
* @stable ICU 63
*/
public static Small8 fromBinary(ByteBuffer bytes) {
return (Small8) CodePointTrie.fromBinary(Type.SMALL, ValueWidth.BITS_8, bytes);

View file

@ -54,7 +54,7 @@ public final class VersionInfo
* @deprecated This API is ICU internal only.
*/
@Deprecated
public static final String ICU_DATA_VERSION_PATH = "64b";
public static final String ICU_DATA_VERSION_PATH = "67b";
// public methods ------------------------------------------------------

View file

@ -1,11 +1,11 @@
## International Components for Unicode (ICU4J) v64.2
## International Components for Unicode (ICU4J) v67.1
### ICU4J License
```
COPYRIGHT AND PERMISSION NOTICE (ICU 58 and later)
Copyright © 1991-2019 Unicode, Inc. All rights reserved.
Copyright © 1991-2020 Unicode, Inc. All rights reserved.
Distributed under the Terms of Use in https://www.unicode.org/copyright.html.
Permission is hereby granted, free of charge, to any person obtaining
@ -80,314 +80,61 @@ of the copyright holder.
All trademarks and registered trademarks mentioned herein are the
property of their respective owners.
2. Chinese/Japanese Word Break Dictionary Data (cjdict.txt)
# The Google Chrome software developed by Google is licensed under
# the BSD license. Other software included in this distribution is
# provided under other licenses, as set forth below.
#
# The BSD License
# http://opensource.org/licenses/bsd-license.php
# Copyright (C) 2006-2008, Google Inc.
#
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
# Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided with
# the distribution.
# Neither the name of Google Inc. nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
#
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
#
# The word list in cjdict.txt are generated by combining three word lists
# listed below with further processing for compound word breaking. The
# frequency is generated with an iterative training against Google web
# corpora.
#
# * Libtabe (Chinese)
# - https://sourceforge.net/project/?group_id=1519
# - Its license terms and conditions are shown below.
#
# * IPADIC (Japanese)
# - http://chasen.aist-nara.ac.jp/chasen/distribution.html
# - Its license terms and conditions are shown below.
#
# ---------COPYING.libtabe ---- BEGIN--------------------
#
# /*
# * Copyright (c) 1999 TaBE Project.
# * Copyright (c) 1999 Pai-Hsiang Hsiao.
# * All rights reserved.
# *
# * Redistribution and use in source and binary forms, with or without
# * modification, are permitted provided that the following conditions
# * are met:
# *
# * . Redistributions of source code must retain the above copyright
# * notice, this list of conditions and the following disclaimer.
# * . Redistributions in binary form must reproduce the above copyright
# * notice, this list of conditions and the following disclaimer in
# * the documentation and/or other materials provided with the
# * distribution.
# * . Neither the name of the TaBE Project nor the names of its
# * contributors may be used to endorse or promote products derived
# * from this software without specific prior written permission.
# *
# * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
# * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
# * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
# * OF THE POSSIBILITY OF SUCH DAMAGE.
# */
#
# /*
# * Copyright (c) 1999 Computer Systems and Communication Lab,
# * Institute of Information Science, Academia
# * Sinica. All rights reserved.
# *
# * Redistribution and use in source and binary forms, with or without
# * modification, are permitted provided that the following conditions
# * are met:
# *
# * . Redistributions of source code must retain the above copyright
# * notice, this list of conditions and the following disclaimer.
# * . Redistributions in binary form must reproduce the above copyright
# * notice, this list of conditions and the following disclaimer in
# * the documentation and/or other materials provided with the
# * distribution.
# * . Neither the name of the Computer Systems and Communication Lab
# * nor the names of its contributors may be used to endorse or
# * promote products derived from this software without specific
# * prior written permission.
# *
# * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
# * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
# * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
# * OF THE POSSIBILITY OF SUCH DAMAGE.
# */
#
# Copyright 1996 Chih-Hao Tsai @ Beckman Institute,
# University of Illinois
# c-tsai4@uiuc.edu http://casper.beckman.uiuc.edu/~c-tsai4
#
# ---------------COPYING.libtabe-----END--------------------------------
#
#
# ---------------COPYING.ipadic-----BEGIN-------------------------------
#
# Copyright 2000, 2001, 2002, 2003 Nara Institute of Science
# and Technology. All Rights Reserved.
#
# Use, reproduction, and distribution of this software is permitted.
# Any copy of this software, whether in its original form or modified,
# must include both the above copyright notice and the following
# paragraphs.
#
# Nara Institute of Science and Technology (NAIST),
# the copyright holders, disclaims all warranties with regard to this
# software, including all implied warranties of merchantability and
# fitness, in no event shall NAIST be liable for
# any special, indirect or consequential damages or any damages
# whatsoever resulting from loss of use, data or profits, whether in an
# action of contract, negligence or other tortuous action, arising out
# of or in connection with the use or performance of this software.
#
# A large portion of the dictionary entries
# originate from ICOT Free Software. The following conditions for ICOT
# Free Software applies to the current dictionary as well.
#
# Each User may also freely distribute the Program, whether in its
# original form or modified, to any third party or parties, PROVIDED
# that the provisions of Section 3 ("NO WARRANTY") will ALWAYS appear
# on, or be attached to, the Program, which is distributed substantially
# in the same form as set out herein and that such intended
# distribution, if actually made, will neither violate or otherwise
# contravene any of the laws and regulations of the countries having
# jurisdiction over the User or the intended distribution itself.
#
# NO WARRANTY
#
# The program was produced on an experimental basis in the course of the
# research and development conducted during the project and is provided
# to users as so produced on an experimental basis. Accordingly, the
# program is provided without any warranty whatsoever, whether express,
# implied, statutory or otherwise. The term "warranty" used herein
# includes, but is not limited to, any warranty of the quality,
# performance, merchantability and fitness for a particular purpose of
# the program and the nonexistence of any infringement or violation of
# any right of any third party.
#
# Each user of the program will agree and understand, and be deemed to
# have agreed and understood, that there is no warranty whatsoever for
# the program and, accordingly, the entire risk arising from or
# otherwise connected with the program is assumed by the user.
#
# Therefore, neither ICOT, the copyright holder, or any other
# organization that participated in or was otherwise related to the
# development of the program and their respective officials, directors,
# officers and other employees shall be held liable for any and all
# damages, including, without limitation, general, special, incidental
# and consequential damages, arising out of or otherwise in connection
# with the use or inability to use the program or any product, material
# or result produced or otherwise obtained by using the program,
# regardless of whether they have been advised of, or otherwise had
# knowledge of, the possibility of such damages at any time during the
# project or thereafter. Each user will be deemed to have agreed to the
# foregoing by his or her commencement of use of the program. The term
# "use" as used herein includes, but is not limited to, the use,
# modification, copying and distribution of the program and the
# production of secondary products from the program.
#
# In the case where the program, whether in its original form or
# modified, was distributed or delivered to or received by a user from
# any person, organization or entity other than ICOT, unless it makes or
# grants independently of ICOT any specific warranty to the user in
# writing, such person, organization or entity, will also be exempted
# from and not be held liable to the user for any such damages as noted
# above as far as the program is concerned.
#
# ---------------COPYING.ipadic-----END----------------------------------
——————————————————————————————————————————————————————————————————————
3. Lao Word Break Dictionary Data (laodict.txt)
# Copyright (c) 2013 International Business Machines Corporation
# and others. All Rights Reserved.
#
# Project: http://code.google.com/p/lao-dictionary/
# Dictionary: http://lao-dictionary.googlecode.com/git/Lao-Dictionary.txt
# License: http://lao-dictionary.googlecode.com/git/Lao-Dictionary-LICENSE.txt
# (copied below)
#
# This file is derived from the above dictionary, with slight
# modifications.
# ----------------------------------------------------------------------
# Copyright (C) 2013 Brian Eugene Wilson, Robert Martin Campbell.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification,
# are permitted provided that the following conditions are met:
#
#
# Redistributions of source code must retain the above copyright notice, this
# list of conditions and the following disclaimer. Redistributions in
# binary form must reproduce the above copyright notice, this list of
# conditions and the following disclaimer in the documentation and/or
# other materials provided with the distribution.
#
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
# OF THE POSSIBILITY OF SUCH DAMAGE.
# --------------------------------------------------------------------------
From: https://www.unicode.org/copyright.html:
4. Burmese Word Break Dictionary Data (burmesedict.txt)
Unicode® Copyright and Terms of Use
# Copyright (c) 2014 International Business Machines Corporation
# and others. All Rights Reserved.
#
# This list is part of a project hosted at:
# github.com/kanyawtech/myanmar-karen-word-lists
#
# --------------------------------------------------------------------------
# Copyright (c) 2013, LeRoy Benjamin Sharon
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met: Redistributions of source code must retain the above
# copyright notice, this list of conditions and the following
# disclaimer. Redistributions in binary form must reproduce the
# above copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided
# with the distribution.
#
# Neither the name Myanmar Karen Word Lists, nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
# TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
# TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
# --------------------------------------------------------------------------
For the general privacy policy governing access to this site, see the Unicode Privacy Policy.
5. Time Zone Database
Unicode Copyright
Copyright © 1991-2020 Unicode, Inc. All rights reserved.
Definitions
ICU uses the public domain data and code derived from Time Zone
Database for its time zone support. The ownership of the TZ database
is explained in BCP 175: Procedure for Maintaining the Time Zone
Database section 7.
Unicode Data Files ("DATA FILES") include all data files under the directories:
https://www.unicode.org/Public/
https://www.unicode.org/reports/
https://www.unicode.org/ivd/data/
# 7. Database Ownership
#
# The TZ database itself is not an IETF Contribution or an IETF
# document. Rather it is a pre-existing and regularly updated work
# that is in the public domain, and is intended to remain in the
# public domain. Therefore, BCPs 78 [RFC5378] and 79 [RFC3979] do
# not apply to the TZ Database or contributions that individuals make
# to it. Should any claims be made and substantiated against the TZ
# Database, the organization that is providing the IANA
# Considerations defined in this RFC, under the memorandum of
# understanding with the IETF, currently ICANN, may act in accordance
# with all competent court orders. No ownership claims will be made
# by ICANN or the IETF Trust on the database or the code. Any person
# making a contribution to the database or code waives all rights to
# future claims in that contribution or in the TZ Database.
Unicode Data Files do not include PDF online code charts under the directory:
https://www.unicode.org/Public/
Unicode Software ("SOFTWARE") includes any source code published in the Unicode Standard
or any source code or compiled code under the directories:
https://www.unicode.org/Public/PROGRAMS/
https://www.unicode.org/Public/cldr/
http://site.icu-project.org/download/
Terms of Use
Certain documents and files on this website contain a legend indicating that "Modification is permitted." Any person is hereby authorized, without fee, to modify such documents and files to create derivative works conforming to the Unicode® Standard, subject to Terms and Conditions herein.
Any person is hereby authorized, without fee, to view, use, reproduce, and distribute all documents and files, subject to the Terms and Conditions herein.
Further specifications of rights and restrictions pertaining to the use of the Unicode DATA FILES and SOFTWARE can be found in the Unicode Data Files and Software License.
Each version of the Unicode Standard has further specifications of rights and restrictions of use. For the book editions (Unicode 5.0 and earlier), these are found on the back of the title page.
The Unicode PDF online code charts carry specific restrictions. Those restrictions are incorporated as the first page of each PDF code chart.
All other files, including online documentation of the core specification for Unicode 6.0 and later, are covered under these general Terms of Use.
No license is granted to "mirror" the Unicode website where a fee is charged for access to the "mirror" site.
Modification is not permitted with respect to this document. All copies of this document must be verbatim.
Restricted Rights Legend
Any technical data or software which is licensed to the United States of America, its agencies and/or instrumentalities under this Agreement is commercial technical data or commercial computer software developed exclusively at private expense as defined in FAR 2.101, or DFARS 252.227-7014 (June 1995), as applicable. For technical data, use, duplication, or disclosure by the Government is subject to restrictions as set forth in DFARS 202.227-7015 Technical Data, Commercial and Items (Nov 1995) and this Agreement. For Software, in accordance with FAR 12-212 or DFARS 227-7202, as applicable, use, duplication or disclosure by the Government is subject to the restrictions set forth in this Agreement.
Warranties and Disclaimers
This publication and/or website may include technical or typographical errors or other inaccuracies. Changes are periodically added to the information herein; these changes will be incorporated in new editions of the publication and/or website. Unicode, Inc. may make improvements and/or changes in the product(s) and/or program(s) described in this publication and/or website at any time.
If this file has been purchased on magnetic or optical media from Unicode, Inc. the sole and exclusive remedy for any claim will be exchange of the defective media within ninety (90) days of original purchase.
EXCEPT AS PROVIDED IN SECTION E.2, THIS PUBLICATION AND/OR SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND EITHER EXPRESS, IMPLIED, OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. UNICODE, INC. AND ITS LICENSORS ASSUME NO RESPONSIBILITY FOR ERRORS OR OMISSIONS IN THIS PUBLICATION AND/OR SOFTWARE OR OTHER DOCUMENTS WHICH ARE REFERENCED BY OR LINKED TO THIS PUBLICATION OR THE UNICODE WEBSITE.
Waiver of Damages
In no event shall Unicode, Inc. or its licensors be liable for any special, incidental, indirect or consequential damages of any kind, or any damages whatsoever, whether or not Unicode, Inc. was advised of the possibility of the damage, including, without limitation, those resulting from the following: loss of use, data or profits, in connection with the use, modification or distribution of this information or its derivatives.
Trademarks & Logos
The Unicode Word Mark and the Unicode Logo are trademarks of Unicode, Inc. “The Unicode Consortium” and “Unicode, Inc.” are trade names of Unicode, Inc. Use of the information and materials found on this website indicates your acknowledgement of Unicode, Inc.s exclusive worldwide rights in the Unicode Word Mark, the Unicode Logo, and the Unicode trade names.
The Unicode Consortium Name and Trademark Usage Policy (“Trademark Policy”) are incorporated herein by reference and you agree to abide by the provisions of the Trademark Policy, which may be changed from time to time in the sole discretion of Unicode, Inc.
All third party trademarks referenced herein are the property of their respective owners.
Miscellaneous
Jurisdiction and Venue. This website is operated from a location in the State of California, United States of America. Unicode, Inc. makes no representation that the materials are appropriate for use in other locations. If you access this website from other locations, you are responsible for compliance with local laws. This Agreement, all use of this website and any claims and damages resulting from use of this website are governed solely by the laws of the State of California without regard to any principles which would apply the laws of a different jurisdiction. The user agrees that any disputes regarding this website shall be resolved solely in the courts located in Santa Clara County, California. The user agrees said courts have personal jurisdiction and agree to waive any right to transfer the dispute to any other forum.
Modification by Unicode, Inc. Unicode, Inc. shall have the right to modify this Agreement at any time by posting it to this website. The user may not assign any part of this Agreement without Unicode, Inc.s prior written consent.
Taxes. The user agrees to pay any taxes arising from access to this website or use of the information herein, except for those based on Unicodes net income.
Severability. If any provision of this Agreement is declared invalid or unenforceable, the remaining provisions of this Agreement shall remain in effect.
Entire Agreement. This Agreement constitutes the entire agreement between the parties.
```

View file

@ -1,4 +1,4 @@
## The Unicode Standard, Unicode Character Database, Version 12.1.0
## The Unicode Standard, Unicode Character Database, Version 13.0.0
### Unicode Character Database
```
@ -18,7 +18,7 @@ THE DATA FILES OR SOFTWARE.
COPYRIGHT AND PERMISSION NOTICE
Copyright © 1991-2019 Unicode, Inc. All rights reserved.
Copyright © 1991-2020 Unicode, Inc. All rights reserved.
Distributed under the Terms of Use in https://www.unicode.org/copyright.html.
Permission is hereby granted, free of charge, to any person obtaining