[Git][java-team/jcodings][master] 13 commits: ignore cseu for now
Hideki Yamane
gitlab at salsa.debian.org
Sun Apr 19 10:07:02 BST 2020
Hideki Yamane pushed to branch master at Debian Java Maintainers / jcodings
Commits:
ad3bdf0d by Marcin Mielzynski at 2020-04-03T22:24:29+02:00
ignore cseu for now
- - - - -
09a2adff by kiichi at 2020-04-04T14:08:14+09:00
fix caseMap for Georgian
- - - - -
2738d26e by Marcin Mielżyński at 2020-04-04T18:02:46+02:00
Merge pull request #31 from k77ch7/fix-georgian-casemap
fix caseMap for Georgian
- - - - -
a6caf813 by Marcin Mielzynski at 2020-04-04T18:10:31+02:00
sync code for #31
- - - - -
3fe911a2 by Marcin Mielzynski at 2020-04-04T18:15:26+02:00
sync encoding list
- - - - -
d730127d by Marcin Mielzynski at 2020-04-04T20:15:57+02:00
move unicode code ranges to enum
- - - - -
c9b6947d by Marcin Mielzynski at 2020-04-04T21:55:28+02:00
add getCType to code range
- - - - -
aeb17fea by Marcin Mielzynski at 2020-04-04T22:00:45+02:00
[maven-release-plugin] prepare release jcodings-1.0.47
- - - - -
6297ad32 by Marcin Mielzynski at 2020-04-04T22:00:53+02:00
[maven-release-plugin] prepare for next development iteration
- - - - -
90a2d0c3 by Marcin Mielzynski at 2020-04-06T22:59:01+02:00
case fold for sjis
- - - - -
3502e9d6 by Marcin Mielzynski at 2020-04-07T22:33:54+02:00
euc-jp case fold
- - - - -
06d519ea by Charles Oliver Nutter at 2020-04-07T15:44:53-05:00
[maven-release-plugin] prepare release jcodings-1.0.48
- - - - -
b95214c8 by Charles Oliver Nutter at 2020-04-07T15:45:03-05:00
[maven-release-plugin] prepare for next development iteration
- - - - -
11 changed files:
- pom.xml
- scripts/UnicodePropertiesTemplate.java → scripts/UnicodeCodeRangeTemplate.java
- scripts/generate.rb
- src/org/jcodings/EncodingList.java
- src/org/jcodings/MultiByteEncoding.java
- src/org/jcodings/specific/BaseEUCJPEncoding.java
- src/org/jcodings/specific/BaseSJISEncoding.java
- + src/org/jcodings/unicode/UnicodeCodeRange.java
- src/org/jcodings/unicode/UnicodeEncoding.java
- − src/org/jcodings/unicode/UnicodeProperties.java
- test/org/jcodings/specific/TestCaseMap.java
Changes:
=====================================
pom.xml
=====================================
@@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.jruby.jcodings</groupId>
<artifactId>jcodings</artifactId>
- <version>1.0.47-SNAPSHOT</version>
+ <version>1.0.49-SNAPSHOT</version>
<name>JCodings</name>
<description>Byte based encoding support library for java</description>
<parent>
=====================================
scripts/UnicodePropertiesTemplate.java → scripts/UnicodeCodeRangeTemplate.java
=====================================
@@ -19,12 +19,34 @@
*/
package org.jcodings.unicode;
-import org.jcodings.unicode.UnicodeEncoding.CodeRangeEntry;
+import org.jcodings.util.ArrayReader;
+import org.jcodings.CodeRange;
-public class UnicodeProperties {
- static final CodeRangeEntry[]CodeRangeTable = new CodeRangeEntry[] {
-%{extcrs}
- };
+public enum UnicodeCodeRange {
+%{extcrs};
+ private final String table;
+ final byte[]name;
+ private int[]range;
+
+ private UnicodeCodeRange(String name, String table) {
+ this.table = table;
+ this.name = name.getBytes();
+ }
+
+ int[]getRange() {
+ if (range == null) range = ArrayReader.readIntArray(table);
+ return range;
+ }
+
+ public boolean contains(int code) {
+ return CodeRange.isInCodeRange(range, code);
+ }
+
+ public int getCType() {
+ return ordinal();
+ }
+
+ static final UnicodeCodeRange[]CodeRangeTable = UnicodeCodeRange.values();
static final int MAX_WORD_LENGTH = %{max_length};
}
=====================================
scripts/generate.rb
=====================================
@@ -78,7 +78,7 @@ def generate_encoding_list
"Windows-1257" => "Windows_1257"
}
- defines, other = open("#{REPO_PATH}/encdb.h").read.tr('()', '').scan(/ENC_([A-Z_]+)(.*?);/m).partition { |a, b| a =~ /DEFINE/ }
+ defines, other = open("#{REPO_PATH}/encdb.h").read.tr('()', '').scan(/ENC_([A-Z_]+)(.*?);/m).reject{|a, b| b =~ /CESU/}.partition { |a, b| a =~ /DEFINE/ }
other << ["ALIAS", "\"MS932\", \"Windows-31J\""]
other << ["ALIAS", "\"UTF8\", \"UTF-8\""]
@@ -93,7 +93,7 @@ def generate_transcoder_list
generic_list = []
transcoder_list = []
- Dir["#{REPO_PATH}/enc/trans/*.c"].reject{|f| f =~ /transdb/}.sort.each do |trans_file|
+ Dir["#{REPO_PATH}/enc/trans/*.c"].reject{|f| f =~ /transdb/ || f =~ /cesu/}.sort.each do |trans_file|
name = trans_file[/(\w+)\.c/, 1].split('_').map{|e| e.capitalize}.join("")
trans_src = open(trans_file){|f|f.read}
@@ -190,8 +190,8 @@ def generate_coderange_list
end.flatten(1)
max_length = out.max_by{|name, table|name.length}.first.length.to_s
- open("#{SRC_DIR}/unicode/UnicodeProperties.java", "wb") do |f| f <<
- open("UnicodePropertiesTemplate.java", "rb").read.sub(/%\{max_length\}/, max_length).sub(/%\{extcrs\}/, out.map{|name, table| "#{INDENT * 2}" + "new CodeRangeEntry(\"#{name}\", \"CR_#{table}\")"}.join(",\n"))
+ open("#{SRC_DIR}/unicode/UnicodeCodeRange.java", "wb") do |f| f <<
+ open("UnicodeCodeRangeTemplate.java", "rb").read.sub(/%\{max_length\}/, max_length).sub(/%\{extcrs\}/, out.map{|name, table| "#{INDENT}" + "#{name.upcase.tr('=.', '_')}(\"#{name}\", \"CR_#{table}\")"}.join(",\n"))
end
end
=====================================
src/org/jcodings/EncodingList.java
=====================================
@@ -33,7 +33,6 @@ final class EncodingList {
EncodingDB.declare("EUC-JP", "EUCJP");
EncodingDB.declare("EUC-KR", "EUCKR");
EncodingDB.declare("EUC-TW", "EUCTW");
- EncodingDB.declare("GB2312", "GB2312");
EncodingDB.declare("GB18030", "GB18030");
EncodingDB.declare("GBK", "GBK");
EncodingDB.declare("ISO-8859-1", "ISO8859_1");
@@ -126,6 +125,7 @@ final class EncodingList {
EncodingDB.alias("EUC-JISX0213", "EUC-JIS-2004" /* defined at JIS X 0213:2000, and obsolete at JIS X 0213:2004 */);
EncodingDB.alias("eucKR", "EUC-KR");
EncodingDB.alias("eucTW", "EUC-TW");
+ EncodingDB.replicate("GB2312", "EUC-KR");
EncodingDB.alias("EUC-CN", "GB2312");
EncodingDB.alias("eucCN", "GB2312");
EncodingDB.replicate("GB12345", "GB2312");
@@ -210,7 +210,6 @@ final class EncodingList {
case "EUCJP": return EUCJPEncoding.INSTANCE;
case "EUCKR": return EUCKREncoding.INSTANCE;
case "EUCTW": return EUCTWEncoding.INSTANCE;
- case "GB2312": return GB2312Encoding.INSTANCE;
case "GB18030": return GB18030Encoding.INSTANCE;
case "GBK": return GBKEncoding.INSTANCE;
case "ISO8859_1": return ISO8859_1Encoding.INSTANCE;
=====================================
src/org/jcodings/MultiByteEncoding.java
=====================================
@@ -219,4 +219,8 @@ public abstract class MultiByteEncoding extends AbstractEncoding {
}
return -1;
}
+
+ public static boolean isInRange(int code, int from, int to) {
+ return code - from <= to - from;
+ }
}
=====================================
src/org/jcodings/specific/BaseEUCJPEncoding.java
=====================================
@@ -62,6 +62,17 @@ abstract class BaseEUCJPEncoding extends EucEncoding {
return p_ - p;
}
+ private static int getLowerCase(int code) {
+ if (isInRange(code, 0xa3c1, 0xa3da)) {
+ return code + 0x0020;
+ } else if (isInRange(code, 0xa6a1, 0xa6b8)) {
+ return code + 0x0020;
+ } else if (isInRange(code, 0xa7a1, 0xa7c1)) {
+ return code + 0x0030;
+ }
+ return code;
+ }
+
@Override
public int mbcCaseFold(int flag, byte[]bytes, IntHolder pp, int end, byte[]lower) {
int p = pp.value;
@@ -72,10 +83,10 @@ abstract class BaseEUCJPEncoding extends EucEncoding {
pp.value++;
return 1;
} else {
- int len = length(bytes, p, end);
- for (int i=0; i<len; i++) {
- lower[lowerP++] = bytes[p++];
- }
+ //int len = length(bytes, p, end);
+ int code = getLowerCase(mbcToCode(bytes, pp.value, end));
+ int len = codeToMbc(code, lower, lowerP);
+ if (len == ErrorCodes.ERR_INVALID_CODE_POINT_VALUE) len = 1;
pp.value += len;
return len; /* return byte length of converted char to lower */
}
=====================================
src/org/jcodings/specific/BaseSJISEncoding.java
=====================================
@@ -72,9 +72,29 @@ abstract class BaseSJISEncoding extends CanBeTrailTableEncoding {
return p_ - p;
}
+ private static int getLowerCase(int code) {
+ if (isInRange(code, 0x8260, 0x8279)) {
+ return code + 0x0021;
+ } else if (isInRange(code, 0x839f, 0x83b6)) {
+ return code + 0x0020;
+ } else if (isInRange(code, 0x8440, 0x8460)) {
+ int d = code >= 0x844f ? 1 : 0;
+ return code + (0x0030 + d);
+ }
+ return code;
+ }
+
@Override
public int mbcCaseFold(int flag, byte[]bytes, IntHolder pp, int end, byte[]lower) {
- return mbnMbcCaseFold(flag, bytes, pp, end, lower);
+ if (isAscii(bytes[pp.value])) {
+ return asciiMbcCaseFold(flag, bytes, pp, end, lower);
+ } else {
+ int lowerP = 0;
+ int code = getLowerCase(mbcToCode(bytes, pp.value, end));
+ int len = codeToMbc(code, lower, lowerP);
+ pp.value += len;
+ return len;
+ }
}
private static final int CR_Hiragana[] = {
=====================================
src/org/jcodings/unicode/UnicodeCodeRange.java
=====================================
@@ -0,0 +1,888 @@
+/*
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of
+ * this software and associated documentation files (the "Software"), to deal in
+ * the Software without restriction, including without limitation the rights to
+ * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is furnished to do
+ * so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+package org.jcodings.unicode;
+
+import org.jcodings.util.ArrayReader;
+import org.jcodings.CodeRange;
+
+public enum UnicodeCodeRange {
+ NEWLINE("newline", "CR_NEWLINE"),
+ ALPHA("alpha", "CR_Alpha"),
+ BLANK("blank", "CR_Blank"),
+ CNTRL("cntrl", "CR_Cntrl"),
+ DIGIT("digit", "CR_Digit"),
+ GRAPH("graph", "CR_Graph"),
+ LOWER("lower", "CR_Lower"),
+ PRINT("print", "CR_Print"),
+ XPOSIXPUNCT("xposixpunct", "CR_XPosixPunct"),
+ SPACE("space", "CR_Space"),
+ UPPER("upper", "CR_Upper"),
+ XDIGIT("xdigit", "CR_XDigit"),
+ WORD("word", "CR_Word"),
+ ALNUM("alnum", "CR_Alnum"),
+ ASCII("ascii", "CR_ASCII"),
+ PUNCT("punct", "CR_Punct"),
+ ANY("any", "CR_Any"),
+ ASSIGNED("assigned", "CR_Assigned"),
+ C("c", "CR_C"),
+ OTHER("other", "CR_C"),
+ CC("cc", "CR_Cntrl"),
+ CONTROL("control", "CR_Cntrl"),
+ CF("cf", "CR_Cf"),
+ FORMAT("format", "CR_Cf"),
+ CN("cn", "CR_Cn"),
+ UNASSIGNED("unassigned", "CR_Cn"),
+ CO("co", "CR_Co"),
+ PRIVATEUSE("privateuse", "CR_Co"),
+ CS("cs", "CR_Cs"),
+ SURROGATE("surrogate", "CR_Cs"),
+ L("l", "CR_L"),
+ LETTER("letter", "CR_L"),
+ LC("lc", "CR_LC"),
+ CASEDLETTER("casedletter", "CR_LC"),
+ LL("ll", "CR_Ll"),
+ LOWERCASELETTER("lowercaseletter", "CR_Ll"),
+ LM("lm", "CR_Lm"),
+ MODIFIERLETTER("modifierletter", "CR_Lm"),
+ LO("lo", "CR_Lo"),
+ OTHERLETTER("otherletter", "CR_Lo"),
+ LT("lt", "CR_Lt"),
+ TITLECASELETTER("titlecaseletter", "CR_Lt"),
+ LU("lu", "CR_Lu"),
+ UPPERCASELETTER("uppercaseletter", "CR_Lu"),
+ M("m", "CR_M"),
+ MARK("mark", "CR_M"),
+ COMBININGMARK("combiningmark", "CR_M"),
+ MC("mc", "CR_Mc"),
+ SPACINGMARK("spacingmark", "CR_Mc"),
+ ME("me", "CR_Me"),
+ ENCLOSINGMARK("enclosingmark", "CR_Me"),
+ MN("mn", "CR_Mn"),
+ NONSPACINGMARK("nonspacingmark", "CR_Mn"),
+ N("n", "CR_N"),
+ NUMBER("number", "CR_N"),
+ ND("nd", "CR_Digit"),
+ DECIMALNUMBER("decimalnumber", "CR_Digit"),
+ NL("nl", "CR_Nl"),
+ LETTERNUMBER("letternumber", "CR_Nl"),
+ NO("no", "CR_No"),
+ OTHERNUMBER("othernumber", "CR_No"),
+ P("p", "CR_Punct"),
+ PUNCTUATION("punctuation", "CR_Punct"),
+ PC("pc", "CR_Pc"),
+ CONNECTORPUNCTUATION("connectorpunctuation", "CR_Pc"),
+ PD("pd", "CR_Pd"),
+ DASHPUNCTUATION("dashpunctuation", "CR_Pd"),
+ PE("pe", "CR_Pe"),
+ CLOSEPUNCTUATION("closepunctuation", "CR_Pe"),
+ PF("pf", "CR_Pf"),
+ FINALPUNCTUATION("finalpunctuation", "CR_Pf"),
+ PI("pi", "CR_Pi"),
+ INITIALPUNCTUATION("initialpunctuation", "CR_Pi"),
+ PO("po", "CR_Po"),
+ OTHERPUNCTUATION("otherpunctuation", "CR_Po"),
+ PS("ps", "CR_Ps"),
+ OPENPUNCTUATION("openpunctuation", "CR_Ps"),
+ S("s", "CR_S"),
+ SYMBOL("symbol", "CR_S"),
+ SC("sc", "CR_Sc"),
+ CURRENCYSYMBOL("currencysymbol", "CR_Sc"),
+ SK("sk", "CR_Sk"),
+ MODIFIERSYMBOL("modifiersymbol", "CR_Sk"),
+ SM("sm", "CR_Sm"),
+ MATHSYMBOL("mathsymbol", "CR_Sm"),
+ SO("so", "CR_So"),
+ OTHERSYMBOL("othersymbol", "CR_So"),
+ Z("z", "CR_Z"),
+ SEPARATOR("separator", "CR_Z"),
+ ZL("zl", "CR_Zl"),
+ LINESEPARATOR("lineseparator", "CR_Zl"),
+ ZP("zp", "CR_Zp"),
+ PARAGRAPHSEPARATOR("paragraphseparator", "CR_Zp"),
+ ZS("zs", "CR_Zs"),
+ SPACESEPARATOR("spaceseparator", "CR_Zs"),
+ MATH("math", "CR_Math"),
+ ALPHABETIC("alphabetic", "CR_Alpha"),
+ LOWERCASE("lowercase", "CR_Lower"),
+ UPPERCASE("uppercase", "CR_Upper"),
+ CASED("cased", "CR_Cased"),
+ CASEIGNORABLE("caseignorable", "CR_Case_Ignorable"),
+ CI("ci", "CR_Case_Ignorable"),
+ CHANGESWHENLOWERCASED("changeswhenlowercased", "CR_Changes_When_Lowercased"),
+ CWL("cwl", "CR_Changes_When_Lowercased"),
+ CHANGESWHENUPPERCASED("changeswhenuppercased", "CR_Changes_When_Uppercased"),
+ CWU("cwu", "CR_Changes_When_Uppercased"),
+ CHANGESWHENTITLECASED("changeswhentitlecased", "CR_Changes_When_Titlecased"),
+ CWT("cwt", "CR_Changes_When_Titlecased"),
+ CHANGESWHENCASEFOLDED("changeswhencasefolded", "CR_Changes_When_Casefolded"),
+ CWCF("cwcf", "CR_Changes_When_Casefolded"),
+ CHANGESWHENCASEMAPPED("changeswhencasemapped", "CR_Changes_When_Casemapped"),
+ CWCM("cwcm", "CR_Changes_When_Casemapped"),
+ IDSTART("idstart", "CR_ID_Start"),
+ IDS("ids", "CR_ID_Start"),
+ IDCONTINUE("idcontinue", "CR_ID_Continue"),
+ IDC("idc", "CR_ID_Continue"),
+ XIDSTART("xidstart", "CR_XID_Start"),
+ XIDS("xids", "CR_XID_Start"),
+ XIDCONTINUE("xidcontinue", "CR_XID_Continue"),
+ XIDC("xidc", "CR_XID_Continue"),
+ DEFAULTIGNORABLECODEPOINT("defaultignorablecodepoint", "CR_Default_Ignorable_Code_Point"),
+ DI("di", "CR_Default_Ignorable_Code_Point"),
+ GRAPHEMEEXTEND("graphemeextend", "CR_Grapheme_Extend"),
+ GREXT("grext", "CR_Grapheme_Extend"),
+ GRAPHEMEBASE("graphemebase", "CR_Grapheme_Base"),
+ GRBASE("grbase", "CR_Grapheme_Base"),
+ GRAPHEMELINK("graphemelink", "CR_Grapheme_Link"),
+ GRLINK("grlink", "CR_Grapheme_Link"),
+ COMMON("common", "CR_Common"),
+ ZYYY("zyyy", "CR_Common"),
+ LATIN("latin", "CR_Latin"),
+ LATN("latn", "CR_Latin"),
+ GREEK("greek", "CR_Greek"),
+ GREK("grek", "CR_Greek"),
+ CYRILLIC("cyrillic", "CR_Cyrillic"),
+ CYRL("cyrl", "CR_Cyrillic"),
+ ARMENIAN("armenian", "CR_Armenian"),
+ ARMN("armn", "CR_Armenian"),
+ HEBREW("hebrew", "CR_Hebrew"),
+ HEBR("hebr", "CR_Hebrew"),
+ ARABIC("arabic", "CR_Arabic"),
+ ARAB("arab", "CR_Arabic"),
+ SYRIAC("syriac", "CR_Syriac"),
+ SYRC("syrc", "CR_Syriac"),
+ THAANA("thaana", "CR_Thaana"),
+ THAA("thaa", "CR_Thaana"),
+ DEVANAGARI("devanagari", "CR_Devanagari"),
+ DEVA("deva", "CR_Devanagari"),
+ BENGALI("bengali", "CR_Bengali"),
+ BENG("beng", "CR_Bengali"),
+ GURMUKHI("gurmukhi", "CR_Gurmukhi"),
+ GURU("guru", "CR_Gurmukhi"),
+ GUJARATI("gujarati", "CR_Gujarati"),
+ GUJR("gujr", "CR_Gujarati"),
+ ORIYA("oriya", "CR_Oriya"),
+ ORYA("orya", "CR_Oriya"),
+ TAMIL("tamil", "CR_Tamil"),
+ TAML("taml", "CR_Tamil"),
+ TELUGU("telugu", "CR_Telugu"),
+ TELU("telu", "CR_Telugu"),
+ KANNADA("kannada", "CR_Kannada"),
+ KNDA("knda", "CR_Kannada"),
+ MALAYALAM("malayalam", "CR_Malayalam"),
+ MLYM("mlym", "CR_Malayalam"),
+ SINHALA("sinhala", "CR_Sinhala"),
+ SINH("sinh", "CR_Sinhala"),
+ THAI("thai", "CR_Thai"),
+ LAO("lao", "CR_Lao"),
+ LAOO("laoo", "CR_Lao"),
+ TIBETAN("tibetan", "CR_Tibetan"),
+ TIBT("tibt", "CR_Tibetan"),
+ MYANMAR("myanmar", "CR_Myanmar"),
+ MYMR("mymr", "CR_Myanmar"),
+ GEORGIAN("georgian", "CR_Georgian"),
+ GEOR("geor", "CR_Georgian"),
+ HANGUL("hangul", "CR_Hangul"),
+ HANG("hang", "CR_Hangul"),
+ ETHIOPIC("ethiopic", "CR_Ethiopic"),
+ ETHI("ethi", "CR_Ethiopic"),
+ CHEROKEE("cherokee", "CR_Cherokee"),
+ CHER("cher", "CR_Cherokee"),
+ CANADIANABORIGINAL("canadianaboriginal", "CR_Canadian_Aboriginal"),
+ CANS("cans", "CR_Canadian_Aboriginal"),
+ OGHAM("ogham", "CR_Ogham"),
+ OGAM("ogam", "CR_Ogham"),
+ RUNIC("runic", "CR_Runic"),
+ RUNR("runr", "CR_Runic"),
+ KHMER("khmer", "CR_Khmer"),
+ KHMR("khmr", "CR_Khmer"),
+ MONGOLIAN("mongolian", "CR_Mongolian"),
+ MONG("mong", "CR_Mongolian"),
+ HIRAGANA("hiragana", "CR_Hiragana"),
+ HIRA("hira", "CR_Hiragana"),
+ KATAKANA("katakana", "CR_Katakana"),
+ KANA("kana", "CR_Katakana"),
+ BOPOMOFO("bopomofo", "CR_Bopomofo"),
+ BOPO("bopo", "CR_Bopomofo"),
+ HAN("han", "CR_Han"),
+ HANI("hani", "CR_Han"),
+ YI("yi", "CR_Yi"),
+ YIII("yiii", "CR_Yi"),
+ OLDITALIC("olditalic", "CR_Old_Italic"),
+ ITAL("ital", "CR_Old_Italic"),
+ GOTHIC("gothic", "CR_Gothic"),
+ GOTH("goth", "CR_Gothic"),
+ INDESERET("indeseret", "CR_Deseret"),
+ INHERITED("inherited", "CR_Inherited"),
+ QAAI("qaai", "CR_Inherited"),
+ ZINH("zinh", "CR_Inherited"),
+ TAGALOG("tagalog", "CR_Tagalog"),
+ TGLG("tglg", "CR_Tagalog"),
+ HANUNOO("hanunoo", "CR_Hanunoo"),
+ HANO("hano", "CR_Hanunoo"),
+ BUHID("buhid", "CR_Buhid"),
+ BUHD("buhd", "CR_Buhid"),
+ TAGBANWA("tagbanwa", "CR_Tagbanwa"),
+ TAGB("tagb", "CR_Tagbanwa"),
+ LIMBU("limbu", "CR_Limbu"),
+ LIMB("limb", "CR_Limbu"),
+ TAILE("taile", "CR_Tai_Le"),
+ TALE("tale", "CR_Tai_Le"),
+ LINEARB("linearb", "CR_Linear_B"),
+ LINB("linb", "CR_Linear_B"),
+ UGARITIC("ugaritic", "CR_Ugaritic"),
+ UGAR("ugar", "CR_Ugaritic"),
+ INSHAVIAN("inshavian", "CR_Shavian"),
+ OSMANYA("osmanya", "CR_Osmanya"),
+ OSMA("osma", "CR_Osmanya"),
+ CYPRIOT("cypriot", "CR_Cypriot"),
+ CPRT("cprt", "CR_Cypriot"),
+ INBRAILLEPATTERNS("inbraillepatterns", "CR_Braille"),
+ BUGINESE("buginese", "CR_Buginese"),
+ BUGI("bugi", "CR_Buginese"),
+ COPTIC("coptic", "CR_Coptic"),
+ QAAC("qaac", "CR_Coptic"),
+ COPT("copt", "CR_Coptic"),
+ NEWTAILUE("newtailue", "CR_New_Tai_Lue"),
+ TALU("talu", "CR_New_Tai_Lue"),
+ GLAGOLITIC("glagolitic", "CR_Glagolitic"),
+ GLAG("glag", "CR_Glagolitic"),
+ TIFINAGH("tifinagh", "CR_Tifinagh"),
+ TFNG("tfng", "CR_Tifinagh"),
+ SYLOTINAGRI("sylotinagri", "CR_Syloti_Nagri"),
+ SYLO("sylo", "CR_Syloti_Nagri"),
+ OLDPERSIAN("oldpersian", "CR_Old_Persian"),
+ XPEO("xpeo", "CR_Old_Persian"),
+ KHAROSHTHI("kharoshthi", "CR_Kharoshthi"),
+ KHAR("khar", "CR_Kharoshthi"),
+ BALINESE("balinese", "CR_Balinese"),
+ BALI("bali", "CR_Balinese"),
+ CUNEIFORM("cuneiform", "CR_Cuneiform"),
+ XSUX("xsux", "CR_Cuneiform"),
+ PHOENICIAN("phoenician", "CR_Phoenician"),
+ PHNX("phnx", "CR_Phoenician"),
+ PHAGSPA("phagspa", "CR_Phags_Pa"),
+ PHAG("phag", "CR_Phags_Pa"),
+ NKO("nko", "CR_Nko"),
+ NKOO("nkoo", "CR_Nko"),
+ SUNDANESE("sundanese", "CR_Sundanese"),
+ SUND("sund", "CR_Sundanese"),
+ LEPCHA("lepcha", "CR_Lepcha"),
+ LEPC("lepc", "CR_Lepcha"),
+ INOLCHIKI("inolchiki", "CR_Ol_Chiki"),
+ VAI("vai", "CR_Vai"),
+ VAII("vaii", "CR_Vai"),
+ SAURASHTRA("saurashtra", "CR_Saurashtra"),
+ SAUR("saur", "CR_Saurashtra"),
+ KAYAHLI("kayahli", "CR_Kayah_Li"),
+ KALI("kali", "CR_Kayah_Li"),
+ REJANG("rejang", "CR_Rejang"),
+ RJNG("rjng", "CR_Rejang"),
+ LYCIAN("lycian", "CR_Lycian"),
+ LYCI("lyci", "CR_Lycian"),
+ CARIAN("carian", "CR_Carian"),
+ CARI("cari", "CR_Carian"),
+ LYDIAN("lydian", "CR_Lydian"),
+ LYDI("lydi", "CR_Lydian"),
+ CHAM("cham", "CR_Cham"),
+ TAITHAM("taitham", "CR_Tai_Tham"),
+ LANA("lana", "CR_Tai_Tham"),
+ TAIVIET("taiviet", "CR_Tai_Viet"),
+ TAVT("tavt", "CR_Tai_Viet"),
+ AVESTAN("avestan", "CR_Avestan"),
+ AVST("avst", "CR_Avestan"),
+ EGYPTIANHIEROGLYPHS("egyptianhieroglyphs", "CR_Egyptian_Hieroglyphs"),
+ EGYP("egyp", "CR_Egyptian_Hieroglyphs"),
+ SAMARITAN("samaritan", "CR_Samaritan"),
+ SAMR("samr", "CR_Samaritan"),
+ INLISU("inlisu", "CR_Lisu"),
+ BAMUM("bamum", "CR_Bamum"),
+ BAMU("bamu", "CR_Bamum"),
+ JAVANESE("javanese", "CR_Javanese"),
+ JAVA("java", "CR_Javanese"),
+ MEETEIMAYEK("meeteimayek", "CR_Meetei_Mayek"),
+ MTEI("mtei", "CR_Meetei_Mayek"),
+ IMPERIALARAMAIC("imperialaramaic", "CR_Imperial_Aramaic"),
+ ARMI("armi", "CR_Imperial_Aramaic"),
+ INOLDSOUTHARABIAN("inoldsoutharabian", "CR_Old_South_Arabian"),
+ INSCRIPTIONALPARTHIAN("inscriptionalparthian", "CR_Inscriptional_Parthian"),
+ PRTI("prti", "CR_Inscriptional_Parthian"),
+ INSCRIPTIONALPAHLAVI("inscriptionalpahlavi", "CR_Inscriptional_Pahlavi"),
+ PHLI("phli", "CR_Inscriptional_Pahlavi"),
+ OLDTURKIC("oldturkic", "CR_Old_Turkic"),
+ ORKH("orkh", "CR_Old_Turkic"),
+ KAITHI("kaithi", "CR_Kaithi"),
+ KTHI("kthi", "CR_Kaithi"),
+ BATAK("batak", "CR_Batak"),
+ BATK("batk", "CR_Batak"),
+ BRAHMI("brahmi", "CR_Brahmi"),
+ BRAH("brah", "CR_Brahmi"),
+ MANDAIC("mandaic", "CR_Mandaic"),
+ MAND("mand", "CR_Mandaic"),
+ CHAKMA("chakma", "CR_Chakma"),
+ CAKM("cakm", "CR_Chakma"),
+ MEROITICCURSIVE("meroiticcursive", "CR_Meroitic_Cursive"),
+ MERC("merc", "CR_Meroitic_Cursive"),
+ INMEROITICHIEROGLYPHS("inmeroitichieroglyphs", "CR_Meroitic_Hieroglyphs"),
+ MIAO("miao", "CR_Miao"),
+ PLRD("plrd", "CR_Miao"),
+ SHARADA("sharada", "CR_Sharada"),
+ SHRD("shrd", "CR_Sharada"),
+ SORASOMPENG("sorasompeng", "CR_Sora_Sompeng"),
+ SORA("sora", "CR_Sora_Sompeng"),
+ TAKRI("takri", "CR_Takri"),
+ TAKR("takr", "CR_Takri"),
+ CAUCASIANALBANIAN("caucasianalbanian", "CR_Caucasian_Albanian"),
+ AGHB("aghb", "CR_Caucasian_Albanian"),
+ BASSAVAH("bassavah", "CR_Bassa_Vah"),
+ BASS("bass", "CR_Bassa_Vah"),
+ DUPLOYAN("duployan", "CR_Duployan"),
+ DUPL("dupl", "CR_Duployan"),
+ ELBASAN("elbasan", "CR_Elbasan"),
+ ELBA("elba", "CR_Elbasan"),
+ GRANTHA("grantha", "CR_Grantha"),
+ GRAN("gran", "CR_Grantha"),
+ PAHAWHHMONG("pahawhhmong", "CR_Pahawh_Hmong"),
+ HMNG("hmng", "CR_Pahawh_Hmong"),
+ KHOJKI("khojki", "CR_Khojki"),
+ KHOJ("khoj", "CR_Khojki"),
+ LINEARA("lineara", "CR_Linear_A"),
+ LINA("lina", "CR_Linear_A"),
+ MAHAJANI("mahajani", "CR_Mahajani"),
+ MAHJ("mahj", "CR_Mahajani"),
+ MANICHAEAN("manichaean", "CR_Manichaean"),
+ MANI("mani", "CR_Manichaean"),
+ MENDEKIKAKUI("mendekikakui", "CR_Mende_Kikakui"),
+ MEND("mend", "CR_Mende_Kikakui"),
+ MODI("modi", "CR_Modi"),
+ MRO("mro", "CR_Mro"),
+ MROO("mroo", "CR_Mro"),
+ INOLDNORTHARABIAN("inoldnortharabian", "CR_Old_North_Arabian"),
+ NABATAEAN("nabataean", "CR_Nabataean"),
+ NBAT("nbat", "CR_Nabataean"),
+ INPALMYRENE("inpalmyrene", "CR_Palmyrene"),
+ PAUCINHAU("paucinhau", "CR_Pau_Cin_Hau"),
+ PAUC("pauc", "CR_Pau_Cin_Hau"),
+ OLDPERMIC("oldpermic", "CR_Old_Permic"),
+ PERM("perm", "CR_Old_Permic"),
+ PSALTERPAHLAVI("psalterpahlavi", "CR_Psalter_Pahlavi"),
+ PHLP("phlp", "CR_Psalter_Pahlavi"),
+ SIDDHAM("siddham", "CR_Siddham"),
+ SIDD("sidd", "CR_Siddham"),
+ KHUDAWADI("khudawadi", "CR_Khudawadi"),
+ SIND("sind", "CR_Khudawadi"),
+ TIRHUTA("tirhuta", "CR_Tirhuta"),
+ TIRH("tirh", "CR_Tirhuta"),
+ WARANGCITI("warangciti", "CR_Warang_Citi"),
+ WARA("wara", "CR_Warang_Citi"),
+ AHOM("ahom", "CR_Ahom"),
+ ANATOLIANHIEROGLYPHS("anatolianhieroglyphs", "CR_Anatolian_Hieroglyphs"),
+ HLUW("hluw", "CR_Anatolian_Hieroglyphs"),
+ HATRAN("hatran", "CR_Hatran"),
+ HATR("hatr", "CR_Hatran"),
+ MULTANI("multani", "CR_Multani"),
+ MULT("mult", "CR_Multani"),
+ OLDHUNGARIAN("oldhungarian", "CR_Old_Hungarian"),
+ HUNG("hung", "CR_Old_Hungarian"),
+ SIGNWRITING("signwriting", "CR_SignWriting"),
+ SGNW("sgnw", "CR_SignWriting"),
+ ADLAM("adlam", "CR_Adlam"),
+ ADLM("adlm", "CR_Adlam"),
+ BHAIKSUKI("bhaiksuki", "CR_Bhaiksuki"),
+ BHKS("bhks", "CR_Bhaiksuki"),
+ MARCHEN("marchen", "CR_Marchen"),
+ MARC("marc", "CR_Marchen"),
+ NEWA("newa", "CR_Newa"),
+ OSAGE("osage", "CR_Osage"),
+ OSGE("osge", "CR_Osage"),
+ TANGUT("tangut", "CR_Tangut"),
+ TANG("tang", "CR_Tangut"),
+ MASARAMGONDI("masaramgondi", "CR_Masaram_Gondi"),
+ GONM("gonm", "CR_Masaram_Gondi"),
+ NUSHU("nushu", "CR_Nushu"),
+ NSHU("nshu", "CR_Nushu"),
+ SOYOMBO("soyombo", "CR_Soyombo"),
+ SOYO("soyo", "CR_Soyombo"),
+ ZANABAZARSQUARE("zanabazarsquare", "CR_Zanabazar_Square"),
+ ZANB("zanb", "CR_Zanabazar_Square"),
+ DOGRA("dogra", "CR_Dogra"),
+ DOGR("dogr", "CR_Dogra"),
+ GUNJALAGONDI("gunjalagondi", "CR_Gunjala_Gondi"),
+ GONG("gong", "CR_Gunjala_Gondi"),
+ MAKASAR("makasar", "CR_Makasar"),
+ MAKA("maka", "CR_Makasar"),
+ MEDEFAIDRIN("medefaidrin", "CR_Medefaidrin"),
+ MEDF("medf", "CR_Medefaidrin"),
+ HANIFIROHINGYA("hanifirohingya", "CR_Hanifi_Rohingya"),
+ ROHG("rohg", "CR_Hanifi_Rohingya"),
+ SOGDIAN("sogdian", "CR_Sogdian"),
+ SOGD("sogd", "CR_Sogdian"),
+ OLDSOGDIAN("oldsogdian", "CR_Old_Sogdian"),
+ SOGO("sogo", "CR_Old_Sogdian"),
+ ELYMAIC("elymaic", "CR_Elymaic"),
+ ELYM("elym", "CR_Elymaic"),
+ NANDINAGARI("nandinagari", "CR_Nandinagari"),
+ NAND("nand", "CR_Nandinagari"),
+ NYIAKENGPUACHUEHMONG("nyiakengpuachuehmong", "CR_Nyiakeng_Puachue_Hmong"),
+ HMNP("hmnp", "CR_Nyiakeng_Puachue_Hmong"),
+ WANCHO("wancho", "CR_Wancho"),
+ WCHO("wcho", "CR_Wancho"),
+ WHITESPACE("whitespace", "CR_Space"),
+ WSPACE("wspace", "CR_Space"),
+ BIDICONTROL("bidicontrol", "CR_Bidi_Control"),
+ BIDIC("bidic", "CR_Bidi_Control"),
+ JOINCONTROL("joincontrol", "CR_Join_Control"),
+ JOINC("joinc", "CR_Join_Control"),
+ DASH("dash", "CR_Dash"),
+ HYPHEN("hyphen", "CR_Hyphen"),
+ QUOTATIONMARK("quotationmark", "CR_Quotation_Mark"),
+ QMARK("qmark", "CR_Quotation_Mark"),
+ TERMINALPUNCTUATION("terminalpunctuation", "CR_Terminal_Punctuation"),
+ TERM("term", "CR_Terminal_Punctuation"),
+ OTHERMATH("othermath", "CR_Other_Math"),
+ OMATH("omath", "CR_Other_Math"),
+ HEXDIGIT("hexdigit", "CR_Hex_Digit"),
+ HEX("hex", "CR_Hex_Digit"),
+ ASCIIHEXDIGIT("asciihexdigit", "CR_XDigit"),
+ AHEX("ahex", "CR_XDigit"),
+ OTHERALPHABETIC("otheralphabetic", "CR_Other_Alphabetic"),
+ OALPHA("oalpha", "CR_Other_Alphabetic"),
+ IDEOGRAPHIC("ideographic", "CR_Ideographic"),
+ IDEO("ideo", "CR_Ideographic"),
+ DIACRITIC("diacritic", "CR_Diacritic"),
+ DIA("dia", "CR_Diacritic"),
+ EXTENDER("extender", "CR_Extender"),
+ EXT("ext", "CR_Extender"),
+ OTHERLOWERCASE("otherlowercase", "CR_Other_Lowercase"),
+ OLOWER("olower", "CR_Other_Lowercase"),
+ OTHERUPPERCASE("otheruppercase", "CR_Other_Uppercase"),
+ OUPPER("oupper", "CR_Other_Uppercase"),
+ NONCHARACTERCODEPOINT("noncharactercodepoint", "CR_Noncharacter_Code_Point"),
+ NCHAR("nchar", "CR_Noncharacter_Code_Point"),
+ OTHERGRAPHEMEEXTEND("othergraphemeextend", "CR_Other_Grapheme_Extend"),
+ OGREXT("ogrext", "CR_Other_Grapheme_Extend"),
+ IDSBINARYOPERATOR("idsbinaryoperator", "CR_IDS_Binary_Operator"),
+ IDSB("idsb", "CR_IDS_Binary_Operator"),
+ IDSTRINARYOPERATOR("idstrinaryoperator", "CR_IDS_Trinary_Operator"),
+ IDST("idst", "CR_IDS_Trinary_Operator"),
+ RADICAL("radical", "CR_Radical"),
+ UNIFIEDIDEOGRAPH("unifiedideograph", "CR_Unified_Ideograph"),
+ UIDEO("uideo", "CR_Unified_Ideograph"),
+ OTHERDEFAULTIGNORABLECODEPOINT("otherdefaultignorablecodepoint", "CR_Other_Default_Ignorable_Code_Point"),
+ ODI("odi", "CR_Other_Default_Ignorable_Code_Point"),
+ DEPRECATED("deprecated", "CR_Deprecated"),
+ DEP("dep", "CR_Deprecated"),
+ SOFTDOTTED("softdotted", "CR_Soft_Dotted"),
+ SD("sd", "CR_Soft_Dotted"),
+ LOGICALORDEREXCEPTION("logicalorderexception", "CR_Logical_Order_Exception"),
+ LOE("loe", "CR_Logical_Order_Exception"),
+ OTHERIDSTART("otheridstart", "CR_Other_ID_Start"),
+ OIDS("oids", "CR_Other_ID_Start"),
+ OTHERIDCONTINUE("otheridcontinue", "CR_Other_ID_Continue"),
+ OIDC("oidc", "CR_Other_ID_Continue"),
+ SENTENCETERMINAL("sentenceterminal", "CR_Sentence_Terminal"),
+ STERM("sterm", "CR_Sentence_Terminal"),
+ VARIATIONSELECTOR("variationselector", "CR_Variation_Selector"),
+ VS("vs", "CR_Variation_Selector"),
+ PATTERNWHITESPACE("patternwhitespace", "CR_Pattern_White_Space"),
+ PATWS("patws", "CR_Pattern_White_Space"),
+ PATTERNSYNTAX("patternsyntax", "CR_Pattern_Syntax"),
+ PATSYN("patsyn", "CR_Pattern_Syntax"),
+ PREPENDEDCONCATENATIONMARK("prependedconcatenationmark", "CR_Prepended_Concatenation_Mark"),
+ PCM("pcm", "CR_Prepended_Concatenation_Mark"),
+ GRAPHEMECLUSTERBREAK_REGIONALINDICATOR("graphemeclusterbreak=regionalindicator", "CR_Regional_Indicator"),
+ EMOJI("emoji", "CR_Emoji"),
+ EMOJIPRESENTATION("emojipresentation", "CR_Emoji_Presentation"),
+ EMOJIMODIFIER("emojimodifier", "CR_Emoji_Modifier"),
+ EMOJIMODIFIERBASE("emojimodifierbase", "CR_Emoji_Modifier_Base"),
+ EMOJICOMPONENT("emojicomponent", "CR_Emoji_Component"),
+ EXTENDEDPICTOGRAPHIC("extendedpictographic", "CR_Extended_Pictographic"),
+ UNKNOWN("unknown", "CR_Unknown"),
+ ZZZZ("zzzz", "CR_Unknown"),
+ AGE_1_1("age=1.1", "CR_Age_1_1"),
+ AGE_2_0("age=2.0", "CR_Age_2_0"),
+ AGE_2_1("age=2.1", "CR_Age_2_1"),
+ AGE_3_0("age=3.0", "CR_Age_3_0"),
+ AGE_3_1("age=3.1", "CR_Age_3_1"),
+ AGE_3_2("age=3.2", "CR_Age_3_2"),
+ AGE_4_0("age=4.0", "CR_Age_4_0"),
+ AGE_4_1("age=4.1", "CR_Age_4_1"),
+ AGE_5_0("age=5.0", "CR_Age_5_0"),
+ AGE_5_1("age=5.1", "CR_Age_5_1"),
+ AGE_5_2("age=5.2", "CR_Age_5_2"),
+ AGE_6_0("age=6.0", "CR_Age_6_0"),
+ AGE_6_1("age=6.1", "CR_Age_6_1"),
+ AGE_6_2("age=6.2", "CR_Age_6_2"),
+ AGE_6_3("age=6.3", "CR_Age_6_3"),
+ AGE_7_0("age=7.0", "CR_Age_7_0"),
+ AGE_8_0("age=8.0", "CR_Age_8_0"),
+ AGE_9_0("age=9.0", "CR_Age_9_0"),
+ AGE_10_0("age=10.0", "CR_Age_10_0"),
+ AGE_11_0("age=11.0", "CR_Age_11_0"),
+ AGE_12_0("age=12.0", "CR_Age_12_0"),
+ AGE_12_1("age=12.1", "CR_Age_12_1"),
+ GRAPHEMECLUSTERBREAK_PREPEND("graphemeclusterbreak=prepend", "CR_Grapheme_Cluster_Break_Prepend"),
+ GRAPHEMECLUSTERBREAK_CR("graphemeclusterbreak=cr", "CR_Grapheme_Cluster_Break_CR"),
+ GRAPHEMECLUSTERBREAK_LF("graphemeclusterbreak=lf", "CR_NEWLINE"),
+ GRAPHEMECLUSTERBREAK_CONTROL("graphemeclusterbreak=control", "CR_Grapheme_Cluster_Break_Control"),
+ GRAPHEMECLUSTERBREAK_EXTEND("graphemeclusterbreak=extend", "CR_Grapheme_Cluster_Break_Extend"),
+ REGIONALINDICATOR("regionalindicator", "CR_Regional_Indicator"),
+ RI("ri", "CR_Regional_Indicator"),
+ GRAPHEMECLUSTERBREAK_SPACINGMARK("graphemeclusterbreak=spacingmark", "CR_Grapheme_Cluster_Break_SpacingMark"),
+ GRAPHEMECLUSTERBREAK_L("graphemeclusterbreak=l", "CR_Grapheme_Cluster_Break_L"),
+ GRAPHEMECLUSTERBREAK_V("graphemeclusterbreak=v", "CR_Grapheme_Cluster_Break_V"),
+ GRAPHEMECLUSTERBREAK_T("graphemeclusterbreak=t", "CR_Grapheme_Cluster_Break_T"),
+ GRAPHEMECLUSTERBREAK_LV("graphemeclusterbreak=lv", "CR_Grapheme_Cluster_Break_LV"),
+ GRAPHEMECLUSTERBREAK_LVT("graphemeclusterbreak=lvt", "CR_Grapheme_Cluster_Break_LVT"),
+ GRAPHEMECLUSTERBREAK_ZWJ("graphemeclusterbreak=zwj", "CR_Grapheme_Cluster_Break_ZWJ"),
+ INBASICLATIN("inbasiclatin", "CR_ASCII"),
+ INLATIN1SUPPLEMENT("inlatin1supplement", "CR_In_Latin_1_Supplement"),
+ INLATINEXTENDEDA("inlatinextendeda", "CR_In_Latin_Extended_A"),
+ INLATINEXTENDEDB("inlatinextendedb", "CR_In_Latin_Extended_B"),
+ INIPAEXTENSIONS("inipaextensions", "CR_In_IPA_Extensions"),
+ INSPACINGMODIFIERLETTERS("inspacingmodifierletters", "CR_In_Spacing_Modifier_Letters"),
+ INCOMBININGDIACRITICALMARKS("incombiningdiacriticalmarks", "CR_In_Combining_Diacritical_Marks"),
+ INGREEKANDCOPTIC("ingreekandcoptic", "CR_In_Greek_and_Coptic"),
+ INCYRILLIC("incyrillic", "CR_In_Cyrillic"),
+ INCYRILLICSUPPLEMENT("incyrillicsupplement", "CR_In_Cyrillic_Supplement"),
+ INARMENIAN("inarmenian", "CR_In_Armenian"),
+ INHEBREW("inhebrew", "CR_In_Hebrew"),
+ INARABIC("inarabic", "CR_In_Arabic"),
+ INSYRIAC("insyriac", "CR_In_Syriac"),
+ INARABICSUPPLEMENT("inarabicsupplement", "CR_In_Arabic_Supplement"),
+ INTHAANA("inthaana", "CR_In_Thaana"),
+ INNKO("innko", "CR_In_NKo"),
+ INSAMARITAN("insamaritan", "CR_In_Samaritan"),
+ INMANDAIC("inmandaic", "CR_In_Mandaic"),
+ INSYRIACSUPPLEMENT("insyriacsupplement", "CR_In_Syriac_Supplement"),
+ INARABICEXTENDEDA("inarabicextendeda", "CR_In_Arabic_Extended_A"),
+ INDEVANAGARI("indevanagari", "CR_In_Devanagari"),
+ INBENGALI("inbengali", "CR_In_Bengali"),
+ INGURMUKHI("ingurmukhi", "CR_In_Gurmukhi"),
+ INGUJARATI("ingujarati", "CR_In_Gujarati"),
+ INORIYA("inoriya", "CR_In_Oriya"),
+ INTAMIL("intamil", "CR_In_Tamil"),
+ INTELUGU("intelugu", "CR_In_Telugu"),
+ INKANNADA("inkannada", "CR_In_Kannada"),
+ INMALAYALAM("inmalayalam", "CR_In_Malayalam"),
+ INSINHALA("insinhala", "CR_In_Sinhala"),
+ INTHAI("inthai", "CR_In_Thai"),
+ INLAO("inlao", "CR_In_Lao"),
+ INTIBETAN("intibetan", "CR_In_Tibetan"),
+ INMYANMAR("inmyanmar", "CR_In_Myanmar"),
+ INGEORGIAN("ingeorgian", "CR_In_Georgian"),
+ INHANGULJAMO("inhanguljamo", "CR_In_Hangul_Jamo"),
+ INETHIOPIC("inethiopic", "CR_In_Ethiopic"),
+ INETHIOPICSUPPLEMENT("inethiopicsupplement", "CR_In_Ethiopic_Supplement"),
+ INCHEROKEE("incherokee", "CR_In_Cherokee"),
+ INUNIFIEDCANADIANABORIGINALSYLLABICS("inunifiedcanadianaboriginalsyllabics", "CR_In_Unified_Canadian_Aboriginal_Syllabics"),
+ INOGHAM("inogham", "CR_In_Ogham"),
+ INRUNIC("inrunic", "CR_In_Runic"),
+ INTAGALOG("intagalog", "CR_In_Tagalog"),
+ INHANUNOO("inhanunoo", "CR_In_Hanunoo"),
+ INBUHID("inbuhid", "CR_In_Buhid"),
+ INTAGBANWA("intagbanwa", "CR_In_Tagbanwa"),
+ INKHMER("inkhmer", "CR_In_Khmer"),
+ INMONGOLIAN("inmongolian", "CR_In_Mongolian"),
+ INUNIFIEDCANADIANABORIGINALSYLLABICSEXTENDED("inunifiedcanadianaboriginalsyllabicsextended", "CR_In_Unified_Canadian_Aboriginal_Syllabics_Extended"),
+ INLIMBU("inlimbu", "CR_In_Limbu"),
+ INTAILE("intaile", "CR_In_Tai_Le"),
+ INNEWTAILUE("innewtailue", "CR_In_New_Tai_Lue"),
+ INKHMERSYMBOLS("inkhmersymbols", "CR_In_Khmer_Symbols"),
+ INBUGINESE("inbuginese", "CR_In_Buginese"),
+ INTAITHAM("intaitham", "CR_In_Tai_Tham"),
+ INCOMBININGDIACRITICALMARKSEXTENDED("incombiningdiacriticalmarksextended", "CR_In_Combining_Diacritical_Marks_Extended"),
+ INBALINESE("inbalinese", "CR_In_Balinese"),
+ INSUNDANESE("insundanese", "CR_In_Sundanese"),
+ INBATAK("inbatak", "CR_In_Batak"),
+ INLEPCHA("inlepcha", "CR_In_Lepcha"),
+ OLCHIKI("olchiki", "CR_Ol_Chiki"),
+ OLCK("olck", "CR_Ol_Chiki"),
+ INCYRILLICEXTENDEDC("incyrillicextendedc", "CR_In_Cyrillic_Extended_C"),
+ INGEORGIANEXTENDED("ingeorgianextended", "CR_In_Georgian_Extended"),
+ INSUNDANESESUPPLEMENT("insundanesesupplement", "CR_In_Sundanese_Supplement"),
+ INVEDICEXTENSIONS("invedicextensions", "CR_In_Vedic_Extensions"),
+ INPHONETICEXTENSIONS("inphoneticextensions", "CR_In_Phonetic_Extensions"),
+ INPHONETICEXTENSIONSSUPPLEMENT("inphoneticextensionssupplement", "CR_In_Phonetic_Extensions_Supplement"),
+ INCOMBININGDIACRITICALMARKSSUPPLEMENT("incombiningdiacriticalmarkssupplement", "CR_In_Combining_Diacritical_Marks_Supplement"),
+ INLATINEXTENDEDADDITIONAL("inlatinextendedadditional", "CR_In_Latin_Extended_Additional"),
+ INGREEKEXTENDED("ingreekextended", "CR_In_Greek_Extended"),
+ INGENERALPUNCTUATION("ingeneralpunctuation", "CR_In_General_Punctuation"),
+ INSUPERSCRIPTSANDSUBSCRIPTS("insuperscriptsandsubscripts", "CR_In_Superscripts_and_Subscripts"),
+ INCURRENCYSYMBOLS("incurrencysymbols", "CR_In_Currency_Symbols"),
+ INCOMBININGDIACRITICALMARKSFORSYMBOLS("incombiningdiacriticalmarksforsymbols", "CR_In_Combining_Diacritical_Marks_for_Symbols"),
+ INLETTERLIKESYMBOLS("inletterlikesymbols", "CR_In_Letterlike_Symbols"),
+ INNUMBERFORMS("innumberforms", "CR_In_Number_Forms"),
+ INARROWS("inarrows", "CR_In_Arrows"),
+ INMATHEMATICALOPERATORS("inmathematicaloperators", "CR_In_Mathematical_Operators"),
+ INMISCELLANEOUSTECHNICAL("inmiscellaneoustechnical", "CR_In_Miscellaneous_Technical"),
+ INCONTROLPICTURES("incontrolpictures", "CR_In_Control_Pictures"),
+ INOPTICALCHARACTERRECOGNITION("inopticalcharacterrecognition", "CR_In_Optical_Character_Recognition"),
+ INENCLOSEDALPHANUMERICS("inenclosedalphanumerics", "CR_In_Enclosed_Alphanumerics"),
+ INBOXDRAWING("inboxdrawing", "CR_In_Box_Drawing"),
+ INBLOCKELEMENTS("inblockelements", "CR_In_Block_Elements"),
+ INGEOMETRICSHAPES("ingeometricshapes", "CR_In_Geometric_Shapes"),
+ INMISCELLANEOUSSYMBOLS("inmiscellaneoussymbols", "CR_In_Miscellaneous_Symbols"),
+ INDINGBATS("indingbats", "CR_In_Dingbats"),
+ INMISCELLANEOUSMATHEMATICALSYMBOLSA("inmiscellaneousmathematicalsymbolsa", "CR_In_Miscellaneous_Mathematical_Symbols_A"),
+ INSUPPLEMENTALARROWSA("insupplementalarrowsa", "CR_In_Supplemental_Arrows_A"),
+ BRAILLE("braille", "CR_Braille"),
+ BRAI("brai", "CR_Braille"),
+ INSUPPLEMENTALARROWSB("insupplementalarrowsb", "CR_In_Supplemental_Arrows_B"),
+ INMISCELLANEOUSMATHEMATICALSYMBOLSB("inmiscellaneousmathematicalsymbolsb", "CR_In_Miscellaneous_Mathematical_Symbols_B"),
+ INSUPPLEMENTALMATHEMATICALOPERATORS("insupplementalmathematicaloperators", "CR_In_Supplemental_Mathematical_Operators"),
+ INMISCELLANEOUSSYMBOLSANDARROWS("inmiscellaneoussymbolsandarrows", "CR_In_Miscellaneous_Symbols_and_Arrows"),
+ INGLAGOLITIC("inglagolitic", "CR_In_Glagolitic"),
+ INLATINEXTENDEDC("inlatinextendedc", "CR_In_Latin_Extended_C"),
+ INCOPTIC("incoptic", "CR_In_Coptic"),
+ INGEORGIANSUPPLEMENT("ingeorgiansupplement", "CR_In_Georgian_Supplement"),
+ INTIFINAGH("intifinagh", "CR_In_Tifinagh"),
+ INETHIOPICEXTENDED("inethiopicextended", "CR_In_Ethiopic_Extended"),
+ INCYRILLICEXTENDEDA("incyrillicextendeda", "CR_In_Cyrillic_Extended_A"),
+ INSUPPLEMENTALPUNCTUATION("insupplementalpunctuation", "CR_In_Supplemental_Punctuation"),
+ INCJKRADICALSSUPPLEMENT("incjkradicalssupplement", "CR_In_CJK_Radicals_Supplement"),
+ INKANGXIRADICALS("inkangxiradicals", "CR_In_Kangxi_Radicals"),
+ INIDEOGRAPHICDESCRIPTIONCHARACTERS("inideographicdescriptioncharacters", "CR_In_Ideographic_Description_Characters"),
+ INCJKSYMBOLSANDPUNCTUATION("incjksymbolsandpunctuation", "CR_In_CJK_Symbols_and_Punctuation"),
+ INHIRAGANA("inhiragana", "CR_In_Hiragana"),
+ INKATAKANA("inkatakana", "CR_In_Katakana"),
+ INBOPOMOFO("inbopomofo", "CR_In_Bopomofo"),
+ INHANGULCOMPATIBILITYJAMO("inhangulcompatibilityjamo", "CR_In_Hangul_Compatibility_Jamo"),
+ INKANBUN("inkanbun", "CR_In_Kanbun"),
+ INBOPOMOFOEXTENDED("inbopomofoextended", "CR_In_Bopomofo_Extended"),
+ INCJKSTROKES("incjkstrokes", "CR_In_CJK_Strokes"),
+ INKATAKANAPHONETICEXTENSIONS("inkatakanaphoneticextensions", "CR_In_Katakana_Phonetic_Extensions"),
+ INENCLOSEDCJKLETTERSANDMONTHS("inenclosedcjklettersandmonths", "CR_In_Enclosed_CJK_Letters_and_Months"),
+ INCJKCOMPATIBILITY("incjkcompatibility", "CR_In_CJK_Compatibility"),
+ INCJKUNIFIEDIDEOGRAPHSEXTENSIONA("incjkunifiedideographsextensiona", "CR_In_CJK_Unified_Ideographs_Extension_A"),
+ INYIJINGHEXAGRAMSYMBOLS("inyijinghexagramsymbols", "CR_In_Yijing_Hexagram_Symbols"),
+ INCJKUNIFIEDIDEOGRAPHS("incjkunifiedideographs", "CR_In_CJK_Unified_Ideographs"),
+ INYISYLLABLES("inyisyllables", "CR_In_Yi_Syllables"),
+ INYIRADICALS("inyiradicals", "CR_In_Yi_Radicals"),
+ LISU("lisu", "CR_Lisu"),
+ INVAI("invai", "CR_In_Vai"),
+ INCYRILLICEXTENDEDB("incyrillicextendedb", "CR_In_Cyrillic_Extended_B"),
+ INBAMUM("inbamum", "CR_In_Bamum"),
+ INMODIFIERTONELETTERS("inmodifiertoneletters", "CR_In_Modifier_Tone_Letters"),
+ INLATINEXTENDEDD("inlatinextendedd", "CR_In_Latin_Extended_D"),
+ INSYLOTINAGRI("insylotinagri", "CR_In_Syloti_Nagri"),
+ INCOMMONINDICNUMBERFORMS("incommonindicnumberforms", "CR_In_Common_Indic_Number_Forms"),
+ INPHAGSPA("inphagspa", "CR_In_Phags_pa"),
+ INSAURASHTRA("insaurashtra", "CR_In_Saurashtra"),
+ INDEVANAGARIEXTENDED("indevanagariextended", "CR_In_Devanagari_Extended"),
+ INKAYAHLI("inkayahli", "CR_In_Kayah_Li"),
+ INREJANG("inrejang", "CR_In_Rejang"),
+ INHANGULJAMOEXTENDEDA("inhanguljamoextendeda", "CR_In_Hangul_Jamo_Extended_A"),
+ INJAVANESE("injavanese", "CR_In_Javanese"),
+ INMYANMAREXTENDEDB("inmyanmarextendedb", "CR_In_Myanmar_Extended_B"),
+ INCHAM("incham", "CR_In_Cham"),
+ INMYANMAREXTENDEDA("inmyanmarextendeda", "CR_In_Myanmar_Extended_A"),
+ INTAIVIET("intaiviet", "CR_In_Tai_Viet"),
+ INMEETEIMAYEKEXTENSIONS("inmeeteimayekextensions", "CR_In_Meetei_Mayek_Extensions"),
+ INETHIOPICEXTENDEDA("inethiopicextendeda", "CR_In_Ethiopic_Extended_A"),
+ INLATINEXTENDEDE("inlatinextendede", "CR_In_Latin_Extended_E"),
+ INCHEROKEESUPPLEMENT("incherokeesupplement", "CR_In_Cherokee_Supplement"),
+ INMEETEIMAYEK("inmeeteimayek", "CR_In_Meetei_Mayek"),
+ INHANGULSYLLABLES("inhangulsyllables", "CR_In_Hangul_Syllables"),
+ INHANGULJAMOEXTENDEDB("inhanguljamoextendedb", "CR_In_Hangul_Jamo_Extended_B"),
+ INHIGHSURROGATES("inhighsurrogates", "CR_In_High_Surrogates"),
+ INHIGHPRIVATEUSESURROGATES("inhighprivateusesurrogates", "CR_In_High_Private_Use_Surrogates"),
+ INLOWSURROGATES("inlowsurrogates", "CR_In_Low_Surrogates"),
+ INPRIVATEUSEAREA("inprivateusearea", "CR_In_Private_Use_Area"),
+ INCJKCOMPATIBILITYIDEOGRAPHS("incjkcompatibilityideographs", "CR_In_CJK_Compatibility_Ideographs"),
+ INALPHABETICPRESENTATIONFORMS("inalphabeticpresentationforms", "CR_In_Alphabetic_Presentation_Forms"),
+ INARABICPRESENTATIONFORMSA("inarabicpresentationformsa", "CR_In_Arabic_Presentation_Forms_A"),
+ INVARIATIONSELECTORS("invariationselectors", "CR_In_Variation_Selectors"),
+ INVERTICALFORMS("inverticalforms", "CR_In_Vertical_Forms"),
+ INCOMBININGHALFMARKS("incombininghalfmarks", "CR_In_Combining_Half_Marks"),
+ INCJKCOMPATIBILITYFORMS("incjkcompatibilityforms", "CR_In_CJK_Compatibility_Forms"),
+ INSMALLFORMVARIANTS("insmallformvariants", "CR_In_Small_Form_Variants"),
+ INARABICPRESENTATIONFORMSB("inarabicpresentationformsb", "CR_In_Arabic_Presentation_Forms_B"),
+ INHALFWIDTHANDFULLWIDTHFORMS("inhalfwidthandfullwidthforms", "CR_In_Halfwidth_and_Fullwidth_Forms"),
+ INSPECIALS("inspecials", "CR_In_Specials"),
+ INLINEARBSYLLABARY("inlinearbsyllabary", "CR_In_Linear_B_Syllabary"),
+ INLINEARBIDEOGRAMS("inlinearbideograms", "CR_In_Linear_B_Ideograms"),
+ INAEGEANNUMBERS("inaegeannumbers", "CR_In_Aegean_Numbers"),
+ INANCIENTGREEKNUMBERS("inancientgreeknumbers", "CR_In_Ancient_Greek_Numbers"),
+ INANCIENTSYMBOLS("inancientsymbols", "CR_In_Ancient_Symbols"),
+ INPHAISTOSDISC("inphaistosdisc", "CR_In_Phaistos_Disc"),
+ INLYCIAN("inlycian", "CR_In_Lycian"),
+ INCARIAN("incarian", "CR_In_Carian"),
+ INCOPTICEPACTNUMBERS("incopticepactnumbers", "CR_In_Coptic_Epact_Numbers"),
+ INOLDITALIC("inolditalic", "CR_In_Old_Italic"),
+ INGOTHIC("ingothic", "CR_In_Gothic"),
+ INOLDPERMIC("inoldpermic", "CR_In_Old_Permic"),
+ INUGARITIC("inugaritic", "CR_In_Ugaritic"),
+ INOLDPERSIAN("inoldpersian", "CR_In_Old_Persian"),
+ DESERET("deseret", "CR_Deseret"),
+ DSRT("dsrt", "CR_Deseret"),
+ SHAVIAN("shavian", "CR_Shavian"),
+ SHAW("shaw", "CR_Shavian"),
+ INOSMANYA("inosmanya", "CR_In_Osmanya"),
+ INOSAGE("inosage", "CR_In_Osage"),
+ INELBASAN("inelbasan", "CR_In_Elbasan"),
+ INCAUCASIANALBANIAN("incaucasianalbanian", "CR_In_Caucasian_Albanian"),
+ INLINEARA("inlineara", "CR_In_Linear_A"),
+ INCYPRIOTSYLLABARY("incypriotsyllabary", "CR_In_Cypriot_Syllabary"),
+ INIMPERIALARAMAIC("inimperialaramaic", "CR_In_Imperial_Aramaic"),
+ PALMYRENE("palmyrene", "CR_Palmyrene"),
+ PALM("palm", "CR_Palmyrene"),
+ INNABATAEAN("innabataean", "CR_In_Nabataean"),
+ INHATRAN("inhatran", "CR_In_Hatran"),
+ INPHOENICIAN("inphoenician", "CR_In_Phoenician"),
+ INLYDIAN("inlydian", "CR_In_Lydian"),
+ MEROITICHIEROGLYPHS("meroitichieroglyphs", "CR_Meroitic_Hieroglyphs"),
+ MERO("mero", "CR_Meroitic_Hieroglyphs"),
+ INMEROITICCURSIVE("inmeroiticcursive", "CR_In_Meroitic_Cursive"),
+ INKHAROSHTHI("inkharoshthi", "CR_In_Kharoshthi"),
+ OLDSOUTHARABIAN("oldsoutharabian", "CR_Old_South_Arabian"),
+ SARB("sarb", "CR_Old_South_Arabian"),
+ OLDNORTHARABIAN("oldnortharabian", "CR_Old_North_Arabian"),
+ NARB("narb", "CR_Old_North_Arabian"),
+ INMANICHAEAN("inmanichaean", "CR_In_Manichaean"),
+ INAVESTAN("inavestan", "CR_In_Avestan"),
+ ININSCRIPTIONALPARTHIAN("ininscriptionalparthian", "CR_In_Inscriptional_Parthian"),
+ ININSCRIPTIONALPAHLAVI("ininscriptionalpahlavi", "CR_In_Inscriptional_Pahlavi"),
+ INPSALTERPAHLAVI("inpsalterpahlavi", "CR_In_Psalter_Pahlavi"),
+ INOLDTURKIC("inoldturkic", "CR_In_Old_Turkic"),
+ INOLDHUNGARIAN("inoldhungarian", "CR_In_Old_Hungarian"),
+ INHANIFIROHINGYA("inhanifirohingya", "CR_In_Hanifi_Rohingya"),
+ INRUMINUMERALSYMBOLS("inruminumeralsymbols", "CR_In_Rumi_Numeral_Symbols"),
+ INOLDSOGDIAN("inoldsogdian", "CR_In_Old_Sogdian"),
+ INSOGDIAN("insogdian", "CR_In_Sogdian"),
+ INELYMAIC("inelymaic", "CR_In_Elymaic"),
+ INBRAHMI("inbrahmi", "CR_In_Brahmi"),
+ INKAITHI("inkaithi", "CR_In_Kaithi"),
+ INSORASOMPENG("insorasompeng", "CR_In_Sora_Sompeng"),
+ INCHAKMA("inchakma", "CR_In_Chakma"),
+ INMAHAJANI("inmahajani", "CR_In_Mahajani"),
+ INSHARADA("insharada", "CR_In_Sharada"),
+ INSINHALAARCHAICNUMBERS("insinhalaarchaicnumbers", "CR_In_Sinhala_Archaic_Numbers"),
+ INKHOJKI("inkhojki", "CR_In_Khojki"),
+ INMULTANI("inmultani", "CR_In_Multani"),
+ INKHUDAWADI("inkhudawadi", "CR_In_Khudawadi"),
+ INGRANTHA("ingrantha", "CR_In_Grantha"),
+ INNEWA("innewa", "CR_In_Newa"),
+ INTIRHUTA("intirhuta", "CR_In_Tirhuta"),
+ INSIDDHAM("insiddham", "CR_In_Siddham"),
+ INMODI("inmodi", "CR_In_Modi"),
+ INMONGOLIANSUPPLEMENT("inmongoliansupplement", "CR_In_Mongolian_Supplement"),
+ INTAKRI("intakri", "CR_In_Takri"),
+ INAHOM("inahom", "CR_In_Ahom"),
+ INDOGRA("indogra", "CR_In_Dogra"),
+ INWARANGCITI("inwarangciti", "CR_In_Warang_Citi"),
+ INNANDINAGARI("innandinagari", "CR_In_Nandinagari"),
+ INZANABAZARSQUARE("inzanabazarsquare", "CR_In_Zanabazar_Square"),
+ INSOYOMBO("insoyombo", "CR_In_Soyombo"),
+ INPAUCINHAU("inpaucinhau", "CR_In_Pau_Cin_Hau"),
+ INBHAIKSUKI("inbhaiksuki", "CR_In_Bhaiksuki"),
+ INMARCHEN("inmarchen", "CR_In_Marchen"),
+ INMASARAMGONDI("inmasaramgondi", "CR_In_Masaram_Gondi"),
+ INGUNJALAGONDI("ingunjalagondi", "CR_In_Gunjala_Gondi"),
+ INMAKASAR("inmakasar", "CR_In_Makasar"),
+ INTAMILSUPPLEMENT("intamilsupplement", "CR_In_Tamil_Supplement"),
+ INCUNEIFORM("incuneiform", "CR_In_Cuneiform"),
+ INCUNEIFORMNUMBERSANDPUNCTUATION("incuneiformnumbersandpunctuation", "CR_In_Cuneiform_Numbers_and_Punctuation"),
+ INEARLYDYNASTICCUNEIFORM("inearlydynasticcuneiform", "CR_In_Early_Dynastic_Cuneiform"),
+ INEGYPTIANHIEROGLYPHS("inegyptianhieroglyphs", "CR_In_Egyptian_Hieroglyphs"),
+ INEGYPTIANHIEROGLYPHFORMATCONTROLS("inegyptianhieroglyphformatcontrols", "CR_In_Egyptian_Hieroglyph_Format_Controls"),
+ INANATOLIANHIEROGLYPHS("inanatolianhieroglyphs", "CR_In_Anatolian_Hieroglyphs"),
+ INBAMUMSUPPLEMENT("inbamumsupplement", "CR_In_Bamum_Supplement"),
+ INMRO("inmro", "CR_In_Mro"),
+ INBASSAVAH("inbassavah", "CR_In_Bassa_Vah"),
+ INPAHAWHHMONG("inpahawhhmong", "CR_In_Pahawh_Hmong"),
+ INMEDEFAIDRIN("inmedefaidrin", "CR_In_Medefaidrin"),
+ INMIAO("inmiao", "CR_In_Miao"),
+ INIDEOGRAPHICSYMBOLSANDPUNCTUATION("inideographicsymbolsandpunctuation", "CR_In_Ideographic_Symbols_and_Punctuation"),
+ INTANGUT("intangut", "CR_In_Tangut"),
+ INTANGUTCOMPONENTS("intangutcomponents", "CR_In_Tangut_Components"),
+ INKANASUPPLEMENT("inkanasupplement", "CR_In_Kana_Supplement"),
+ INKANAEXTENDEDA("inkanaextendeda", "CR_In_Kana_Extended_A"),
+ INSMALLKANAEXTENSION("insmallkanaextension", "CR_In_Small_Kana_Extension"),
+ INNUSHU("innushu", "CR_In_Nushu"),
+ INDUPLOYAN("induployan", "CR_In_Duployan"),
+ INSHORTHANDFORMATCONTROLS("inshorthandformatcontrols", "CR_In_Shorthand_Format_Controls"),
+ INBYZANTINEMUSICALSYMBOLS("inbyzantinemusicalsymbols", "CR_In_Byzantine_Musical_Symbols"),
+ INMUSICALSYMBOLS("inmusicalsymbols", "CR_In_Musical_Symbols"),
+ INANCIENTGREEKMUSICALNOTATION("inancientgreekmusicalnotation", "CR_In_Ancient_Greek_Musical_Notation"),
+ INMAYANNUMERALS("inmayannumerals", "CR_In_Mayan_Numerals"),
+ INTAIXUANJINGSYMBOLS("intaixuanjingsymbols", "CR_In_Tai_Xuan_Jing_Symbols"),
+ INCOUNTINGRODNUMERALS("incountingrodnumerals", "CR_In_Counting_Rod_Numerals"),
+ INMATHEMATICALALPHANUMERICSYMBOLS("inmathematicalalphanumericsymbols", "CR_In_Mathematical_Alphanumeric_Symbols"),
+ INSUTTONSIGNWRITING("insuttonsignwriting", "CR_In_Sutton_SignWriting"),
+ INGLAGOLITICSUPPLEMENT("inglagoliticsupplement", "CR_In_Glagolitic_Supplement"),
+ INNYIAKENGPUACHUEHMONG("innyiakengpuachuehmong", "CR_In_Nyiakeng_Puachue_Hmong"),
+ INWANCHO("inwancho", "CR_In_Wancho"),
+ INMENDEKIKAKUI("inmendekikakui", "CR_In_Mende_Kikakui"),
+ INADLAM("inadlam", "CR_In_Adlam"),
+ ININDICSIYAQNUMBERS("inindicsiyaqnumbers", "CR_In_Indic_Siyaq_Numbers"),
+ INOTTOMANSIYAQNUMBERS("inottomansiyaqnumbers", "CR_In_Ottoman_Siyaq_Numbers"),
+ INARABICMATHEMATICALALPHABETICSYMBOLS("inarabicmathematicalalphabeticsymbols", "CR_In_Arabic_Mathematical_Alphabetic_Symbols"),
+ INMAHJONGTILES("inmahjongtiles", "CR_In_Mahjong_Tiles"),
+ INDOMINOTILES("indominotiles", "CR_In_Domino_Tiles"),
+ INPLAYINGCARDS("inplayingcards", "CR_In_Playing_Cards"),
+ INENCLOSEDALPHANUMERICSUPPLEMENT("inenclosedalphanumericsupplement", "CR_In_Enclosed_Alphanumeric_Supplement"),
+ INENCLOSEDIDEOGRAPHICSUPPLEMENT("inenclosedideographicsupplement", "CR_In_Enclosed_Ideographic_Supplement"),
+ INMISCELLANEOUSSYMBOLSANDPICTOGRAPHS("inmiscellaneoussymbolsandpictographs", "CR_In_Miscellaneous_Symbols_and_Pictographs"),
+ INEMOTICONS("inemoticons", "CR_In_Emoticons"),
+ INORNAMENTALDINGBATS("inornamentaldingbats", "CR_In_Ornamental_Dingbats"),
+ INTRANSPORTANDMAPSYMBOLS("intransportandmapsymbols", "CR_In_Transport_and_Map_Symbols"),
+ INALCHEMICALSYMBOLS("inalchemicalsymbols", "CR_In_Alchemical_Symbols"),
+ INGEOMETRICSHAPESEXTENDED("ingeometricshapesextended", "CR_In_Geometric_Shapes_Extended"),
+ INSUPPLEMENTALARROWSC("insupplementalarrowsc", "CR_In_Supplemental_Arrows_C"),
+ INSUPPLEMENTALSYMBOLSANDPICTOGRAPHS("insupplementalsymbolsandpictographs", "CR_In_Supplemental_Symbols_and_Pictographs"),
+ INCHESSSYMBOLS("inchesssymbols", "CR_In_Chess_Symbols"),
+ INSYMBOLSANDPICTOGRAPHSEXTENDEDA("insymbolsandpictographsextendeda", "CR_In_Symbols_and_Pictographs_Extended_A"),
+ INCJKUNIFIEDIDEOGRAPHSEXTENSIONB("incjkunifiedideographsextensionb", "CR_In_CJK_Unified_Ideographs_Extension_B"),
+ INCJKUNIFIEDIDEOGRAPHSEXTENSIONC("incjkunifiedideographsextensionc", "CR_In_CJK_Unified_Ideographs_Extension_C"),
+ INCJKUNIFIEDIDEOGRAPHSEXTENSIOND("incjkunifiedideographsextensiond", "CR_In_CJK_Unified_Ideographs_Extension_D"),
+ INCJKUNIFIEDIDEOGRAPHSEXTENSIONE("incjkunifiedideographsextensione", "CR_In_CJK_Unified_Ideographs_Extension_E"),
+ INCJKUNIFIEDIDEOGRAPHSEXTENSIONF("incjkunifiedideographsextensionf", "CR_In_CJK_Unified_Ideographs_Extension_F"),
+ INCJKCOMPATIBILITYIDEOGRAPHSSUPPLEMENT("incjkcompatibilityideographssupplement", "CR_In_CJK_Compatibility_Ideographs_Supplement"),
+ INTAGS("intags", "CR_In_Tags"),
+ INVARIATIONSELECTORSSUPPLEMENT("invariationselectorssupplement", "CR_In_Variation_Selectors_Supplement"),
+ INSUPPLEMENTARYPRIVATEUSEAREAA("insupplementaryprivateuseareaa", "CR_In_Supplementary_Private_Use_Area_A"),
+ INSUPPLEMENTARYPRIVATEUSEAREAB("insupplementaryprivateuseareab", "CR_In_Supplementary_Private_Use_Area_B"),
+ INNOBLOCK("innoblock", "CR_In_No_Block");
+
+ private final String table;
+ final byte[]name;
+ private int[]range;
+
+ private UnicodeCodeRange(String name, String table) {
+ this.table = table;
+ this.name = name.getBytes();
+ }
+
+ int[]getRange() {
+ if (range == null) range = ArrayReader.readIntArray(table);
+ return range;
+ }
+
+ public boolean contains(int code) {
+ return CodeRange.isInCodeRange(range, code);
+ }
+
+ public int getCType() {
+ return ordinal();
+ }
+
+ static final UnicodeCodeRange[]CodeRangeTable = UnicodeCodeRange.values();
+ static final int MAX_WORD_LENGTH = 44;
+}
=====================================
src/org/jcodings/unicode/UnicodeEncoding.java
=====================================
@@ -38,7 +38,7 @@ import org.jcodings.util.IntArrayHash;
import org.jcodings.util.IntHash;
public abstract class UnicodeEncoding extends MultiByteEncoding {
- private static final int PROPERTY_NAME_MAX_SIZE = UnicodeProperties.MAX_WORD_LENGTH + 1;
+ private static final int PROPERTY_NAME_MAX_SIZE = UnicodeCodeRange.MAX_WORD_LENGTH + 1;
static final int I_WITH_DOT_ABOVE = 0x0130;
static final int DOTLESS_i = 0x0131;
static final int DOT_ABOVE = 0x0307;
@@ -68,17 +68,21 @@ public abstract class UnicodeEncoding extends MultiByteEncoding {
if (code < 256) return isCodeCTypeInternal(code, ctype);
}
- if (ctype > UnicodeProperties.CodeRangeTable.length) throw new InternalError(ErrorMessages.ERR_TYPE_BUG);
+ if (ctype > UnicodeCodeRange.CodeRangeTable.length) throw new InternalError(ErrorMessages.ERR_TYPE_BUG);
- return CodeRange.isInCodeRange(UnicodeProperties.CodeRangeTable[ctype].getRange(), code);
+ return CodeRange.isInCodeRange(UnicodeCodeRange.CodeRangeTable[ctype].getRange(), code);
}
+ public static boolean isInCodeRange(UnicodeCodeRange range, int code) {
+ return CodeRange.isInCodeRange(range.getRange(), code);
+ }
+
// onigenc_unicode_ctype_code_range
protected final int[]ctypeCodeRange(int ctype) {
- if (ctype >= UnicodeProperties.CodeRangeTable.length) throw new InternalError(ErrorMessages.ERR_TYPE_BUG);
+ if (ctype >= UnicodeCodeRange.CodeRangeTable.length) throw new InternalError(ErrorMessages.ERR_TYPE_BUG);
- return UnicodeProperties.CodeRangeTable[ctype].getRange();
+ return UnicodeCodeRange.CodeRangeTable[ctype].getRange();
}
// onigenc_unicode_property_name_to_ctype
@@ -461,9 +465,12 @@ public abstract class UnicodeEncoding extends MultiByteEncoding {
flags |= Config.CASE_MODIFIED;
code = 'I';
}
- } else if ((folded = CaseFold.Values.get(code)) != null) {
- if ((flags & Config.CASE_TITLECASE) != 0 && (folded.flags & Config.CASE_IS_TITLECASE) != 0) {
-
+ } else if ((folded = CaseFold.Values.get(code)) != null) { /* data about character found in CaseFold_Table */
+ if ((flags & Config.CASE_TITLECASE) != 0 && code >= 0x1C90 && code <= 0x1CBF) { /* Georgian MTAVRULI */
+ flags |= Config.CASE_MODIFIED;
+ code += 0x10D0 - 0x1C90;
+ } else if ((flags & Config.CASE_TITLECASE) != 0 && (folded.flags & Config.CASE_IS_TITLECASE) != 0) { /* Titlecase needed, but already Titlecase */
+ /* already Titlecase, no changes needed */
} else if ((flags & folded.flags) != 0) {
final int[]codes;
final int start;
@@ -504,9 +511,13 @@ public abstract class UnicodeEncoding extends MultiByteEncoding {
code = codes[i];
}
}
- } else if ((folded = CaseUnfold11.Values.get(code)) != null && (flags & folded.flags) != 0) {
- flags |= Config.CASE_MODIFIED;
- code = folded.codes[(flags & folded.flags & Config.CASE_TITLECASE) != 0 ? 1 : 0];
+ } else if ((folded = CaseUnfold11.Values.get(code)) != null) { /* data about character found in CaseUnfold_11_Table */
+ if ((flags & Config.CASE_TITLECASE) != 0 && (folded.flags & Config.CASE_IS_TITLECASE) != 0) { /* Titlecase needed, but already Titlecase */
+ /* already Titlecase, no changes needed */
+ } else if ((flags & folded.flags) != 0) { /* needs and data availability match */
+ flags |= Config.CASE_MODIFIED;
+ code = folded.codes[(flags & folded.flags & Config.CASE_TITLECASE) != 0 ? 1 : 0];
+ }
}
}
toP += codeToMbc(code, to, toP);
@@ -553,29 +564,13 @@ public abstract class UnicodeEncoding extends MultiByteEncoding {
0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2
};
- static final class CodeRangeEntry {
- final String table;
- final byte[]name;
- int[]range;
-
- CodeRangeEntry(String name, String table) {
- this.table = table;
- this.name = name.getBytes();
- }
-
- public int[]getRange() {
- if (range == null) range = ArrayReader.readIntArray(table);
- return range;
- }
- }
-
static class CTypeName {
private static final CaseInsensitiveBytesHash<Integer> Values = initializeCTypeNameTable();
private static CaseInsensitiveBytesHash<Integer> initializeCTypeNameTable() {
CaseInsensitiveBytesHash<Integer> table = new CaseInsensitiveBytesHash<Integer>();
- for (int i = 0; i < UnicodeProperties.CodeRangeTable.length; i++) {
- table.putDirect(UnicodeProperties.CodeRangeTable[i].name, i);
+ for (int i = 0; i < UnicodeCodeRange.CodeRangeTable.length; i++) {
+ table.putDirect(UnicodeCodeRange.CodeRangeTable[i].name, i);
}
return table;
}
=====================================
src/org/jcodings/unicode/UnicodeProperties.java deleted
=====================================
@@ -1,866 +0,0 @@
-/*
- * Permission is hereby granted, free of charge, to any person obtaining a copy of
- * this software and associated documentation files (the "Software"), to deal in
- * the Software without restriction, including without limitation the rights to
- * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is furnished to do
- * so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-package org.jcodings.unicode;
-
-import org.jcodings.unicode.UnicodeEncoding.CodeRangeEntry;
-
-public class UnicodeProperties {
- static final CodeRangeEntry[]CodeRangeTable = new CodeRangeEntry[] {
- new CodeRangeEntry("newline", "CR_NEWLINE"),
- new CodeRangeEntry("alpha", "CR_Alpha"),
- new CodeRangeEntry("blank", "CR_Blank"),
- new CodeRangeEntry("cntrl", "CR_Cntrl"),
- new CodeRangeEntry("digit", "CR_Digit"),
- new CodeRangeEntry("graph", "CR_Graph"),
- new CodeRangeEntry("lower", "CR_Lower"),
- new CodeRangeEntry("print", "CR_Print"),
- new CodeRangeEntry("xposixpunct", "CR_XPosixPunct"),
- new CodeRangeEntry("space", "CR_Space"),
- new CodeRangeEntry("upper", "CR_Upper"),
- new CodeRangeEntry("xdigit", "CR_XDigit"),
- new CodeRangeEntry("word", "CR_Word"),
- new CodeRangeEntry("alnum", "CR_Alnum"),
- new CodeRangeEntry("ascii", "CR_ASCII"),
- new CodeRangeEntry("punct", "CR_Punct"),
- new CodeRangeEntry("any", "CR_Any"),
- new CodeRangeEntry("assigned", "CR_Assigned"),
- new CodeRangeEntry("c", "CR_C"),
- new CodeRangeEntry("other", "CR_C"),
- new CodeRangeEntry("cc", "CR_Cntrl"),
- new CodeRangeEntry("control", "CR_Cntrl"),
- new CodeRangeEntry("cf", "CR_Cf"),
- new CodeRangeEntry("format", "CR_Cf"),
- new CodeRangeEntry("cn", "CR_Cn"),
- new CodeRangeEntry("unassigned", "CR_Cn"),
- new CodeRangeEntry("co", "CR_Co"),
- new CodeRangeEntry("privateuse", "CR_Co"),
- new CodeRangeEntry("cs", "CR_Cs"),
- new CodeRangeEntry("surrogate", "CR_Cs"),
- new CodeRangeEntry("l", "CR_L"),
- new CodeRangeEntry("letter", "CR_L"),
- new CodeRangeEntry("lc", "CR_LC"),
- new CodeRangeEntry("casedletter", "CR_LC"),
- new CodeRangeEntry("ll", "CR_Ll"),
- new CodeRangeEntry("lowercaseletter", "CR_Ll"),
- new CodeRangeEntry("lm", "CR_Lm"),
- new CodeRangeEntry("modifierletter", "CR_Lm"),
- new CodeRangeEntry("lo", "CR_Lo"),
- new CodeRangeEntry("otherletter", "CR_Lo"),
- new CodeRangeEntry("lt", "CR_Lt"),
- new CodeRangeEntry("titlecaseletter", "CR_Lt"),
- new CodeRangeEntry("lu", "CR_Lu"),
- new CodeRangeEntry("uppercaseletter", "CR_Lu"),
- new CodeRangeEntry("m", "CR_M"),
- new CodeRangeEntry("mark", "CR_M"),
- new CodeRangeEntry("combiningmark", "CR_M"),
- new CodeRangeEntry("mc", "CR_Mc"),
- new CodeRangeEntry("spacingmark", "CR_Mc"),
- new CodeRangeEntry("me", "CR_Me"),
- new CodeRangeEntry("enclosingmark", "CR_Me"),
- new CodeRangeEntry("mn", "CR_Mn"),
- new CodeRangeEntry("nonspacingmark", "CR_Mn"),
- new CodeRangeEntry("n", "CR_N"),
- new CodeRangeEntry("number", "CR_N"),
- new CodeRangeEntry("nd", "CR_Digit"),
- new CodeRangeEntry("decimalnumber", "CR_Digit"),
- new CodeRangeEntry("nl", "CR_Nl"),
- new CodeRangeEntry("letternumber", "CR_Nl"),
- new CodeRangeEntry("no", "CR_No"),
- new CodeRangeEntry("othernumber", "CR_No"),
- new CodeRangeEntry("p", "CR_Punct"),
- new CodeRangeEntry("punctuation", "CR_Punct"),
- new CodeRangeEntry("pc", "CR_Pc"),
- new CodeRangeEntry("connectorpunctuation", "CR_Pc"),
- new CodeRangeEntry("pd", "CR_Pd"),
- new CodeRangeEntry("dashpunctuation", "CR_Pd"),
- new CodeRangeEntry("pe", "CR_Pe"),
- new CodeRangeEntry("closepunctuation", "CR_Pe"),
- new CodeRangeEntry("pf", "CR_Pf"),
- new CodeRangeEntry("finalpunctuation", "CR_Pf"),
- new CodeRangeEntry("pi", "CR_Pi"),
- new CodeRangeEntry("initialpunctuation", "CR_Pi"),
- new CodeRangeEntry("po", "CR_Po"),
- new CodeRangeEntry("otherpunctuation", "CR_Po"),
- new CodeRangeEntry("ps", "CR_Ps"),
- new CodeRangeEntry("openpunctuation", "CR_Ps"),
- new CodeRangeEntry("s", "CR_S"),
- new CodeRangeEntry("symbol", "CR_S"),
- new CodeRangeEntry("sc", "CR_Sc"),
- new CodeRangeEntry("currencysymbol", "CR_Sc"),
- new CodeRangeEntry("sk", "CR_Sk"),
- new CodeRangeEntry("modifiersymbol", "CR_Sk"),
- new CodeRangeEntry("sm", "CR_Sm"),
- new CodeRangeEntry("mathsymbol", "CR_Sm"),
- new CodeRangeEntry("so", "CR_So"),
- new CodeRangeEntry("othersymbol", "CR_So"),
- new CodeRangeEntry("z", "CR_Z"),
- new CodeRangeEntry("separator", "CR_Z"),
- new CodeRangeEntry("zl", "CR_Zl"),
- new CodeRangeEntry("lineseparator", "CR_Zl"),
- new CodeRangeEntry("zp", "CR_Zp"),
- new CodeRangeEntry("paragraphseparator", "CR_Zp"),
- new CodeRangeEntry("zs", "CR_Zs"),
- new CodeRangeEntry("spaceseparator", "CR_Zs"),
- new CodeRangeEntry("math", "CR_Math"),
- new CodeRangeEntry("alphabetic", "CR_Alpha"),
- new CodeRangeEntry("lowercase", "CR_Lower"),
- new CodeRangeEntry("uppercase", "CR_Upper"),
- new CodeRangeEntry("cased", "CR_Cased"),
- new CodeRangeEntry("caseignorable", "CR_Case_Ignorable"),
- new CodeRangeEntry("ci", "CR_Case_Ignorable"),
- new CodeRangeEntry("changeswhenlowercased", "CR_Changes_When_Lowercased"),
- new CodeRangeEntry("cwl", "CR_Changes_When_Lowercased"),
- new CodeRangeEntry("changeswhenuppercased", "CR_Changes_When_Uppercased"),
- new CodeRangeEntry("cwu", "CR_Changes_When_Uppercased"),
- new CodeRangeEntry("changeswhentitlecased", "CR_Changes_When_Titlecased"),
- new CodeRangeEntry("cwt", "CR_Changes_When_Titlecased"),
- new CodeRangeEntry("changeswhencasefolded", "CR_Changes_When_Casefolded"),
- new CodeRangeEntry("cwcf", "CR_Changes_When_Casefolded"),
- new CodeRangeEntry("changeswhencasemapped", "CR_Changes_When_Casemapped"),
- new CodeRangeEntry("cwcm", "CR_Changes_When_Casemapped"),
- new CodeRangeEntry("idstart", "CR_ID_Start"),
- new CodeRangeEntry("ids", "CR_ID_Start"),
- new CodeRangeEntry("idcontinue", "CR_ID_Continue"),
- new CodeRangeEntry("idc", "CR_ID_Continue"),
- new CodeRangeEntry("xidstart", "CR_XID_Start"),
- new CodeRangeEntry("xids", "CR_XID_Start"),
- new CodeRangeEntry("xidcontinue", "CR_XID_Continue"),
- new CodeRangeEntry("xidc", "CR_XID_Continue"),
- new CodeRangeEntry("defaultignorablecodepoint", "CR_Default_Ignorable_Code_Point"),
- new CodeRangeEntry("di", "CR_Default_Ignorable_Code_Point"),
- new CodeRangeEntry("graphemeextend", "CR_Grapheme_Extend"),
- new CodeRangeEntry("grext", "CR_Grapheme_Extend"),
- new CodeRangeEntry("graphemebase", "CR_Grapheme_Base"),
- new CodeRangeEntry("grbase", "CR_Grapheme_Base"),
- new CodeRangeEntry("graphemelink", "CR_Grapheme_Link"),
- new CodeRangeEntry("grlink", "CR_Grapheme_Link"),
- new CodeRangeEntry("common", "CR_Common"),
- new CodeRangeEntry("zyyy", "CR_Common"),
- new CodeRangeEntry("latin", "CR_Latin"),
- new CodeRangeEntry("latn", "CR_Latin"),
- new CodeRangeEntry("greek", "CR_Greek"),
- new CodeRangeEntry("grek", "CR_Greek"),
- new CodeRangeEntry("cyrillic", "CR_Cyrillic"),
- new CodeRangeEntry("cyrl", "CR_Cyrillic"),
- new CodeRangeEntry("armenian", "CR_Armenian"),
- new CodeRangeEntry("armn", "CR_Armenian"),
- new CodeRangeEntry("hebrew", "CR_Hebrew"),
- new CodeRangeEntry("hebr", "CR_Hebrew"),
- new CodeRangeEntry("arabic", "CR_Arabic"),
- new CodeRangeEntry("arab", "CR_Arabic"),
- new CodeRangeEntry("syriac", "CR_Syriac"),
- new CodeRangeEntry("syrc", "CR_Syriac"),
- new CodeRangeEntry("thaana", "CR_Thaana"),
- new CodeRangeEntry("thaa", "CR_Thaana"),
- new CodeRangeEntry("devanagari", "CR_Devanagari"),
- new CodeRangeEntry("deva", "CR_Devanagari"),
- new CodeRangeEntry("bengali", "CR_Bengali"),
- new CodeRangeEntry("beng", "CR_Bengali"),
- new CodeRangeEntry("gurmukhi", "CR_Gurmukhi"),
- new CodeRangeEntry("guru", "CR_Gurmukhi"),
- new CodeRangeEntry("gujarati", "CR_Gujarati"),
- new CodeRangeEntry("gujr", "CR_Gujarati"),
- new CodeRangeEntry("oriya", "CR_Oriya"),
- new CodeRangeEntry("orya", "CR_Oriya"),
- new CodeRangeEntry("tamil", "CR_Tamil"),
- new CodeRangeEntry("taml", "CR_Tamil"),
- new CodeRangeEntry("telugu", "CR_Telugu"),
- new CodeRangeEntry("telu", "CR_Telugu"),
- new CodeRangeEntry("kannada", "CR_Kannada"),
- new CodeRangeEntry("knda", "CR_Kannada"),
- new CodeRangeEntry("malayalam", "CR_Malayalam"),
- new CodeRangeEntry("mlym", "CR_Malayalam"),
- new CodeRangeEntry("sinhala", "CR_Sinhala"),
- new CodeRangeEntry("sinh", "CR_Sinhala"),
- new CodeRangeEntry("thai", "CR_Thai"),
- new CodeRangeEntry("lao", "CR_Lao"),
- new CodeRangeEntry("laoo", "CR_Lao"),
- new CodeRangeEntry("tibetan", "CR_Tibetan"),
- new CodeRangeEntry("tibt", "CR_Tibetan"),
- new CodeRangeEntry("myanmar", "CR_Myanmar"),
- new CodeRangeEntry("mymr", "CR_Myanmar"),
- new CodeRangeEntry("georgian", "CR_Georgian"),
- new CodeRangeEntry("geor", "CR_Georgian"),
- new CodeRangeEntry("hangul", "CR_Hangul"),
- new CodeRangeEntry("hang", "CR_Hangul"),
- new CodeRangeEntry("ethiopic", "CR_Ethiopic"),
- new CodeRangeEntry("ethi", "CR_Ethiopic"),
- new CodeRangeEntry("cherokee", "CR_Cherokee"),
- new CodeRangeEntry("cher", "CR_Cherokee"),
- new CodeRangeEntry("canadianaboriginal", "CR_Canadian_Aboriginal"),
- new CodeRangeEntry("cans", "CR_Canadian_Aboriginal"),
- new CodeRangeEntry("ogham", "CR_Ogham"),
- new CodeRangeEntry("ogam", "CR_Ogham"),
- new CodeRangeEntry("runic", "CR_Runic"),
- new CodeRangeEntry("runr", "CR_Runic"),
- new CodeRangeEntry("khmer", "CR_Khmer"),
- new CodeRangeEntry("khmr", "CR_Khmer"),
- new CodeRangeEntry("mongolian", "CR_Mongolian"),
- new CodeRangeEntry("mong", "CR_Mongolian"),
- new CodeRangeEntry("hiragana", "CR_Hiragana"),
- new CodeRangeEntry("hira", "CR_Hiragana"),
- new CodeRangeEntry("katakana", "CR_Katakana"),
- new CodeRangeEntry("kana", "CR_Katakana"),
- new CodeRangeEntry("bopomofo", "CR_Bopomofo"),
- new CodeRangeEntry("bopo", "CR_Bopomofo"),
- new CodeRangeEntry("han", "CR_Han"),
- new CodeRangeEntry("hani", "CR_Han"),
- new CodeRangeEntry("yi", "CR_Yi"),
- new CodeRangeEntry("yiii", "CR_Yi"),
- new CodeRangeEntry("olditalic", "CR_Old_Italic"),
- new CodeRangeEntry("ital", "CR_Old_Italic"),
- new CodeRangeEntry("gothic", "CR_Gothic"),
- new CodeRangeEntry("goth", "CR_Gothic"),
- new CodeRangeEntry("indeseret", "CR_Deseret"),
- new CodeRangeEntry("inherited", "CR_Inherited"),
- new CodeRangeEntry("qaai", "CR_Inherited"),
- new CodeRangeEntry("zinh", "CR_Inherited"),
- new CodeRangeEntry("tagalog", "CR_Tagalog"),
- new CodeRangeEntry("tglg", "CR_Tagalog"),
- new CodeRangeEntry("hanunoo", "CR_Hanunoo"),
- new CodeRangeEntry("hano", "CR_Hanunoo"),
- new CodeRangeEntry("buhid", "CR_Buhid"),
- new CodeRangeEntry("buhd", "CR_Buhid"),
- new CodeRangeEntry("tagbanwa", "CR_Tagbanwa"),
- new CodeRangeEntry("tagb", "CR_Tagbanwa"),
- new CodeRangeEntry("limbu", "CR_Limbu"),
- new CodeRangeEntry("limb", "CR_Limbu"),
- new CodeRangeEntry("taile", "CR_Tai_Le"),
- new CodeRangeEntry("tale", "CR_Tai_Le"),
- new CodeRangeEntry("linearb", "CR_Linear_B"),
- new CodeRangeEntry("linb", "CR_Linear_B"),
- new CodeRangeEntry("ugaritic", "CR_Ugaritic"),
- new CodeRangeEntry("ugar", "CR_Ugaritic"),
- new CodeRangeEntry("inshavian", "CR_Shavian"),
- new CodeRangeEntry("osmanya", "CR_Osmanya"),
- new CodeRangeEntry("osma", "CR_Osmanya"),
- new CodeRangeEntry("cypriot", "CR_Cypriot"),
- new CodeRangeEntry("cprt", "CR_Cypriot"),
- new CodeRangeEntry("inbraillepatterns", "CR_Braille"),
- new CodeRangeEntry("buginese", "CR_Buginese"),
- new CodeRangeEntry("bugi", "CR_Buginese"),
- new CodeRangeEntry("coptic", "CR_Coptic"),
- new CodeRangeEntry("qaac", "CR_Coptic"),
- new CodeRangeEntry("copt", "CR_Coptic"),
- new CodeRangeEntry("newtailue", "CR_New_Tai_Lue"),
- new CodeRangeEntry("talu", "CR_New_Tai_Lue"),
- new CodeRangeEntry("glagolitic", "CR_Glagolitic"),
- new CodeRangeEntry("glag", "CR_Glagolitic"),
- new CodeRangeEntry("tifinagh", "CR_Tifinagh"),
- new CodeRangeEntry("tfng", "CR_Tifinagh"),
- new CodeRangeEntry("sylotinagri", "CR_Syloti_Nagri"),
- new CodeRangeEntry("sylo", "CR_Syloti_Nagri"),
- new CodeRangeEntry("oldpersian", "CR_Old_Persian"),
- new CodeRangeEntry("xpeo", "CR_Old_Persian"),
- new CodeRangeEntry("kharoshthi", "CR_Kharoshthi"),
- new CodeRangeEntry("khar", "CR_Kharoshthi"),
- new CodeRangeEntry("balinese", "CR_Balinese"),
- new CodeRangeEntry("bali", "CR_Balinese"),
- new CodeRangeEntry("cuneiform", "CR_Cuneiform"),
- new CodeRangeEntry("xsux", "CR_Cuneiform"),
- new CodeRangeEntry("phoenician", "CR_Phoenician"),
- new CodeRangeEntry("phnx", "CR_Phoenician"),
- new CodeRangeEntry("phagspa", "CR_Phags_Pa"),
- new CodeRangeEntry("phag", "CR_Phags_Pa"),
- new CodeRangeEntry("nko", "CR_Nko"),
- new CodeRangeEntry("nkoo", "CR_Nko"),
- new CodeRangeEntry("sundanese", "CR_Sundanese"),
- new CodeRangeEntry("sund", "CR_Sundanese"),
- new CodeRangeEntry("lepcha", "CR_Lepcha"),
- new CodeRangeEntry("lepc", "CR_Lepcha"),
- new CodeRangeEntry("inolchiki", "CR_Ol_Chiki"),
- new CodeRangeEntry("vai", "CR_Vai"),
- new CodeRangeEntry("vaii", "CR_Vai"),
- new CodeRangeEntry("saurashtra", "CR_Saurashtra"),
- new CodeRangeEntry("saur", "CR_Saurashtra"),
- new CodeRangeEntry("kayahli", "CR_Kayah_Li"),
- new CodeRangeEntry("kali", "CR_Kayah_Li"),
- new CodeRangeEntry("rejang", "CR_Rejang"),
- new CodeRangeEntry("rjng", "CR_Rejang"),
- new CodeRangeEntry("lycian", "CR_Lycian"),
- new CodeRangeEntry("lyci", "CR_Lycian"),
- new CodeRangeEntry("carian", "CR_Carian"),
- new CodeRangeEntry("cari", "CR_Carian"),
- new CodeRangeEntry("lydian", "CR_Lydian"),
- new CodeRangeEntry("lydi", "CR_Lydian"),
- new CodeRangeEntry("cham", "CR_Cham"),
- new CodeRangeEntry("taitham", "CR_Tai_Tham"),
- new CodeRangeEntry("lana", "CR_Tai_Tham"),
- new CodeRangeEntry("taiviet", "CR_Tai_Viet"),
- new CodeRangeEntry("tavt", "CR_Tai_Viet"),
- new CodeRangeEntry("avestan", "CR_Avestan"),
- new CodeRangeEntry("avst", "CR_Avestan"),
- new CodeRangeEntry("egyptianhieroglyphs", "CR_Egyptian_Hieroglyphs"),
- new CodeRangeEntry("egyp", "CR_Egyptian_Hieroglyphs"),
- new CodeRangeEntry("samaritan", "CR_Samaritan"),
- new CodeRangeEntry("samr", "CR_Samaritan"),
- new CodeRangeEntry("inlisu", "CR_Lisu"),
- new CodeRangeEntry("bamum", "CR_Bamum"),
- new CodeRangeEntry("bamu", "CR_Bamum"),
- new CodeRangeEntry("javanese", "CR_Javanese"),
- new CodeRangeEntry("java", "CR_Javanese"),
- new CodeRangeEntry("meeteimayek", "CR_Meetei_Mayek"),
- new CodeRangeEntry("mtei", "CR_Meetei_Mayek"),
- new CodeRangeEntry("imperialaramaic", "CR_Imperial_Aramaic"),
- new CodeRangeEntry("armi", "CR_Imperial_Aramaic"),
- new CodeRangeEntry("inoldsoutharabian", "CR_Old_South_Arabian"),
- new CodeRangeEntry("inscriptionalparthian", "CR_Inscriptional_Parthian"),
- new CodeRangeEntry("prti", "CR_Inscriptional_Parthian"),
- new CodeRangeEntry("inscriptionalpahlavi", "CR_Inscriptional_Pahlavi"),
- new CodeRangeEntry("phli", "CR_Inscriptional_Pahlavi"),
- new CodeRangeEntry("oldturkic", "CR_Old_Turkic"),
- new CodeRangeEntry("orkh", "CR_Old_Turkic"),
- new CodeRangeEntry("kaithi", "CR_Kaithi"),
- new CodeRangeEntry("kthi", "CR_Kaithi"),
- new CodeRangeEntry("batak", "CR_Batak"),
- new CodeRangeEntry("batk", "CR_Batak"),
- new CodeRangeEntry("brahmi", "CR_Brahmi"),
- new CodeRangeEntry("brah", "CR_Brahmi"),
- new CodeRangeEntry("mandaic", "CR_Mandaic"),
- new CodeRangeEntry("mand", "CR_Mandaic"),
- new CodeRangeEntry("chakma", "CR_Chakma"),
- new CodeRangeEntry("cakm", "CR_Chakma"),
- new CodeRangeEntry("meroiticcursive", "CR_Meroitic_Cursive"),
- new CodeRangeEntry("merc", "CR_Meroitic_Cursive"),
- new CodeRangeEntry("inmeroitichieroglyphs", "CR_Meroitic_Hieroglyphs"),
- new CodeRangeEntry("miao", "CR_Miao"),
- new CodeRangeEntry("plrd", "CR_Miao"),
- new CodeRangeEntry("sharada", "CR_Sharada"),
- new CodeRangeEntry("shrd", "CR_Sharada"),
- new CodeRangeEntry("sorasompeng", "CR_Sora_Sompeng"),
- new CodeRangeEntry("sora", "CR_Sora_Sompeng"),
- new CodeRangeEntry("takri", "CR_Takri"),
- new CodeRangeEntry("takr", "CR_Takri"),
- new CodeRangeEntry("caucasianalbanian", "CR_Caucasian_Albanian"),
- new CodeRangeEntry("aghb", "CR_Caucasian_Albanian"),
- new CodeRangeEntry("bassavah", "CR_Bassa_Vah"),
- new CodeRangeEntry("bass", "CR_Bassa_Vah"),
- new CodeRangeEntry("duployan", "CR_Duployan"),
- new CodeRangeEntry("dupl", "CR_Duployan"),
- new CodeRangeEntry("elbasan", "CR_Elbasan"),
- new CodeRangeEntry("elba", "CR_Elbasan"),
- new CodeRangeEntry("grantha", "CR_Grantha"),
- new CodeRangeEntry("gran", "CR_Grantha"),
- new CodeRangeEntry("pahawhhmong", "CR_Pahawh_Hmong"),
- new CodeRangeEntry("hmng", "CR_Pahawh_Hmong"),
- new CodeRangeEntry("khojki", "CR_Khojki"),
- new CodeRangeEntry("khoj", "CR_Khojki"),
- new CodeRangeEntry("lineara", "CR_Linear_A"),
- new CodeRangeEntry("lina", "CR_Linear_A"),
- new CodeRangeEntry("mahajani", "CR_Mahajani"),
- new CodeRangeEntry("mahj", "CR_Mahajani"),
- new CodeRangeEntry("manichaean", "CR_Manichaean"),
- new CodeRangeEntry("mani", "CR_Manichaean"),
- new CodeRangeEntry("mendekikakui", "CR_Mende_Kikakui"),
- new CodeRangeEntry("mend", "CR_Mende_Kikakui"),
- new CodeRangeEntry("modi", "CR_Modi"),
- new CodeRangeEntry("mro", "CR_Mro"),
- new CodeRangeEntry("mroo", "CR_Mro"),
- new CodeRangeEntry("inoldnortharabian", "CR_Old_North_Arabian"),
- new CodeRangeEntry("nabataean", "CR_Nabataean"),
- new CodeRangeEntry("nbat", "CR_Nabataean"),
- new CodeRangeEntry("inpalmyrene", "CR_Palmyrene"),
- new CodeRangeEntry("paucinhau", "CR_Pau_Cin_Hau"),
- new CodeRangeEntry("pauc", "CR_Pau_Cin_Hau"),
- new CodeRangeEntry("oldpermic", "CR_Old_Permic"),
- new CodeRangeEntry("perm", "CR_Old_Permic"),
- new CodeRangeEntry("psalterpahlavi", "CR_Psalter_Pahlavi"),
- new CodeRangeEntry("phlp", "CR_Psalter_Pahlavi"),
- new CodeRangeEntry("siddham", "CR_Siddham"),
- new CodeRangeEntry("sidd", "CR_Siddham"),
- new CodeRangeEntry("khudawadi", "CR_Khudawadi"),
- new CodeRangeEntry("sind", "CR_Khudawadi"),
- new CodeRangeEntry("tirhuta", "CR_Tirhuta"),
- new CodeRangeEntry("tirh", "CR_Tirhuta"),
- new CodeRangeEntry("warangciti", "CR_Warang_Citi"),
- new CodeRangeEntry("wara", "CR_Warang_Citi"),
- new CodeRangeEntry("ahom", "CR_Ahom"),
- new CodeRangeEntry("anatolianhieroglyphs", "CR_Anatolian_Hieroglyphs"),
- new CodeRangeEntry("hluw", "CR_Anatolian_Hieroglyphs"),
- new CodeRangeEntry("hatran", "CR_Hatran"),
- new CodeRangeEntry("hatr", "CR_Hatran"),
- new CodeRangeEntry("multani", "CR_Multani"),
- new CodeRangeEntry("mult", "CR_Multani"),
- new CodeRangeEntry("oldhungarian", "CR_Old_Hungarian"),
- new CodeRangeEntry("hung", "CR_Old_Hungarian"),
- new CodeRangeEntry("signwriting", "CR_SignWriting"),
- new CodeRangeEntry("sgnw", "CR_SignWriting"),
- new CodeRangeEntry("adlam", "CR_Adlam"),
- new CodeRangeEntry("adlm", "CR_Adlam"),
- new CodeRangeEntry("bhaiksuki", "CR_Bhaiksuki"),
- new CodeRangeEntry("bhks", "CR_Bhaiksuki"),
- new CodeRangeEntry("marchen", "CR_Marchen"),
- new CodeRangeEntry("marc", "CR_Marchen"),
- new CodeRangeEntry("newa", "CR_Newa"),
- new CodeRangeEntry("osage", "CR_Osage"),
- new CodeRangeEntry("osge", "CR_Osage"),
- new CodeRangeEntry("tangut", "CR_Tangut"),
- new CodeRangeEntry("tang", "CR_Tangut"),
- new CodeRangeEntry("masaramgondi", "CR_Masaram_Gondi"),
- new CodeRangeEntry("gonm", "CR_Masaram_Gondi"),
- new CodeRangeEntry("nushu", "CR_Nushu"),
- new CodeRangeEntry("nshu", "CR_Nushu"),
- new CodeRangeEntry("soyombo", "CR_Soyombo"),
- new CodeRangeEntry("soyo", "CR_Soyombo"),
- new CodeRangeEntry("zanabazarsquare", "CR_Zanabazar_Square"),
- new CodeRangeEntry("zanb", "CR_Zanabazar_Square"),
- new CodeRangeEntry("dogra", "CR_Dogra"),
- new CodeRangeEntry("dogr", "CR_Dogra"),
- new CodeRangeEntry("gunjalagondi", "CR_Gunjala_Gondi"),
- new CodeRangeEntry("gong", "CR_Gunjala_Gondi"),
- new CodeRangeEntry("makasar", "CR_Makasar"),
- new CodeRangeEntry("maka", "CR_Makasar"),
- new CodeRangeEntry("medefaidrin", "CR_Medefaidrin"),
- new CodeRangeEntry("medf", "CR_Medefaidrin"),
- new CodeRangeEntry("hanifirohingya", "CR_Hanifi_Rohingya"),
- new CodeRangeEntry("rohg", "CR_Hanifi_Rohingya"),
- new CodeRangeEntry("sogdian", "CR_Sogdian"),
- new CodeRangeEntry("sogd", "CR_Sogdian"),
- new CodeRangeEntry("oldsogdian", "CR_Old_Sogdian"),
- new CodeRangeEntry("sogo", "CR_Old_Sogdian"),
- new CodeRangeEntry("elymaic", "CR_Elymaic"),
- new CodeRangeEntry("elym", "CR_Elymaic"),
- new CodeRangeEntry("nandinagari", "CR_Nandinagari"),
- new CodeRangeEntry("nand", "CR_Nandinagari"),
- new CodeRangeEntry("nyiakengpuachuehmong", "CR_Nyiakeng_Puachue_Hmong"),
- new CodeRangeEntry("hmnp", "CR_Nyiakeng_Puachue_Hmong"),
- new CodeRangeEntry("wancho", "CR_Wancho"),
- new CodeRangeEntry("wcho", "CR_Wancho"),
- new CodeRangeEntry("whitespace", "CR_Space"),
- new CodeRangeEntry("wspace", "CR_Space"),
- new CodeRangeEntry("bidicontrol", "CR_Bidi_Control"),
- new CodeRangeEntry("bidic", "CR_Bidi_Control"),
- new CodeRangeEntry("joincontrol", "CR_Join_Control"),
- new CodeRangeEntry("joinc", "CR_Join_Control"),
- new CodeRangeEntry("dash", "CR_Dash"),
- new CodeRangeEntry("hyphen", "CR_Hyphen"),
- new CodeRangeEntry("quotationmark", "CR_Quotation_Mark"),
- new CodeRangeEntry("qmark", "CR_Quotation_Mark"),
- new CodeRangeEntry("terminalpunctuation", "CR_Terminal_Punctuation"),
- new CodeRangeEntry("term", "CR_Terminal_Punctuation"),
- new CodeRangeEntry("othermath", "CR_Other_Math"),
- new CodeRangeEntry("omath", "CR_Other_Math"),
- new CodeRangeEntry("hexdigit", "CR_Hex_Digit"),
- new CodeRangeEntry("hex", "CR_Hex_Digit"),
- new CodeRangeEntry("asciihexdigit", "CR_XDigit"),
- new CodeRangeEntry("ahex", "CR_XDigit"),
- new CodeRangeEntry("otheralphabetic", "CR_Other_Alphabetic"),
- new CodeRangeEntry("oalpha", "CR_Other_Alphabetic"),
- new CodeRangeEntry("ideographic", "CR_Ideographic"),
- new CodeRangeEntry("ideo", "CR_Ideographic"),
- new CodeRangeEntry("diacritic", "CR_Diacritic"),
- new CodeRangeEntry("dia", "CR_Diacritic"),
- new CodeRangeEntry("extender", "CR_Extender"),
- new CodeRangeEntry("ext", "CR_Extender"),
- new CodeRangeEntry("otherlowercase", "CR_Other_Lowercase"),
- new CodeRangeEntry("olower", "CR_Other_Lowercase"),
- new CodeRangeEntry("otheruppercase", "CR_Other_Uppercase"),
- new CodeRangeEntry("oupper", "CR_Other_Uppercase"),
- new CodeRangeEntry("noncharactercodepoint", "CR_Noncharacter_Code_Point"),
- new CodeRangeEntry("nchar", "CR_Noncharacter_Code_Point"),
- new CodeRangeEntry("othergraphemeextend", "CR_Other_Grapheme_Extend"),
- new CodeRangeEntry("ogrext", "CR_Other_Grapheme_Extend"),
- new CodeRangeEntry("idsbinaryoperator", "CR_IDS_Binary_Operator"),
- new CodeRangeEntry("idsb", "CR_IDS_Binary_Operator"),
- new CodeRangeEntry("idstrinaryoperator", "CR_IDS_Trinary_Operator"),
- new CodeRangeEntry("idst", "CR_IDS_Trinary_Operator"),
- new CodeRangeEntry("radical", "CR_Radical"),
- new CodeRangeEntry("unifiedideograph", "CR_Unified_Ideograph"),
- new CodeRangeEntry("uideo", "CR_Unified_Ideograph"),
- new CodeRangeEntry("otherdefaultignorablecodepoint", "CR_Other_Default_Ignorable_Code_Point"),
- new CodeRangeEntry("odi", "CR_Other_Default_Ignorable_Code_Point"),
- new CodeRangeEntry("deprecated", "CR_Deprecated"),
- new CodeRangeEntry("dep", "CR_Deprecated"),
- new CodeRangeEntry("softdotted", "CR_Soft_Dotted"),
- new CodeRangeEntry("sd", "CR_Soft_Dotted"),
- new CodeRangeEntry("logicalorderexception", "CR_Logical_Order_Exception"),
- new CodeRangeEntry("loe", "CR_Logical_Order_Exception"),
- new CodeRangeEntry("otheridstart", "CR_Other_ID_Start"),
- new CodeRangeEntry("oids", "CR_Other_ID_Start"),
- new CodeRangeEntry("otheridcontinue", "CR_Other_ID_Continue"),
- new CodeRangeEntry("oidc", "CR_Other_ID_Continue"),
- new CodeRangeEntry("sentenceterminal", "CR_Sentence_Terminal"),
- new CodeRangeEntry("sterm", "CR_Sentence_Terminal"),
- new CodeRangeEntry("variationselector", "CR_Variation_Selector"),
- new CodeRangeEntry("vs", "CR_Variation_Selector"),
- new CodeRangeEntry("patternwhitespace", "CR_Pattern_White_Space"),
- new CodeRangeEntry("patws", "CR_Pattern_White_Space"),
- new CodeRangeEntry("patternsyntax", "CR_Pattern_Syntax"),
- new CodeRangeEntry("patsyn", "CR_Pattern_Syntax"),
- new CodeRangeEntry("prependedconcatenationmark", "CR_Prepended_Concatenation_Mark"),
- new CodeRangeEntry("pcm", "CR_Prepended_Concatenation_Mark"),
- new CodeRangeEntry("graphemeclusterbreak=regionalindicator", "CR_Regional_Indicator"),
- new CodeRangeEntry("emoji", "CR_Emoji"),
- new CodeRangeEntry("emojipresentation", "CR_Emoji_Presentation"),
- new CodeRangeEntry("emojimodifier", "CR_Emoji_Modifier"),
- new CodeRangeEntry("emojimodifierbase", "CR_Emoji_Modifier_Base"),
- new CodeRangeEntry("emojicomponent", "CR_Emoji_Component"),
- new CodeRangeEntry("extendedpictographic", "CR_Extended_Pictographic"),
- new CodeRangeEntry("unknown", "CR_Unknown"),
- new CodeRangeEntry("zzzz", "CR_Unknown"),
- new CodeRangeEntry("age=1.1", "CR_Age_1_1"),
- new CodeRangeEntry("age=2.0", "CR_Age_2_0"),
- new CodeRangeEntry("age=2.1", "CR_Age_2_1"),
- new CodeRangeEntry("age=3.0", "CR_Age_3_0"),
- new CodeRangeEntry("age=3.1", "CR_Age_3_1"),
- new CodeRangeEntry("age=3.2", "CR_Age_3_2"),
- new CodeRangeEntry("age=4.0", "CR_Age_4_0"),
- new CodeRangeEntry("age=4.1", "CR_Age_4_1"),
- new CodeRangeEntry("age=5.0", "CR_Age_5_0"),
- new CodeRangeEntry("age=5.1", "CR_Age_5_1"),
- new CodeRangeEntry("age=5.2", "CR_Age_5_2"),
- new CodeRangeEntry("age=6.0", "CR_Age_6_0"),
- new CodeRangeEntry("age=6.1", "CR_Age_6_1"),
- new CodeRangeEntry("age=6.2", "CR_Age_6_2"),
- new CodeRangeEntry("age=6.3", "CR_Age_6_3"),
- new CodeRangeEntry("age=7.0", "CR_Age_7_0"),
- new CodeRangeEntry("age=8.0", "CR_Age_8_0"),
- new CodeRangeEntry("age=9.0", "CR_Age_9_0"),
- new CodeRangeEntry("age=10.0", "CR_Age_10_0"),
- new CodeRangeEntry("age=11.0", "CR_Age_11_0"),
- new CodeRangeEntry("age=12.0", "CR_Age_12_0"),
- new CodeRangeEntry("age=12.1", "CR_Age_12_1"),
- new CodeRangeEntry("graphemeclusterbreak=prepend", "CR_Grapheme_Cluster_Break_Prepend"),
- new CodeRangeEntry("graphemeclusterbreak=cr", "CR_Grapheme_Cluster_Break_CR"),
- new CodeRangeEntry("graphemeclusterbreak=lf", "CR_NEWLINE"),
- new CodeRangeEntry("graphemeclusterbreak=control", "CR_Grapheme_Cluster_Break_Control"),
- new CodeRangeEntry("graphemeclusterbreak=extend", "CR_Grapheme_Cluster_Break_Extend"),
- new CodeRangeEntry("regionalindicator", "CR_Regional_Indicator"),
- new CodeRangeEntry("ri", "CR_Regional_Indicator"),
- new CodeRangeEntry("graphemeclusterbreak=spacingmark", "CR_Grapheme_Cluster_Break_SpacingMark"),
- new CodeRangeEntry("graphemeclusterbreak=l", "CR_Grapheme_Cluster_Break_L"),
- new CodeRangeEntry("graphemeclusterbreak=v", "CR_Grapheme_Cluster_Break_V"),
- new CodeRangeEntry("graphemeclusterbreak=t", "CR_Grapheme_Cluster_Break_T"),
- new CodeRangeEntry("graphemeclusterbreak=lv", "CR_Grapheme_Cluster_Break_LV"),
- new CodeRangeEntry("graphemeclusterbreak=lvt", "CR_Grapheme_Cluster_Break_LVT"),
- new CodeRangeEntry("graphemeclusterbreak=zwj", "CR_Grapheme_Cluster_Break_ZWJ"),
- new CodeRangeEntry("inbasiclatin", "CR_ASCII"),
- new CodeRangeEntry("inlatin1supplement", "CR_In_Latin_1_Supplement"),
- new CodeRangeEntry("inlatinextendeda", "CR_In_Latin_Extended_A"),
- new CodeRangeEntry("inlatinextendedb", "CR_In_Latin_Extended_B"),
- new CodeRangeEntry("inipaextensions", "CR_In_IPA_Extensions"),
- new CodeRangeEntry("inspacingmodifierletters", "CR_In_Spacing_Modifier_Letters"),
- new CodeRangeEntry("incombiningdiacriticalmarks", "CR_In_Combining_Diacritical_Marks"),
- new CodeRangeEntry("ingreekandcoptic", "CR_In_Greek_and_Coptic"),
- new CodeRangeEntry("incyrillic", "CR_In_Cyrillic"),
- new CodeRangeEntry("incyrillicsupplement", "CR_In_Cyrillic_Supplement"),
- new CodeRangeEntry("inarmenian", "CR_In_Armenian"),
- new CodeRangeEntry("inhebrew", "CR_In_Hebrew"),
- new CodeRangeEntry("inarabic", "CR_In_Arabic"),
- new CodeRangeEntry("insyriac", "CR_In_Syriac"),
- new CodeRangeEntry("inarabicsupplement", "CR_In_Arabic_Supplement"),
- new CodeRangeEntry("inthaana", "CR_In_Thaana"),
- new CodeRangeEntry("innko", "CR_In_NKo"),
- new CodeRangeEntry("insamaritan", "CR_In_Samaritan"),
- new CodeRangeEntry("inmandaic", "CR_In_Mandaic"),
- new CodeRangeEntry("insyriacsupplement", "CR_In_Syriac_Supplement"),
- new CodeRangeEntry("inarabicextendeda", "CR_In_Arabic_Extended_A"),
- new CodeRangeEntry("indevanagari", "CR_In_Devanagari"),
- new CodeRangeEntry("inbengali", "CR_In_Bengali"),
- new CodeRangeEntry("ingurmukhi", "CR_In_Gurmukhi"),
- new CodeRangeEntry("ingujarati", "CR_In_Gujarati"),
- new CodeRangeEntry("inoriya", "CR_In_Oriya"),
- new CodeRangeEntry("intamil", "CR_In_Tamil"),
- new CodeRangeEntry("intelugu", "CR_In_Telugu"),
- new CodeRangeEntry("inkannada", "CR_In_Kannada"),
- new CodeRangeEntry("inmalayalam", "CR_In_Malayalam"),
- new CodeRangeEntry("insinhala", "CR_In_Sinhala"),
- new CodeRangeEntry("inthai", "CR_In_Thai"),
- new CodeRangeEntry("inlao", "CR_In_Lao"),
- new CodeRangeEntry("intibetan", "CR_In_Tibetan"),
- new CodeRangeEntry("inmyanmar", "CR_In_Myanmar"),
- new CodeRangeEntry("ingeorgian", "CR_In_Georgian"),
- new CodeRangeEntry("inhanguljamo", "CR_In_Hangul_Jamo"),
- new CodeRangeEntry("inethiopic", "CR_In_Ethiopic"),
- new CodeRangeEntry("inethiopicsupplement", "CR_In_Ethiopic_Supplement"),
- new CodeRangeEntry("incherokee", "CR_In_Cherokee"),
- new CodeRangeEntry("inunifiedcanadianaboriginalsyllabics", "CR_In_Unified_Canadian_Aboriginal_Syllabics"),
- new CodeRangeEntry("inogham", "CR_In_Ogham"),
- new CodeRangeEntry("inrunic", "CR_In_Runic"),
- new CodeRangeEntry("intagalog", "CR_In_Tagalog"),
- new CodeRangeEntry("inhanunoo", "CR_In_Hanunoo"),
- new CodeRangeEntry("inbuhid", "CR_In_Buhid"),
- new CodeRangeEntry("intagbanwa", "CR_In_Tagbanwa"),
- new CodeRangeEntry("inkhmer", "CR_In_Khmer"),
- new CodeRangeEntry("inmongolian", "CR_In_Mongolian"),
- new CodeRangeEntry("inunifiedcanadianaboriginalsyllabicsextended", "CR_In_Unified_Canadian_Aboriginal_Syllabics_Extended"),
- new CodeRangeEntry("inlimbu", "CR_In_Limbu"),
- new CodeRangeEntry("intaile", "CR_In_Tai_Le"),
- new CodeRangeEntry("innewtailue", "CR_In_New_Tai_Lue"),
- new CodeRangeEntry("inkhmersymbols", "CR_In_Khmer_Symbols"),
- new CodeRangeEntry("inbuginese", "CR_In_Buginese"),
- new CodeRangeEntry("intaitham", "CR_In_Tai_Tham"),
- new CodeRangeEntry("incombiningdiacriticalmarksextended", "CR_In_Combining_Diacritical_Marks_Extended"),
- new CodeRangeEntry("inbalinese", "CR_In_Balinese"),
- new CodeRangeEntry("insundanese", "CR_In_Sundanese"),
- new CodeRangeEntry("inbatak", "CR_In_Batak"),
- new CodeRangeEntry("inlepcha", "CR_In_Lepcha"),
- new CodeRangeEntry("olchiki", "CR_Ol_Chiki"),
- new CodeRangeEntry("olck", "CR_Ol_Chiki"),
- new CodeRangeEntry("incyrillicextendedc", "CR_In_Cyrillic_Extended_C"),
- new CodeRangeEntry("ingeorgianextended", "CR_In_Georgian_Extended"),
- new CodeRangeEntry("insundanesesupplement", "CR_In_Sundanese_Supplement"),
- new CodeRangeEntry("invedicextensions", "CR_In_Vedic_Extensions"),
- new CodeRangeEntry("inphoneticextensions", "CR_In_Phonetic_Extensions"),
- new CodeRangeEntry("inphoneticextensionssupplement", "CR_In_Phonetic_Extensions_Supplement"),
- new CodeRangeEntry("incombiningdiacriticalmarkssupplement", "CR_In_Combining_Diacritical_Marks_Supplement"),
- new CodeRangeEntry("inlatinextendedadditional", "CR_In_Latin_Extended_Additional"),
- new CodeRangeEntry("ingreekextended", "CR_In_Greek_Extended"),
- new CodeRangeEntry("ingeneralpunctuation", "CR_In_General_Punctuation"),
- new CodeRangeEntry("insuperscriptsandsubscripts", "CR_In_Superscripts_and_Subscripts"),
- new CodeRangeEntry("incurrencysymbols", "CR_In_Currency_Symbols"),
- new CodeRangeEntry("incombiningdiacriticalmarksforsymbols", "CR_In_Combining_Diacritical_Marks_for_Symbols"),
- new CodeRangeEntry("inletterlikesymbols", "CR_In_Letterlike_Symbols"),
- new CodeRangeEntry("innumberforms", "CR_In_Number_Forms"),
- new CodeRangeEntry("inarrows", "CR_In_Arrows"),
- new CodeRangeEntry("inmathematicaloperators", "CR_In_Mathematical_Operators"),
- new CodeRangeEntry("inmiscellaneoustechnical", "CR_In_Miscellaneous_Technical"),
- new CodeRangeEntry("incontrolpictures", "CR_In_Control_Pictures"),
- new CodeRangeEntry("inopticalcharacterrecognition", "CR_In_Optical_Character_Recognition"),
- new CodeRangeEntry("inenclosedalphanumerics", "CR_In_Enclosed_Alphanumerics"),
- new CodeRangeEntry("inboxdrawing", "CR_In_Box_Drawing"),
- new CodeRangeEntry("inblockelements", "CR_In_Block_Elements"),
- new CodeRangeEntry("ingeometricshapes", "CR_In_Geometric_Shapes"),
- new CodeRangeEntry("inmiscellaneoussymbols", "CR_In_Miscellaneous_Symbols"),
- new CodeRangeEntry("indingbats", "CR_In_Dingbats"),
- new CodeRangeEntry("inmiscellaneousmathematicalsymbolsa", "CR_In_Miscellaneous_Mathematical_Symbols_A"),
- new CodeRangeEntry("insupplementalarrowsa", "CR_In_Supplemental_Arrows_A"),
- new CodeRangeEntry("braille", "CR_Braille"),
- new CodeRangeEntry("brai", "CR_Braille"),
- new CodeRangeEntry("insupplementalarrowsb", "CR_In_Supplemental_Arrows_B"),
- new CodeRangeEntry("inmiscellaneousmathematicalsymbolsb", "CR_In_Miscellaneous_Mathematical_Symbols_B"),
- new CodeRangeEntry("insupplementalmathematicaloperators", "CR_In_Supplemental_Mathematical_Operators"),
- new CodeRangeEntry("inmiscellaneoussymbolsandarrows", "CR_In_Miscellaneous_Symbols_and_Arrows"),
- new CodeRangeEntry("inglagolitic", "CR_In_Glagolitic"),
- new CodeRangeEntry("inlatinextendedc", "CR_In_Latin_Extended_C"),
- new CodeRangeEntry("incoptic", "CR_In_Coptic"),
- new CodeRangeEntry("ingeorgiansupplement", "CR_In_Georgian_Supplement"),
- new CodeRangeEntry("intifinagh", "CR_In_Tifinagh"),
- new CodeRangeEntry("inethiopicextended", "CR_In_Ethiopic_Extended"),
- new CodeRangeEntry("incyrillicextendeda", "CR_In_Cyrillic_Extended_A"),
- new CodeRangeEntry("insupplementalpunctuation", "CR_In_Supplemental_Punctuation"),
- new CodeRangeEntry("incjkradicalssupplement", "CR_In_CJK_Radicals_Supplement"),
- new CodeRangeEntry("inkangxiradicals", "CR_In_Kangxi_Radicals"),
- new CodeRangeEntry("inideographicdescriptioncharacters", "CR_In_Ideographic_Description_Characters"),
- new CodeRangeEntry("incjksymbolsandpunctuation", "CR_In_CJK_Symbols_and_Punctuation"),
- new CodeRangeEntry("inhiragana", "CR_In_Hiragana"),
- new CodeRangeEntry("inkatakana", "CR_In_Katakana"),
- new CodeRangeEntry("inbopomofo", "CR_In_Bopomofo"),
- new CodeRangeEntry("inhangulcompatibilityjamo", "CR_In_Hangul_Compatibility_Jamo"),
- new CodeRangeEntry("inkanbun", "CR_In_Kanbun"),
- new CodeRangeEntry("inbopomofoextended", "CR_In_Bopomofo_Extended"),
- new CodeRangeEntry("incjkstrokes", "CR_In_CJK_Strokes"),
- new CodeRangeEntry("inkatakanaphoneticextensions", "CR_In_Katakana_Phonetic_Extensions"),
- new CodeRangeEntry("inenclosedcjklettersandmonths", "CR_In_Enclosed_CJK_Letters_and_Months"),
- new CodeRangeEntry("incjkcompatibility", "CR_In_CJK_Compatibility"),
- new CodeRangeEntry("incjkunifiedideographsextensiona", "CR_In_CJK_Unified_Ideographs_Extension_A"),
- new CodeRangeEntry("inyijinghexagramsymbols", "CR_In_Yijing_Hexagram_Symbols"),
- new CodeRangeEntry("incjkunifiedideographs", "CR_In_CJK_Unified_Ideographs"),
- new CodeRangeEntry("inyisyllables", "CR_In_Yi_Syllables"),
- new CodeRangeEntry("inyiradicals", "CR_In_Yi_Radicals"),
- new CodeRangeEntry("lisu", "CR_Lisu"),
- new CodeRangeEntry("invai", "CR_In_Vai"),
- new CodeRangeEntry("incyrillicextendedb", "CR_In_Cyrillic_Extended_B"),
- new CodeRangeEntry("inbamum", "CR_In_Bamum"),
- new CodeRangeEntry("inmodifiertoneletters", "CR_In_Modifier_Tone_Letters"),
- new CodeRangeEntry("inlatinextendedd", "CR_In_Latin_Extended_D"),
- new CodeRangeEntry("insylotinagri", "CR_In_Syloti_Nagri"),
- new CodeRangeEntry("incommonindicnumberforms", "CR_In_Common_Indic_Number_Forms"),
- new CodeRangeEntry("inphagspa", "CR_In_Phags_pa"),
- new CodeRangeEntry("insaurashtra", "CR_In_Saurashtra"),
- new CodeRangeEntry("indevanagariextended", "CR_In_Devanagari_Extended"),
- new CodeRangeEntry("inkayahli", "CR_In_Kayah_Li"),
- new CodeRangeEntry("inrejang", "CR_In_Rejang"),
- new CodeRangeEntry("inhanguljamoextendeda", "CR_In_Hangul_Jamo_Extended_A"),
- new CodeRangeEntry("injavanese", "CR_In_Javanese"),
- new CodeRangeEntry("inmyanmarextendedb", "CR_In_Myanmar_Extended_B"),
- new CodeRangeEntry("incham", "CR_In_Cham"),
- new CodeRangeEntry("inmyanmarextendeda", "CR_In_Myanmar_Extended_A"),
- new CodeRangeEntry("intaiviet", "CR_In_Tai_Viet"),
- new CodeRangeEntry("inmeeteimayekextensions", "CR_In_Meetei_Mayek_Extensions"),
- new CodeRangeEntry("inethiopicextendeda", "CR_In_Ethiopic_Extended_A"),
- new CodeRangeEntry("inlatinextendede", "CR_In_Latin_Extended_E"),
- new CodeRangeEntry("incherokeesupplement", "CR_In_Cherokee_Supplement"),
- new CodeRangeEntry("inmeeteimayek", "CR_In_Meetei_Mayek"),
- new CodeRangeEntry("inhangulsyllables", "CR_In_Hangul_Syllables"),
- new CodeRangeEntry("inhanguljamoextendedb", "CR_In_Hangul_Jamo_Extended_B"),
- new CodeRangeEntry("inhighsurrogates", "CR_In_High_Surrogates"),
- new CodeRangeEntry("inhighprivateusesurrogates", "CR_In_High_Private_Use_Surrogates"),
- new CodeRangeEntry("inlowsurrogates", "CR_In_Low_Surrogates"),
- new CodeRangeEntry("inprivateusearea", "CR_In_Private_Use_Area"),
- new CodeRangeEntry("incjkcompatibilityideographs", "CR_In_CJK_Compatibility_Ideographs"),
- new CodeRangeEntry("inalphabeticpresentationforms", "CR_In_Alphabetic_Presentation_Forms"),
- new CodeRangeEntry("inarabicpresentationformsa", "CR_In_Arabic_Presentation_Forms_A"),
- new CodeRangeEntry("invariationselectors", "CR_In_Variation_Selectors"),
- new CodeRangeEntry("inverticalforms", "CR_In_Vertical_Forms"),
- new CodeRangeEntry("incombininghalfmarks", "CR_In_Combining_Half_Marks"),
- new CodeRangeEntry("incjkcompatibilityforms", "CR_In_CJK_Compatibility_Forms"),
- new CodeRangeEntry("insmallformvariants", "CR_In_Small_Form_Variants"),
- new CodeRangeEntry("inarabicpresentationformsb", "CR_In_Arabic_Presentation_Forms_B"),
- new CodeRangeEntry("inhalfwidthandfullwidthforms", "CR_In_Halfwidth_and_Fullwidth_Forms"),
- new CodeRangeEntry("inspecials", "CR_In_Specials"),
- new CodeRangeEntry("inlinearbsyllabary", "CR_In_Linear_B_Syllabary"),
- new CodeRangeEntry("inlinearbideograms", "CR_In_Linear_B_Ideograms"),
- new CodeRangeEntry("inaegeannumbers", "CR_In_Aegean_Numbers"),
- new CodeRangeEntry("inancientgreeknumbers", "CR_In_Ancient_Greek_Numbers"),
- new CodeRangeEntry("inancientsymbols", "CR_In_Ancient_Symbols"),
- new CodeRangeEntry("inphaistosdisc", "CR_In_Phaistos_Disc"),
- new CodeRangeEntry("inlycian", "CR_In_Lycian"),
- new CodeRangeEntry("incarian", "CR_In_Carian"),
- new CodeRangeEntry("incopticepactnumbers", "CR_In_Coptic_Epact_Numbers"),
- new CodeRangeEntry("inolditalic", "CR_In_Old_Italic"),
- new CodeRangeEntry("ingothic", "CR_In_Gothic"),
- new CodeRangeEntry("inoldpermic", "CR_In_Old_Permic"),
- new CodeRangeEntry("inugaritic", "CR_In_Ugaritic"),
- new CodeRangeEntry("inoldpersian", "CR_In_Old_Persian"),
- new CodeRangeEntry("deseret", "CR_Deseret"),
- new CodeRangeEntry("dsrt", "CR_Deseret"),
- new CodeRangeEntry("shavian", "CR_Shavian"),
- new CodeRangeEntry("shaw", "CR_Shavian"),
- new CodeRangeEntry("inosmanya", "CR_In_Osmanya"),
- new CodeRangeEntry("inosage", "CR_In_Osage"),
- new CodeRangeEntry("inelbasan", "CR_In_Elbasan"),
- new CodeRangeEntry("incaucasianalbanian", "CR_In_Caucasian_Albanian"),
- new CodeRangeEntry("inlineara", "CR_In_Linear_A"),
- new CodeRangeEntry("incypriotsyllabary", "CR_In_Cypriot_Syllabary"),
- new CodeRangeEntry("inimperialaramaic", "CR_In_Imperial_Aramaic"),
- new CodeRangeEntry("palmyrene", "CR_Palmyrene"),
- new CodeRangeEntry("palm", "CR_Palmyrene"),
- new CodeRangeEntry("innabataean", "CR_In_Nabataean"),
- new CodeRangeEntry("inhatran", "CR_In_Hatran"),
- new CodeRangeEntry("inphoenician", "CR_In_Phoenician"),
- new CodeRangeEntry("inlydian", "CR_In_Lydian"),
- new CodeRangeEntry("meroitichieroglyphs", "CR_Meroitic_Hieroglyphs"),
- new CodeRangeEntry("mero", "CR_Meroitic_Hieroglyphs"),
- new CodeRangeEntry("inmeroiticcursive", "CR_In_Meroitic_Cursive"),
- new CodeRangeEntry("inkharoshthi", "CR_In_Kharoshthi"),
- new CodeRangeEntry("oldsoutharabian", "CR_Old_South_Arabian"),
- new CodeRangeEntry("sarb", "CR_Old_South_Arabian"),
- new CodeRangeEntry("oldnortharabian", "CR_Old_North_Arabian"),
- new CodeRangeEntry("narb", "CR_Old_North_Arabian"),
- new CodeRangeEntry("inmanichaean", "CR_In_Manichaean"),
- new CodeRangeEntry("inavestan", "CR_In_Avestan"),
- new CodeRangeEntry("ininscriptionalparthian", "CR_In_Inscriptional_Parthian"),
- new CodeRangeEntry("ininscriptionalpahlavi", "CR_In_Inscriptional_Pahlavi"),
- new CodeRangeEntry("inpsalterpahlavi", "CR_In_Psalter_Pahlavi"),
- new CodeRangeEntry("inoldturkic", "CR_In_Old_Turkic"),
- new CodeRangeEntry("inoldhungarian", "CR_In_Old_Hungarian"),
- new CodeRangeEntry("inhanifirohingya", "CR_In_Hanifi_Rohingya"),
- new CodeRangeEntry("inruminumeralsymbols", "CR_In_Rumi_Numeral_Symbols"),
- new CodeRangeEntry("inoldsogdian", "CR_In_Old_Sogdian"),
- new CodeRangeEntry("insogdian", "CR_In_Sogdian"),
- new CodeRangeEntry("inelymaic", "CR_In_Elymaic"),
- new CodeRangeEntry("inbrahmi", "CR_In_Brahmi"),
- new CodeRangeEntry("inkaithi", "CR_In_Kaithi"),
- new CodeRangeEntry("insorasompeng", "CR_In_Sora_Sompeng"),
- new CodeRangeEntry("inchakma", "CR_In_Chakma"),
- new CodeRangeEntry("inmahajani", "CR_In_Mahajani"),
- new CodeRangeEntry("insharada", "CR_In_Sharada"),
- new CodeRangeEntry("insinhalaarchaicnumbers", "CR_In_Sinhala_Archaic_Numbers"),
- new CodeRangeEntry("inkhojki", "CR_In_Khojki"),
- new CodeRangeEntry("inmultani", "CR_In_Multani"),
- new CodeRangeEntry("inkhudawadi", "CR_In_Khudawadi"),
- new CodeRangeEntry("ingrantha", "CR_In_Grantha"),
- new CodeRangeEntry("innewa", "CR_In_Newa"),
- new CodeRangeEntry("intirhuta", "CR_In_Tirhuta"),
- new CodeRangeEntry("insiddham", "CR_In_Siddham"),
- new CodeRangeEntry("inmodi", "CR_In_Modi"),
- new CodeRangeEntry("inmongoliansupplement", "CR_In_Mongolian_Supplement"),
- new CodeRangeEntry("intakri", "CR_In_Takri"),
- new CodeRangeEntry("inahom", "CR_In_Ahom"),
- new CodeRangeEntry("indogra", "CR_In_Dogra"),
- new CodeRangeEntry("inwarangciti", "CR_In_Warang_Citi"),
- new CodeRangeEntry("innandinagari", "CR_In_Nandinagari"),
- new CodeRangeEntry("inzanabazarsquare", "CR_In_Zanabazar_Square"),
- new CodeRangeEntry("insoyombo", "CR_In_Soyombo"),
- new CodeRangeEntry("inpaucinhau", "CR_In_Pau_Cin_Hau"),
- new CodeRangeEntry("inbhaiksuki", "CR_In_Bhaiksuki"),
- new CodeRangeEntry("inmarchen", "CR_In_Marchen"),
- new CodeRangeEntry("inmasaramgondi", "CR_In_Masaram_Gondi"),
- new CodeRangeEntry("ingunjalagondi", "CR_In_Gunjala_Gondi"),
- new CodeRangeEntry("inmakasar", "CR_In_Makasar"),
- new CodeRangeEntry("intamilsupplement", "CR_In_Tamil_Supplement"),
- new CodeRangeEntry("incuneiform", "CR_In_Cuneiform"),
- new CodeRangeEntry("incuneiformnumbersandpunctuation", "CR_In_Cuneiform_Numbers_and_Punctuation"),
- new CodeRangeEntry("inearlydynasticcuneiform", "CR_In_Early_Dynastic_Cuneiform"),
- new CodeRangeEntry("inegyptianhieroglyphs", "CR_In_Egyptian_Hieroglyphs"),
- new CodeRangeEntry("inegyptianhieroglyphformatcontrols", "CR_In_Egyptian_Hieroglyph_Format_Controls"),
- new CodeRangeEntry("inanatolianhieroglyphs", "CR_In_Anatolian_Hieroglyphs"),
- new CodeRangeEntry("inbamumsupplement", "CR_In_Bamum_Supplement"),
- new CodeRangeEntry("inmro", "CR_In_Mro"),
- new CodeRangeEntry("inbassavah", "CR_In_Bassa_Vah"),
- new CodeRangeEntry("inpahawhhmong", "CR_In_Pahawh_Hmong"),
- new CodeRangeEntry("inmedefaidrin", "CR_In_Medefaidrin"),
- new CodeRangeEntry("inmiao", "CR_In_Miao"),
- new CodeRangeEntry("inideographicsymbolsandpunctuation", "CR_In_Ideographic_Symbols_and_Punctuation"),
- new CodeRangeEntry("intangut", "CR_In_Tangut"),
- new CodeRangeEntry("intangutcomponents", "CR_In_Tangut_Components"),
- new CodeRangeEntry("inkanasupplement", "CR_In_Kana_Supplement"),
- new CodeRangeEntry("inkanaextendeda", "CR_In_Kana_Extended_A"),
- new CodeRangeEntry("insmallkanaextension", "CR_In_Small_Kana_Extension"),
- new CodeRangeEntry("innushu", "CR_In_Nushu"),
- new CodeRangeEntry("induployan", "CR_In_Duployan"),
- new CodeRangeEntry("inshorthandformatcontrols", "CR_In_Shorthand_Format_Controls"),
- new CodeRangeEntry("inbyzantinemusicalsymbols", "CR_In_Byzantine_Musical_Symbols"),
- new CodeRangeEntry("inmusicalsymbols", "CR_In_Musical_Symbols"),
- new CodeRangeEntry("inancientgreekmusicalnotation", "CR_In_Ancient_Greek_Musical_Notation"),
- new CodeRangeEntry("inmayannumerals", "CR_In_Mayan_Numerals"),
- new CodeRangeEntry("intaixuanjingsymbols", "CR_In_Tai_Xuan_Jing_Symbols"),
- new CodeRangeEntry("incountingrodnumerals", "CR_In_Counting_Rod_Numerals"),
- new CodeRangeEntry("inmathematicalalphanumericsymbols", "CR_In_Mathematical_Alphanumeric_Symbols"),
- new CodeRangeEntry("insuttonsignwriting", "CR_In_Sutton_SignWriting"),
- new CodeRangeEntry("inglagoliticsupplement", "CR_In_Glagolitic_Supplement"),
- new CodeRangeEntry("innyiakengpuachuehmong", "CR_In_Nyiakeng_Puachue_Hmong"),
- new CodeRangeEntry("inwancho", "CR_In_Wancho"),
- new CodeRangeEntry("inmendekikakui", "CR_In_Mende_Kikakui"),
- new CodeRangeEntry("inadlam", "CR_In_Adlam"),
- new CodeRangeEntry("inindicsiyaqnumbers", "CR_In_Indic_Siyaq_Numbers"),
- new CodeRangeEntry("inottomansiyaqnumbers", "CR_In_Ottoman_Siyaq_Numbers"),
- new CodeRangeEntry("inarabicmathematicalalphabeticsymbols", "CR_In_Arabic_Mathematical_Alphabetic_Symbols"),
- new CodeRangeEntry("inmahjongtiles", "CR_In_Mahjong_Tiles"),
- new CodeRangeEntry("indominotiles", "CR_In_Domino_Tiles"),
- new CodeRangeEntry("inplayingcards", "CR_In_Playing_Cards"),
- new CodeRangeEntry("inenclosedalphanumericsupplement", "CR_In_Enclosed_Alphanumeric_Supplement"),
- new CodeRangeEntry("inenclosedideographicsupplement", "CR_In_Enclosed_Ideographic_Supplement"),
- new CodeRangeEntry("inmiscellaneoussymbolsandpictographs", "CR_In_Miscellaneous_Symbols_and_Pictographs"),
- new CodeRangeEntry("inemoticons", "CR_In_Emoticons"),
- new CodeRangeEntry("inornamentaldingbats", "CR_In_Ornamental_Dingbats"),
- new CodeRangeEntry("intransportandmapsymbols", "CR_In_Transport_and_Map_Symbols"),
- new CodeRangeEntry("inalchemicalsymbols", "CR_In_Alchemical_Symbols"),
- new CodeRangeEntry("ingeometricshapesextended", "CR_In_Geometric_Shapes_Extended"),
- new CodeRangeEntry("insupplementalarrowsc", "CR_In_Supplemental_Arrows_C"),
- new CodeRangeEntry("insupplementalsymbolsandpictographs", "CR_In_Supplemental_Symbols_and_Pictographs"),
- new CodeRangeEntry("inchesssymbols", "CR_In_Chess_Symbols"),
- new CodeRangeEntry("insymbolsandpictographsextendeda", "CR_In_Symbols_and_Pictographs_Extended_A"),
- new CodeRangeEntry("incjkunifiedideographsextensionb", "CR_In_CJK_Unified_Ideographs_Extension_B"),
- new CodeRangeEntry("incjkunifiedideographsextensionc", "CR_In_CJK_Unified_Ideographs_Extension_C"),
- new CodeRangeEntry("incjkunifiedideographsextensiond", "CR_In_CJK_Unified_Ideographs_Extension_D"),
- new CodeRangeEntry("incjkunifiedideographsextensione", "CR_In_CJK_Unified_Ideographs_Extension_E"),
- new CodeRangeEntry("incjkunifiedideographsextensionf", "CR_In_CJK_Unified_Ideographs_Extension_F"),
- new CodeRangeEntry("incjkcompatibilityideographssupplement", "CR_In_CJK_Compatibility_Ideographs_Supplement"),
- new CodeRangeEntry("intags", "CR_In_Tags"),
- new CodeRangeEntry("invariationselectorssupplement", "CR_In_Variation_Selectors_Supplement"),
- new CodeRangeEntry("insupplementaryprivateuseareaa", "CR_In_Supplementary_Private_Use_Area_A"),
- new CodeRangeEntry("insupplementaryprivateuseareab", "CR_In_Supplementary_Private_Use_Area_B"),
- new CodeRangeEntry("innoblock", "CR_In_No_Block")
- };
-
- static final int MAX_WORD_LENGTH = 44;
-}
=====================================
test/org/jcodings/specific/TestCaseMap.java
=====================================
@@ -81,4 +81,17 @@ public class TestCaseMap {
assertTrue(caseMap(enc, "ß", Config.CASE_DOWNCASE).equals("ß"));
}
}
+
+ @Test
+ public void testGeorgian() throws Exception {
+ Encoding enc = UTF8Encoding.INSTANCE;
+ assertTrue(caseMap(enc, "\u1C90\u1C91\u1C92", Config.CASE_UPCASE | Config.CASE_TITLECASE).equals("\u10D0\u10D1\u10D2"));
+ assertTrue(caseMap(enc, "\u1C90\u1C91\u10D2", Config.CASE_UPCASE | Config.CASE_TITLECASE).equals("\u10D0\u10D1\u10D2"));
+ assertTrue(caseMap(enc, "\u1C90\u10D1\u1C92", Config.CASE_UPCASE | Config.CASE_TITLECASE).equals("\u10D0\u10D1\u10D2"));
+ assertTrue(caseMap(enc, "\u1C90\u10D1\u10D2", Config.CASE_UPCASE | Config.CASE_TITLECASE).equals("\u10D0\u10D1\u10D2"));
+ assertTrue(caseMap(enc, "\u10D0\u1C91\u1C92", Config.CASE_UPCASE | Config.CASE_TITLECASE).equals("\u10D0\u10D1\u10D2"));
+ assertTrue(caseMap(enc, "\u10D0\u1C91\u10D2", Config.CASE_UPCASE | Config.CASE_TITLECASE).equals("\u10D0\u10D1\u10D2"));
+ assertTrue(caseMap(enc, "\u10D0\u10D1\u1C92", Config.CASE_UPCASE | Config.CASE_TITLECASE).equals("\u10D0\u10D1\u10D2"));
+ assertTrue(caseMap(enc, "\u10D0\u10D1\u10D2", Config.CASE_UPCASE | Config.CASE_TITLECASE).equals("\u10D0\u10D1\u10D2"));
+ }
}
View it on GitLab: https://salsa.debian.org/java-team/jcodings/-/compare/1ef9a07cd6dccc187c8facf5c09a7e3f12c075d7...b95214c8df01577d335dc39f58cfb3f5dd1112ad
--
View it on GitLab: https://salsa.debian.org/java-team/jcodings/-/compare/1ef9a07cd6dccc187c8facf5c09a7e3f12c075d7...b95214c8df01577d335dc39f58cfb3f5dd1112ad
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-java-commits/attachments/20200419/5d574ba6/attachment.html>
More information about the pkg-java-commits
mailing list