aboutsummaryrefslogtreecommitdiff
path: root/src/urubu/ucd.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/urubu/ucd.go')
-rw-r--r--src/urubu/ucd.go7199
1 files changed, 7199 insertions, 0 deletions
diff --git a/src/urubu/ucd.go b/src/urubu/ucd.go
new file mode 100644
index 0000000..3c3da17
--- /dev/null
+++ b/src/urubu/ucd.go
@@ -0,0 +1,7199 @@
+//go:generate go run ../cmd/ucdgen/main.go
+//go:generate go fmt codepoint.go
+
+package ucd
+
+import (
+ "bufio"
+ "encoding/binary"
+ "encoding/hex"
+ "fmt"
+ "io"
+ "regexp"
+ "strings"
+)
+
+const (
+ // https://www.unicode.org/versions/Unicode13.0.0/ch03.pdf
+ // 3.4 Characters and Encoding
+ // > D9 Unicode codespace: A range of integers from 0 to 10FFFF16.
+ codePointMin = 0x0
+ codePointMax = 0x10FFFF
+)
+
+func NormalizeCharacterProperty(propName, propVal string) (string, error) {
+ if propName == "" {
+ propName = "gc"
+ }
+
+ name, ok := propertyNameAbbs[normalizeSymbolicValue(propName)]
+ if !ok {
+ return "", fmt.Errorf("unsupported character property name: %v", propName)
+ }
+ props, ok := derivedCoreProperties[name]
+ if !ok {
+ return "", nil
+ }
+ var b strings.Builder
+ yes, ok := binaryValues[normalizeSymbolicValue(propVal)]
+ if !ok {
+ return "", fmt.Errorf("unsupported character property value: %v", propVal)
+ }
+ if yes {
+ fmt.Fprint(&b, "[")
+ } else {
+ fmt.Fprint(&b, "[^")
+ }
+ for _, prop := range props {
+ fmt.Fprint(&b, prop)
+ }
+ fmt.Fprint(&b, "]")
+
+ return b.String(), nil
+}
+
+func IsContributoryProperty(propName string) bool {
+ if propName == "" {
+ return false
+ }
+
+ for _, p := range contributoryProperties {
+ if propName == p {
+ return true
+ }
+ }
+ return false
+}
+
+func FindCodePointRanges(propName, propVal string) ([]*CodePointRange, bool, error) {
+ if propName == "" {
+ propName = "gc"
+ }
+
+ name, ok := propertyNameAbbs[normalizeSymbolicValue(propName)]
+ if !ok {
+ return nil, false, fmt.Errorf("unsupported character property name: %v", propName)
+ }
+ switch name {
+ case "gc":
+ val, ok := generalCategoryValueAbbs[normalizeSymbolicValue(propVal)]
+ if !ok {
+ return nil, false, fmt.Errorf("unsupported character property value: %v", propVal)
+ }
+ if val == generalCategoryValueAbbs[normalizeSymbolicValue(generalCategoryDefaultValue)] {
+ var allCPs []*CodePointRange
+ if generalCategoryDefaultRange.From > codePointMin {
+ allCPs = append(allCPs, &CodePointRange{
+ From: codePointMin,
+ To: generalCategoryDefaultRange.From - 1,
+ })
+ }
+ if generalCategoryDefaultRange.To < codePointMax {
+ allCPs = append(allCPs, &CodePointRange{
+ From: generalCategoryDefaultRange.To + 1,
+ To: codePointMax,
+ })
+ }
+ for _, cp := range generalCategoryCodePoints {
+ allCPs = append(allCPs, cp...)
+ }
+ return allCPs, true, nil
+ }
+ vals, ok := compositGeneralCategories[val]
+ if !ok {
+ vals = []string{val}
+ }
+ var ranges []*CodePointRange
+ for _, v := range vals {
+ rs, ok := generalCategoryCodePoints[v]
+ if !ok {
+ return nil, false, fmt.Errorf("invalid value of the General_Category property: %v", v)
+ }
+ ranges = append(ranges, rs...)
+ }
+ return ranges, false, nil
+ case "sc":
+ val, ok := scriptValueAbbs[normalizeSymbolicValue(propVal)]
+ if !ok {
+ return nil, false, fmt.Errorf("unsupported character property value: %v", propVal)
+ }
+ if val == scriptValueAbbs[normalizeSymbolicValue(scriptDefaultValue)] {
+ var allCPs []*CodePointRange
+ if scriptDefaultRange.From > codePointMin {
+ allCPs = append(allCPs, &CodePointRange{
+ From: codePointMin,
+ To: scriptDefaultRange.From - 1,
+ })
+ }
+ if scriptDefaultRange.To < codePointMax {
+ allCPs = append(allCPs, &CodePointRange{
+ From: scriptDefaultRange.To + 1,
+ To: codePointMax,
+ })
+ }
+ for _, cp := range scriptCodepoints {
+ allCPs = append(allCPs, cp...)
+ }
+ return allCPs, true, nil
+ }
+ return scriptCodepoints[val], false, nil
+ case "oalpha":
+ yes, ok := binaryValues[normalizeSymbolicValue(propVal)]
+ if !ok {
+ return nil, false, fmt.Errorf("unsupported character property value: %v", propVal)
+ }
+ if yes {
+ return otherAlphabeticCodePoints, false, nil
+ } else {
+ return otherAlphabeticCodePoints, true, nil
+ }
+ case "olower":
+ yes, ok := binaryValues[normalizeSymbolicValue(propVal)]
+ if !ok {
+ return nil, false, fmt.Errorf("unsupported character property value: %v", propVal)
+ }
+ if yes {
+ return otherLowercaseCodePoints, false, nil
+ } else {
+ return otherLowercaseCodePoints, true, nil
+ }
+ case "oupper":
+ yes, ok := binaryValues[normalizeSymbolicValue(propVal)]
+ if !ok {
+ return nil, false, fmt.Errorf("unsupported character property value: %v", propVal)
+ }
+ if yes {
+ return otherUppercaseCodePoints, false, nil
+ } else {
+ return otherUppercaseCodePoints, true, nil
+ }
+ case "wspace":
+ yes, ok := binaryValues[normalizeSymbolicValue(propVal)]
+ if !ok {
+ return nil, false, fmt.Errorf("unsupported character property value: %v", propVal)
+ }
+ if yes {
+ return whiteSpaceCodePoints, false, nil
+ } else {
+ return whiteSpaceCodePoints, true, nil
+ }
+ }
+
+ // If the process reaches this code, it's a bug. We must handle all of the properties registered with
+ // the `propertyNameAbbs`.
+ return nil, false, fmt.Errorf("character property '%v' is unavailable", propName)
+}
+// Code generated by generator/main.go; DO NOT EDIT.
+
+// https://www.unicode.org/Public/13.0.0/ucd/PropertyValueAliases.txt
+var generalCategoryValueAbbs = map[string]string{
+ "c": "c",
+ "casedletter": "lc",
+ "cc": "cc",
+ "cf": "cf",
+ "closepunctuation": "pe",
+ "cn": "cn",
+ "cntrl": "cc",
+ "co": "co",
+ "combiningmark": "m",
+ "connectorpunctuation": "pc",
+ "control": "cc",
+ "cs": "cs",
+ "currencysymbol": "sc",
+ "dashpunctuation": "pd",
+ "decimalnumber": "nd",
+ "digit": "nd",
+ "enclosingmark": "me",
+ "finalpunctuation": "pf",
+ "format": "cf",
+ "initialpunctuation": "pi",
+ "l": "l",
+ "lc": "lc",
+ "letter": "l",
+ "letternumber": "nl",
+ "lineseparator": "zl",
+ "ll": "ll",
+ "lm": "lm",
+ "lo": "lo",
+ "lowercaseletter": "ll",
+ "lt": "lt",
+ "lu": "lu",
+ "m": "m",
+ "mark": "m",
+ "mathsymbol": "sm",
+ "mc": "mc",
+ "me": "me",
+ "mn": "mn",
+ "modifierletter": "lm",
+ "modifiersymbol": "sk",
+ "n": "n",
+ "nd": "nd",
+ "nl": "nl",
+ "no": "no",
+ "nonspacingmark": "mn",
+ "number": "n",
+ "openpunctuation": "ps",
+ "other": "c",
+ "otherletter": "lo",
+ "othernumber": "no",
+ "otherpunctuation": "po",
+ "othersymbol": "so",
+ "p": "p",
+ "paragraphseparator": "zp",
+ "pc": "pc",
+ "pd": "pd",
+ "pe": "pe",
+ "pf": "pf",
+ "pi": "pi",
+ "po": "po",
+ "privateuse": "co",
+ "ps": "ps",
+ "punct": "p",
+ "punctuation": "p",
+ "s": "s",
+ "sc": "sc",
+ "separator": "z",
+ "sk": "sk",
+ "sm": "sm",
+ "so": "so",
+ "spaceseparator": "zs",
+ "spacingmark": "mc",
+ "surrogate": "cs",
+ "symbol": "s",
+ "titlecaseletter": "lt",
+ "unassigned": "cn",
+ "uppercaseletter": "lu",
+ "z": "z",
+ "zl": "zl",
+ "zp": "zp",
+ "zs": "zs",
+}
+
+// https://www.unicode.org/Public/13.0.0/ucd/PropertyValueAliases.txt
+var scriptValueAbbs = map[string]string{
+ "adlam": "adlm",
+ "adlm": "adlm",
+ "aghb": "aghb",
+ "ahom": "ahom",
+ "anatolianhieroglyphs": "hluw",
+ "arab": "arab",
+ "arabic": "arab",
+ "armenian": "armn",
+ "armi": "armi",
+ "armn": "armn",
+ "avestan": "avst",
+ "avst": "avst",
+ "bali": "bali",
+ "balinese": "bali",
+ "bamu": "bamu",
+ "bamum": "bamu",
+ "bass": "bass",
+ "bassavah": "bass",
+ "batak": "batk",
+ "batk": "batk",
+ "beng": "beng",
+ "bengali": "beng",
+ "bhaiksuki": "bhks",
+ "bhks": "bhks",
+ "bopo": "bopo",
+ "bopomofo": "bopo",
+ "brah": "brah",
+ "brahmi": "brah",
+ "brai": "brai",
+ "braille": "brai",
+ "bugi": "bugi",
+ "buginese": "bugi",
+ "buhd": "buhd",
+ "buhid": "buhd",
+ "cakm": "cakm",
+ "canadianaboriginal": "cans",
+ "cans": "cans",
+ "cari": "cari",
+ "carian": "cari",
+ "caucasianalbanian": "aghb",
+ "chakma": "cakm",
+ "cham": "cham",
+ "cher": "cher",
+ "cherokee": "cher",
+ "chorasmian": "chrs",
+ "chrs": "chrs",
+ "common": "zyyy",
+ "copt": "copt",
+ "coptic": "copt",
+ "cprt": "cprt",
+ "cuneiform": "xsux",
+ "cypriot": "cprt",
+ "cyrillic": "cyrl",
+ "cyrl": "cyrl",
+ "deseret": "dsrt",
+ "deva": "deva",
+ "devanagari": "deva",
+ "diak": "diak",
+ "divesakuru": "diak",
+ "dogr": "dogr",
+ "dogra": "dogr",
+ "dsrt": "dsrt",
+ "dupl": "dupl",
+ "duployan": "dupl",
+ "egyp": "egyp",
+ "egyptianhieroglyphs": "egyp",
+ "elba": "elba",
+ "elbasan": "elba",
+ "elym": "elym",
+ "elymaic": "elym",
+ "ethi": "ethi",
+ "ethiopic": "ethi",
+ "geor": "geor",
+ "georgian": "geor",
+ "glag": "glag",
+ "glagolitic": "glag",
+ "gong": "gong",
+ "gonm": "gonm",
+ "goth": "goth",
+ "gothic": "goth",
+ "gran": "gran",
+ "grantha": "gran",
+ "greek": "grek",
+ "grek": "grek",
+ "gujarati": "gujr",
+ "gujr": "gujr",
+ "gunjalagondi": "gong",
+ "gurmukhi": "guru",
+ "guru": "guru",
+ "han": "hani",
+ "hang": "hang",
+ "hangul": "hang",
+ "hani": "hani",
+ "hanifirohingya": "rohg",
+ "hano": "hano",
+ "hanunoo": "hano",
+ "hatr": "hatr",
+ "hatran": "hatr",
+ "hebr": "hebr",
+ "hebrew": "hebr",
+ "hira": "hira",
+ "hiragana": "hira",
+ "hluw": "hluw",
+ "hmng": "hmng",
+ "hmnp": "hmnp",
+ "hrkt": "hrkt",
+ "hung": "hung",
+ "imperialaramaic": "armi",
+ "inherited": "zinh",
+ "inscriptionalpahlavi": "phli",
+ "inscriptionalparthian": "prti",
+ "ital": "ital",
+ "java": "java",
+ "javanese": "java",
+ "kaithi": "kthi",
+ "kali": "kali",
+ "kana": "kana",
+ "kannada": "knda",
+ "katakana": "kana",
+ "katakanaorhiragana": "hrkt",
+ "kayahli": "kali",
+ "khar": "khar",
+ "kharoshthi": "khar",
+ "khitansmallscript": "kits",
+ "khmer": "khmr",
+ "khmr": "khmr",
+ "khoj": "khoj",
+ "khojki": "khoj",
+ "khudawadi": "sind",
+ "kits": "kits",
+ "knda": "knda",
+ "kthi": "kthi",
+ "lana": "lana",
+ "lao": "laoo",
+ "laoo": "laoo",
+ "latin": "latn",
+ "latn": "latn",
+ "lepc": "lepc",
+ "lepcha": "lepc",
+ "limb": "limb",
+ "limbu": "limb",
+ "lina": "lina",
+ "linb": "linb",
+ "lineara": "lina",
+ "linearb": "linb",
+ "lisu": "lisu",
+ "lyci": "lyci",
+ "lycian": "lyci",
+ "lydi": "lydi",
+ "lydian": "lydi",
+ "mahajani": "mahj",
+ "mahj": "mahj",
+ "maka": "maka",
+ "makasar": "maka",
+ "malayalam": "mlym",
+ "mand": "mand",
+ "mandaic": "mand",
+ "mani": "mani",
+ "manichaean": "mani",
+ "marc": "marc",
+ "marchen": "marc",
+ "masaramgondi": "gonm",
+ "medefaidrin": "medf",
+ "medf": "medf",
+ "meeteimayek": "mtei",
+ "mend": "mend",
+ "mendekikakui": "mend",
+ "merc": "merc",
+ "mero": "mero",
+ "meroiticcursive": "merc",
+ "meroitichieroglyphs": "mero",
+ "miao": "plrd",
+ "mlym": "mlym",
+ "modi": "modi",
+ "mong": "mong",
+ "mongolian": "mong",
+ "mro": "mroo",
+ "mroo": "mroo",
+ "mtei": "mtei",
+ "mult": "mult",
+ "multani": "mult",
+ "myanmar": "mymr",
+ "mymr": "mymr",
+ "nabataean": "nbat",
+ "nand": "nand",
+ "nandinagari": "nand",
+ "narb": "narb",
+ "nbat": "nbat",
+ "newa": "newa",
+ "newtailue": "talu",
+ "nko": "nkoo",
+ "nkoo": "nkoo",
+ "nshu": "nshu",
+ "nushu": "nshu",
+ "nyiakengpuachuehmong": "hmnp",
+ "ogam": "ogam",
+ "ogham": "ogam",
+ "olchiki": "olck",
+ "olck": "olck",
+ "oldhungarian": "hung",
+ "olditalic": "ital",
+ "oldnortharabian": "narb",
+ "oldpermic": "perm",
+ "oldpersian": "xpeo",
+ "oldsogdian": "sogo",
+ "oldsoutharabian": "sarb",
+ "oldturkic": "orkh",
+ "oriya": "orya",
+ "orkh": "orkh",
+ "orya": "orya",
+ "osage": "osge",
+ "osge": "osge",
+ "osma": "osma",
+ "osmanya": "osma",
+ "pahawhhmong": "hmng",
+ "palm": "palm",
+ "palmyrene": "palm",
+ "pauc": "pauc",
+ "paucinhau": "pauc",
+ "perm": "perm",
+ "phag": "phag",
+ "phagspa": "phag",
+ "phli": "phli",
+ "phlp": "phlp",
+ "phnx": "phnx",
+ "phoenician": "phnx",
+ "plrd": "plrd",
+ "prti": "prti",
+ "psalterpahlavi": "phlp",
+ "qaac": "copt",
+ "qaai": "zinh",
+ "rejang": "rjng",
+ "rjng": "rjng",
+ "rohg": "rohg",
+ "runic": "runr",
+ "runr": "runr",
+ "samaritan": "samr",
+ "samr": "samr",
+ "sarb": "sarb",
+ "saur": "saur",
+ "saurashtra": "saur",
+ "sgnw": "sgnw",
+ "sharada": "shrd",
+ "shavian": "shaw",
+ "shaw": "shaw",
+ "shrd": "shrd",
+ "sidd": "sidd",
+ "siddham": "sidd",
+ "signwriting": "sgnw",
+ "sind": "sind",
+ "sinh": "sinh",
+ "sinhala": "sinh",
+ "sogd": "sogd",
+ "sogdian": "sogd",
+ "sogo": "sogo",
+ "sora": "sora",
+ "sorasompeng": "sora",
+ "soyo": "soyo",
+ "soyombo": "soyo",
+ "sund": "sund",
+ "sundanese": "sund",
+ "sylo": "sylo",
+ "sylotinagri": "sylo",
+ "syrc": "syrc",
+ "syriac": "syrc",
+ "tagalog": "tglg",
+ "tagb": "tagb",
+ "tagbanwa": "tagb",
+ "taile": "tale",
+ "taitham": "lana",
+ "taiviet": "tavt",
+ "takr": "takr",
+ "takri": "takr",
+ "tale": "tale",
+ "talu": "talu",
+ "tamil": "taml",
+ "taml": "taml",
+ "tang": "tang",
+ "tangut": "tang",
+ "tavt": "tavt",
+ "telu": "telu",
+ "telugu": "telu",
+ "tfng": "tfng",
+ "tglg": "tglg",
+ "thaa": "thaa",
+ "thaana": "thaa",
+ "thai": "thai",
+ "tibetan": "tibt",
+ "tibt": "tibt",
+ "tifinagh": "tfng",
+ "tirh": "tirh",
+ "tirhuta": "tirh",
+ "ugar": "ugar",
+ "ugaritic": "ugar",
+ "unknown": "zzzz",
+ "vai": "vaii",
+ "vaii": "vaii",
+ "wancho": "wcho",
+ "wara": "wara",
+ "warangciti": "wara",
+ "wcho": "wcho",
+ "xpeo": "xpeo",
+ "xsux": "xsux",
+ "yezi": "yezi",
+ "yezidi": "yezi",
+ "yi": "yiii",
+ "yiii": "yiii",
+ "zanabazarsquare": "zanb",
+ "zanb": "zanb",
+ "zinh": "zinh",
+ "zyyy": "zyyy",
+ "zzzz": "zzzz",
+}
+
+// https://www.unicode.org/Public/13.0.0/ucd/PropertyValueAliases.txt
+var (
+ generalCategoryDefaultRange = &CodePointRange{
+ From: rune(0),
+ To: rune(1114111),
+ }
+ generalCategoryDefaultValue = "unassigned"
+)
+
+// https://www.unicode.org/Public/13.0.0/ucd/UnicodeData.txt
+var generalCategoryCodePoints = map[string][]*CodePointRange{
+ "cc": {
+ &CodePointRange{From: rune(0), To: rune(31)},
+ &CodePointRange{From: rune(127), To: rune(159)},
+ },
+ "cf": {
+ &CodePointRange{From: rune(173), To: rune(173)},
+ &CodePointRange{From: rune(1536), To: rune(1541)},
+ &CodePointRange{From: rune(1564), To: rune(1564)},
+ &CodePointRange{From: rune(1757), To: rune(1757)},
+ &CodePointRange{From: rune(1807), To: rune(1807)},
+ &CodePointRange{From: rune(2274), To: rune(2274)},
+ &CodePointRange{From: rune(6158), To: rune(6158)},
+ &CodePointRange{From: rune(8203), To: rune(8207)},
+ &CodePointRange{From: rune(8234), To: rune(8238)},
+ &CodePointRange{From: rune(8288), To: rune(8292)},
+ &CodePointRange{From: rune(8294), To: rune(8303)},
+ &CodePointRange{From: rune(65279), To: rune(65279)},
+ &CodePointRange{From: rune(65529), To: rune(65531)},
+ &CodePointRange{From: rune(69821), To: rune(69821)},
+ &CodePointRange{From: rune(69837), To: rune(69837)},
+ &CodePointRange{From: rune(78896), To: rune(78904)},
+ &CodePointRange{From: rune(113824), To: rune(113827)},
+ &CodePointRange{From: rune(119155), To: rune(119162)},
+ &CodePointRange{From: rune(917505), To: rune(917505)},
+ &CodePointRange{From: rune(917536), To: rune(917631)},
+ },
+ "co": {
+ &CodePointRange{From: rune(57344), To: rune(57344)},
+ &CodePointRange{From: rune(63743), To: rune(63743)},
+ &CodePointRange{From: rune(983040), To: rune(983040)},
+ &CodePointRange{From: rune(1048573), To: rune(1048573)},
+ &CodePointRange{From: rune(1048576), To: rune(1048576)},
+ &CodePointRange{From: rune(1114109), To: rune(1114109)},
+ },
+ "cs": {
+ &CodePointRange{From: rune(55296), To: rune(55296)},
+ &CodePointRange{From: rune(56191), To: rune(56192)},
+ &CodePointRange{From: rune(56319), To: rune(56320)},
+ &CodePointRange{From: rune(57343), To: rune(57343)},
+ },
+ "ll": {
+ &CodePointRange{From: rune(97), To: rune(122)},
+ &CodePointRange{From: rune(181), To: rune(181)},
+ &CodePointRange{From: rune(223), To: rune(246)},
+ &CodePointRange{From: rune(248), To: rune(255)},
+ &CodePointRange{From: rune(257), To: rune(257)},
+ &CodePointRange{From: rune(259), To: rune(259)},
+ &CodePointRange{From: rune(261), To: rune(261)},
+ &CodePointRange{From: rune(263), To: rune(263)},
+ &CodePointRange{From: rune(265), To: rune(265)},
+ &CodePointRange{From: rune(267), To: rune(267)},
+ &CodePointRange{From: rune(269), To: rune(269)},
+ &CodePointRange{From: rune(271), To: rune(271)},
+ &CodePointRange{From: rune(273), To: rune(273)},
+ &CodePointRange{From: rune(275), To: rune(275)},
+ &CodePointRange{From: rune(277), To: rune(277)},
+ &CodePointRange{From: rune(279), To: rune(279)},
+ &CodePointRange{From: rune(281), To: rune(281)},
+ &CodePointRange{From: rune(283), To: rune(283)},
+ &CodePointRange{From: rune(285), To: rune(285)},
+ &CodePointRange{From: rune(287), To: rune(287)},
+ &CodePointRange{From: rune(289), To: rune(289)},
+ &CodePointRange{From: rune(291), To: rune(291)},
+ &CodePointRange{From: rune(293), To: rune(293)},
+ &CodePointRange{From: rune(295), To: rune(295)},
+ &CodePointRange{From: rune(297), To: rune(297)},
+ &CodePointRange{From: rune(299), To: rune(299)},
+ &CodePointRange{From: rune(301), To: rune(301)},
+ &CodePointRange{From: rune(303), To: rune(303)},
+ &CodePointRange{From: rune(305), To: rune(305)},
+ &CodePointRange{From: rune(307), To: rune(307)},
+ &CodePointRange{From: rune(309), To: rune(309)},
+ &CodePointRange{From: rune(311), To: rune(312)},
+ &CodePointRange{From: rune(314), To: rune(314)},
+ &CodePointRange{From: rune(316), To: rune(316)},
+ &CodePointRange{From: rune(318), To: rune(318)},
+ &CodePointRange{From: rune(320), To: rune(320)},
+ &CodePointRange{From: rune(322), To: rune(322)},
+ &CodePointRange{From: rune(324), To: rune(324)},
+ &CodePointRange{From: rune(326), To: rune(326)},
+ &CodePointRange{From: rune(328), To: rune(329)},
+ &CodePointRange{From: rune(331), To: rune(331)},
+ &CodePointRange{From: rune(333), To: rune(333)},
+ &CodePointRange{From: rune(335), To: rune(335)},
+ &CodePointRange{From: rune(337), To: rune(337)},
+ &CodePointRange{From: rune(339), To: rune(339)},
+ &CodePointRange{From: rune(341), To: rune(341)},
+ &CodePointRange{From: rune(343), To: rune(343)},
+ &CodePointRange{From: rune(345), To: rune(345)},
+ &CodePointRange{From: rune(347), To: rune(347)},
+ &CodePointRange{From: rune(349), To: rune(349)},
+ &CodePointRange{From: rune(351), To: rune(351)},
+ &CodePointRange{From: rune(353), To: rune(353)},
+ &CodePointRange{From: rune(355), To: rune(355)},
+ &CodePointRange{From: rune(357), To: rune(357)},
+ &CodePointRange{From: rune(359), To: rune(359)},
+ &CodePointRange{From: rune(361), To: rune(361)},
+ &CodePointRange{From: rune(363), To: rune(363)},
+ &CodePointRange{From: rune(365), To: rune(365)},
+ &CodePointRange{From: rune(367), To: rune(367)},
+ &CodePointRange{From: rune(369), To: rune(369)},
+ &CodePointRange{From: rune(371), To: rune(371)},
+ &CodePointRange{From: rune(373), To: rune(373)},
+ &CodePointRange{From: rune(375), To: rune(375)},
+ &CodePointRange{From: rune(378), To: rune(378)},
+ &CodePointRange{From: rune(380), To: rune(380)},
+ &CodePointRange{From: rune(382), To: rune(384)},
+ &CodePointRange{From: rune(387), To: rune(387)},
+ &CodePointRange{From: rune(389), To: rune(389)},
+ &CodePointRange{From: rune(392), To: rune(392)},
+ &CodePointRange{From: rune(396), To: rune(397)},
+ &CodePointRange{From: rune(402), To: rune(402)},
+ &CodePointRange{From: rune(405), To: rune(405)},
+ &CodePointRange{From: rune(409), To: rune(411)},
+ &CodePointRange{From: rune(414), To: rune(414)},
+ &CodePointRange{From: rune(417), To: rune(417)},
+ &CodePointRange{From: rune(419), To: rune(419)},
+ &CodePointRange{From: rune(421), To: rune(421)},
+ &CodePointRange{From: rune(424), To: rune(424)},
+ &CodePointRange{From: rune(426), To: rune(427)},
+ &CodePointRange{From: rune(429), To: rune(429)},
+ &CodePointRange{From: rune(432), To: rune(432)},
+ &CodePointRange{From: rune(436), To: rune(436)},
+ &CodePointRange{From: rune(438), To: rune(438)},
+ &CodePointRange{From: rune(441), To: rune(442)},
+ &CodePointRange{From: rune(445), To: rune(447)},
+ &CodePointRange{From: rune(454), To: rune(454)},
+ &CodePointRange{From: rune(457), To: rune(457)},
+ &CodePointRange{From: rune(460), To: rune(460)},
+ &CodePointRange{From: rune(462), To: rune(462)},
+ &CodePointRange{From: rune(464), To: rune(464)},
+ &CodePointRange{From: rune(466), To: rune(466)},
+ &CodePointRange{From: rune(468), To: rune(468)},
+ &CodePointRange{From: rune(470), To: rune(470)},
+ &CodePointRange{From: rune(472), To: rune(472)},
+ &CodePointRange{From: rune(474), To: rune(474)},
+ &CodePointRange{From: rune(476), To: rune(477)},
+ &CodePointRange{From: rune(479), To: rune(479)},
+ &CodePointRange{From: rune(481), To: rune(481)},
+ &CodePointRange{From: rune(483), To: rune(483)},
+ &CodePointRange{From: rune(485), To: rune(485)},
+ &CodePointRange{From: rune(487), To: rune(487)},
+ &CodePointRange{From: rune(489), To: rune(489)},
+ &CodePointRange{From: rune(491), To: rune(491)},
+ &CodePointRange{From: rune(493), To: rune(493)},
+ &CodePointRange{From: rune(495), To: rune(496)},
+ &CodePointRange{From: rune(499), To: rune(499)},
+ &CodePointRange{From: rune(501), To: rune(501)},
+ &CodePointRange{From: rune(505), To: rune(505)},
+ &CodePointRange{From: rune(507), To: rune(507)},
+ &CodePointRange{From: rune(509), To: rune(509)},
+ &CodePointRange{From: rune(511), To: rune(511)},
+ &CodePointRange{From: rune(513), To: rune(513)},
+ &CodePointRange{From: rune(515), To: rune(515)},
+ &CodePointRange{From: rune(517), To: rune(517)},
+ &CodePointRange{From: rune(519), To: rune(519)},
+ &CodePointRange{From: rune(521), To: rune(521)},
+ &CodePointRange{From: rune(523), To: rune(523)},
+ &CodePointRange{From: rune(525), To: rune(525)},
+ &CodePointRange{From: rune(527), To: rune(527)},
+ &CodePointRange{From: rune(529), To: rune(529)},
+ &CodePointRange{From: rune(531), To: rune(531)},
+ &CodePointRange{From: rune(533), To: rune(533)},
+ &CodePointRange{From: rune(535), To: rune(535)},
+ &CodePointRange{From: rune(537), To: rune(537)},
+ &CodePointRange{From: rune(539), To: rune(539)},
+ &CodePointRange{From: rune(541), To: rune(541)},
+ &CodePointRange{From: rune(543), To: rune(543)},
+ &CodePointRange{From: rune(545), To: rune(545)},
+ &CodePointRange{From: rune(547), To: rune(547)},
+ &CodePointRange{From: rune(549), To: rune(549)},
+ &CodePointRange{From: rune(551), To: rune(551)},
+ &CodePointRange{From: rune(553), To: rune(553)},
+ &CodePointRange{From: rune(555), To: rune(555)},
+ &CodePointRange{From: rune(557), To: rune(557)},
+ &CodePointRange{From: rune(559), To: rune(559)},
+ &CodePointRange{From: rune(561), To: rune(561)},
+ &CodePointRange{From: rune(563), To: rune(569)},
+ &CodePointRange{From: rune(572), To: rune(572)},
+ &CodePointRange{From: rune(575), To: rune(576)},
+ &CodePointRange{From: rune(578), To: rune(578)},
+ &CodePointRange{From: rune(583), To: rune(583)},
+ &CodePointRange{From: rune(585), To: rune(585)},
+ &CodePointRange{From: rune(587), To: rune(587)},
+ &CodePointRange{From: rune(589), To: rune(589)},
+ &CodePointRange{From: rune(591), To: rune(659)},
+ &CodePointRange{From: rune(661), To: rune(687)},
+ &CodePointRange{From: rune(881), To: rune(881)},
+ &CodePointRange{From: rune(883), To: rune(883)},
+ &CodePointRange{From: rune(887), To: rune(887)},
+ &CodePointRange{From: rune(891), To: rune(893)},
+ &CodePointRange{From: rune(912), To: rune(912)},
+ &CodePointRange{From: rune(940), To: rune(974)},
+ &CodePointRange{From: rune(976), To: rune(977)},
+ &CodePointRange{From: rune(981), To: rune(983)},
+ &CodePointRange{From: rune(985), To: rune(985)},
+ &CodePointRange{From: rune(987), To: rune(987)},
+ &CodePointRange{From: rune(989), To: rune(989)},
+ &CodePointRange{From: rune(991), To: rune(991)},
+ &CodePointRange{From: rune(993), To: rune(993)},
+ &CodePointRange{From: rune(995), To: rune(995)},
+ &CodePointRange{From: rune(997), To: rune(997)},
+ &CodePointRange{From: rune(999), To: rune(999)},
+ &CodePointRange{From: rune(1001), To: rune(1001)},
+ &CodePointRange{From: rune(1003), To: rune(1003)},
+ &CodePointRange{From: rune(1005), To: rune(1005)},
+ &CodePointRange{From: rune(1007), To: rune(1011)},
+ &CodePointRange{From: rune(1013), To: rune(1013)},
+ &CodePointRange{From: rune(1016), To: rune(1016)},
+ &CodePointRange{From: rune(1019), To: rune(1020)},
+ &CodePointRange{From: rune(1072), To: rune(1119)},
+ &CodePointRange{From: rune(1121), To: rune(1121)},
+ &CodePointRange{From: rune(1123), To: rune(1123)},
+ &CodePointRange{From: rune(1125), To: rune(1125)},
+ &CodePointRange{From: rune(1127), To: rune(1127)},
+ &CodePointRange{From: rune(1129), To: rune(1129)},
+ &CodePointRange{From: rune(1131), To: rune(1131)},
+ &CodePointRange{From: rune(1133), To: rune(1133)},
+ &CodePointRange{From: rune(1135), To: rune(1135)},
+ &CodePointRange{From: rune(1137), To: rune(1137)},
+ &CodePointRange{From: rune(1139), To: rune(1139)},
+ &CodePointRange{From: rune(1141), To: rune(1141)},
+ &CodePointRange{From: rune(1143), To: rune(1143)},
+ &CodePointRange{From: rune(1145), To: rune(1145)},
+ &CodePointRange{From: rune(1147), To: rune(1147)},
+ &CodePointRange{From: rune(1149), To: rune(1149)},
+ &CodePointRange{From: rune(1151), To: rune(1151)},
+ &CodePointRange{From: rune(1153), To: rune(1153)},
+ &CodePointRange{From: rune(1163), To: rune(1163)},
+ &CodePointRange{From: rune(1165), To: rune(1165)},
+ &CodePointRange{From: rune(1167), To: rune(1167)},
+ &CodePointRange{From: rune(1169), To: rune(1169)},
+ &CodePointRange{From: rune(1171), To: rune(1171)},
+ &CodePointRange{From: rune(1173), To: rune(1173)},
+ &CodePointRange{From: rune(1175), To: rune(1175)},
+ &CodePointRange{From: rune(1177), To: rune(1177)},
+ &CodePointRange{From: rune(1179), To: rune(1179)},
+ &CodePointRange{From: rune(1181), To: rune(1181)},
+ &CodePointRange{From: rune(1183), To: rune(1183)},
+ &CodePointRange{From: rune(1185), To: rune(1185)},
+ &CodePointRange{From: rune(1187), To: rune(1187)},
+ &CodePointRange{From: rune(1189), To: rune(1189)},
+ &CodePointRange{From: rune(1191), To: rune(1191)},
+ &CodePointRange{From: rune(1193), To: rune(1193)},
+ &CodePointRange{From: rune(1195), To: rune(1195)},
+ &CodePointRange{From: rune(1197), To: rune(1197)},
+ &CodePointRange{From: rune(1199), To: rune(1199)},
+ &CodePointRange{From: rune(1201), To: rune(1201)},
+ &CodePointRange{From: rune(1203), To: rune(1203)},
+ &CodePointRange{From: rune(1205), To: rune(1205)},
+ &CodePointRange{From: rune(1207), To: rune(1207)},
+ &CodePointRange{From: rune(1209), To: rune(1209)},
+ &CodePointRange{From: rune(1211), To: rune(1211)},
+ &CodePointRange{From: rune(1213), To: rune(1213)},
+ &CodePointRange{From: rune(1215), To: rune(1215)},
+ &CodePointRange{From: rune(1218), To: rune(1218)},
+ &CodePointRange{From: rune(1220), To: rune(1220)},
+ &CodePointRange{From: rune(1222), To: rune(1222)},
+ &CodePointRange{From: rune(1224), To: rune(1224)},
+ &CodePointRange{From: rune(1226), To: rune(1226)},
+ &CodePointRange{From: rune(1228), To: rune(1228)},
+ &CodePointRange{From: rune(1230), To: rune(1231)},
+ &CodePointRange{From: rune(1233), To: rune(1233)},
+ &CodePointRange{From: rune(1235), To: rune(1235)},
+ &CodePointRange{From: rune(1237), To: rune(1237)},
+ &CodePointRange{From: rune(1239), To: rune(1239)},
+ &CodePointRange{From: rune(1241), To: rune(1241)},
+ &CodePointRange{From: rune(1243), To: rune(1243)},
+ &CodePointRange{From: rune(1245), To: rune(1245)},
+ &CodePointRange{From: rune(1247), To: rune(1247)},
+ &CodePointRange{From: rune(1249), To: rune(1249)},
+ &CodePointRange{From: rune(1251), To: rune(1251)},
+ &CodePointRange{From: rune(1253), To: rune(1253)},
+ &CodePointRange{From: rune(1255), To: rune(1255)},
+ &CodePointRange{From: rune(1257), To: rune(1257)},
+ &CodePointRange{From: rune(1259), To: rune(1259)},
+ &CodePointRange{From: rune(1261), To: rune(1261)},
+ &CodePointRange{From: rune(1263), To: rune(1263)},
+ &CodePointRange{From: rune(1265), To: rune(1265)},
+ &CodePointRange{From: rune(1267), To: rune(1267)},
+ &CodePointRange{From: rune(1269), To: rune(1269)},
+ &CodePointRange{From: rune(1271), To: rune(1271)},
+ &CodePointRange{From: rune(1273), To: rune(1273)},
+ &CodePointRange{From: rune(1275), To: rune(1275)},
+ &CodePointRange{From: rune(1277), To: rune(1277)},
+ &CodePointRange{From: rune(1279), To: rune(1279)},
+ &CodePointRange{From: rune(1281), To: rune(1281)},
+ &CodePointRange{From: rune(1283), To: rune(1283)},
+ &CodePointRange{From: rune(1285), To: rune(1285)},
+ &CodePointRange{From: rune(1287), To: rune(1287)},
+ &CodePointRange{From: rune(1289), To: rune(1289)},
+ &CodePointRange{From: rune(1291), To: rune(1291)},
+ &CodePointRange{From: rune(1293), To: rune(1293)},
+ &CodePointRange{From: rune(1295), To: rune(1295)},
+ &CodePointRange{From: rune(1297), To: rune(1297)},
+ &CodePointRange{From: rune(1299), To: rune(1299)},
+ &CodePointRange{From: rune(1301), To: rune(1301)},
+ &CodePointRange{From: rune(1303), To: rune(1303)},
+ &CodePointRange{From: rune(1305), To: rune(1305)},
+ &CodePointRange{From: rune(1307), To: rune(1307)},
+ &CodePointRange{From: rune(1309), To: rune(1309)},
+ &CodePointRange{From: rune(1311), To: rune(1311)},
+ &CodePointRange{From: rune(1313), To: rune(1313)},
+ &CodePointRange{From: rune(1315), To: rune(1315)},
+ &CodePointRange{From: rune(1317), To: rune(1317)},
+ &CodePointRange{From: rune(1319), To: rune(1319)},
+ &CodePointRange{From: rune(1321), To: rune(1321)},
+ &CodePointRange{From: rune(1323), To: rune(1323)},
+ &CodePointRange{From: rune(1325), To: rune(1325)},
+ &CodePointRange{From: rune(1327), To: rune(1327)},
+ &CodePointRange{From: rune(1376), To: rune(1416)},
+ &CodePointRange{From: rune(4304), To: rune(4346)},
+ &CodePointRange{From: rune(4349), To: rune(4351)},
+ &CodePointRange{From: rune(5112), To: rune(5117)},
+ &CodePointRange{From: rune(7296), To: rune(7304)},
+ &CodePointRange{From: rune(7424), To: rune(7467)},
+ &CodePointRange{From: rune(7531), To: rune(7543)},
+ &CodePointRange{From: rune(7545), To: rune(7578)},
+ &CodePointRange{From: rune(7681), To: rune(7681)},
+ &CodePointRange{From: rune(7683), To: rune(7683)},
+ &CodePointRange{From: rune(7685), To: rune(7685)},
+ &CodePointRange{From: rune(7687), To: rune(7687)},
+ &CodePointRange{From: rune(7689), To: rune(7689)},
+ &CodePointRange{From: rune(7691), To: rune(7691)},
+ &CodePointRange{From: rune(7693), To: rune(7693)},
+ &CodePointRange{From: rune(7695), To: rune(7695)},
+ &CodePointRange{From: rune(7697), To: rune(7697)},
+ &CodePointRange{From: rune(7699), To: rune(7699)},
+ &CodePointRange{From: rune(7701), To: rune(7701)},
+ &CodePointRange{From: rune(7703), To: rune(7703)},
+ &CodePointRange{From: rune(7705), To: rune(7705)},
+ &CodePointRange{From: rune(7707), To: rune(7707)},
+ &CodePointRange{From: rune(7709), To: rune(7709)},
+ &CodePointRange{From: rune(7711), To: rune(7711)},
+ &CodePointRange{From: rune(7713), To: rune(7713)},
+ &CodePointRange{From: rune(7715), To: rune(7715)},
+ &CodePointRange{From: rune(7717), To: rune(7717)},
+ &CodePointRange{From: rune(7719), To: rune(7719)},
+ &CodePointRange{From: rune(7721), To: rune(7721)},
+ &CodePointRange{From: rune(7723), To: rune(7723)},
+ &CodePointRange{From: rune(7725), To: rune(7725)},
+ &CodePointRange{From: rune(7727), To: rune(7727)},
+ &CodePointRange{From: rune(7729), To: rune(7729)},
+ &CodePointRange{From: rune(7731), To: rune(7731)},
+ &CodePointRange{From: rune(7733), To: rune(7733)},
+ &CodePointRange{From: rune(7735), To: rune(7735)},
+ &CodePointRange{From: rune(7737), To: rune(7737)},
+ &CodePointRange{From: rune(7739), To: rune(7739)},
+ &CodePointRange{From: rune(7741), To: rune(7741)},
+ &CodePointRange{From: rune(7743), To: rune(7743)},
+ &CodePointRange{From: rune(7745), To: rune(7745)},
+ &CodePointRange{From: rune(7747), To: rune(7747)},
+ &CodePointRange{From: rune(7749), To: rune(7749)},
+ &CodePointRange{From: rune(7751), To: rune(7751)},
+ &CodePointRange{From: rune(7753), To: rune(7753)},
+ &CodePointRange{From: rune(7755), To: rune(7755)},
+ &CodePointRange{From: rune(7757), To: rune(7757)},
+ &CodePointRange{From: rune(7759), To: rune(7759)},
+ &CodePointRange{From: rune(7761), To: rune(7761)},
+ &CodePointRange{From: rune(7763), To: rune(7763)},
+ &CodePointRange{From: rune(7765), To: rune(7765)},
+ &CodePointRange{From: rune(7767), To: rune(7767)},
+ &CodePointRange{From: rune(7769), To: rune(7769)},
+ &CodePointRange{From: rune(7771), To: rune(7771)},
+ &CodePointRange{From: rune(7773), To: rune(7773)},
+ &CodePointRange{From: rune(7775), To: rune(7775)},
+ &CodePointRange{From: rune(7777), To: rune(7777)},
+ &CodePointRange{From: rune(7779), To: rune(7779)},
+ &CodePointRange{From: rune(7781), To: rune(7781)},
+ &CodePointRange{From: rune(7783), To: rune(7783)},
+ &CodePointRange{From: rune(7785), To: rune(7785)},
+ &CodePointRange{From: rune(7787), To: rune(7787)},
+ &CodePointRange{From: rune(7789), To: rune(7789)},
+ &CodePointRange{From: rune(7791), To: rune(7791)},
+ &CodePointRange{From: rune(7793), To: rune(7793)},
+ &CodePointRange{From: rune(7795), To: rune(7795)},
+ &CodePointRange{From: rune(7797), To: rune(7797)},
+ &CodePointRange{From: rune(7799), To: rune(7799)},
+ &CodePointRange{From: rune(7801), To: rune(7801)},
+ &CodePointRange{From: rune(7803), To: rune(7803)},
+ &CodePointRange{From: rune(7805), To: rune(7805)},
+ &CodePointRange{From: rune(7807), To: rune(7807)},
+ &CodePointRange{From: rune(7809), To: rune(7809)},
+ &CodePointRange{From: rune(7811), To: rune(7811)},
+ &CodePointRange{From: rune(7813), To: rune(7813)},
+ &CodePointRange{From: rune(7815), To: rune(7815)},
+ &CodePointRange{From: rune(7817), To: rune(7817)},
+ &CodePointRange{From: rune(7819), To: rune(7819)},
+ &CodePointRange{From: rune(7821), To: rune(7821)},
+ &CodePointRange{From: rune(7823), To: rune(7823)},
+ &CodePointRange{From: rune(7825), To: rune(7825)},
+ &CodePointRange{From: rune(7827), To: rune(7827)},
+ &CodePointRange{From: rune(7829), To: rune(7837)},
+ &CodePointRange{From: rune(7839), To: rune(7839)},
+ &CodePointRange{From: rune(7841), To: rune(7841)},
+ &CodePointRange{From: rune(7843), To: rune(7843)},
+ &CodePointRange{From: rune(7845), To: rune(7845)},
+ &CodePointRange{From: rune(7847), To: rune(7847)},
+ &CodePointRange{From: rune(7849), To: rune(7849)},
+ &CodePointRange{From: rune(7851), To: rune(7851)},
+ &CodePointRange{From: rune(7853), To: rune(7853)},
+ &CodePointRange{From: rune(7855), To: rune(7855)},
+ &CodePointRange{From: rune(7857), To: rune(7857)},
+ &CodePointRange{From: rune(7859), To: rune(7859)},
+ &CodePointRange{From: rune(7861), To: rune(7861)},
+ &CodePointRange{From: rune(7863), To: rune(7863)},
+ &CodePointRange{From: rune(7865), To: rune(7865)},
+ &CodePointRange{From: rune(7867), To: rune(7867)},
+ &CodePointRange{From: rune(7869), To: rune(7869)},
+ &CodePointRange{From: rune(7871), To: rune(7871)},
+ &CodePointRange{From: rune(7873), To: rune(7873)},
+ &CodePointRange{From: rune(7875), To: rune(7875)},
+ &CodePointRange{From: rune(7877), To: rune(7877)},
+ &CodePointRange{From: rune(7879), To: rune(7879)},
+ &CodePointRange{From: rune(7881), To: rune(7881)},
+ &CodePointRange{From: rune(7883), To: rune(7883)},
+ &CodePointRange{From: rune(7885), To: rune(7885)},
+ &CodePointRange{From: rune(7887), To: rune(7887)},
+ &CodePointRange{From: rune(7889), To: rune(7889)},
+ &CodePointRange{From: rune(7891), To: rune(7891)},
+ &CodePointRange{From: rune(7893), To: rune(7893)},
+ &CodePointRange{From: rune(7895), To: rune(7895)},
+ &CodePointRange{From: rune(7897), To: rune(7897)},
+ &CodePointRange{From: rune(7899), To: rune(7899)},
+ &CodePointRange{From: rune(7901), To: rune(7901)},
+ &CodePointRange{From: rune(7903), To: rune(7903)},
+ &CodePointRange{From: rune(7905), To: rune(7905)},
+ &CodePointRange{From: rune(7907), To: rune(7907)},
+ &CodePointRange{From: rune(7909), To: rune(7909)},
+ &CodePointRange{From: rune(7911), To: rune(7911)},
+ &CodePointRange{From: rune(7913), To: rune(7913)},
+ &CodePointRange{From: rune(7915), To: rune(7915)},
+ &CodePointRange{From: rune(7917), To: rune(7917)},
+ &CodePointRange{From: rune(7919), To: rune(7919)},
+ &CodePointRange{From: rune(7921), To: rune(7921)},
+ &CodePointRange{From: rune(7923), To: rune(7923)},
+ &CodePointRange{From: rune(7925), To: rune(7925)},
+ &CodePointRange{From: rune(7927), To: rune(7927)},
+ &CodePointRange{From: rune(7929), To: rune(7929)},
+ &CodePointRange{From: rune(7931), To: rune(7931)},
+ &CodePointRange{From: rune(7933), To: rune(7933)},
+ &CodePointRange{From: rune(7935), To: rune(7943)},
+ &CodePointRange{From: rune(7952), To: rune(7957)},
+ &CodePointRange{From: rune(7968), To: rune(7975)},
+ &CodePointRange{From: rune(7984), To: rune(7991)},
+ &CodePointRange{From: rune(8000), To: rune(8005)},
+ &CodePointRange{From: rune(8016), To: rune(8023)},
+ &CodePointRange{From: rune(8032), To: rune(8039)},
+ &CodePointRange{From: rune(8048), To: rune(8061)},
+ &CodePointRange{From: rune(8064), To: rune(8071)},
+ &CodePointRange{From: rune(8080), To: rune(8087)},
+ &CodePointRange{From: rune(8096), To: rune(8103)},
+ &CodePointRange{From: rune(8112), To: rune(8116)},
+ &CodePointRange{From: rune(8118), To: rune(8119)},
+ &CodePointRange{From: rune(8126), To: rune(8126)},
+ &CodePointRange{From: rune(8130), To: rune(8132)},
+ &CodePointRange{From: rune(8134), To: rune(8135)},
+ &CodePointRange{From: rune(8144), To: rune(8147)},
+ &CodePointRange{From: rune(8150), To: rune(8151)},
+ &CodePointRange{From: rune(8160), To: rune(8167)},
+ &CodePointRange{From: rune(8178), To: rune(8180)},
+ &CodePointRange{From: rune(8182), To: rune(8183)},
+ &CodePointRange{From: rune(8458), To: rune(8458)},
+ &CodePointRange{From: rune(8462), To: rune(8463)},
+ &CodePointRange{From: rune(8467), To: rune(8467)},
+ &CodePointRange{From: rune(8495), To: rune(8495)},
+ &CodePointRange{From: rune(8500), To: rune(8500)},
+ &CodePointRange{From: rune(8505), To: rune(8505)},
+ &CodePointRange{From: rune(8508), To: rune(8509)},
+ &CodePointRange{From: rune(8518), To: rune(8521)},
+ &CodePointRange{From: rune(8526), To: rune(8526)},
+ &CodePointRange{From: rune(8580), To: rune(8580)},
+ &CodePointRange{From: rune(11312), To: rune(11358)},
+ &CodePointRange{From: rune(11361), To: rune(11361)},
+ &CodePointRange{From: rune(11365), To: rune(11366)},
+ &CodePointRange{From: rune(11368), To: rune(11368)},
+ &CodePointRange{From: rune(11370), To: rune(11370)},
+ &CodePointRange{From: rune(11372), To: rune(11372)},
+ &CodePointRange{From: rune(11377), To: rune(11377)},
+ &CodePointRange{From: rune(11379), To: rune(11380)},
+ &CodePointRange{From: rune(11382), To: rune(11387)},
+ &CodePointRange{From: rune(11393), To: rune(11393)},
+ &CodePointRange{From: rune(11395), To: rune(11395)},
+ &CodePointRange{From: rune(11397), To: rune(11397)},
+ &CodePointRange{From: rune(11399), To: rune(11399)},
+ &CodePointRange{From: rune(11401), To: rune(11401)},
+ &CodePointRange{From: rune(11403), To: rune(11403)},
+ &CodePointRange{From: rune(11405), To: rune(11405)},
+ &CodePointRange{From: rune(11407), To: rune(11407)},
+ &CodePointRange{From: rune(11409), To: rune(11409)},
+ &CodePointRange{From: rune(11411), To: rune(11411)},
+ &CodePointRange{From: rune(11413), To: rune(11413)},
+ &CodePointRange{From: rune(11415), To: rune(11415)},
+ &CodePointRange{From: rune(11417), To: rune(11417)},
+ &CodePointRange{From: rune(11419), To: rune(11419)},
+ &CodePointRange{From: rune(11421), To: rune(11421)},
+ &CodePointRange{From: rune(11423), To: rune(11423)},
+ &CodePointRange{From: rune(11425), To: rune(11425)},
+ &CodePointRange{From: rune(11427), To: rune(11427)},
+ &CodePointRange{From: rune(11429), To: rune(11429)},
+ &CodePointRange{From: rune(11431), To: rune(11431)},
+ &CodePointRange{From: rune(11433), To: rune(11433)},
+ &CodePointRange{From: rune(11435), To: rune(11435)},
+ &CodePointRange{From: rune(11437), To: rune(11437)},
+ &CodePointRange{From: rune(11439), To: rune(11439)},
+ &CodePointRange{From: rune(11441), To: rune(11441)},
+ &CodePointRange{From: rune(11443), To: rune(11443)},
+ &CodePointRange{From: rune(11445), To: rune(11445)},
+ &CodePointRange{From: rune(11447), To: rune(11447)},
+ &CodePointRange{From: rune(11449), To: rune(11449)},
+ &CodePointRange{From: rune(11451), To: rune(11451)},
+ &CodePointRange{From: rune(11453), To: rune(11453)},
+ &CodePointRange{From: rune(11455), To: rune(11455)},
+ &CodePointRange{From: rune(11457), To: rune(11457)},
+ &CodePointRange{From: rune(11459), To: rune(11459)},
+ &CodePointRange{From: rune(11461), To: rune(11461)},
+ &CodePointRange{From: rune(11463), To: rune(11463)},
+ &CodePointRange{From: rune(11465), To: rune(11465)},
+ &CodePointRange{From: rune(11467), To: rune(11467)},
+ &CodePointRange{From: rune(11469), To: rune(11469)},
+ &CodePointRange{From: rune(11471), To: rune(11471)},
+ &CodePointRange{From: rune(11473), To: rune(11473)},
+ &CodePointRange{From: rune(11475), To: rune(11475)},
+ &CodePointRange{From: rune(11477), To: rune(11477)},
+ &CodePointRange{From: rune(11479), To: rune(11479)},
+ &CodePointRange{From: rune(11481), To: rune(11481)},
+ &CodePointRange{From: rune(11483), To: rune(11483)},
+ &CodePointRange{From: rune(11485), To: rune(11485)},
+ &CodePointRange{From: rune(11487), To: rune(11487)},
+ &CodePointRange{From: rune(11489), To: rune(11489)},
+ &CodePointRange{From: rune(11491), To: rune(11492)},
+ &CodePointRange{From: rune(11500), To: rune(11500)},
+ &CodePointRange{From: rune(11502), To: rune(11502)},
+ &CodePointRange{From: rune(11507), To: rune(11507)},
+ &CodePointRange{From: rune(11520), To: rune(11557)},
+ &CodePointRange{From: rune(11559), To: rune(11559)},
+ &CodePointRange{From: rune(11565), To: rune(11565)},
+ &CodePointRange{From: rune(42561), To: rune(42561)},
+ &CodePointRange{From: rune(42563), To: rune(42563)},
+ &CodePointRange{From: rune(42565), To: rune(42565)},
+ &CodePointRange{From: rune(42567), To: rune(42567)},
+ &CodePointRange{From: rune(42569), To: rune(42569)},
+ &CodePointRange{From: rune(42571), To: rune(42571)},
+ &CodePointRange{From: rune(42573), To: rune(42573)},
+ &CodePointRange{From: rune(42575), To: rune(42575)},
+ &CodePointRange{From: rune(42577), To: rune(42577)},
+ &CodePointRange{From: rune(42579), To: rune(42579)},
+ &CodePointRange{From: rune(42581), To: rune(42581)},
+ &CodePointRange{From: rune(42583), To: rune(42583)},
+ &CodePointRange{From: rune(42585), To: rune(42585)},
+ &CodePointRange{From: rune(42587), To: rune(42587)},
+ &CodePointRange{From: rune(42589), To: rune(42589)},
+ &CodePointRange{From: rune(42591), To: rune(42591)},
+ &CodePointRange{From: rune(42593), To: rune(42593)},
+ &CodePointRange{From: rune(42595), To: rune(42595)},
+ &CodePointRange{From: rune(42597), To: rune(42597)},
+ &CodePointRange{From: rune(42599), To: rune(42599)},
+ &CodePointRange{From: rune(42601), To: rune(42601)},
+ &CodePointRange{From: rune(42603), To: rune(42603)},
+ &CodePointRange{From: rune(42605), To: rune(42605)},
+ &CodePointRange{From: rune(42625), To: rune(42625)},
+ &CodePointRange{From: rune(42627), To: rune(42627)},
+ &CodePointRange{From: rune(42629), To: rune(42629)},
+ &CodePointRange{From: rune(42631), To: rune(42631)},
+ &CodePointRange{From: rune(42633), To: rune(42633)},
+ &CodePointRange{From: rune(42635), To: rune(42635)},
+ &CodePointRange{From: rune(42637), To: rune(42637)},
+ &CodePointRange{From: rune(42639), To: rune(42639)},
+ &CodePointRange{From: rune(42641), To: rune(42641)},
+ &CodePointRange{From: rune(42643), To: rune(42643)},
+ &CodePointRange{From: rune(42645), To: rune(42645)},
+ &CodePointRange{From: rune(42647), To: rune(42647)},
+ &CodePointRange{From: rune(42649), To: rune(42649)},
+ &CodePointRange{From: rune(42651), To: rune(42651)},
+ &CodePointRange{From: rune(42787), To: rune(42787)},
+ &CodePointRange{From: rune(42789), To: rune(42789)},
+ &CodePointRange{From: rune(42791), To: rune(42791)},
+ &CodePointRange{From: rune(42793), To: rune(42793)},
+ &CodePointRange{From: rune(42795), To: rune(42795)},
+ &CodePointRange{From: rune(42797), To: rune(42797)},
+ &CodePointRange{From: rune(42799), To: rune(42801)},
+ &CodePointRange{From: rune(42803), To: rune(42803)},
+ &CodePointRange{From: rune(42805), To: rune(42805)},
+ &CodePointRange{From: rune(42807), To: rune(42807)},
+ &CodePointRange{From: rune(42809), To: rune(42809)},
+ &CodePointRange{From: rune(42811), To: rune(42811)},
+ &CodePointRange{From: rune(42813), To: rune(42813)},
+ &CodePointRange{From: rune(42815), To: rune(42815)},
+ &CodePointRange{From: rune(42817), To: rune(42817)},
+ &CodePointRange{From: rune(42819), To: rune(42819)},
+ &CodePointRange{From: rune(42821), To: rune(42821)},
+ &CodePointRange{From: rune(42823), To: rune(42823)},
+ &CodePointRange{From: rune(42825), To: rune(42825)},
+ &CodePointRange{From: rune(42827), To: rune(42827)},
+ &CodePointRange{From: rune(42829), To: rune(42829)},
+ &CodePointRange{From: rune(42831), To: rune(42831)},
+ &CodePointRange{From: rune(42833), To: rune(42833)},
+ &CodePointRange{From: rune(42835), To: rune(42835)},
+ &CodePointRange{From: rune(42837), To: rune(42837)},
+ &CodePointRange{From: rune(42839), To: rune(42839)},
+ &CodePointRange{From: rune(42841), To: rune(42841)},
+ &CodePointRange{From: rune(42843), To: rune(42843)},
+ &CodePointRange{From: rune(42845), To: rune(42845)},
+ &CodePointRange{From: rune(42847), To: rune(42847)},
+ &CodePointRange{From: rune(42849), To: rune(42849)},
+ &CodePointRange{From: rune(42851), To: rune(42851)},
+ &CodePointRange{From: rune(42853), To: rune(42853)},
+ &CodePointRange{From: rune(42855), To: rune(42855)},
+ &CodePointRange{From: rune(42857), To: rune(42857)},
+ &CodePointRange{From: rune(42859), To: rune(42859)},
+ &CodePointRange{From: rune(42861), To: rune(42861)},
+ &CodePointRange{From: rune(42863), To: rune(42863)},
+ &CodePointRange{From: rune(42865), To: rune(42872)},
+ &CodePointRange{From: rune(42874), To: rune(42874)},
+ &CodePointRange{From: rune(42876), To: rune(42876)},
+ &CodePointRange{From: rune(42879), To: rune(42879)},
+ &CodePointRange{From: rune(42881), To: rune(42881)},
+ &CodePointRange{From: rune(42883), To: rune(42883)},
+ &CodePointRange{From: rune(42885), To: rune(42885)},
+ &CodePointRange{From: rune(42887), To: rune(42887)},
+ &CodePointRange{From: rune(42892), To: rune(42892)},
+ &CodePointRange{From: rune(42894), To: rune(42894)},
+ &CodePointRange{From: rune(42897), To: rune(42897)},
+ &CodePointRange{From: rune(42899), To: rune(42901)},
+ &CodePointRange{From: rune(42903), To: rune(42903)},
+ &CodePointRange{From: rune(42905), To: rune(42905)},
+ &CodePointRange{From: rune(42907), To: rune(42907)},
+ &CodePointRange{From: rune(42909), To: rune(42909)},
+ &CodePointRange{From: rune(42911), To: rune(42911)},
+ &CodePointRange{From: rune(42913), To: rune(42913)},
+ &CodePointRange{From: rune(42915), To: rune(42915)},
+ &CodePointRange{From: rune(42917), To: rune(42917)},
+ &CodePointRange{From: rune(42919), To: rune(42919)},
+ &CodePointRange{From: rune(42921), To: rune(42921)},
+ &CodePointRange{From: rune(42927), To: rune(42927)},
+ &CodePointRange{From: rune(42933), To: rune(42933)},
+ &CodePointRange{From: rune(42935), To: rune(42935)},
+ &CodePointRange{From: rune(42937), To: rune(42937)},
+ &CodePointRange{From: rune(42939), To: rune(42939)},
+ &CodePointRange{From: rune(42941), To: rune(42941)},
+ &CodePointRange{From: rune(42943), To: rune(42943)},
+ &CodePointRange{From: rune(42947), To: rune(42947)},
+ &CodePointRange{From: rune(42952), To: rune(42952)},
+ &CodePointRange{From: rune(42954), To: rune(42954)},
+ &CodePointRange{From: rune(42998), To: rune(42998)},
+ &CodePointRange{From: rune(43002), To: rune(43002)},
+ &CodePointRange{From: rune(43824), To: rune(43866)},
+ &CodePointRange{From: rune(43872), To: rune(43880)},
+ &CodePointRange{From: rune(43888), To: rune(43967)},
+ &CodePointRange{From: rune(64256), To: rune(64262)},
+ &CodePointRange{From: rune(64275), To: rune(64279)},
+ &CodePointRange{From: rune(65345), To: rune(65370)},
+ &CodePointRange{From: rune(66600), To: rune(66639)},
+ &CodePointRange{From: rune(66776), To: rune(66811)},
+ &CodePointRange{From: rune(68800), To: rune(68850)},
+ &CodePointRange{From: rune(71872), To: rune(71903)},
+ &CodePointRange{From: rune(93792), To: rune(93823)},
+ &CodePointRange{From: rune(119834), To: rune(119859)},
+ &CodePointRange{From: rune(119886), To: rune(119892)},
+ &CodePointRange{From: rune(119894), To: rune(119911)},
+ &CodePointRange{From: rune(119938), To: rune(119963)},
+ &CodePointRange{From: rune(119990), To: rune(119993)},
+ &CodePointRange{From: rune(119995), To: rune(119995)},
+ &CodePointRange{From: rune(119997), To: rune(120003)},
+ &CodePointRange{From: rune(120005), To: rune(120015)},
+ &CodePointRange{From: rune(120042), To: rune(120067)},
+ &CodePointRange{From: rune(120094), To: rune(120119)},
+ &CodePointRange{From: rune(120146), To: rune(120171)},
+ &CodePointRange{From: rune(120198), To: rune(120223)},
+ &CodePointRange{From: rune(120250), To: rune(120275)},
+ &CodePointRange{From: rune(120302), To: rune(120327)},
+ &CodePointRange{From: rune(120354), To: rune(120379)},
+ &CodePointRange{From: rune(120406), To: rune(120431)},
+ &CodePointRange{From: rune(120458), To: rune(120485)},
+ &CodePointRange{From: rune(120514), To: rune(120538)},
+ &CodePointRange{From: rune(120540), To: rune(120545)},
+ &CodePointRange{From: rune(120572), To: rune(120596)},
+ &CodePointRange{From: rune(120598), To: rune(120603)},
+ &CodePointRange{From: rune(120630), To: rune(120654)},
+ &CodePointRange{From: rune(120656), To: rune(120661)},
+ &CodePointRange{From: rune(120688), To: rune(120712)},
+ &CodePointRange{From: rune(120714), To: rune(120719)},
+ &CodePointRange{From: rune(120746), To: rune(120770)},
+ &CodePointRange{From: rune(120772), To: rune(120777)},
+ &CodePointRange{From: rune(120779), To: rune(120779)},
+ &CodePointRange{From: rune(125218), To: rune(125251)},
+ },
+ "lm": {
+ &CodePointRange{From: rune(688), To: rune(705)},
+ &CodePointRange{From: rune(710), To: rune(721)},
+ &CodePointRange{From: rune(736), To: rune(740)},
+ &CodePointRange{From: rune(748), To: rune(748)},
+ &CodePointRange{From: rune(750), To: rune(750)},
+ &CodePointRange{From: rune(884), To: rune(884)},
+ &CodePointRange{From: rune(890), To: rune(890)},
+ &CodePointRange{From: rune(1369), To: rune(1369)},
+ &CodePointRange{From: rune(1600), To: rune(1600)},
+ &CodePointRange{From: rune(1765), To: rune(1766)},
+ &CodePointRange{From: rune(2036), To: rune(2037)},
+ &CodePointRange{From: rune(2042), To: rune(2042)},
+ &CodePointRange{From: rune(2074), To: rune(2074)},
+ &CodePointRange{From: rune(2084), To: rune(2084)},
+ &CodePointRange{From: rune(2088), To: rune(2088)},
+ &CodePointRange{From: rune(2417), To: rune(2417)},
+ &CodePointRange{From: rune(3654), To: rune(3654)},
+ &CodePointRange{From: rune(3782), To: rune(3782)},
+ &CodePointRange{From: rune(4348), To: rune(4348)},
+ &CodePointRange{From: rune(6103), To: rune(6103)},
+ &CodePointRange{From: rune(6211), To: rune(6211)},
+ &CodePointRange{From: rune(6823), To: rune(6823)},
+ &CodePointRange{From: rune(7288), To: rune(7293)},
+ &CodePointRange{From: rune(7468), To: rune(7530)},
+ &CodePointRange{From: rune(7544), To: rune(7544)},
+ &CodePointRange{From: rune(7579), To: rune(7615)},
+ &CodePointRange{From: rune(8305), To: rune(8305)},
+ &CodePointRange{From: rune(8319), To: rune(8319)},
+ &CodePointRange{From: rune(8336), To: rune(8348)},
+ &CodePointRange{From: rune(11388), To: rune(11389)},
+ &CodePointRange{From: rune(11631), To: rune(11631)},
+ &CodePointRange{From: rune(11823), To: rune(11823)},
+ &CodePointRange{From: rune(12293), To: rune(12293)},
+ &CodePointRange{From: rune(12337), To: rune(12341)},
+ &CodePointRange{From: rune(12347), To: rune(12347)},
+ &CodePointRange{From: rune(12445), To: rune(12446)},
+ &CodePointRange{From: rune(12540), To: rune(12542)},
+ &CodePointRange{From: rune(40981), To: rune(40981)},
+ &CodePointRange{From: rune(42232), To: rune(42237)},
+ &CodePointRange{From: rune(42508), To: rune(42508)},
+ &CodePointRange{From: rune(42623), To: rune(42623)},
+ &CodePointRange{From: rune(42652), To: rune(42653)},
+ &CodePointRange{From: rune(42775), To: rune(42783)},
+ &CodePointRange{From: rune(42864), To: rune(42864)},
+ &CodePointRange{From: rune(42888), To: rune(42888)},
+ &CodePointRange{From: rune(43000), To: rune(43001)},
+ &CodePointRange{From: rune(43471), To: rune(43471)},
+ &CodePointRange{From: rune(43494), To: rune(43494)},
+ &CodePointRange{From: rune(43632), To: rune(43632)},
+ &CodePointRange{From: rune(43741), To: rune(43741)},
+ &CodePointRange{From: rune(43763), To: rune(43764)},
+ &CodePointRange{From: rune(43868), To: rune(43871)},
+ &CodePointRange{From: rune(43881), To: rune(43881)},
+ &CodePointRange{From: rune(65392), To: rune(65392)},
+ &CodePointRange{From: rune(65438), To: rune(65439)},
+ &CodePointRange{From: rune(92992), To: rune(92995)},
+ &CodePointRange{From: rune(94099), To: rune(94111)},
+ &CodePointRange{From: rune(94176), To: rune(94177)},
+ &CodePointRange{From: rune(94179), To: rune(94179)},
+ &CodePointRange{From: rune(123191), To: rune(123197)},
+ &CodePointRange{From: rune(125259), To: rune(125259)},
+ },
+ "lo": {
+ &CodePointRange{From: rune(170), To: rune(170)},
+ &CodePointRange{From: rune(186), To: rune(186)},
+ &CodePointRange{From: rune(443), To: rune(443)},
+ &CodePointRange{From: rune(448), To: rune(451)},
+ &CodePointRange{From: rune(660), To: rune(660)},
+ &CodePointRange{From: rune(1488), To: rune(1514)},
+ &CodePointRange{From: rune(1519), To: rune(1522)},
+ &CodePointRange{From: rune(1568), To: rune(1599)},
+ &CodePointRange{From: rune(1601), To: rune(1610)},
+ &CodePointRange{From: rune(1646), To: rune(1647)},
+ &CodePointRange{From: rune(1649), To: rune(1747)},
+ &CodePointRange{From: rune(1749), To: rune(1749)},
+ &CodePointRange{From: rune(1774), To: rune(1775)},
+ &CodePointRange{From: rune(1786), To: rune(1788)},
+ &CodePointRange{From: rune(1791), To: rune(1791)},
+ &CodePointRange{From: rune(1808), To: rune(1808)},
+ &CodePointRange{From: rune(1810), To: rune(1839)},
+ &CodePointRange{From: rune(1869), To: rune(1957)},
+ &CodePointRange{From: rune(1969), To: rune(1969)},
+ &CodePointRange{From: rune(1994), To: rune(2026)},
+ &CodePointRange{From: rune(2048), To: rune(2069)},
+ &CodePointRange{From: rune(2112), To: rune(2136)},
+ &CodePointRange{From: rune(2144), To: rune(2154)},
+ &CodePointRange{From: rune(2208), To: rune(2228)},
+ &CodePointRange{From: rune(2230), To: rune(2247)},
+ &CodePointRange{From: rune(2308), To: rune(2361)},
+ &CodePointRange{From: rune(2365), To: rune(2365)},
+ &CodePointRange{From: rune(2384), To: rune(2384)},
+ &CodePointRange{From: rune(2392), To: rune(2401)},
+ &CodePointRange{From: rune(2418), To: rune(2432)},
+ &CodePointRange{From: rune(2437), To: rune(2444)},
+ &CodePointRange{From: rune(2447), To: rune(2448)},
+ &CodePointRange{From: rune(2451), To: rune(2472)},
+ &CodePointRange{From: rune(2474), To: rune(2480)},
+ &CodePointRange{From: rune(2482), To: rune(2482)},
+ &CodePointRange{From: rune(2486), To: rune(2489)},
+ &CodePointRange{From: rune(2493), To: rune(2493)},
+ &CodePointRange{From: rune(2510), To: rune(2510)},
+ &CodePointRange{From: rune(2524), To: rune(2525)},
+ &CodePointRange{From: rune(2527), To: rune(2529)},
+ &CodePointRange{From: rune(2544), To: rune(2545)},
+ &CodePointRange{From: rune(2556), To: rune(2556)},
+ &CodePointRange{From: rune(2565), To: rune(2570)},
+ &CodePointRange{From: rune(2575), To: rune(2576)},
+ &CodePointRange{From: rune(2579), To: rune(2600)},
+ &CodePointRange{From: rune(2602), To: rune(2608)},
+ &CodePointRange{From: rune(2610), To: rune(2611)},
+ &CodePointRange{From: rune(2613), To: rune(2614)},
+ &CodePointRange{From: rune(2616), To: rune(2617)},
+ &CodePointRange{From: rune(2649), To: rune(2652)},
+ &CodePointRange{From: rune(2654), To: rune(2654)},
+ &CodePointRange{From: rune(2674), To: rune(2676)},
+ &CodePointRange{From: rune(2693), To: rune(2701)},
+ &CodePointRange{From: rune(2703), To: rune(2705)},
+ &CodePointRange{From: rune(2707), To: rune(2728)},
+ &CodePointRange{From: rune(2730), To: rune(2736)},
+ &CodePointRange{From: rune(2738), To: rune(2739)},
+ &CodePointRange{From: rune(2741), To: rune(2745)},
+ &CodePointRange{From: rune(2749), To: rune(2749)},
+ &CodePointRange{From: rune(2768), To: rune(2768)},
+ &CodePointRange{From: rune(2784), To: rune(2785)},
+ &CodePointRange{From: rune(2809), To: rune(2809)},
+ &CodePointRange{From: rune(2821), To: rune(2828)},
+ &CodePointRange{From: rune(2831), To: rune(2832)},
+ &CodePointRange{From: rune(2835), To: rune(2856)},
+ &CodePointRange{From: rune(2858), To: rune(2864)},
+ &CodePointRange{From: rune(2866), To: rune(2867)},
+ &CodePointRange{From: rune(2869), To: rune(2873)},
+ &CodePointRange{From: rune(2877), To: rune(2877)},
+ &CodePointRange{From: rune(2908), To: rune(2909)},
+ &CodePointRange{From: rune(2911), To: rune(2913)},
+ &CodePointRange{From: rune(2929), To: rune(2929)},
+ &CodePointRange{From: rune(2947), To: rune(2947)},
+ &CodePointRange{From: rune(2949), To: rune(2954)},
+ &CodePointRange{From: rune(2958), To: rune(2960)},
+ &CodePointRange{From: rune(2962), To: rune(2965)},
+ &CodePointRange{From: rune(2969), To: rune(2970)},
+ &CodePointRange{From: rune(2972), To: rune(2972)},
+ &CodePointRange{From: rune(2974), To: rune(2975)},
+ &CodePointRange{From: rune(2979), To: rune(2980)},
+ &CodePointRange{From: rune(2984), To: rune(2986)},
+ &CodePointRange{From: rune(2990), To: rune(3001)},
+ &CodePointRange{From: rune(3024), To: rune(3024)},
+ &CodePointRange{From: rune(3077), To: rune(3084)},
+ &CodePointRange{From: rune(3086), To: rune(3088)},
+ &CodePointRange{From: rune(3090), To: rune(3112)},
+ &CodePointRange{From: rune(3114), To: rune(3129)},
+ &CodePointRange{From: rune(3133), To: rune(3133)},
+ &CodePointRange{From: rune(3160), To: rune(3162)},
+ &CodePointRange{From: rune(3168), To: rune(3169)},
+ &CodePointRange{From: rune(3200), To: rune(3200)},
+ &CodePointRange{From: rune(3205), To: rune(3212)},
+ &CodePointRange{From: rune(3214), To: rune(3216)},
+ &CodePointRange{From: rune(3218), To: rune(3240)},
+ &CodePointRange{From: rune(3242), To: rune(3251)},
+ &CodePointRange{From: rune(3253), To: rune(3257)},
+ &CodePointRange{From: rune(3261), To: rune(3261)},
+ &CodePointRange{From: rune(3294), To: rune(3294)},
+ &CodePointRange{From: rune(3296), To: rune(3297)},
+ &CodePointRange{From: rune(3313), To: rune(3314)},
+ &CodePointRange{From: rune(3332), To: rune(3340)},
+ &CodePointRange{From: rune(3342), To: rune(3344)},
+ &CodePointRange{From: rune(3346), To: rune(3386)},
+ &CodePointRange{From: rune(3389), To: rune(3389)},
+ &CodePointRange{From: rune(3406), To: rune(3406)},
+ &CodePointRange{From: rune(3412), To: rune(3414)},
+ &CodePointRange{From: rune(3423), To: rune(3425)},
+ &CodePointRange{From: rune(3450), To: rune(3455)},
+ &CodePointRange{From: rune(3461), To: rune(3478)},
+ &CodePointRange{From: rune(3482), To: rune(3505)},
+ &CodePointRange{From: rune(3507), To: rune(3515)},
+ &CodePointRange{From: rune(3517), To: rune(3517)},
+ &CodePointRange{From: rune(3520), To: rune(3526)},
+ &CodePointRange{From: rune(3585), To: rune(3632)},
+ &CodePointRange{From: rune(3634), To: rune(3635)},
+ &CodePointRange{From: rune(3648), To: rune(3653)},
+ &CodePointRange{From: rune(3713), To: rune(3714)},
+ &CodePointRange{From: rune(3716), To: rune(3716)},
+ &CodePointRange{From: rune(3718), To: rune(3722)},
+ &CodePointRange{From: rune(3724), To: rune(3747)},
+ &CodePointRange{From: rune(3749), To: rune(3749)},
+ &CodePointRange{From: rune(3751), To: rune(3760)},
+ &CodePointRange{From: rune(3762), To: rune(3763)},
+ &CodePointRange{From: rune(3773), To: rune(3773)},
+ &CodePointRange{From: rune(3776), To: rune(3780)},
+ &CodePointRange{From: rune(3804), To: rune(3807)},
+ &CodePointRange{From: rune(3840), To: rune(3840)},
+ &CodePointRange{From: rune(3904), To: rune(3911)},
+ &CodePointRange{From: rune(3913), To: rune(3948)},
+ &CodePointRange{From: rune(3976), To: rune(3980)},
+ &CodePointRange{From: rune(4096), To: rune(4138)},
+ &CodePointRange{From: rune(4159), To: rune(4159)},
+ &CodePointRange{From: rune(4176), To: rune(4181)},
+ &CodePointRange{From: rune(4186), To: rune(4189)},
+ &CodePointRange{From: rune(4193), To: rune(4193)},
+ &CodePointRange{From: rune(4197), To: rune(4198)},
+ &CodePointRange{From: rune(4206), To: rune(4208)},
+ &CodePointRange{From: rune(4213), To: rune(4225)},
+ &CodePointRange{From: rune(4238), To: rune(4238)},
+ &CodePointRange{From: rune(4352), To: rune(4680)},
+ &CodePointRange{From: rune(4682), To: rune(4685)},
+ &CodePointRange{From: rune(4688), To: rune(4694)},
+ &CodePointRange{From: rune(4696), To: rune(4696)},
+ &CodePointRange{From: rune(4698), To: rune(4701)},
+ &CodePointRange{From: rune(4704), To: rune(4744)},
+ &CodePointRange{From: rune(4746), To: rune(4749)},
+ &CodePointRange{From: rune(4752), To: rune(4784)},
+ &CodePointRange{From: rune(4786), To: rune(4789)},
+ &CodePointRange{From: rune(4792), To: rune(4798)},
+ &CodePointRange{From: rune(4800), To: rune(4800)},
+ &CodePointRange{From: rune(4802), To: rune(4805)},
+ &CodePointRange{From: rune(4808), To: rune(4822)},
+ &CodePointRange{From: rune(4824), To: rune(4880)},
+ &CodePointRange{From: rune(4882), To: rune(4885)},
+ &CodePointRange{From: rune(4888), To: rune(4954)},
+ &CodePointRange{From: rune(4992), To: rune(5007)},
+ &CodePointRange{From: rune(5121), To: rune(5740)},
+ &CodePointRange{From: rune(5743), To: rune(5759)},
+ &CodePointRange{From: rune(5761), To: rune(5786)},
+ &CodePointRange{From: rune(5792), To: rune(5866)},
+ &CodePointRange{From: rune(5873), To: rune(5880)},
+ &CodePointRange{From: rune(5888), To: rune(5900)},
+ &CodePointRange{From: rune(5902), To: rune(5905)},
+ &CodePointRange{From: rune(5920), To: rune(5937)},
+ &CodePointRange{From: rune(5952), To: rune(5969)},
+ &CodePointRange{From: rune(5984), To: rune(5996)},
+ &CodePointRange{From: rune(5998), To: rune(6000)},
+ &CodePointRange{From: rune(6016), To: rune(6067)},
+ &CodePointRange{From: rune(6108), To: rune(6108)},
+ &CodePointRange{From: rune(6176), To: rune(6210)},
+ &CodePointRange{From: rune(6212), To: rune(6264)},
+ &CodePointRange{From: rune(6272), To: rune(6276)},
+ &CodePointRange{From: rune(6279), To: rune(6312)},
+ &CodePointRange{From: rune(6314), To: rune(6314)},
+ &CodePointRange{From: rune(6320), To: rune(6389)},
+ &CodePointRange{From: rune(6400), To: rune(6430)},
+ &CodePointRange{From: rune(6480), To: rune(6509)},
+ &CodePointRange{From: rune(6512), To: rune(6516)},
+ &CodePointRange{From: rune(6528), To: rune(6571)},
+ &CodePointRange{From: rune(6576), To: rune(6601)},
+ &CodePointRange{From: rune(6656), To: rune(6678)},
+ &CodePointRange{From: rune(6688), To: rune(6740)},
+ &CodePointRange{From: rune(6917), To: rune(6963)},
+ &CodePointRange{From: rune(6981), To: rune(6987)},
+ &CodePointRange{From: rune(7043), To: rune(7072)},
+ &CodePointRange{From: rune(7086), To: rune(7087)},
+ &CodePointRange{From: rune(7098), To: rune(7141)},
+ &CodePointRange{From: rune(7168), To: rune(7203)},
+ &CodePointRange{From: rune(7245), To: rune(7247)},
+ &CodePointRange{From: rune(7258), To: rune(7287)},
+ &CodePointRange{From: rune(7401), To: rune(7404)},
+ &CodePointRange{From: rune(7406), To: rune(7411)},
+ &CodePointRange{From: rune(7413), To: rune(7414)},
+ &CodePointRange{From: rune(7418), To: rune(7418)},
+ &CodePointRange{From: rune(8501), To: rune(8504)},
+ &CodePointRange{From: rune(11568), To: rune(11623)},
+ &CodePointRange{From: rune(11648), To: rune(11670)},
+ &CodePointRange{From: rune(11680), To: rune(11686)},
+ &CodePointRange{From: rune(11688), To: rune(11694)},
+ &CodePointRange{From: rune(11696), To: rune(11702)},
+ &CodePointRange{From: rune(11704), To: rune(11710)},
+ &CodePointRange{From: rune(11712), To: rune(11718)},
+ &CodePointRange{From: rune(11720), To: rune(11726)},
+ &CodePointRange{From: rune(11728), To: rune(11734)},
+ &CodePointRange{From: rune(11736), To: rune(11742)},
+ &CodePointRange{From: rune(12294), To: rune(12294)},
+ &CodePointRange{From: rune(12348), To: rune(12348)},
+ &CodePointRange{From: rune(12353), To: rune(12438)},
+ &CodePointRange{From: rune(12447), To: rune(12447)},
+ &CodePointRange{From: rune(12449), To: rune(12538)},
+ &CodePointRange{From: rune(12543), To: rune(12543)},
+ &CodePointRange{From: rune(12549), To: rune(12591)},
+ &CodePointRange{From: rune(12593), To: rune(12686)},
+ &CodePointRange{From: rune(12704), To: rune(12735)},
+ &CodePointRange{From: rune(12784), To: rune(12799)},
+ &CodePointRange{From: rune(13312), To: rune(13312)},
+ &CodePointRange{From: rune(19903), To: rune(19903)},
+ &CodePointRange{From: rune(19968), To: rune(19968)},
+ &CodePointRange{From: rune(40956), To: rune(40956)},
+ &CodePointRange{From: rune(40960), To: rune(40980)},
+ &CodePointRange{From: rune(40982), To: rune(42124)},
+ &CodePointRange{From: rune(42192), To: rune(42231)},
+ &CodePointRange{From: rune(42240), To: rune(42507)},
+ &CodePointRange{From: rune(42512), To: rune(42527)},
+ &CodePointRange{From: rune(42538), To: rune(42539)},
+ &CodePointRange{From: rune(42606), To: rune(42606)},
+ &CodePointRange{From: rune(42656), To: rune(42725)},
+ &CodePointRange{From: rune(42895), To: rune(42895)},
+ &CodePointRange{From: rune(42999), To: rune(42999)},
+ &CodePointRange{From: rune(43003), To: rune(43009)},
+ &CodePointRange{From: rune(43011), To: rune(43013)},
+ &CodePointRange{From: rune(43015), To: rune(43018)},
+ &CodePointRange{From: rune(43020), To: rune(43042)},
+ &CodePointRange{From: rune(43072), To: rune(43123)},
+ &CodePointRange{From: rune(43138), To: rune(43187)},
+ &CodePointRange{From: rune(43250), To: rune(43255)},
+ &CodePointRange{From: rune(43259), To: rune(43259)},
+ &CodePointRange{From: rune(43261), To: rune(43262)},
+ &CodePointRange{From: rune(43274), To: rune(43301)},
+ &CodePointRange{From: rune(43312), To: rune(43334)},
+ &CodePointRange{From: rune(43360), To: rune(43388)},
+ &CodePointRange{From: rune(43396), To: rune(43442)},
+ &CodePointRange{From: rune(43488), To: rune(43492)},
+ &CodePointRange{From: rune(43495), To: rune(43503)},
+ &CodePointRange{From: rune(43514), To: rune(43518)},
+ &CodePointRange{From: rune(43520), To: rune(43560)},
+ &CodePointRange{From: rune(43584), To: rune(43586)},
+ &CodePointRange{From: rune(43588), To: rune(43595)},
+ &CodePointRange{From: rune(43616), To: rune(43631)},
+ &CodePointRange{From: rune(43633), To: rune(43638)},
+ &CodePointRange{From: rune(43642), To: rune(43642)},
+ &CodePointRange{From: rune(43646), To: rune(43695)},
+ &CodePointRange{From: rune(43697), To: rune(43697)},
+ &CodePointRange{From: rune(43701), To: rune(43702)},
+ &CodePointRange{From: rune(43705), To: rune(43709)},
+ &CodePointRange{From: rune(43712), To: rune(43712)},
+ &CodePointRange{From: rune(43714), To: rune(43714)},
+ &CodePointRange{From: rune(43739), To: rune(43740)},
+ &CodePointRange{From: rune(43744), To: rune(43754)},
+ &CodePointRange{From: rune(43762), To: rune(43762)},
+ &CodePointRange{From: rune(43777), To: rune(43782)},
+ &CodePointRange{From: rune(43785), To: rune(43790)},
+ &CodePointRange{From: rune(43793), To: rune(43798)},
+ &CodePointRange{From: rune(43808), To: rune(43814)},
+ &CodePointRange{From: rune(43816), To: rune(43822)},
+ &CodePointRange{From: rune(43968), To: rune(44002)},
+ &CodePointRange{From: rune(44032), To: rune(44032)},
+ &CodePointRange{From: rune(55203), To: rune(55203)},
+ &CodePointRange{From: rune(55216), To: rune(55238)},
+ &CodePointRange{From: rune(55243), To: rune(55291)},
+ &CodePointRange{From: rune(63744), To: rune(64109)},
+ &CodePointRange{From: rune(64112), To: rune(64217)},
+ &CodePointRange{From: rune(64285), To: rune(64285)},
+ &CodePointRange{From: rune(64287), To: rune(64296)},
+ &CodePointRange{From: rune(64298), To: rune(64310)},
+ &CodePointRange{From: rune(64312), To: rune(64316)},
+ &CodePointRange{From: rune(64318), To: rune(64318)},
+ &CodePointRange{From: rune(64320), To: rune(64321)},
+ &CodePointRange{From: rune(64323), To: rune(64324)},
+ &CodePointRange{From: rune(64326), To: rune(64433)},
+ &CodePointRange{From: rune(64467), To: rune(64829)},
+ &CodePointRange{From: rune(64848), To: rune(64911)},
+ &CodePointRange{From: rune(64914), To: rune(64967)},
+ &CodePointRange{From: rune(65008), To: rune(65019)},
+ &CodePointRange{From: rune(65136), To: rune(65140)},
+ &CodePointRange{From: rune(65142), To: rune(65276)},
+ &CodePointRange{From: rune(65382), To: rune(65391)},
+ &CodePointRange{From: rune(65393), To: rune(65437)},
+ &CodePointRange{From: rune(65440), To: rune(65470)},
+ &CodePointRange{From: rune(65474), To: rune(65479)},
+ &CodePointRange{From: rune(65482), To: rune(65487)},
+ &CodePointRange{From: rune(65490), To: rune(65495)},
+ &CodePointRange{From: rune(65498), To: rune(65500)},
+ &CodePointRange{From: rune(65536), To: rune(65547)},
+ &CodePointRange{From: rune(65549), To: rune(65574)},
+ &CodePointRange{From: rune(65576), To: rune(65594)},
+ &CodePointRange{From: rune(65596), To: rune(65597)},
+ &CodePointRange{From: rune(65599), To: rune(65613)},
+ &CodePointRange{From: rune(65616), To: rune(65629)},
+ &CodePointRange{From: rune(65664), To: rune(65786)},
+ &CodePointRange{From: rune(66176), To: rune(66204)},
+ &CodePointRange{From: rune(66208), To: rune(66256)},
+ &CodePointRange{From: rune(66304), To: rune(66335)},
+ &CodePointRange{From: rune(66349), To: rune(66368)},
+ &CodePointRange{From: rune(66370), To: rune(66377)},
+ &CodePointRange{From: rune(66384), To: rune(66421)},
+ &CodePointRange{From: rune(66432), To: rune(66461)},
+ &CodePointRange{From: rune(66464), To: rune(66499)},
+ &CodePointRange{From: rune(66504), To: rune(66511)},
+ &CodePointRange{From: rune(66640), To: rune(66717)},
+ &CodePointRange{From: rune(66816), To: rune(66855)},
+ &CodePointRange{From: rune(66864), To: rune(66915)},
+ &CodePointRange{From: rune(67072), To: rune(67382)},
+ &CodePointRange{From: rune(67392), To: rune(67413)},
+ &CodePointRange{From: rune(67424), To: rune(67431)},
+ &CodePointRange{From: rune(67584), To: rune(67589)},
+ &CodePointRange{From: rune(67592), To: rune(67592)},
+ &CodePointRange{From: rune(67594), To: rune(67637)},
+ &CodePointRange{From: rune(67639), To: rune(67640)},
+ &CodePointRange{From: rune(67644), To: rune(67644)},
+ &CodePointRange{From: rune(67647), To: rune(67669)},
+ &CodePointRange{From: rune(67680), To: rune(67702)},
+ &CodePointRange{From: rune(67712), To: rune(67742)},
+ &CodePointRange{From: rune(67808), To: rune(67826)},
+ &CodePointRange{From: rune(67828), To: rune(67829)},
+ &CodePointRange{From: rune(67840), To: rune(67861)},
+ &CodePointRange{From: rune(67872), To: rune(67897)},
+ &CodePointRange{From: rune(67968), To: rune(68023)},
+ &CodePointRange{From: rune(68030), To: rune(68031)},
+ &CodePointRange{From: rune(68096), To: rune(68096)},
+ &CodePointRange{From: rune(68112), To: rune(68115)},
+ &CodePointRange{From: rune(68117), To: rune(68119)},
+ &CodePointRange{From: rune(68121), To: rune(68149)},
+ &CodePointRange{From: rune(68192), To: rune(68220)},
+ &CodePointRange{From: rune(68224), To: rune(68252)},
+ &CodePointRange{From: rune(68288), To: rune(68295)},
+ &CodePointRange{From: rune(68297), To: rune(68324)},
+ &CodePointRange{From: rune(68352), To: rune(68405)},
+ &CodePointRange{From: rune(68416), To: rune(68437)},
+ &CodePointRange{From: rune(68448), To: rune(68466)},
+ &CodePointRange{From: rune(68480), To: rune(68497)},
+ &CodePointRange{From: rune(68608), To: rune(68680)},
+ &CodePointRange{From: rune(68864), To: rune(68899)},
+ &CodePointRange{From: rune(69248), To: rune(69289)},
+ &CodePointRange{From: rune(69296), To: rune(69297)},
+ &CodePointRange{From: rune(69376), To: rune(69404)},
+ &CodePointRange{From: rune(69415), To: rune(69415)},
+ &CodePointRange{From: rune(69424), To: rune(69445)},
+ &CodePointRange{From: rune(69552), To: rune(69572)},
+ &CodePointRange{From: rune(69600), To: rune(69622)},
+ &CodePointRange{From: rune(69635), To: rune(69687)},
+ &CodePointRange{From: rune(69763), To: rune(69807)},
+ &CodePointRange{From: rune(69840), To: rune(69864)},
+ &CodePointRange{From: rune(69891), To: rune(69926)},
+ &CodePointRange{From: rune(69956), To: rune(69956)},
+ &CodePointRange{From: rune(69959), To: rune(69959)},
+ &CodePointRange{From: rune(69968), To: rune(70002)},
+ &CodePointRange{From: rune(70006), To: rune(70006)},
+ &CodePointRange{From: rune(70019), To: rune(70066)},
+ &CodePointRange{From: rune(70081), To: rune(70084)},
+ &CodePointRange{From: rune(70106), To: rune(70106)},
+ &CodePointRange{From: rune(70108), To: rune(70108)},
+ &CodePointRange{From: rune(70144), To: rune(70161)},
+ &CodePointRange{From: rune(70163), To: rune(70187)},
+ &CodePointRange{From: rune(70272), To: rune(70278)},
+ &CodePointRange{From: rune(70280), To: rune(70280)},
+ &CodePointRange{From: rune(70282), To: rune(70285)},
+ &CodePointRange{From: rune(70287), To: rune(70301)},
+ &CodePointRange{From: rune(70303), To: rune(70312)},
+ &CodePointRange{From: rune(70320), To: rune(70366)},
+ &CodePointRange{From: rune(70405), To: rune(70412)},
+ &CodePointRange{From: rune(70415), To: rune(70416)},
+ &CodePointRange{From: rune(70419), To: rune(70440)},
+ &CodePointRange{From: rune(70442), To: rune(70448)},
+ &CodePointRange{From: rune(70450), To: rune(70451)},
+ &CodePointRange{From: rune(70453), To: rune(70457)},
+ &CodePointRange{From: rune(70461), To: rune(70461)},
+ &CodePointRange{From: rune(70480), To: rune(70480)},
+ &CodePointRange{From: rune(70493), To: rune(70497)},
+ &CodePointRange{From: rune(70656), To: rune(70708)},
+ &CodePointRange{From: rune(70727), To: rune(70730)},
+ &CodePointRange{From: rune(70751), To: rune(70753)},
+ &CodePointRange{From: rune(70784), To: rune(70831)},
+ &CodePointRange{From: rune(70852), To: rune(70853)},
+ &CodePointRange{From: rune(70855), To: rune(70855)},
+ &CodePointRange{From: rune(71040), To: rune(71086)},
+ &CodePointRange{From: rune(71128), To: rune(71131)},
+ &CodePointRange{From: rune(71168), To: rune(71215)},
+ &CodePointRange{From: rune(71236), To: rune(71236)},
+ &CodePointRange{From: rune(71296), To: rune(71338)},
+ &CodePointRange{From: rune(71352), To: rune(71352)},
+ &CodePointRange{From: rune(71424), To: rune(71450)},
+ &CodePointRange{From: rune(71680), To: rune(71723)},
+ &CodePointRange{From: rune(71935), To: rune(71942)},
+ &CodePointRange{From: rune(71945), To: rune(71945)},
+ &CodePointRange{From: rune(71948), To: rune(71955)},
+ &CodePointRange{From: rune(71957), To: rune(71958)},
+ &CodePointRange{From: rune(71960), To: rune(71983)},
+ &CodePointRange{From: rune(71999), To: rune(71999)},
+ &CodePointRange{From: rune(72001), To: rune(72001)},
+ &CodePointRange{From: rune(72096), To: rune(72103)},
+ &CodePointRange{From: rune(72106), To: rune(72144)},
+ &CodePointRange{From: rune(72161), To: rune(72161)},
+ &CodePointRange{From: rune(72163), To: rune(72163)},
+ &CodePointRange{From: rune(72192), To: rune(72192)},
+ &CodePointRange{From: rune(72203), To: rune(72242)},
+ &CodePointRange{From: rune(72250), To: rune(72250)},
+ &CodePointRange{From: rune(72272), To: rune(72272)},
+ &CodePointRange{From: rune(72284), To: rune(72329)},
+ &CodePointRange{From: rune(72349), To: rune(72349)},
+ &CodePointRange{From: rune(72384), To: rune(72440)},
+ &CodePointRange{From: rune(72704), To: rune(72712)},
+ &CodePointRange{From: rune(72714), To: rune(72750)},
+ &CodePointRange{From: rune(72768), To: rune(72768)},
+ &CodePointRange{From: rune(72818), To: rune(72847)},
+ &CodePointRange{From: rune(72960), To: rune(72966)},
+ &CodePointRange{From: rune(72968), To: rune(72969)},
+ &CodePointRange{From: rune(72971), To: rune(73008)},
+ &CodePointRange{From: rune(73030), To: rune(73030)},
+ &CodePointRange{From: rune(73056), To: rune(73061)},
+ &CodePointRange{From: rune(73063), To: rune(73064)},
+ &CodePointRange{From: rune(73066), To: rune(73097)},
+ &CodePointRange{From: rune(73112), To: rune(73112)},
+ &CodePointRange{From: rune(73440), To: rune(73458)},
+ &CodePointRange{From: rune(73648), To: rune(73648)},
+ &CodePointRange{From: rune(73728), To: rune(74649)},
+ &CodePointRange{From: rune(74880), To: rune(75075)},
+ &CodePointRange{From: rune(77824), To: rune(78894)},
+ &CodePointRange{From: rune(82944), To: rune(83526)},
+ &CodePointRange{From: rune(92160), To: rune(92728)},
+ &CodePointRange{From: rune(92736), To: rune(92766)},
+ &CodePointRange{From: rune(92880), To: rune(92909)},
+ &CodePointRange{From: rune(92928), To: rune(92975)},
+ &CodePointRange{From: rune(93027), To: rune(93047)},
+ &CodePointRange{From: rune(93053), To: rune(93071)},
+ &CodePointRange{From: rune(93952), To: rune(94026)},
+ &CodePointRange{From: rune(94032), To: rune(94032)},
+ &CodePointRange{From: rune(94208), To: rune(94208)},
+ &CodePointRange{From: rune(100343), To: rune(100343)},
+ &CodePointRange{From: rune(100352), To: rune(101589)},
+ &CodePointRange{From: rune(101632), To: rune(101632)},
+ &CodePointRange{From: rune(101640), To: rune(101640)},
+ &CodePointRange{From: rune(110592), To: rune(110878)},
+ &CodePointRange{From: rune(110928), To: rune(110930)},
+ &CodePointRange{From: rune(110948), To: rune(110951)},
+ &CodePointRange{From: rune(110960), To: rune(111355)},
+ &CodePointRange{From: rune(113664), To: rune(113770)},
+ &CodePointRange{From: rune(113776), To: rune(113788)},
+ &CodePointRange{From: rune(113792), To: rune(113800)},
+ &CodePointRange{From: rune(113808), To: rune(113817)},
+ &CodePointRange{From: rune(123136), To: rune(123180)},
+ &CodePointRange{From: rune(123214), To: rune(123214)},
+ &CodePointRange{From: rune(123584), To: rune(123627)},
+ &CodePointRange{From: rune(124928), To: rune(125124)},
+ &CodePointRange{From: rune(126464), To: rune(126467)},
+ &CodePointRange{From: rune(126469), To: rune(126495)},
+ &CodePointRange{From: rune(126497), To: rune(126498)},
+ &CodePointRange{From: rune(126500), To: rune(126500)},
+ &CodePointRange{From: rune(126503), To: rune(126503)},
+ &CodePointRange{From: rune(126505), To: rune(126514)},
+ &CodePointRange{From: rune(126516), To: rune(126519)},
+ &CodePointRange{From: rune(126521), To: rune(126521)},
+ &CodePointRange{From: rune(126523), To: rune(126523)},
+ &CodePointRange{From: rune(126530), To: rune(126530)},
+ &CodePointRange{From: rune(126535), To: rune(126535)},
+ &CodePointRange{From: rune(126537), To: rune(126537)},
+ &CodePointRange{From: rune(126539), To: rune(126539)},
+ &CodePointRange{From: rune(126541), To: rune(126543)},
+ &CodePointRange{From: rune(126545), To: rune(126546)},
+ &CodePointRange{From: rune(126548), To: rune(126548)},
+ &CodePointRange{From: rune(126551), To: rune(126551)},
+ &CodePointRange{From: rune(126553), To: rune(126553)},
+ &CodePointRange{From: rune(126555), To: rune(126555)},
+ &CodePointRange{From: rune(126557), To: rune(126557)},
+ &CodePointRange{From: rune(126559), To: rune(126559)},
+ &CodePointRange{From: rune(126561), To: rune(126562)},
+ &CodePointRange{From: rune(126564), To: rune(126564)},
+ &CodePointRange{From: rune(126567), To: rune(126570)},
+ &CodePointRange{From: rune(126572), To: rune(126578)},
+ &CodePointRange{From: rune(126580), To: rune(126583)},
+ &CodePointRange{From: rune(126585), To: rune(126588)},
+ &CodePointRange{From: rune(126590), To: rune(126590)},
+ &CodePointRange{From: rune(126592), To: rune(126601)},
+ &CodePointRange{From: rune(126603), To: rune(126619)},
+ &CodePointRange{From: rune(126625), To: rune(126627)},
+ &CodePointRange{From: rune(126629), To: rune(126633)},
+ &CodePointRange{From: rune(126635), To: rune(126651)},
+ &CodePointRange{From: rune(131072), To: rune(131072)},
+ &CodePointRange{From: rune(173789), To: rune(173789)},
+ &CodePointRange{From: rune(173824), To: rune(173824)},
+ &CodePointRange{From: rune(177972), To: rune(177972)},
+ &CodePointRange{From: rune(177984), To: rune(177984)},
+ &CodePointRange{From: rune(178205), To: rune(178205)},
+ &CodePointRange{From: rune(178208), To: rune(178208)},
+ &CodePointRange{From: rune(183969), To: rune(183969)},
+ &CodePointRange{From: rune(183984), To: rune(183984)},
+ &CodePointRange{From: rune(191456), To: rune(191456)},
+ &CodePointRange{From: rune(194560), To: rune(195101)},
+ &CodePointRange{From: rune(196608), To: rune(196608)},
+ &CodePointRange{From: rune(201546), To: rune(201546)},
+ },
+ "lt": {
+ &CodePointRange{From: rune(453), To: rune(453)},
+ &CodePointRange{From: rune(456), To: rune(456)},
+ &CodePointRange{From: rune(459), To: rune(459)},
+ &CodePointRange{From: rune(498), To: rune(498)},
+ &CodePointRange{From: rune(8072), To: rune(8079)},
+ &CodePointRange{From: rune(8088), To: rune(8095)},
+ &CodePointRange{From: rune(8104), To: rune(8111)},
+ &CodePointRange{From: rune(8124), To: rune(8124)},
+ &CodePointRange{From: rune(8140), To: rune(8140)},
+ &CodePointRange{From: rune(8188), To: rune(8188)},
+ },
+ "lu": {
+ &CodePointRange{From: rune(65), To: rune(90)},
+ &CodePointRange{From: rune(192), To: rune(214)},
+ &CodePointRange{From: rune(216), To: rune(222)},
+ &CodePointRange{From: rune(256), To: rune(256)},
+ &CodePointRange{From: rune(258), To: rune(258)},
+ &CodePointRange{From: rune(260), To: rune(260)},
+ &CodePointRange{From: rune(262), To: rune(262)},
+ &CodePointRange{From: rune(264), To: rune(264)},
+ &CodePointRange{From: rune(266), To: rune(266)},
+ &CodePointRange{From: rune(268), To: rune(268)},
+ &CodePointRange{From: rune(270), To: rune(270)},
+ &CodePointRange{From: rune(272), To: rune(272)},
+ &CodePointRange{From: rune(274), To: rune(274)},
+ &CodePointRange{From: rune(276), To: rune(276)},
+ &CodePointRange{From: rune(278), To: rune(278)},
+ &CodePointRange{From: rune(280), To: rune(280)},
+ &CodePointRange{From: rune(282), To: rune(282)},
+ &CodePointRange{From: rune(284), To: rune(284)},
+ &CodePointRange{From: rune(286), To: rune(286)},
+ &CodePointRange{From: rune(288), To: rune(288)},
+ &CodePointRange{From: rune(290), To: rune(290)},
+ &CodePointRange{From: rune(292), To: rune(292)},
+ &CodePointRange{From: rune(294), To: rune(294)},
+ &CodePointRange{From: rune(296), To: rune(296)},
+ &CodePointRange{From: rune(298), To: rune(298)},
+ &CodePointRange{From: rune(300), To: rune(300)},
+ &CodePointRange{From: rune(302), To: rune(302)},
+ &CodePointRange{From: rune(304), To: rune(304)},
+ &CodePointRange{From: rune(306), To: rune(306)},
+ &CodePointRange{From: rune(308), To: rune(308)},
+ &CodePointRange{From: rune(310), To: rune(310)},
+ &CodePointRange{From: rune(313), To: rune(313)},
+ &CodePointRange{From: rune(315), To: rune(315)},
+ &CodePointRange{From: rune(317), To: rune(317)},
+ &CodePointRange{From: rune(319), To: rune(319)},
+ &CodePointRange{From: rune(321), To: rune(321)},
+ &CodePointRange{From: rune(323), To: rune(323)},
+ &CodePointRange{From: rune(325), To: rune(325)},
+ &CodePointRange{From: rune(327), To: rune(327)},
+ &CodePointRange{From: rune(330), To: rune(330)},
+ &CodePointRange{From: rune(332), To: rune(332)},
+ &CodePointRange{From: rune(334), To: rune(334)},
+ &CodePointRange{From: rune(336), To: rune(336)},
+ &CodePointRange{From: rune(338), To: rune(338)},
+ &CodePointRange{From: rune(340), To: rune(340)},
+ &CodePointRange{From: rune(342), To: rune(342)},
+ &CodePointRange{From: rune(344), To: rune(344)},
+ &CodePointRange{From: rune(346), To: rune(346)},
+ &CodePointRange{From: rune(348), To: rune(348)},
+ &CodePointRange{From: rune(350), To: rune(350)},
+ &CodePointRange{From: rune(352), To: rune(352)},
+ &CodePointRange{From: rune(354), To: rune(354)},
+ &CodePointRange{From: rune(356), To: rune(356)},
+ &CodePointRange{From: rune(358), To: rune(358)},
+ &CodePointRange{From: rune(360), To: rune(360)},
+ &CodePointRange{From: rune(362), To: rune(362)},
+ &CodePointRange{From: rune(364), To: rune(364)},
+ &CodePointRange{From: rune(366), To: rune(366)},
+ &CodePointRange{From: rune(368), To: rune(368)},
+ &CodePointRange{From: rune(370), To: rune(370)},
+ &CodePointRange{From: rune(372), To: rune(372)},
+ &CodePointRange{From: rune(374), To: rune(374)},
+ &CodePointRange{From: rune(376), To: rune(377)},
+ &CodePointRange{From: rune(379), To: rune(379)},
+ &CodePointRange{From: rune(381), To: rune(381)},
+ &CodePointRange{From: rune(385), To: rune(386)},
+ &CodePointRange{From: rune(388), To: rune(388)},
+ &CodePointRange{From: rune(390), To: rune(391)},
+ &CodePointRange{From: rune(393), To: rune(395)},
+ &CodePointRange{From: rune(398), To: rune(401)},
+ &CodePointRange{From: rune(403), To: rune(404)},
+ &CodePointRange{From: rune(406), To: rune(408)},
+ &CodePointRange{From: rune(412), To: rune(413)},
+ &CodePointRange{From: rune(415), To: rune(416)},
+ &CodePointRange{From: rune(418), To: rune(418)},
+ &CodePointRange{From: rune(420), To: rune(420)},
+ &CodePointRange{From: rune(422), To: rune(423)},
+ &CodePointRange{From: rune(425), To: rune(425)},
+ &CodePointRange{From: rune(428), To: rune(428)},
+ &CodePointRange{From: rune(430), To: rune(431)},
+ &CodePointRange{From: rune(433), To: rune(435)},
+ &CodePointRange{From: rune(437), To: rune(437)},
+ &CodePointRange{From: rune(439), To: rune(440)},
+ &CodePointRange{From: rune(444), To: rune(444)},
+ &CodePointRange{From: rune(452), To: rune(452)},
+ &CodePointRange{From: rune(455), To: rune(455)},
+ &CodePointRange{From: rune(458), To: rune(458)},
+ &CodePointRange{From: rune(461), To: rune(461)},
+ &CodePointRange{From: rune(463), To: rune(463)},
+ &CodePointRange{From: rune(465), To: rune(465)},
+ &CodePointRange{From: rune(467), To: rune(467)},
+ &CodePointRange{From: rune(469), To: rune(469)},
+ &CodePointRange{From: rune(471), To: rune(471)},
+ &CodePointRange{From: rune(473), To: rune(473)},
+ &CodePointRange{From: rune(475), To: rune(475)},
+ &CodePointRange{From: rune(478), To: rune(478)},
+ &CodePointRange{From: rune(480), To: rune(480)},
+ &CodePointRange{From: rune(482), To: rune(482)},
+ &CodePointRange{From: rune(484), To: rune(484)},
+ &CodePointRange{From: rune(486), To: rune(486)},
+ &CodePointRange{From: rune(488), To: rune(488)},
+ &CodePointRange{From: rune(490), To: rune(490)},
+ &CodePointRange{From: rune(492), To: rune(492)},
+ &CodePointRange{From: rune(494), To: rune(494)},
+ &CodePointRange{From: rune(497), To: rune(497)},
+ &CodePointRange{From: rune(500), To: rune(500)},
+ &CodePointRange{From: rune(502), To: rune(504)},
+ &CodePointRange{From: rune(506), To: rune(506)},
+ &CodePointRange{From: rune(508), To: rune(508)},
+ &CodePointRange{From: rune(510), To: rune(510)},
+ &CodePointRange{From: rune(512), To: rune(512)},
+ &CodePointRange{From: rune(514), To: rune(514)},
+ &CodePointRange{From: rune(516), To: rune(516)},
+ &CodePointRange{From: rune(518), To: rune(518)},
+ &CodePointRange{From: rune(520), To: rune(520)},
+ &CodePointRange{From: rune(522), To: rune(522)},
+ &CodePointRange{From: rune(524), To: rune(524)},
+ &CodePointRange{From: rune(526), To: rune(526)},
+ &CodePointRange{From: rune(528), To: rune(528)},
+ &CodePointRange{From: rune(530), To: rune(530)},
+ &CodePointRange{From: rune(532), To: rune(532)},
+ &CodePointRange{From: rune(534), To: rune(534)},
+ &CodePointRange{From: rune(536), To: rune(536)},
+ &CodePointRange{From: rune(538), To: rune(538)},
+ &CodePointRange{From: rune(540), To: rune(540)},
+ &CodePointRange{From: rune(542), To: rune(542)},
+ &CodePointRange{From: rune(544), To: rune(544)},
+ &CodePointRange{From: rune(546), To: rune(546)},
+ &CodePointRange{From: rune(548), To: rune(548)},
+ &CodePointRange{From: rune(550), To: rune(550)},
+ &CodePointRange{From: rune(552), To: rune(552)},
+ &CodePointRange{From: rune(554), To: rune(554)},
+ &CodePointRange{From: rune(556), To: rune(556)},
+ &CodePointRange{From: rune(558), To: rune(558)},
+ &CodePointRange{From: rune(560), To: rune(560)},
+ &CodePointRange{From: rune(562), To: rune(562)},
+ &CodePointRange{From: rune(570), To: rune(571)},
+ &CodePointRange{From: rune(573), To: rune(574)},
+ &CodePointRange{From: rune(577), To: rune(577)},
+ &CodePointRange{From: rune(579), To: rune(582)},
+ &CodePointRange{From: rune(584), To: rune(584)},
+ &CodePointRange{From: rune(586), To: rune(586)},
+ &CodePointRange{From: rune(588), To: rune(588)},
+ &CodePointRange{From: rune(590), To: rune(590)},
+ &CodePointRange{From: rune(880), To: rune(880)},
+ &CodePointRange{From: rune(882), To: rune(882)},
+ &CodePointRange{From: rune(886), To: rune(886)},
+ &CodePointRange{From: rune(895), To: rune(895)},
+ &CodePointRange{From: rune(902), To: rune(902)},
+ &CodePointRange{From: rune(904), To: rune(906)},
+ &CodePointRange{From: rune(908), To: rune(908)},
+ &CodePointRange{From: rune(910), To: rune(911)},
+ &CodePointRange{From: rune(913), To: rune(929)},
+ &CodePointRange{From: rune(931), To: rune(939)},
+ &CodePointRange{From: rune(975), To: rune(975)},
+ &CodePointRange{From: rune(978), To: rune(980)},
+ &CodePointRange{From: rune(984), To: rune(984)},
+ &CodePointRange{From: rune(986), To: rune(986)},
+ &CodePointRange{From: rune(988), To: rune(988)},
+ &CodePointRange{From: rune(990), To: rune(990)},
+ &CodePointRange{From: rune(992), To: rune(992)},
+ &CodePointRange{From: rune(994), To: rune(994)},
+ &CodePointRange{From: rune(996), To: rune(996)},
+ &CodePointRange{From: rune(998), To: rune(998)},
+ &CodePointRange{From: rune(1000), To: rune(1000)},
+ &CodePointRange{From: rune(1002), To: rune(1002)},
+ &CodePointRange{From: rune(1004), To: rune(1004)},
+ &CodePointRange{From: rune(1006), To: rune(1006)},
+ &CodePointRange{From: rune(1012), To: rune(1012)},
+ &CodePointRange{From: rune(1015), To: rune(1015)},
+ &CodePointRange{From: rune(1017), To: rune(1018)},
+ &CodePointRange{From: rune(1021), To: rune(1071)},
+ &CodePointRange{From: rune(1120), To: rune(1120)},
+ &CodePointRange{From: rune(1122), To: rune(1122)},
+ &CodePointRange{From: rune(1124), To: rune(1124)},
+ &CodePointRange{From: rune(1126), To: rune(1126)},
+ &CodePointRange{From: rune(1128), To: rune(1128)},
+ &CodePointRange{From: rune(1130), To: rune(1130)},
+ &CodePointRange{From: rune(1132), To: rune(1132)},
+ &CodePointRange{From: rune(1134), To: rune(1134)},
+ &CodePointRange{From: rune(1136), To: rune(1136)},
+ &CodePointRange{From: rune(1138), To: rune(1138)},
+ &CodePointRange{From: rune(1140), To: rune(1140)},
+ &CodePointRange{From: rune(1142), To: rune(1142)},
+ &CodePointRange{From: rune(1144), To: rune(1144)},
+ &CodePointRange{From: rune(1146), To: rune(1146)},
+ &CodePointRange{From: rune(1148), To: rune(1148)},
+ &CodePointRange{From: rune(1150), To: rune(1150)},
+ &CodePointRange{From: rune(1152), To: rune(1152)},
+ &CodePointRange{From: rune(1162), To: rune(1162)},
+ &CodePointRange{From: rune(1164), To: rune(1164)},
+ &CodePointRange{From: rune(1166), To: rune(1166)},
+ &CodePointRange{From: rune(1168), To: rune(1168)},
+ &CodePointRange{From: rune(1170), To: rune(1170)},
+ &CodePointRange{From: rune(1172), To: rune(1172)},
+ &CodePointRange{From: rune(1174), To: rune(1174)},
+ &CodePointRange{From: rune(1176), To: rune(1176)},
+ &CodePointRange{From: rune(1178), To: rune(1178)},
+ &CodePointRange{From: rune(1180), To: rune(1180)},
+ &CodePointRange{From: rune(1182), To: rune(1182)},
+ &CodePointRange{From: rune(1184), To: rune(1184)},
+ &CodePointRange{From: rune(1186), To: rune(1186)},
+ &CodePointRange{From: rune(1188), To: rune(1188)},
+ &CodePointRange{From: rune(1190), To: rune(1190)},
+ &CodePointRange{From: rune(1192), To: rune(1192)},
+ &CodePointRange{From: rune(1194), To: rune(1194)},
+ &CodePointRange{From: rune(1196), To: rune(1196)},
+ &CodePointRange{From: rune(1198), To: rune(1198)},
+ &CodePointRange{From: rune(1200), To: rune(1200)},
+ &CodePointRange{From: rune(1202), To: rune(1202)},
+ &CodePointRange{From: rune(1204), To: rune(1204)},
+ &CodePointRange{From: rune(1206), To: rune(1206)},
+ &CodePointRange{From: rune(1208), To: rune(1208)},
+ &CodePointRange{From: rune(1210), To: rune(1210)},
+ &CodePointRange{From: rune(1212), To: rune(1212)},
+ &CodePointRange{From: rune(1214), To: rune(1214)},
+ &CodePointRange{From: rune(1216), To: rune(1217)},
+ &CodePointRange{From: rune(1219), To: rune(1219)},
+ &CodePointRange{From: rune(1221), To: rune(1221)},
+ &CodePointRange{From: rune(1223), To: rune(1223)},
+ &CodePointRange{From: rune(1225), To: rune(1225)},
+ &CodePointRange{From: rune(1227), To: rune(1227)},
+ &CodePointRange{From: rune(1229), To: rune(1229)},
+ &CodePointRange{From: rune(1232), To: rune(1232)},
+ &CodePointRange{From: rune(1234), To: rune(1234)},
+ &CodePointRange{From: rune(1236), To: rune(1236)},
+ &CodePointRange{From: rune(1238), To: rune(1238)},
+ &CodePointRange{From: rune(1240), To: rune(1240)},
+ &CodePointRange{From: rune(1242), To: rune(1242)},
+ &CodePointRange{From: rune(1244), To: rune(1244)},
+ &CodePointRange{From: rune(1246), To: rune(1246)},
+ &CodePointRange{From: rune(1248), To: rune(1248)},
+ &CodePointRange{From: rune(1250), To: rune(1250)},
+ &CodePointRange{From: rune(1252), To: rune(1252)},
+ &CodePointRange{From: rune(1254), To: rune(1254)},
+ &CodePointRange{From: rune(1256), To: rune(1256)},
+ &CodePointRange{From: rune(1258), To: rune(1258)},
+ &CodePointRange{From: rune(1260), To: rune(1260)},
+ &CodePointRange{From: rune(1262), To: rune(1262)},
+ &CodePointRange{From: rune(1264), To: rune(1264)},
+ &CodePointRange{From: rune(1266), To: rune(1266)},
+ &CodePointRange{From: rune(1268), To: rune(1268)},
+ &CodePointRange{From: rune(1270), To: rune(1270)},
+ &CodePointRange{From: rune(1272), To: rune(1272)},
+ &CodePointRange{From: rune(1274), To: rune(1274)},
+ &CodePointRange{From: rune(1276), To: rune(1276)},
+ &CodePointRange{From: rune(1278), To: rune(1278)},
+ &CodePointRange{From: rune(1280), To: rune(1280)},
+ &CodePointRange{From: rune(1282), To: rune(1282)},
+ &CodePointRange{From: rune(1284), To: rune(1284)},
+ &CodePointRange{From: rune(1286), To: rune(1286)},
+ &CodePointRange{From: rune(1288), To: rune(1288)},
+ &CodePointRange{From: rune(1290), To: rune(1290)},
+ &CodePointRange{From: rune(1292), To: rune(1292)},
+ &CodePointRange{From: rune(1294), To: rune(1294)},
+ &CodePointRange{From: rune(1296), To: rune(1296)},
+ &CodePointRange{From: rune(1298), To: rune(1298)},
+ &CodePointRange{From: rune(1300), To: rune(1300)},
+ &CodePointRange{From: rune(1302), To: rune(1302)},
+ &CodePointRange{From: rune(1304), To: rune(1304)},
+ &CodePointRange{From: rune(1306), To: rune(1306)},
+ &CodePointRange{From: rune(1308), To: rune(1308)},
+ &CodePointRange{From: rune(1310), To: rune(1310)},
+ &CodePointRange{From: rune(1312), To: rune(1312)},
+ &CodePointRange{From: rune(1314), To: rune(1314)},
+ &CodePointRange{From: rune(1316), To: rune(1316)},
+ &CodePointRange{From: rune(1318), To: rune(1318)},
+ &CodePointRange{From: rune(1320), To: rune(1320)},
+ &CodePointRange{From: rune(1322), To: rune(1322)},
+ &CodePointRange{From: rune(1324), To: rune(1324)},
+ &CodePointRange{From: rune(1326), To: rune(1326)},
+ &CodePointRange{From: rune(1329), To: rune(1366)},
+ &CodePointRange{From: rune(4256), To: rune(4293)},
+ &CodePointRange{From: rune(4295), To: rune(4295)},
+ &CodePointRange{From: rune(4301), To: rune(4301)},
+ &CodePointRange{From: rune(5024), To: rune(5109)},
+ &CodePointRange{From: rune(7312), To: rune(7354)},
+ &CodePointRange{From: rune(7357), To: rune(7359)},
+ &CodePointRange{From: rune(7680), To: rune(7680)},
+ &CodePointRange{From: rune(7682), To: rune(7682)},
+ &CodePointRange{From: rune(7684), To: rune(7684)},
+ &CodePointRange{From: rune(7686), To: rune(7686)},
+ &CodePointRange{From: rune(7688), To: rune(7688)},
+ &CodePointRange{From: rune(7690), To: rune(7690)},
+ &CodePointRange{From: rune(7692), To: rune(7692)},
+ &CodePointRange{From: rune(7694), To: rune(7694)},
+ &CodePointRange{From: rune(7696), To: rune(7696)},
+ &CodePointRange{From: rune(7698), To: rune(7698)},
+ &CodePointRange{From: rune(7700), To: rune(7700)},
+ &CodePointRange{From: rune(7702), To: rune(7702)},
+ &CodePointRange{From: rune(7704), To: rune(7704)},
+ &CodePointRange{From: rune(7706), To: rune(7706)},
+ &CodePointRange{From: rune(7708), To: rune(7708)},
+ &CodePointRange{From: rune(7710), To: rune(7710)},
+ &CodePointRange{From: rune(7712), To: rune(7712)},
+ &CodePointRange{From: rune(7714), To: rune(7714)},
+ &CodePointRange{From: rune(7716), To: rune(7716)},
+ &CodePointRange{From: rune(7718), To: rune(7718)},
+ &CodePointRange{From: rune(7720), To: rune(7720)},
+ &CodePointRange{From: rune(7722), To: rune(7722)},
+ &CodePointRange{From: rune(7724), To: rune(7724)},
+ &CodePointRange{From: rune(7726), To: rune(7726)},
+ &CodePointRange{From: rune(7728), To: rune(7728)},
+ &CodePointRange{From: rune(7730), To: rune(7730)},
+ &CodePointRange{From: rune(7732), To: rune(7732)},
+ &CodePointRange{From: rune(7734), To: rune(7734)},
+ &CodePointRange{From: rune(7736), To: rune(7736)},
+ &CodePointRange{From: rune(7738), To: rune(7738)},
+ &CodePointRange{From: rune(7740), To: rune(7740)},
+ &CodePointRange{From: rune(7742), To: rune(7742)},
+ &CodePointRange{From: rune(7744), To: rune(7744)},
+ &CodePointRange{From: rune(7746), To: rune(7746)},
+ &CodePointRange{From: rune(7748), To: rune(7748)},
+ &CodePointRange{From: rune(7750), To: rune(7750)},
+ &CodePointRange{From: rune(7752), To: rune(7752)},
+ &CodePointRange{From: rune(7754), To: rune(7754)},
+ &CodePointRange{From: rune(7756), To: rune(7756)},
+ &CodePointRange{From: rune(7758), To: rune(7758)},
+ &CodePointRange{From: rune(7760), To: rune(7760)},
+ &CodePointRange{From: rune(7762), To: rune(7762)},
+ &CodePointRange{From: rune(7764), To: rune(7764)},
+ &CodePointRange{From: rune(7766), To: rune(7766)},
+ &CodePointRange{From: rune(7768), To: rune(7768)},
+ &CodePointRange{From: rune(7770), To: rune(7770)},
+ &CodePointRange{From: rune(7772), To: rune(7772)},
+ &CodePointRange{From: rune(7774), To: rune(7774)},
+ &CodePointRange{From: rune(7776), To: rune(7776)},
+ &CodePointRange{From: rune(7778), To: rune(7778)},
+ &CodePointRange{From: rune(7780), To: rune(7780)},
+ &CodePointRange{From: rune(7782), To: rune(7782)},
+ &CodePointRange{From: rune(7784), To: rune(7784)},
+ &CodePointRange{From: rune(7786), To: rune(7786)},
+ &CodePointRange{From: rune(7788), To: rune(7788)},
+ &CodePointRange{From: rune(7790), To: rune(7790)},
+ &CodePointRange{From: rune(7792), To: rune(7792)},
+ &CodePointRange{From: rune(7794), To: rune(7794)},
+ &CodePointRange{From: rune(7796), To: rune(7796)},
+ &CodePointRange{From: rune(7798), To: rune(7798)},
+ &CodePointRange{From: rune(7800), To: rune(7800)},
+ &CodePointRange{From: rune(7802), To: rune(7802)},
+ &CodePointRange{From: rune(7804), To: rune(7804)},
+ &CodePointRange{From: rune(7806), To: rune(7806)},
+ &CodePointRange{From: rune(7808), To: rune(7808)},
+ &CodePointRange{From: rune(7810), To: rune(7810)},
+ &CodePointRange{From: rune(7812), To: rune(7812)},
+ &CodePointRange{From: rune(7814), To: rune(7814)},
+ &CodePointRange{From: rune(7816), To: rune(7816)},
+ &CodePointRange{From: rune(7818), To: rune(7818)},
+ &CodePointRange{From: rune(7820), To: rune(7820)},
+ &CodePointRange{From: rune(7822), To: rune(7822)},
+ &CodePointRange{From: rune(7824), To: rune(7824)},
+ &CodePointRange{From: rune(7826), To: rune(7826)},
+ &CodePointRange{From: rune(7828), To: rune(7828)},
+ &CodePointRange{From: rune(7838), To: rune(7838)},
+ &CodePointRange{From: rune(7840), To: rune(7840)},
+ &CodePointRange{From: rune(7842), To: rune(7842)},
+ &CodePointRange{From: rune(7844), To: rune(7844)},
+ &CodePointRange{From: rune(7846), To: rune(7846)},
+ &CodePointRange{From: rune(7848), To: rune(7848)},
+ &CodePointRange{From: rune(7850), To: rune(7850)},
+ &CodePointRange{From: rune(7852), To: rune(7852)},
+ &CodePointRange{From: rune(7854), To: rune(7854)},
+ &CodePointRange{From: rune(7856), To: rune(7856)},
+ &CodePointRange{From: rune(7858), To: rune(7858)},
+ &CodePointRange{From: rune(7860), To: rune(7860)},
+ &CodePointRange{From: rune(7862), To: rune(7862)},
+ &CodePointRange{From: rune(7864), To: rune(7864)},
+ &CodePointRange{From: rune(7866), To: rune(7866)},
+ &CodePointRange{From: rune(7868), To: rune(7868)},
+ &CodePointRange{From: rune(7870), To: rune(7870)},
+ &CodePointRange{From: rune(7872), To: rune(7872)},
+ &CodePointRange{From: rune(7874), To: rune(7874)},
+ &CodePointRange{From: rune(7876), To: rune(7876)},
+ &CodePointRange{From: rune(7878), To: rune(7878)},
+ &CodePointRange{From: rune(7880), To: rune(7880)},
+ &CodePointRange{From: rune(7882), To: rune(7882)},
+ &CodePointRange{From: rune(7884), To: rune(7884)},
+ &CodePointRange{From: rune(7886), To: rune(7886)},
+ &CodePointRange{From: rune(7888), To: rune(7888)},
+ &CodePointRange{From: rune(7890), To: rune(7890)},
+ &CodePointRange{From: rune(7892), To: rune(7892)},
+ &CodePointRange{From: rune(7894), To: rune(7894)},
+ &CodePointRange{From: rune(7896), To: rune(7896)},
+ &CodePointRange{From: rune(7898), To: rune(7898)},
+ &CodePointRange{From: rune(7900), To: rune(7900)},
+ &CodePointRange{From: rune(7902), To: rune(7902)},
+ &CodePointRange{From: rune(7904), To: rune(7904)},
+ &CodePointRange{From: rune(7906), To: rune(7906)},
+ &CodePointRange{From: rune(7908), To: rune(7908)},
+ &CodePointRange{From: rune(7910), To: rune(7910)},
+ &CodePointRange{From: rune(7912), To: rune(7912)},
+ &CodePointRange{From: rune(7914), To: rune(7914)},
+ &CodePointRange{From: rune(7916), To: rune(7916)},
+ &CodePointRange{From: rune(7918), To: rune(7918)},
+ &CodePointRange{From: rune(7920), To: rune(7920)},
+ &CodePointRange{From: rune(7922), To: rune(7922)},
+ &CodePointRange{From: rune(7924), To: rune(7924)},
+ &CodePointRange{From: rune(7926), To: rune(7926)},
+ &CodePointRange{From: rune(7928), To: rune(7928)},
+ &CodePointRange{From: rune(7930), To: rune(7930)},
+ &CodePointRange{From: rune(7932), To: rune(7932)},
+ &CodePointRange{From: rune(7934), To: rune(7934)},
+ &CodePointRange{From: rune(7944), To: rune(7951)},
+ &CodePointRange{From: rune(7960), To: rune(7965)},
+ &CodePointRange{From: rune(7976), To: rune(7983)},
+ &CodePointRange{From: rune(7992), To: rune(7999)},
+ &CodePointRange{From: rune(8008), To: rune(8013)},
+ &CodePointRange{From: rune(8025), To: rune(8025)},
+ &CodePointRange{From: rune(8027), To: rune(8027)},
+ &CodePointRange{From: rune(8029), To: rune(8029)},
+ &CodePointRange{From: rune(8031), To: rune(8031)},
+ &CodePointRange{From: rune(8040), To: rune(8047)},
+ &CodePointRange{From: rune(8120), To: rune(8123)},
+ &CodePointRange{From: rune(8136), To: rune(8139)},
+ &CodePointRange{From: rune(8152), To: rune(8155)},
+ &CodePointRange{From: rune(8168), To: rune(8172)},
+ &CodePointRange{From: rune(8184), To: rune(8187)},
+ &CodePointRange{From: rune(8450), To: rune(8450)},
+ &CodePointRange{From: rune(8455), To: rune(8455)},
+ &CodePointRange{From: rune(8459), To: rune(8461)},
+ &CodePointRange{From: rune(8464), To: rune(8466)},
+ &CodePointRange{From: rune(8469), To: rune(8469)},
+ &CodePointRange{From: rune(8473), To: rune(8477)},
+ &CodePointRange{From: rune(8484), To: rune(8484)},
+ &CodePointRange{From: rune(8486), To: rune(8486)},
+ &CodePointRange{From: rune(8488), To: rune(8488)},
+ &CodePointRange{From: rune(8490), To: rune(8493)},
+ &CodePointRange{From: rune(8496), To: rune(8499)},
+ &CodePointRange{From: rune(8510), To: rune(8511)},
+ &CodePointRange{From: rune(8517), To: rune(8517)},
+ &CodePointRange{From: rune(8579), To: rune(8579)},
+ &CodePointRange{From: rune(11264), To: rune(11310)},
+ &CodePointRange{From: rune(11360), To: rune(11360)},
+ &CodePointRange{From: rune(11362), To: rune(11364)},
+ &CodePointRange{From: rune(11367), To: rune(11367)},
+ &CodePointRange{From: rune(11369), To: rune(11369)},
+ &CodePointRange{From: rune(11371), To: rune(11371)},
+ &CodePointRange{From: rune(11373), To: rune(11376)},
+ &CodePointRange{From: rune(11378), To: rune(11378)},
+ &CodePointRange{From: rune(11381), To: rune(11381)},
+ &CodePointRange{From: rune(11390), To: rune(11392)},
+ &CodePointRange{From: rune(11394), To: rune(11394)},
+ &CodePointRange{From: rune(11396), To: rune(11396)},
+ &CodePointRange{From: rune(11398), To: rune(11398)},
+ &CodePointRange{From: rune(11400), To: rune(11400)},
+ &CodePointRange{From: rune(11402), To: rune(11402)},
+ &CodePointRange{From: rune(11404), To: rune(11404)},
+ &CodePointRange{From: rune(11406), To: rune(11406)},
+ &CodePointRange{From: rune(11408), To: rune(11408)},
+ &CodePointRange{From: rune(11410), To: rune(11410)},
+ &CodePointRange{From: rune(11412), To: rune(11412)},
+ &CodePointRange{From: rune(11414), To: rune(11414)},
+ &CodePointRange{From: rune(11416), To: rune(11416)},
+ &CodePointRange{From: rune(11418), To: rune(11418)},
+ &CodePointRange{From: rune(11420), To: rune(11420)},
+ &CodePointRange{From: rune(11422), To: rune(11422)},
+ &CodePointRange{From: rune(11424), To: rune(11424)},
+ &CodePointRange{From: rune(11426), To: rune(11426)},
+ &CodePointRange{From: rune(11428), To: rune(11428)},
+ &CodePointRange{From: rune(11430), To: rune(11430)},
+ &CodePointRange{From: rune(11432), To: rune(11432)},
+ &CodePointRange{From: rune(11434), To: rune(11434)},
+ &CodePointRange{From: rune(11436), To: rune(11436)},
+ &CodePointRange{From: rune(11438), To: rune(11438)},
+ &CodePointRange{From: rune(11440), To: rune(11440)},
+ &CodePointRange{From: rune(11442), To: rune(11442)},
+ &CodePointRange{From: rune(11444), To: rune(11444)},
+ &CodePointRange{From: rune(11446), To: rune(11446)},
+ &CodePointRange{From: rune(11448), To: rune(11448)},
+ &CodePointRange{From: rune(11450), To: rune(11450)},
+ &CodePointRange{From: rune(11452), To: rune(11452)},
+ &CodePointRange{From: rune(11454), To: rune(11454)},
+ &CodePointRange{From: rune(11456), To: rune(11456)},
+ &CodePointRange{From: rune(11458), To: rune(11458)},
+ &CodePointRange{From: rune(11460), To: rune(11460)},
+ &CodePointRange{From: rune(11462), To: rune(11462)},
+ &CodePointRange{From: rune(11464), To: rune(11464)},
+ &CodePointRange{From: rune(11466), To: rune(11466)},
+ &CodePointRange{From: rune(11468), To: rune(11468)},
+ &CodePointRange{From: rune(11470), To: rune(11470)},
+ &CodePointRange{From: rune(11472), To: rune(11472)},
+ &CodePointRange{From: rune(11474), To: rune(11474)},
+ &CodePointRange{From: rune(11476), To: rune(11476)},
+ &CodePointRange{From: rune(11478), To: rune(11478)},
+ &CodePointRange{From: rune(11480), To: rune(11480)},
+ &CodePointRange{From: rune(11482), To: rune(11482)},
+ &CodePointRange{From: rune(11484), To: rune(11484)},
+ &CodePointRange{From: rune(11486), To: rune(11486)},
+ &CodePointRange{From: rune(11488), To: rune(11488)},
+ &CodePointRange{From: rune(11490), To: rune(11490)},
+ &CodePointRange{From: rune(11499), To: rune(11499)},
+ &CodePointRange{From: rune(11501), To: rune(11501)},
+ &CodePointRange{From: rune(11506), To: rune(11506)},
+ &CodePointRange{From: rune(42560), To: rune(42560)},
+ &CodePointRange{From: rune(42562), To: rune(42562)},
+ &CodePointRange{From: rune(42564), To: rune(42564)},
+ &CodePointRange{From: rune(42566), To: rune(42566)},
+ &CodePointRange{From: rune(42568), To: rune(42568)},
+ &CodePointRange{From: rune(42570), To: rune(42570)},
+ &CodePointRange{From: rune(42572), To: rune(42572)},
+ &CodePointRange{From: rune(42574), To: rune(42574)},
+ &CodePointRange{From: rune(42576), To: rune(42576)},
+ &CodePointRange{From: rune(42578), To: rune(42578)},
+ &CodePointRange{From: rune(42580), To: rune(42580)},
+ &CodePointRange{From: rune(42582), To: rune(42582)},
+ &CodePointRange{From: rune(42584), To: rune(42584)},
+ &CodePointRange{From: rune(42586), To: rune(42586)},
+ &CodePointRange{From: rune(42588), To: rune(42588)},
+ &CodePointRange{From: rune(42590), To: rune(42590)},
+ &CodePointRange{From: rune(42592), To: rune(42592)},
+ &CodePointRange{From: rune(42594), To: rune(42594)},
+ &CodePointRange{From: rune(42596), To: rune(42596)},
+ &CodePointRange{From: rune(42598), To: rune(42598)},
+ &CodePointRange{From: rune(42600), To: rune(42600)},
+ &CodePointRange{From: rune(42602), To: rune(42602)},
+ &CodePointRange{From: rune(42604), To: rune(42604)},
+ &CodePointRange{From: rune(42624), To: rune(42624)},
+ &CodePointRange{From: rune(42626), To: rune(42626)},
+ &CodePointRange{From: rune(42628), To: rune(42628)},
+ &CodePointRange{From: rune(42630), To: rune(42630)},
+ &CodePointRange{From: rune(42632), To: rune(42632)},
+ &CodePointRange{From: rune(42634), To: rune(42634)},
+ &CodePointRange{From: rune(42636), To: rune(42636)},
+ &CodePointRange{From: rune(42638), To: rune(42638)},
+ &CodePointRange{From: rune(42640), To: rune(42640)},
+ &CodePointRange{From: rune(42642), To: rune(42642)},
+ &CodePointRange{From: rune(42644), To: rune(42644)},
+ &CodePointRange{From: rune(42646), To: rune(42646)},
+ &CodePointRange{From: rune(42648), To: rune(42648)},
+ &CodePointRange{From: rune(42650), To: rune(42650)},
+ &CodePointRange{From: rune(42786), To: rune(42786)},
+ &CodePointRange{From: rune(42788), To: rune(42788)},
+ &CodePointRange{From: rune(42790), To: rune(42790)},
+ &CodePointRange{From: rune(42792), To: rune(42792)},
+ &CodePointRange{From: rune(42794), To: rune(42794)},
+ &CodePointRange{From: rune(42796), To: rune(42796)},
+ &CodePointRange{From: rune(42798), To: rune(42798)},
+ &CodePointRange{From: rune(42802), To: rune(42802)},
+ &CodePointRange{From: rune(42804), To: rune(42804)},
+ &CodePointRange{From: rune(42806), To: rune(42806)},
+ &CodePointRange{From: rune(42808), To: rune(42808)},
+ &CodePointRange{From: rune(42810), To: rune(42810)},
+ &CodePointRange{From: rune(42812), To: rune(42812)},
+ &CodePointRange{From: rune(42814), To: rune(42814)},
+ &CodePointRange{From: rune(42816), To: rune(42816)},
+ &CodePointRange{From: rune(42818), To: rune(42818)},
+ &CodePointRange{From: rune(42820), To: rune(42820)},
+ &CodePointRange{From: rune(42822), To: rune(42822)},
+ &CodePointRange{From: rune(42824), To: rune(42824)},
+ &CodePointRange{From: rune(42826), To: rune(42826)},
+ &CodePointRange{From: rune(42828), To: rune(42828)},
+ &CodePointRange{From: rune(42830), To: rune(42830)},
+ &CodePointRange{From: rune(42832), To: rune(42832)},
+ &CodePointRange{From: rune(42834), To: rune(42834)},
+ &CodePointRange{From: rune(42836), To: rune(42836)},
+ &CodePointRange{From: rune(42838), To: rune(42838)},
+ &CodePointRange{From: rune(42840), To: rune(42840)},
+ &CodePointRange{From: rune(42842), To: rune(42842)},
+ &CodePointRange{From: rune(42844), To: rune(42844)},
+ &CodePointRange{From: rune(42846), To: rune(42846)},
+ &CodePointRange{From: rune(42848), To: rune(42848)},
+ &CodePointRange{From: rune(42850), To: rune(42850)},
+ &CodePointRange{From: rune(42852), To: rune(42852)},
+ &CodePointRange{From: rune(42854), To: rune(42854)},
+ &CodePointRange{From: rune(42856), To: rune(42856)},
+ &CodePointRange{From: rune(42858), To: rune(42858)},
+ &CodePointRange{From: rune(42860), To: rune(42860)},
+ &CodePointRange{From: rune(42862), To: rune(42862)},
+ &CodePointRange{From: rune(42873), To: rune(42873)},
+ &CodePointRange{From: rune(42875), To: rune(42875)},
+ &CodePointRange{From: rune(42877), To: rune(42878)},
+ &CodePointRange{From: rune(42880), To: rune(42880)},
+ &CodePointRange{From: rune(42882), To: rune(42882)},
+ &CodePointRange{From: rune(42884), To: rune(42884)},
+ &CodePointRange{From: rune(42886), To: rune(42886)},
+ &CodePointRange{From: rune(42891), To: rune(42891)},
+ &CodePointRange{From: rune(42893), To: rune(42893)},
+ &CodePointRange{From: rune(42896), To: rune(42896)},
+ &CodePointRange{From: rune(42898), To: rune(42898)},
+ &CodePointRange{From: rune(42902), To: rune(42902)},
+ &CodePointRange{From: rune(42904), To: rune(42904)},
+ &CodePointRange{From: rune(42906), To: rune(42906)},
+ &CodePointRange{From: rune(42908), To: rune(42908)},
+ &CodePointRange{From: rune(42910), To: rune(42910)},
+ &CodePointRange{From: rune(42912), To: rune(42912)},
+ &CodePointRange{From: rune(42914), To: rune(42914)},
+ &CodePointRange{From: rune(42916), To: rune(42916)},
+ &CodePointRange{From: rune(42918), To: rune(42918)},
+ &CodePointRange{From: rune(42920), To: rune(42920)},
+ &CodePointRange{From: rune(42922), To: rune(42926)},
+ &CodePointRange{From: rune(42928), To: rune(42932)},
+ &CodePointRange{From: rune(42934), To: rune(42934)},
+ &CodePointRange{From: rune(42936), To: rune(42936)},
+ &CodePointRange{From: rune(42938), To: rune(42938)},
+ &CodePointRange{From: rune(42940), To: rune(42940)},
+ &CodePointRange{From: rune(42942), To: rune(42942)},
+ &CodePointRange{From: rune(42946), To: rune(42946)},
+ &CodePointRange{From: rune(42948), To: rune(42951)},
+ &CodePointRange{From: rune(42953), To: rune(42953)},
+ &CodePointRange{From: rune(42997), To: rune(42997)},
+ &CodePointRange{From: rune(65313), To: rune(65338)},
+ &CodePointRange{From: rune(66560), To: rune(66599)},
+ &CodePointRange{From: rune(66736), To: rune(66771)},
+ &CodePointRange{From: rune(68736), To: rune(68786)},
+ &CodePointRange{From: rune(71840), To: rune(71871)},
+ &CodePointRange{From: rune(93760), To: rune(93791)},
+ &CodePointRange{From: rune(119808), To: rune(119833)},
+ &CodePointRange{From: rune(119860), To: rune(119885)},
+ &CodePointRange{From: rune(119912), To: rune(119937)},
+ &CodePointRange{From: rune(119964), To: rune(119964)},
+ &CodePointRange{From: rune(119966), To: rune(119967)},
+ &CodePointRange{From: rune(119970), To: rune(119970)},
+ &CodePointRange{From: rune(119973), To: rune(119974)},
+ &CodePointRange{From: rune(119977), To: rune(119980)},
+ &CodePointRange{From: rune(119982), To: rune(119989)},
+ &CodePointRange{From: rune(120016), To: rune(120041)},
+ &CodePointRange{From: rune(120068), To: rune(120069)},
+ &CodePointRange{From: rune(120071), To: rune(120074)},
+ &CodePointRange{From: rune(120077), To: rune(120084)},
+ &CodePointRange{From: rune(120086), To: rune(120092)},
+ &CodePointRange{From: rune(120120), To: rune(120121)},
+ &CodePointRange{From: rune(120123), To: rune(120126)},
+ &CodePointRange{From: rune(120128), To: rune(120132)},
+ &CodePointRange{From: rune(120134), To: rune(120134)},
+ &CodePointRange{From: rune(120138), To: rune(120144)},
+ &CodePointRange{From: rune(120172), To: rune(120197)},
+ &CodePointRange{From: rune(120224), To: rune(120249)},
+ &CodePointRange{From: rune(120276), To: rune(120301)},
+ &CodePointRange{From: rune(120328), To: rune(120353)},
+ &CodePointRange{From: rune(120380), To: rune(120405)},
+ &CodePointRange{From: rune(120432), To: rune(120457)},
+ &CodePointRange{From: rune(120488), To: rune(120512)},
+ &CodePointRange{From: rune(120546), To: rune(120570)},
+ &CodePointRange{From: rune(120604), To: rune(120628)},
+ &CodePointRange{From: rune(120662), To: rune(120686)},
+ &CodePointRange{From: rune(120720), To: rune(120744)},
+ &CodePointRange{From: rune(120778), To: rune(120778)},
+ &CodePointRange{From: rune(125184), To: rune(125217)},
+ },
+ "mc": {
+ &CodePointRange{From: rune(2307), To: rune(2307)},
+ &CodePointRange{From: rune(2363), To: rune(2363)},
+ &CodePointRange{From: rune(2366), To: rune(2368)},
+ &CodePointRange{From: rune(2377), To: rune(2380)},
+ &CodePointRange{From: rune(2382), To: rune(2383)},
+ &CodePointRange{From: rune(2434), To: rune(2435)},
+ &CodePointRange{From: rune(2494), To: rune(2496)},
+ &CodePointRange{From: rune(2503), To: rune(2504)},
+ &CodePointRange{From: rune(2507), To: rune(2508)},
+ &CodePointRange{From: rune(2519), To: rune(2519)},
+ &CodePointRange{From: rune(2563), To: rune(2563)},
+ &CodePointRange{From: rune(2622), To: rune(2624)},
+ &CodePointRange{From: rune(2691), To: rune(2691)},
+ &CodePointRange{From: rune(2750), To: rune(2752)},
+ &CodePointRange{From: rune(2761), To: rune(2761)},
+ &CodePointRange{From: rune(2763), To: rune(2764)},
+ &CodePointRange{From: rune(2818), To: rune(2819)},
+ &CodePointRange{From: rune(2878), To: rune(2878)},
+ &CodePointRange{From: rune(2880), To: rune(2880)},
+ &CodePointRange{From: rune(2887), To: rune(2888)},
+ &CodePointRange{From: rune(2891), To: rune(2892)},
+ &CodePointRange{From: rune(2903), To: rune(2903)},
+ &CodePointRange{From: rune(3006), To: rune(3007)},
+ &CodePointRange{From: rune(3009), To: rune(3010)},
+ &CodePointRange{From: rune(3014), To: rune(3016)},
+ &CodePointRange{From: rune(3018), To: rune(3020)},
+ &CodePointRange{From: rune(3031), To: rune(3031)},
+ &CodePointRange{From: rune(3073), To: rune(3075)},
+ &CodePointRange{From: rune(3137), To: rune(3140)},
+ &CodePointRange{From: rune(3202), To: rune(3203)},
+ &CodePointRange{From: rune(3262), To: rune(3262)},
+ &CodePointRange{From: rune(3264), To: rune(3268)},
+ &CodePointRange{From: rune(3271), To: rune(3272)},
+ &CodePointRange{From: rune(3274), To: rune(3275)},
+ &CodePointRange{From: rune(3285), To: rune(3286)},
+ &CodePointRange{From: rune(3330), To: rune(3331)},
+ &CodePointRange{From: rune(3390), To: rune(3392)},
+ &CodePointRange{From: rune(3398), To: rune(3400)},
+ &CodePointRange{From: rune(3402), To: rune(3404)},
+ &CodePointRange{From: rune(3415), To: rune(3415)},
+ &CodePointRange{From: rune(3458), To: rune(3459)},
+ &CodePointRange{From: rune(3535), To: rune(3537)},
+ &CodePointRange{From: rune(3544), To: rune(3551)},
+ &CodePointRange{From: rune(3570), To: rune(3571)},
+ &CodePointRange{From: rune(3902), To: rune(3903)},
+ &CodePointRange{From: rune(3967), To: rune(3967)},
+ &CodePointRange{From: rune(4139), To: rune(4140)},
+ &CodePointRange{From: rune(4145), To: rune(4145)},
+ &CodePointRange{From: rune(4152), To: rune(4152)},
+ &CodePointRange{From: rune(4155), To: rune(4156)},
+ &CodePointRange{From: rune(4182), To: rune(4183)},
+ &CodePointRange{From: rune(4194), To: rune(4196)},
+ &CodePointRange{From: rune(4199), To: rune(4205)},
+ &CodePointRange{From: rune(4227), To: rune(4228)},
+ &CodePointRange{From: rune(4231), To: rune(4236)},
+ &CodePointRange{From: rune(4239), To: rune(4239)},
+ &CodePointRange{From: rune(4250), To: rune(4252)},
+ &CodePointRange{From: rune(6070), To: rune(6070)},
+ &CodePointRange{From: rune(6078), To: rune(6085)},
+ &CodePointRange{From: rune(6087), To: rune(6088)},
+ &CodePointRange{From: rune(6435), To: rune(6438)},
+ &CodePointRange{From: rune(6441), To: rune(6443)},
+ &CodePointRange{From: rune(6448), To: rune(6449)},
+ &CodePointRange{From: rune(6451), To: rune(6456)},
+ &CodePointRange{From: rune(6681), To: rune(6682)},
+ &CodePointRange{From: rune(6741), To: rune(6741)},
+ &CodePointRange{From: rune(6743), To: rune(6743)},
+ &CodePointRange{From: rune(6753), To: rune(6753)},
+ &CodePointRange{From: rune(6755), To: rune(6756)},
+ &CodePointRange{From: rune(6765), To: rune(6770)},
+ &CodePointRange{From: rune(6916), To: rune(6916)},
+ &CodePointRange{From: rune(6965), To: rune(6965)},
+ &CodePointRange{From: rune(6971), To: rune(6971)},
+ &CodePointRange{From: rune(6973), To: rune(6977)},
+ &CodePointRange{From: rune(6979), To: rune(6980)},
+ &CodePointRange{From: rune(7042), To: rune(7042)},
+ &CodePointRange{From: rune(7073), To: rune(7073)},
+ &CodePointRange{From: rune(7078), To: rune(7079)},
+ &CodePointRange{From: rune(7082), To: rune(7082)},
+ &CodePointRange{From: rune(7143), To: rune(7143)},
+ &CodePointRange{From: rune(7146), To: rune(7148)},
+ &CodePointRange{From: rune(7150), To: rune(7150)},
+ &CodePointRange{From: rune(7154), To: rune(7155)},
+ &CodePointRange{From: rune(7204), To: rune(7211)},
+ &CodePointRange{From: rune(7220), To: rune(7221)},
+ &CodePointRange{From: rune(7393), To: rune(7393)},
+ &CodePointRange{From: rune(7415), To: rune(7415)},
+ &CodePointRange{From: rune(12334), To: rune(12335)},
+ &CodePointRange{From: rune(43043), To: rune(43044)},
+ &CodePointRange{From: rune(43047), To: rune(43047)},
+ &CodePointRange{From: rune(43136), To: rune(43137)},
+ &CodePointRange{From: rune(43188), To: rune(43203)},
+ &CodePointRange{From: rune(43346), To: rune(43347)},
+ &CodePointRange{From: rune(43395), To: rune(43395)},
+ &CodePointRange{From: rune(43444), To: rune(43445)},
+ &CodePointRange{From: rune(43450), To: rune(43451)},
+ &CodePointRange{From: rune(43454), To: rune(43456)},
+ &CodePointRange{From: rune(43567), To: rune(43568)},
+ &CodePointRange{From: rune(43571), To: rune(43572)},
+ &CodePointRange{From: rune(43597), To: rune(43597)},
+ &CodePointRange{From: rune(43643), To: rune(43643)},
+ &CodePointRange{From: rune(43645), To: rune(43645)},
+ &CodePointRange{From: rune(43755), To: rune(43755)},
+ &CodePointRange{From: rune(43758), To: rune(43759)},
+ &CodePointRange{From: rune(43765), To: rune(43765)},
+ &CodePointRange{From: rune(44003), To: rune(44004)},
+ &CodePointRange{From: rune(44006), To: rune(44007)},
+ &CodePointRange{From: rune(44009), To: rune(44010)},
+ &CodePointRange{From: rune(44012), To: rune(44012)},
+ &CodePointRange{From: rune(69632), To: rune(69632)},
+ &CodePointRange{From: rune(69634), To: rune(69634)},
+ &CodePointRange{From: rune(69762), To: rune(69762)},
+ &CodePointRange{From: rune(69808), To: rune(69810)},
+ &CodePointRange{From: rune(69815), To: rune(69816)},
+ &CodePointRange{From: rune(69932), To: rune(69932)},
+ &CodePointRange{From: rune(69957), To: rune(69958)},
+ &CodePointRange{From: rune(70018), To: rune(70018)},
+ &CodePointRange{From: rune(70067), To: rune(70069)},
+ &CodePointRange{From: rune(70079), To: rune(70080)},
+ &CodePointRange{From: rune(70094), To: rune(70094)},
+ &CodePointRange{From: rune(70188), To: rune(70190)},
+ &CodePointRange{From: rune(70194), To: rune(70195)},
+ &CodePointRange{From: rune(70197), To: rune(70197)},
+ &CodePointRange{From: rune(70368), To: rune(70370)},
+ &CodePointRange{From: rune(70402), To: rune(70403)},
+ &CodePointRange{From: rune(70462), To: rune(70463)},
+ &CodePointRange{From: rune(70465), To: rune(70468)},
+ &CodePointRange{From: rune(70471), To: rune(70472)},
+ &CodePointRange{From: rune(70475), To: rune(70477)},
+ &CodePointRange{From: rune(70487), To: rune(70487)},
+ &CodePointRange{From: rune(70498), To: rune(70499)},
+ &CodePointRange{From: rune(70709), To: rune(70711)},
+ &CodePointRange{From: rune(70720), To: rune(70721)},
+ &CodePointRange{From: rune(70725), To: rune(70725)},
+ &CodePointRange{From: rune(70832), To: rune(70834)},
+ &CodePointRange{From: rune(70841), To: rune(70841)},
+ &CodePointRange{From: rune(70843), To: rune(70846)},
+ &CodePointRange{From: rune(70849), To: rune(70849)},
+ &CodePointRange{From: rune(71087), To: rune(71089)},
+ &CodePointRange{From: rune(71096), To: rune(71099)},
+ &CodePointRange{From: rune(71102), To: rune(71102)},
+ &CodePointRange{From: rune(71216), To: rune(71218)},
+ &CodePointRange{From: rune(71227), To: rune(71228)},
+ &CodePointRange{From: rune(71230), To: rune(71230)},
+ &CodePointRange{From: rune(71340), To: rune(71340)},
+ &CodePointRange{From: rune(71342), To: rune(71343)},
+ &CodePointRange{From: rune(71350), To: rune(71350)},
+ &CodePointRange{From: rune(71456), To: rune(71457)},
+ &CodePointRange{From: rune(71462), To: rune(71462)},
+ &CodePointRange{From: rune(71724), To: rune(71726)},
+ &CodePointRange{From: rune(71736), To: rune(71736)},
+ &CodePointRange{From: rune(71984), To: rune(71989)},
+ &CodePointRange{From: rune(71991), To: rune(71992)},
+ &CodePointRange{From: rune(71997), To: rune(71997)},
+ &CodePointRange{From: rune(72000), To: rune(72000)},
+ &CodePointRange{From: rune(72002), To: rune(72002)},
+ &CodePointRange{From: rune(72145), To: rune(72147)},
+ &CodePointRange{From: rune(72156), To: rune(72159)},
+ &CodePointRange{From: rune(72164), To: rune(72164)},
+ &CodePointRange{From: rune(72249), To: rune(72249)},
+ &CodePointRange{From: rune(72279), To: rune(72280)},
+ &CodePointRange{From: rune(72343), To: rune(72343)},
+ &CodePointRange{From: rune(72751), To: rune(72751)},
+ &CodePointRange{From: rune(72766), To: rune(72766)},
+ &CodePointRange{From: rune(72873), To: rune(72873)},
+ &CodePointRange{From: rune(72881), To: rune(72881)},
+ &CodePointRange{From: rune(72884), To: rune(72884)},
+ &CodePointRange{From: rune(73098), To: rune(73102)},
+ &CodePointRange{From: rune(73107), To: rune(73108)},
+ &CodePointRange{From: rune(73110), To: rune(73110)},
+ &CodePointRange{From: rune(73461), To: rune(73462)},
+ &CodePointRange{From: rune(94033), To: rune(94087)},
+ &CodePointRange{From: rune(94192), To: rune(94193)},
+ &CodePointRange{From: rune(119141), To: rune(119142)},
+ &CodePointRange{From: rune(119149), To: rune(119154)},
+ },
+ "me": {
+ &CodePointRange{From: rune(1160), To: rune(1161)},
+ &CodePointRange{From: rune(6846), To: rune(6846)},
+ &CodePointRange{From: rune(8413), To: rune(8416)},
+ &CodePointRange{From: rune(8418), To: rune(8420)},
+ &CodePointRange{From: rune(42608), To: rune(42610)},
+ },
+ "mn": {
+ &CodePointRange{From: rune(768), To: rune(879)},
+ &CodePointRange{From: rune(1155), To: rune(1159)},
+ &CodePointRange{From: rune(1425), To: rune(1469)},
+ &CodePointRange{From: rune(1471), To: rune(1471)},
+ &CodePointRange{From: rune(1473), To: rune(1474)},
+ &CodePointRange{From: rune(1476), To: rune(1477)},
+ &CodePointRange{From: rune(1479), To: rune(1479)},
+ &CodePointRange{From: rune(1552), To: rune(1562)},
+ &CodePointRange{From: rune(1611), To: rune(1631)},
+ &CodePointRange{From: rune(1648), To: rune(1648)},
+ &CodePointRange{From: rune(1750), To: rune(1756)},
+ &CodePointRange{From: rune(1759), To: rune(1764)},
+ &CodePointRange{From: rune(1767), To: rune(1768)},
+ &CodePointRange{From: rune(1770), To: rune(1773)},
+ &CodePointRange{From: rune(1809), To: rune(1809)},
+ &CodePointRange{From: rune(1840), To: rune(1866)},
+ &CodePointRange{From: rune(1958), To: rune(1968)},
+ &CodePointRange{From: rune(2027), To: rune(2035)},
+ &CodePointRange{From: rune(2045), To: rune(2045)},
+ &CodePointRange{From: rune(2070), To: rune(2073)},
+ &CodePointRange{From: rune(2075), To: rune(2083)},
+ &CodePointRange{From: rune(2085), To: rune(2087)},
+ &CodePointRange{From: rune(2089), To: rune(2093)},
+ &CodePointRange{From: rune(2137), To: rune(2139)},
+ &CodePointRange{From: rune(2259), To: rune(2273)},
+ &CodePointRange{From: rune(2275), To: rune(2306)},
+ &CodePointRange{From: rune(2362), To: rune(2362)},
+ &CodePointRange{From: rune(2364), To: rune(2364)},
+ &CodePointRange{From: rune(2369), To: rune(2376)},
+ &CodePointRange{From: rune(2381), To: rune(2381)},
+ &CodePointRange{From: rune(2385), To: rune(2391)},
+ &CodePointRange{From: rune(2402), To: rune(2403)},
+ &CodePointRange{From: rune(2433), To: rune(2433)},
+ &CodePointRange{From: rune(2492), To: rune(2492)},
+ &CodePointRange{From: rune(2497), To: rune(2500)},
+ &CodePointRange{From: rune(2509), To: rune(2509)},
+ &CodePointRange{From: rune(2530), To: rune(2531)},
+ &CodePointRange{From: rune(2558), To: rune(2558)},
+ &CodePointRange{From: rune(2561), To: rune(2562)},
+ &CodePointRange{From: rune(2620), To: rune(2620)},
+ &CodePointRange{From: rune(2625), To: rune(2626)},
+ &CodePointRange{From: rune(2631), To: rune(2632)},
+ &CodePointRange{From: rune(2635), To: rune(2637)},
+ &CodePointRange{From: rune(2641), To: rune(2641)},
+ &CodePointRange{From: rune(2672), To: rune(2673)},
+ &CodePointRange{From: rune(2677), To: rune(2677)},
+ &CodePointRange{From: rune(2689), To: rune(2690)},
+ &CodePointRange{From: rune(2748), To: rune(2748)},
+ &CodePointRange{From: rune(2753), To: rune(2757)},
+ &CodePointRange{From: rune(2759), To: rune(2760)},
+ &CodePointRange{From: rune(2765), To: rune(2765)},
+ &CodePointRange{From: rune(2786), To: rune(2787)},
+ &CodePointRange{From: rune(2810), To: rune(2815)},
+ &CodePointRange{From: rune(2817), To: rune(2817)},
+ &CodePointRange{From: rune(2876), To: rune(2876)},
+ &CodePointRange{From: rune(2879), To: rune(2879)},
+ &CodePointRange{From: rune(2881), To: rune(2884)},
+ &CodePointRange{From: rune(2893), To: rune(2893)},
+ &CodePointRange{From: rune(2901), To: rune(2902)},
+ &CodePointRange{From: rune(2914), To: rune(2915)},
+ &CodePointRange{From: rune(2946), To: rune(2946)},
+ &CodePointRange{From: rune(3008), To: rune(3008)},
+ &CodePointRange{From: rune(3021), To: rune(3021)},
+ &CodePointRange{From: rune(3072), To: rune(3072)},
+ &CodePointRange{From: rune(3076), To: rune(3076)},
+ &CodePointRange{From: rune(3134), To: rune(3136)},
+ &CodePointRange{From: rune(3142), To: rune(3144)},
+ &CodePointRange{From: rune(3146), To: rune(3149)},
+ &CodePointRange{From: rune(3157), To: rune(3158)},
+ &CodePointRange{From: rune(3170), To: rune(3171)},
+ &CodePointRange{From: rune(3201), To: rune(3201)},
+ &CodePointRange{From: rune(3260), To: rune(3260)},
+ &CodePointRange{From: rune(3263), To: rune(3263)},
+ &CodePointRange{From: rune(3270), To: rune(3270)},
+ &CodePointRange{From: rune(3276), To: rune(3277)},
+ &CodePointRange{From: rune(3298), To: rune(3299)},
+ &CodePointRange{From: rune(3328), To: rune(3329)},
+ &CodePointRange{From: rune(3387), To: rune(3388)},
+ &CodePointRange{From: rune(3393), To: rune(3396)},
+ &CodePointRange{From: rune(3405), To: rune(3405)},
+ &CodePointRange{From: rune(3426), To: rune(3427)},
+ &CodePointRange{From: rune(3457), To: rune(3457)},
+ &CodePointRange{From: rune(3530), To: rune(3530)},
+ &CodePointRange{From: rune(3538), To: rune(3540)},
+ &CodePointRange{From: rune(3542), To: rune(3542)},
+ &CodePointRange{From: rune(3633), To: rune(3633)},
+ &CodePointRange{From: rune(3636), To: rune(3642)},
+ &CodePointRange{From: rune(3655), To: rune(3662)},
+ &CodePointRange{From: rune(3761), To: rune(3761)},
+ &CodePointRange{From: rune(3764), To: rune(3772)},
+ &CodePointRange{From: rune(3784), To: rune(3789)},
+ &CodePointRange{From: rune(3864), To: rune(3865)},
+ &CodePointRange{From: rune(3893), To: rune(3893)},
+ &CodePointRange{From: rune(3895), To: rune(3895)},
+ &CodePointRange{From: rune(3897), To: rune(3897)},
+ &CodePointRange{From: rune(3953), To: rune(3966)},
+ &CodePointRange{From: rune(3968), To: rune(3972)},
+ &CodePointRange{From: rune(3974), To: rune(3975)},
+ &CodePointRange{From: rune(3981), To: rune(3991)},
+ &CodePointRange{From: rune(3993), To: rune(4028)},
+ &CodePointRange{From: rune(4038), To: rune(4038)},
+ &CodePointRange{From: rune(4141), To: rune(4144)},
+ &CodePointRange{From: rune(4146), To: rune(4151)},
+ &CodePointRange{From: rune(4153), To: rune(4154)},
+ &CodePointRange{From: rune(4157), To: rune(4158)},
+ &CodePointRange{From: rune(4184), To: rune(4185)},
+ &CodePointRange{From: rune(4190), To: rune(4192)},
+ &CodePointRange{From: rune(4209), To: rune(4212)},
+ &CodePointRange{From: rune(4226), To: rune(4226)},
+ &CodePointRange{From: rune(4229), To: rune(4230)},
+ &CodePointRange{From: rune(4237), To: rune(4237)},
+ &CodePointRange{From: rune(4253), To: rune(4253)},
+ &CodePointRange{From: rune(4957), To: rune(4959)},
+ &CodePointRange{From: rune(5906), To: rune(5908)},
+ &CodePointRange{From: rune(5938), To: rune(5940)},
+ &CodePointRange{From: rune(5970), To: rune(5971)},
+ &CodePointRange{From: rune(6002), To: rune(6003)},
+ &CodePointRange{From: rune(6068), To: rune(6069)},
+ &CodePointRange{From: rune(6071), To: rune(6077)},
+ &CodePointRange{From: rune(6086), To: rune(6086)},
+ &CodePointRange{From: rune(6089), To: rune(6099)},
+ &CodePointRange{From: rune(6109), To: rune(6109)},
+ &CodePointRange{From: rune(6155), To: rune(6157)},
+ &CodePointRange{From: rune(6277), To: rune(6278)},
+ &CodePointRange{From: rune(6313), To: rune(6313)},
+ &CodePointRange{From: rune(6432), To: rune(6434)},
+ &CodePointRange{From: rune(6439), To: rune(6440)},
+ &CodePointRange{From: rune(6450), To: rune(6450)},
+ &CodePointRange{From: rune(6457), To: rune(6459)},
+ &CodePointRange{From: rune(6679), To: rune(6680)},
+ &CodePointRange{From: rune(6683), To: rune(6683)},
+ &CodePointRange{From: rune(6742), To: rune(6742)},
+ &CodePointRange{From: rune(6744), To: rune(6750)},
+ &CodePointRange{From: rune(6752), To: rune(6752)},
+ &CodePointRange{From: rune(6754), To: rune(6754)},
+ &CodePointRange{From: rune(6757), To: rune(6764)},
+ &CodePointRange{From: rune(6771), To: rune(6780)},
+ &CodePointRange{From: rune(6783), To: rune(6783)},
+ &CodePointRange{From: rune(6832), To: rune(6845)},
+ &CodePointRange{From: rune(6847), To: rune(6848)},
+ &CodePointRange{From: rune(6912), To: rune(6915)},
+ &CodePointRange{From: rune(6964), To: rune(6964)},
+ &CodePointRange{From: rune(6966), To: rune(6970)},
+ &CodePointRange{From: rune(6972), To: rune(6972)},
+ &CodePointRange{From: rune(6978), To: rune(6978)},
+ &CodePointRange{From: rune(7019), To: rune(7027)},
+ &CodePointRange{From: rune(7040), To: rune(7041)},
+ &CodePointRange{From: rune(7074), To: rune(7077)},
+ &CodePointRange{From: rune(7080), To: rune(7081)},
+ &CodePointRange{From: rune(7083), To: rune(7085)},
+ &CodePointRange{From: rune(7142), To: rune(7142)},
+ &CodePointRange{From: rune(7144), To: rune(7145)},
+ &CodePointRange{From: rune(7149), To: rune(7149)},
+ &CodePointRange{From: rune(7151), To: rune(7153)},
+ &CodePointRange{From: rune(7212), To: rune(7219)},
+ &CodePointRange{From: rune(7222), To: rune(7223)},
+ &CodePointRange{From: rune(7376), To: rune(7378)},
+ &CodePointRange{From: rune(7380), To: rune(7392)},
+ &CodePointRange{From: rune(7394), To: rune(7400)},
+ &CodePointRange{From: rune(7405), To: rune(7405)},
+ &CodePointRange{From: rune(7412), To: rune(7412)},
+ &CodePointRange{From: rune(7416), To: rune(7417)},
+ &CodePointRange{From: rune(7616), To: rune(7673)},
+ &CodePointRange{From: rune(7675), To: rune(7679)},
+ &CodePointRange{From: rune(8400), To: rune(8412)},
+ &CodePointRange{From: rune(8417), To: rune(8417)},
+ &CodePointRange{From: rune(8421), To: rune(8432)},
+ &CodePointRange{From: rune(11503), To: rune(11505)},
+ &CodePointRange{From: rune(11647), To: rune(11647)},
+ &CodePointRange{From: rune(11744), To: rune(11775)},
+ &CodePointRange{From: rune(12330), To: rune(12333)},
+ &CodePointRange{From: rune(12441), To: rune(12442)},
+ &CodePointRange{From: rune(42607), To: rune(42607)},
+ &CodePointRange{From: rune(42612), To: rune(42621)},
+ &CodePointRange{From: rune(42654), To: rune(42655)},
+ &CodePointRange{From: rune(42736), To: rune(42737)},
+ &CodePointRange{From: rune(43010), To: rune(43010)},
+ &CodePointRange{From: rune(43014), To: rune(43014)},
+ &CodePointRange{From: rune(43019), To: rune(43019)},
+ &CodePointRange{From: rune(43045), To: rune(43046)},
+ &CodePointRange{From: rune(43052), To: rune(43052)},
+ &CodePointRange{From: rune(43204), To: rune(43205)},
+ &CodePointRange{From: rune(43232), To: rune(43249)},
+ &CodePointRange{From: rune(43263), To: rune(43263)},
+ &CodePointRange{From: rune(43302), To: rune(43309)},
+ &CodePointRange{From: rune(43335), To: rune(43345)},
+ &CodePointRange{From: rune(43392), To: rune(43394)},
+ &CodePointRange{From: rune(43443), To: rune(43443)},
+ &CodePointRange{From: rune(43446), To: rune(43449)},
+ &CodePointRange{From: rune(43452), To: rune(43453)},
+ &CodePointRange{From: rune(43493), To: rune(43493)},
+ &CodePointRange{From: rune(43561), To: rune(43566)},
+ &CodePointRange{From: rune(43569), To: rune(43570)},
+ &CodePointRange{From: rune(43573), To: rune(43574)},
+ &CodePointRange{From: rune(43587), To: rune(43587)},
+ &CodePointRange{From: rune(43596), To: rune(43596)},
+ &CodePointRange{From: rune(43644), To: rune(43644)},
+ &CodePointRange{From: rune(43696), To: rune(43696)},
+ &CodePointRange{From: rune(43698), To: rune(43700)},
+ &CodePointRange{From: rune(43703), To: rune(43704)},
+ &CodePointRange{From: rune(43710), To: rune(43711)},
+ &CodePointRange{From: rune(43713), To: rune(43713)},
+ &CodePointRange{From: rune(43756), To: rune(43757)},
+ &CodePointRange{From: rune(43766), To: rune(43766)},
+ &CodePointRange{From: rune(44005), To: rune(44005)},
+ &CodePointRange{From: rune(44008), To: rune(44008)},
+ &CodePointRange{From: rune(44013), To: rune(44013)},
+ &CodePointRange{From: rune(64286), To: rune(64286)},
+ &CodePointRange{From: rune(65024), To: rune(65039)},
+ &CodePointRange{From: rune(65056), To: rune(65071)},
+ &CodePointRange{From: rune(66045), To: rune(66045)},
+ &CodePointRange{From: rune(66272), To: rune(66272)},
+ &CodePointRange{From: rune(66422), To: rune(66426)},
+ &CodePointRange{From: rune(68097), To: rune(68099)},
+ &CodePointRange{From: rune(68101), To: rune(68102)},
+ &CodePointRange{From: rune(68108), To: rune(68111)},
+ &CodePointRange{From: rune(68152), To: rune(68154)},
+ &CodePointRange{From: rune(68159), To: rune(68159)},
+ &CodePointRange{From: rune(68325), To: rune(68326)},
+ &CodePointRange{From: rune(68900), To: rune(68903)},
+ &CodePointRange{From: rune(69291), To: rune(69292)},
+ &CodePointRange{From: rune(69446), To: rune(69456)},
+ &CodePointRange{From: rune(69633), To: rune(69633)},
+ &CodePointRange{From: rune(69688), To: rune(69702)},
+ &CodePointRange{From: rune(69759), To: rune(69761)},
+ &CodePointRange{From: rune(69811), To: rune(69814)},
+ &CodePointRange{From: rune(69817), To: rune(69818)},
+ &CodePointRange{From: rune(69888), To: rune(69890)},
+ &CodePointRange{From: rune(69927), To: rune(69931)},
+ &CodePointRange{From: rune(69933), To: rune(69940)},
+ &CodePointRange{From: rune(70003), To: rune(70003)},
+ &CodePointRange{From: rune(70016), To: rune(70017)},
+ &CodePointRange{From: rune(70070), To: rune(70078)},
+ &CodePointRange{From: rune(70089), To: rune(70092)},
+ &CodePointRange{From: rune(70095), To: rune(70095)},
+ &CodePointRange{From: rune(70191), To: rune(70193)},
+ &CodePointRange{From: rune(70196), To: rune(70196)},
+ &CodePointRange{From: rune(70198), To: rune(70199)},
+ &CodePointRange{From: rune(70206), To: rune(70206)},
+ &CodePointRange{From: rune(70367), To: rune(70367)},
+ &CodePointRange{From: rune(70371), To: rune(70378)},
+ &CodePointRange{From: rune(70400), To: rune(70401)},
+ &CodePointRange{From: rune(70459), To: rune(70460)},
+ &CodePointRange{From: rune(70464), To: rune(70464)},
+ &CodePointRange{From: rune(70502), To: rune(70508)},
+ &CodePointRange{From: rune(70512), To: rune(70516)},
+ &CodePointRange{From: rune(70712), To: rune(70719)},
+ &CodePointRange{From: rune(70722), To: rune(70724)},
+ &CodePointRange{From: rune(70726), To: rune(70726)},
+ &CodePointRange{From: rune(70750), To: rune(70750)},
+ &CodePointRange{From: rune(70835), To: rune(70840)},
+ &CodePointRange{From: rune(70842), To: rune(70842)},
+ &CodePointRange{From: rune(70847), To: rune(70848)},
+ &CodePointRange{From: rune(70850), To: rune(70851)},
+ &CodePointRange{From: rune(71090), To: rune(71093)},
+ &CodePointRange{From: rune(71100), To: rune(71101)},
+ &CodePointRange{From: rune(71103), To: rune(71104)},
+ &CodePointRange{From: rune(71132), To: rune(71133)},
+ &CodePointRange{From: rune(71219), To: rune(71226)},
+ &CodePointRange{From: rune(71229), To: rune(71229)},
+ &CodePointRange{From: rune(71231), To: rune(71232)},
+ &CodePointRange{From: rune(71339), To: rune(71339)},
+ &CodePointRange{From: rune(71341), To: rune(71341)},
+ &CodePointRange{From: rune(71344), To: rune(71349)},
+ &CodePointRange{From: rune(71351), To: rune(71351)},
+ &CodePointRange{From: rune(71453), To: rune(71455)},
+ &CodePointRange{From: rune(71458), To: rune(71461)},
+ &CodePointRange{From: rune(71463), To: rune(71467)},
+ &CodePointRange{From: rune(71727), To: rune(71735)},
+ &CodePointRange{From: rune(71737), To: rune(71738)},
+ &CodePointRange{From: rune(71995), To: rune(71996)},
+ &CodePointRange{From: rune(71998), To: rune(71998)},
+ &CodePointRange{From: rune(72003), To: rune(72003)},
+ &CodePointRange{From: rune(72148), To: rune(72151)},
+ &CodePointRange{From: rune(72154), To: rune(72155)},
+ &CodePointRange{From: rune(72160), To: rune(72160)},
+ &CodePointRange{From: rune(72193), To: rune(72202)},
+ &CodePointRange{From: rune(72243), To: rune(72248)},
+ &CodePointRange{From: rune(72251), To: rune(72254)},
+ &CodePointRange{From: rune(72263), To: rune(72263)},
+ &CodePointRange{From: rune(72273), To: rune(72278)},
+ &CodePointRange{From: rune(72281), To: rune(72283)},
+ &CodePointRange{From: rune(72330), To: rune(72342)},
+ &CodePointRange{From: rune(72344), To: rune(72345)},
+ &CodePointRange{From: rune(72752), To: rune(72758)},
+ &CodePointRange{From: rune(72760), To: rune(72765)},
+ &CodePointRange{From: rune(72767), To: rune(72767)},
+ &CodePointRange{From: rune(72850), To: rune(72871)},
+ &CodePointRange{From: rune(72874), To: rune(72880)},
+ &CodePointRange{From: rune(72882), To: rune(72883)},
+ &CodePointRange{From: rune(72885), To: rune(72886)},
+ &CodePointRange{From: rune(73009), To: rune(73014)},
+ &CodePointRange{From: rune(73018), To: rune(73018)},
+ &CodePointRange{From: rune(73020), To: rune(73021)},
+ &CodePointRange{From: rune(73023), To: rune(73029)},
+ &CodePointRange{From: rune(73031), To: rune(73031)},
+ &CodePointRange{From: rune(73104), To: rune(73105)},
+ &CodePointRange{From: rune(73109), To: rune(73109)},
+ &CodePointRange{From: rune(73111), To: rune(73111)},
+ &CodePointRange{From: rune(73459), To: rune(73460)},
+ &CodePointRange{From: rune(92912), To: rune(92916)},
+ &CodePointRange{From: rune(92976), To: rune(92982)},
+ &CodePointRange{From: rune(94031), To: rune(94031)},
+ &CodePointRange{From: rune(94095), To: rune(94098)},
+ &CodePointRange{From: rune(94180), To: rune(94180)},
+ &CodePointRange{From: rune(113821), To: rune(113822)},
+ &CodePointRange{From: rune(119143), To: rune(119145)},
+ &CodePointRange{From: rune(119163), To: rune(119170)},
+ &CodePointRange{From: rune(119173), To: rune(119179)},
+ &CodePointRange{From: rune(119210), To: rune(119213)},
+ &CodePointRange{From: rune(119362), To: rune(119364)},
+ &CodePointRange{From: rune(121344), To: rune(121398)},
+ &CodePointRange{From: rune(121403), To: rune(121452)},
+ &CodePointRange{From: rune(121461), To: rune(121461)},
+ &CodePointRange{From: rune(121476), To: rune(121476)},
+ &CodePointRange{From: rune(121499), To: rune(121503)},
+ &CodePointRange{From: rune(121505), To: rune(121519)},
+ &CodePointRange{From: rune(122880), To: rune(122886)},
+ &CodePointRange{From: rune(122888), To: rune(122904)},
+ &CodePointRange{From: rune(122907), To: rune(122913)},
+ &CodePointRange{From: rune(122915), To: rune(122916)},
+ &CodePointRange{From: rune(122918), To: rune(122922)},
+ &CodePointRange{From: rune(123184), To: rune(123190)},
+ &CodePointRange{From: rune(123628), To: rune(123631)},
+ &CodePointRange{From: rune(125136), To: rune(125142)},
+ &CodePointRange{From: rune(125252), To: rune(125258)},
+ &CodePointRange{From: rune(917760), To: rune(917999)},
+ },
+ "nd": {
+ &CodePointRange{From: rune(48), To: rune(57)},
+ &CodePointRange{From: rune(1632), To: rune(1641)},
+ &CodePointRange{From: rune(1776), To: rune(1785)},
+ &CodePointRange{From: rune(1984), To: rune(1993)},
+ &CodePointRange{From: rune(2406), To: rune(2415)},
+ &CodePointRange{From: rune(2534), To: rune(2543)},
+ &CodePointRange{From: rune(2662), To: rune(2671)},
+ &CodePointRange{From: rune(2790), To: rune(2799)},
+ &CodePointRange{From: rune(2918), To: rune(2927)},
+ &CodePointRange{From: rune(3046), To: rune(3055)},
+ &CodePointRange{From: rune(3174), To: rune(3183)},
+ &CodePointRange{From: rune(3302), To: rune(3311)},
+ &CodePointRange{From: rune(3430), To: rune(3439)},
+ &CodePointRange{From: rune(3558), To: rune(3567)},
+ &CodePointRange{From: rune(3664), To: rune(3673)},
+ &CodePointRange{From: rune(3792), To: rune(3801)},
+ &CodePointRange{From: rune(3872), To: rune(3881)},
+ &CodePointRange{From: rune(4160), To: rune(4169)},
+ &CodePointRange{From: rune(4240), To: rune(4249)},
+ &CodePointRange{From: rune(6112), To: rune(6121)},
+ &CodePointRange{From: rune(6160), To: rune(6169)},
+ &CodePointRange{From: rune(6470), To: rune(6479)},
+ &CodePointRange{From: rune(6608), To: rune(6617)},
+ &CodePointRange{From: rune(6784), To: rune(6793)},
+ &CodePointRange{From: rune(6800), To: rune(6809)},
+ &CodePointRange{From: rune(6992), To: rune(7001)},
+ &CodePointRange{From: rune(7088), To: rune(7097)},
+ &CodePointRange{From: rune(7232), To: rune(7241)},
+ &CodePointRange{From: rune(7248), To: rune(7257)},
+ &CodePointRange{From: rune(42528), To: rune(42537)},
+ &CodePointRange{From: rune(43216), To: rune(43225)},
+ &CodePointRange{From: rune(43264), To: rune(43273)},
+ &CodePointRange{From: rune(43472), To: rune(43481)},
+ &CodePointRange{From: rune(43504), To: rune(43513)},
+ &CodePointRange{From: rune(43600), To: rune(43609)},
+ &CodePointRange{From: rune(44016), To: rune(44025)},
+ &CodePointRange{From: rune(65296), To: rune(65305)},
+ &CodePointRange{From: rune(66720), To: rune(66729)},
+ &CodePointRange{From: rune(68912), To: rune(68921)},
+ &CodePointRange{From: rune(69734), To: rune(69743)},
+ &CodePointRange{From: rune(69872), To: rune(69881)},
+ &CodePointRange{From: rune(69942), To: rune(69951)},
+ &CodePointRange{From: rune(70096), To: rune(70105)},
+ &CodePointRange{From: rune(70384), To: rune(70393)},
+ &CodePointRange{From: rune(70736), To: rune(70745)},
+ &CodePointRange{From: rune(70864), To: rune(70873)},
+ &CodePointRange{From: rune(71248), To: rune(71257)},
+ &CodePointRange{From: rune(71360), To: rune(71369)},
+ &CodePointRange{From: rune(71472), To: rune(71481)},
+ &CodePointRange{From: rune(71904), To: rune(71913)},
+ &CodePointRange{From: rune(72016), To: rune(72025)},
+ &CodePointRange{From: rune(72784), To: rune(72793)},
+ &CodePointRange{From: rune(73040), To: rune(73049)},
+ &CodePointRange{From: rune(73120), To: rune(73129)},
+ &CodePointRange{From: rune(92768), To: rune(92777)},
+ &CodePointRange{From: rune(93008), To: rune(93017)},
+ &CodePointRange{From: rune(120782), To: rune(120831)},
+ &CodePointRange{From: rune(123200), To: rune(123209)},
+ &CodePointRange{From: rune(123632), To: rune(123641)},
+ &CodePointRange{From: rune(125264), To: rune(125273)},
+ &CodePointRange{From: rune(130032), To: rune(130041)},
+ },
+ "nl": {
+ &CodePointRange{From: rune(5870), To: rune(5872)},
+ &CodePointRange{From: rune(8544), To: rune(8578)},
+ &CodePointRange{From: rune(8581), To: rune(8584)},
+ &CodePointRange{From: rune(12295), To: rune(12295)},
+ &CodePointRange{From: rune(12321), To: rune(12329)},
+ &CodePointRange{From: rune(12344), To: rune(12346)},
+ &CodePointRange{From: rune(42726), To: rune(42735)},
+ &CodePointRange{From: rune(65856), To: rune(65908)},
+ &CodePointRange{From: rune(66369), To: rune(66369)},
+ &CodePointRange{From: rune(66378), To: rune(66378)},
+ &CodePointRange{From: rune(66513), To: rune(66517)},
+ &CodePointRange{From: rune(74752), To: rune(74862)},
+ },
+ "no": {
+ &CodePointRange{From: rune(178), To: rune(179)},
+ &CodePointRange{From: rune(185), To: rune(185)},
+ &CodePointRange{From: rune(188), To: rune(190)},
+ &CodePointRange{From: rune(2548), To: rune(2553)},
+ &CodePointRange{From: rune(2930), To: rune(2935)},
+ &CodePointRange{From: rune(3056), To: rune(3058)},
+ &CodePointRange{From: rune(3192), To: rune(3198)},
+ &CodePointRange{From: rune(3416), To: rune(3422)},
+ &CodePointRange{From: rune(3440), To: rune(3448)},
+ &CodePointRange{From: rune(3882), To: rune(3891)},
+ &CodePointRange{From: rune(4969), To: rune(4988)},
+ &CodePointRange{From: rune(6128), To: rune(6137)},
+ &CodePointRange{From: rune(6618), To: rune(6618)},
+ &CodePointRange{From: rune(8304), To: rune(8304)},
+ &CodePointRange{From: rune(8308), To: rune(8313)},
+ &CodePointRange{From: rune(8320), To: rune(8329)},
+ &CodePointRange{From: rune(8528), To: rune(8543)},
+ &CodePointRange{From: rune(8585), To: rune(8585)},
+ &CodePointRange{From: rune(9312), To: rune(9371)},
+ &CodePointRange{From: rune(9450), To: rune(9471)},
+ &CodePointRange{From: rune(10102), To: rune(10131)},
+ &CodePointRange{From: rune(11517), To: rune(11517)},
+ &CodePointRange{From: rune(12690), To: rune(12693)},
+ &CodePointRange{From: rune(12832), To: rune(12841)},
+ &CodePointRange{From: rune(12872), To: rune(12879)},
+ &CodePointRange{From: rune(12881), To: rune(12895)},
+ &CodePointRange{From: rune(12928), To: rune(12937)},
+ &CodePointRange{From: rune(12977), To: rune(12991)},
+ &CodePointRange{From: rune(43056), To: rune(43061)},
+ &CodePointRange{From: rune(65799), To: rune(65843)},
+ &CodePointRange{From: rune(65909), To: rune(65912)},
+ &CodePointRange{From: rune(65930), To: rune(65931)},
+ &CodePointRange{From: rune(66273), To: rune(66299)},
+ &CodePointRange{From: rune(66336), To: rune(66339)},
+ &CodePointRange{From: rune(67672), To: rune(67679)},
+ &CodePointRange{From: rune(67705), To: rune(67711)},
+ &CodePointRange{From: rune(67751), To: rune(67759)},
+ &CodePointRange{From: rune(67835), To: rune(67839)},
+ &CodePointRange{From: rune(67862), To: rune(67867)},
+ &CodePointRange{From: rune(68028), To: rune(68029)},
+ &CodePointRange{From: rune(68032), To: rune(68047)},
+ &CodePointRange{From: rune(68050), To: rune(68095)},
+ &CodePointRange{From: rune(68160), To: rune(68168)},
+ &CodePointRange{From: rune(68221), To: rune(68222)},
+ &CodePointRange{From: rune(68253), To: rune(68255)},
+ &CodePointRange{From: rune(68331), To: rune(68335)},
+ &CodePointRange{From: rune(68440), To: rune(68447)},
+ &CodePointRange{From: rune(68472), To: rune(68479)},
+ &CodePointRange{From: rune(68521), To: rune(68527)},
+ &CodePointRange{From: rune(68858), To: rune(68863)},
+ &CodePointRange{From: rune(69216), To: rune(69246)},
+ &CodePointRange{From: rune(69405), To: rune(69414)},
+ &CodePointRange{From: rune(69457), To: rune(69460)},
+ &CodePointRange{From: rune(69573), To: rune(69579)},
+ &CodePointRange{From: rune(69714), To: rune(69733)},
+ &CodePointRange{From: rune(70113), To: rune(70132)},
+ &CodePointRange{From: rune(71482), To: rune(71483)},
+ &CodePointRange{From: rune(71914), To: rune(71922)},
+ &CodePointRange{From: rune(72794), To: rune(72812)},
+ &CodePointRange{From: rune(73664), To: rune(73684)},
+ &CodePointRange{From: rune(93019), To: rune(93025)},
+ &CodePointRange{From: rune(93824), To: rune(93846)},
+ &CodePointRange{From: rune(119520), To: rune(119539)},
+ &CodePointRange{From: rune(119648), To: rune(119672)},
+ &CodePointRange{From: rune(125127), To: rune(125135)},
+ &CodePointRange{From: rune(126065), To: rune(126123)},
+ &CodePointRange{From: rune(126125), To: rune(126127)},
+ &CodePointRange{From: rune(126129), To: rune(126132)},
+ &CodePointRange{From: rune(126209), To: rune(126253)},
+ &CodePointRange{From: rune(126255), To: rune(126269)},
+ &CodePointRange{From: rune(127232), To: rune(127244)},
+ },
+ "pc": {
+ &CodePointRange{From: rune(95), To: rune(95)},
+ &CodePointRange{From: rune(8255), To: rune(8256)},
+ &CodePointRange{From: rune(8276), To: rune(8276)},
+ &CodePointRange{From: rune(65075), To: rune(65076)},
+ &CodePointRange{From: rune(65101), To: rune(65103)},
+ &CodePointRange{From: rune(65343), To: rune(65343)},
+ },
+ "pd": {
+ &CodePointRange{From: rune(45), To: rune(45)},
+ &CodePointRange{From: rune(1418), To: rune(1418)},
+ &CodePointRange{From: rune(1470), To: rune(1470)},
+ &CodePointRange{From: rune(5120), To: rune(5120)},
+ &CodePointRange{From: rune(6150), To: rune(6150)},
+ &CodePointRange{From: rune(8208), To: rune(8213)},
+ &CodePointRange{From: rune(11799), To: rune(11799)},
+ &CodePointRange{From: rune(11802), To: rune(11802)},
+ &CodePointRange{From: rune(11834), To: rune(11835)},
+ &CodePointRange{From: rune(11840), To: rune(11840)},
+ &CodePointRange{From: rune(12316), To: rune(12316)},
+ &CodePointRange{From: rune(12336), To: rune(12336)},
+ &CodePointRange{From: rune(12448), To: rune(12448)},
+ &CodePointRange{From: rune(65073), To: rune(65074)},
+ &CodePointRange{From: rune(65112), To: rune(65112)},
+ &CodePointRange{From: rune(65123), To: rune(65123)},
+ &CodePointRange{From: rune(65293), To: rune(65293)},
+ &CodePointRange{From: rune(69293), To: rune(69293)},
+ },
+ "pe": {
+ &CodePointRange{From: rune(41), To: rune(41)},
+ &CodePointRange{From: rune(93), To: rune(93)},
+ &CodePointRange{From: rune(125), To: rune(125)},
+ &CodePointRange{From: rune(3899), To: rune(3899)},
+ &CodePointRange{From: rune(3901), To: rune(3901)},
+ &CodePointRange{From: rune(5788), To: rune(5788)},
+ &CodePointRange{From: rune(8262), To: rune(8262)},
+ &CodePointRange{From: rune(8318), To: rune(8318)},
+ &CodePointRange{From: rune(8334), To: rune(8334)},
+ &CodePointRange{From: rune(8969), To: rune(8969)},
+ &CodePointRange{From: rune(8971), To: rune(8971)},
+ &CodePointRange{From: rune(9002), To: rune(9002)},
+ &CodePointRange{From: rune(10089), To: rune(10089)},
+ &CodePointRange{From: rune(10091), To: rune(10091)},
+ &CodePointRange{From: rune(10093), To: rune(10093)},
+ &CodePointRange{From: rune(10095), To: rune(10095)},
+ &CodePointRange{From: rune(10097), To: rune(10097)},
+ &CodePointRange{From: rune(10099), To: rune(10099)},
+ &CodePointRange{From: rune(10101), To: rune(10101)},
+ &CodePointRange{From: rune(10182), To: rune(10182)},
+ &CodePointRange{From: rune(10215), To: rune(10215)},
+ &CodePointRange{From: rune(10217), To: rune(10217)},
+ &CodePointRange{From: rune(10219), To: rune(10219)},
+ &CodePointRange{From: rune(10221), To: rune(10221)},
+ &CodePointRange{From: rune(10223), To: rune(10223)},
+ &CodePointRange{From: rune(10628), To: rune(10628)},
+ &CodePointRange{From: rune(10630), To: rune(10630)},
+ &CodePointRange{From: rune(10632), To: rune(10632)},
+ &CodePointRange{From: rune(10634), To: rune(10634)},
+ &CodePointRange{From: rune(10636), To: rune(10636)},
+ &CodePointRange{From: rune(10638), To: rune(10638)},
+ &CodePointRange{From: rune(10640), To: rune(10640)},
+ &CodePointRange{From: rune(10642), To: rune(10642)},
+ &CodePointRange{From: rune(10644), To: rune(10644)},
+ &CodePointRange{From: rune(10646), To: rune(10646)},
+ &CodePointRange{From: rune(10648), To: rune(10648)},
+ &CodePointRange{From: rune(10713), To: rune(10713)},
+ &CodePointRange{From: rune(10715), To: rune(10715)},
+ &CodePointRange{From: rune(10749), To: rune(10749)},
+ &CodePointRange{From: rune(11811), To: rune(11811)},
+ &CodePointRange{From: rune(11813), To: rune(11813)},
+ &CodePointRange{From: rune(11815), To: rune(11815)},
+ &CodePointRange{From: rune(11817), To: rune(11817)},
+ &CodePointRange{From: rune(12297), To: rune(12297)},
+ &CodePointRange{From: rune(12299), To: rune(12299)},
+ &CodePointRange{From: rune(12301), To: rune(12301)},
+ &CodePointRange{From: rune(12303), To: rune(12303)},
+ &CodePointRange{From: rune(12305), To: rune(12305)},
+ &CodePointRange{From: rune(12309), To: rune(12309)},
+ &CodePointRange{From: rune(12311), To: rune(12311)},
+ &CodePointRange{From: rune(12313), To: rune(12313)},
+ &CodePointRange{From: rune(12315), To: rune(12315)},
+ &CodePointRange{From: rune(12318), To: rune(12319)},
+ &CodePointRange{From: rune(64830), To: rune(64830)},
+ &CodePointRange{From: rune(65048), To: rune(65048)},
+ &CodePointRange{From: rune(65078), To: rune(65078)},
+ &CodePointRange{From: rune(65080), To: rune(65080)},
+ &CodePointRange{From: rune(65082), To: rune(65082)},
+ &CodePointRange{From: rune(65084), To: rune(65084)},
+ &CodePointRange{From: rune(65086), To: rune(65086)},
+ &CodePointRange{From: rune(65088), To: rune(65088)},
+ &CodePointRange{From: rune(65090), To: rune(65090)},
+ &CodePointRange{From: rune(65092), To: rune(65092)},
+ &CodePointRange{From: rune(65096), To: rune(65096)},
+ &CodePointRange{From: rune(65114), To: rune(65114)},
+ &CodePointRange{From: rune(65116), To: rune(65116)},
+ &CodePointRange{From: rune(65118), To: rune(65118)},
+ &CodePointRange{From: rune(65289), To: rune(65289)},
+ &CodePointRange{From: rune(65341), To: rune(65341)},
+ &CodePointRange{From: rune(65373), To: rune(65373)},
+ &CodePointRange{From: rune(65376), To: rune(65376)},
+ &CodePointRange{From: rune(65379), To: rune(65379)},
+ },
+ "pf": {
+ &CodePointRange{From: rune(187), To: rune(187)},
+ &CodePointRange{From: rune(8217), To: rune(8217)},
+ &CodePointRange{From: rune(8221), To: rune(8221)},
+ &CodePointRange{From: rune(8250), To: rune(8250)},
+ &CodePointRange{From: rune(11779), To: rune(11779)},
+ &CodePointRange{From: rune(11781), To: rune(11781)},
+ &CodePointRange{From: rune(11786), To: rune(11786)},
+ &CodePointRange{From: rune(11789), To: rune(11789)},
+ &CodePointRange{From: rune(11805), To: rune(11805)},
+ &CodePointRange{From: rune(11809), To: rune(11809)},
+ },
+ "pi": {
+ &CodePointRange{From: rune(171), To: rune(171)},
+ &CodePointRange{From: rune(8216), To: rune(8216)},
+ &CodePointRange{From: rune(8219), To: rune(8220)},
+ &CodePointRange{From: rune(8223), To: rune(8223)},
+ &CodePointRange{From: rune(8249), To: rune(8249)},
+ &CodePointRange{From: rune(11778), To: rune(11778)},
+ &CodePointRange{From: rune(11780), To: rune(11780)},
+ &CodePointRange{From: rune(11785), To: rune(11785)},
+ &CodePointRange{From: rune(11788), To: rune(11788)},
+ &CodePointRange{From: rune(11804), To: rune(11804)},
+ &CodePointRange{From: rune(11808), To: rune(11808)},
+ },
+ "po": {
+ &CodePointRange{From: rune(33), To: rune(35)},
+ &CodePointRange{From: rune(37), To: rune(39)},
+ &CodePointRange{From: rune(42), To: rune(42)},
+ &CodePointRange{From: rune(44), To: rune(44)},
+ &CodePointRange{From: rune(46), To: rune(47)},
+ &CodePointRange{From: rune(58), To: rune(59)},
+ &CodePointRange{From: rune(63), To: rune(64)},
+ &CodePointRange{From: rune(92), To: rune(92)},
+ &CodePointRange{From: rune(161), To: rune(161)},
+ &CodePointRange{From: rune(167), To: rune(167)},
+ &CodePointRange{From: rune(182), To: rune(183)},
+ &CodePointRange{From: rune(191), To: rune(191)},
+ &CodePointRange{From: rune(894), To: rune(894)},
+ &CodePointRange{From: rune(903), To: rune(903)},
+ &CodePointRange{From: rune(1370), To: rune(1375)},
+ &CodePointRange{From: rune(1417), To: rune(1417)},
+ &CodePointRange{From: rune(1472), To: rune(1472)},
+ &CodePointRange{From: rune(1475), To: rune(1475)},
+ &CodePointRange{From: rune(1478), To: rune(1478)},
+ &CodePointRange{From: rune(1523), To: rune(1524)},
+ &CodePointRange{From: rune(1545), To: rune(1546)},
+ &CodePointRange{From: rune(1548), To: rune(1549)},
+ &CodePointRange{From: rune(1563), To: rune(1563)},
+ &CodePointRange{From: rune(1566), To: rune(1567)},
+ &CodePointRange{From: rune(1642), To: rune(1645)},
+ &CodePointRange{From: rune(1748), To: rune(1748)},
+ &CodePointRange{From: rune(1792), To: rune(1805)},
+ &CodePointRange{From: rune(2039), To: rune(2041)},
+ &CodePointRange{From: rune(2096), To: rune(2110)},
+ &CodePointRange{From: rune(2142), To: rune(2142)},
+ &CodePointRange{From: rune(2404), To: rune(2405)},
+ &CodePointRange{From: rune(2416), To: rune(2416)},
+ &CodePointRange{From: rune(2557), To: rune(2557)},
+ &CodePointRange{From: rune(2678), To: rune(2678)},
+ &CodePointRange{From: rune(2800), To: rune(2800)},
+ &CodePointRange{From: rune(3191), To: rune(3191)},
+ &CodePointRange{From: rune(3204), To: rune(3204)},
+ &CodePointRange{From: rune(3572), To: rune(3572)},
+ &CodePointRange{From: rune(3663), To: rune(3663)},
+ &CodePointRange{From: rune(3674), To: rune(3675)},
+ &CodePointRange{From: rune(3844), To: rune(3858)},
+ &CodePointRange{From: rune(3860), To: rune(3860)},
+ &CodePointRange{From: rune(3973), To: rune(3973)},
+ &CodePointRange{From: rune(4048), To: rune(4052)},
+ &CodePointRange{From: rune(4057), To: rune(4058)},
+ &CodePointRange{From: rune(4170), To: rune(4175)},
+ &CodePointRange{From: rune(4347), To: rune(4347)},
+ &CodePointRange{From: rune(4960), To: rune(4968)},
+ &CodePointRange{From: rune(5742), To: rune(5742)},
+ &CodePointRange{From: rune(5867), To: rune(5869)},
+ &CodePointRange{From: rune(5941), To: rune(5942)},
+ &CodePointRange{From: rune(6100), To: rune(6102)},
+ &CodePointRange{From: rune(6104), To: rune(6106)},
+ &CodePointRange{From: rune(6144), To: rune(6149)},
+ &CodePointRange{From: rune(6151), To: rune(6154)},
+ &CodePointRange{From: rune(6468), To: rune(6469)},
+ &CodePointRange{From: rune(6686), To: rune(6687)},
+ &CodePointRange{From: rune(6816), To: rune(6822)},
+ &CodePointRange{From: rune(6824), To: rune(6829)},
+ &CodePointRange{From: rune(7002), To: rune(7008)},
+ &CodePointRange{From: rune(7164), To: rune(7167)},
+ &CodePointRange{From: rune(7227), To: rune(7231)},
+ &CodePointRange{From: rune(7294), To: rune(7295)},
+ &CodePointRange{From: rune(7360), To: rune(7367)},
+ &CodePointRange{From: rune(7379), To: rune(7379)},
+ &CodePointRange{From: rune(8214), To: rune(8215)},
+ &CodePointRange{From: rune(8224), To: rune(8231)},
+ &CodePointRange{From: rune(8240), To: rune(8248)},
+ &CodePointRange{From: rune(8251), To: rune(8254)},
+ &CodePointRange{From: rune(8257), To: rune(8259)},
+ &CodePointRange{From: rune(8263), To: rune(8273)},
+ &CodePointRange{From: rune(8275), To: rune(8275)},
+ &CodePointRange{From: rune(8277), To: rune(8286)},
+ &CodePointRange{From: rune(11513), To: rune(11516)},
+ &CodePointRange{From: rune(11518), To: rune(11519)},
+ &CodePointRange{From: rune(11632), To: rune(11632)},
+ &CodePointRange{From: rune(11776), To: rune(11777)},
+ &CodePointRange{From: rune(11782), To: rune(11784)},
+ &CodePointRange{From: rune(11787), To: rune(11787)},
+ &CodePointRange{From: rune(11790), To: rune(11798)},
+ &CodePointRange{From: rune(11800), To: rune(11801)},
+ &CodePointRange{From: rune(11803), To: rune(11803)},
+ &CodePointRange{From: rune(11806), To: rune(11807)},
+ &CodePointRange{From: rune(11818), To: rune(11822)},
+ &CodePointRange{From: rune(11824), To: rune(11833)},
+ &CodePointRange{From: rune(11836), To: rune(11839)},
+ &CodePointRange{From: rune(11841), To: rune(11841)},
+ &CodePointRange{From: rune(11843), To: rune(11855)},
+ &CodePointRange{From: rune(11858), To: rune(11858)},
+ &CodePointRange{From: rune(12289), To: rune(12291)},
+ &CodePointRange{From: rune(12349), To: rune(12349)},
+ &CodePointRange{From: rune(12539), To: rune(12539)},
+ &CodePointRange{From: rune(42238), To: rune(42239)},
+ &CodePointRange{From: rune(42509), To: rune(42511)},
+ &CodePointRange{From: rune(42611), To: rune(42611)},
+ &CodePointRange{From: rune(42622), To: rune(42622)},
+ &CodePointRange{From: rune(42738), To: rune(42743)},
+ &CodePointRange{From: rune(43124), To: rune(43127)},
+ &CodePointRange{From: rune(43214), To: rune(43215)},
+ &CodePointRange{From: rune(43256), To: rune(43258)},
+ &CodePointRange{From: rune(43260), To: rune(43260)},
+ &CodePointRange{From: rune(43310), To: rune(43311)},
+ &CodePointRange{From: rune(43359), To: rune(43359)},
+ &CodePointRange{From: rune(43457), To: rune(43469)},
+ &CodePointRange{From: rune(43486), To: rune(43487)},
+ &CodePointRange{From: rune(43612), To: rune(43615)},
+ &CodePointRange{From: rune(43742), To: rune(43743)},
+ &CodePointRange{From: rune(43760), To: rune(43761)},
+ &CodePointRange{From: rune(44011), To: rune(44011)},
+ &CodePointRange{From: rune(65040), To: rune(65046)},
+ &CodePointRange{From: rune(65049), To: rune(65049)},
+ &CodePointRange{From: rune(65072), To: rune(65072)},
+ &CodePointRange{From: rune(65093), To: rune(65094)},
+ &CodePointRange{From: rune(65097), To: rune(65100)},
+ &CodePointRange{From: rune(65104), To: rune(65106)},
+ &CodePointRange{From: rune(65108), To: rune(65111)},
+ &CodePointRange{From: rune(65119), To: rune(65121)},
+ &CodePointRange{From: rune(65128), To: rune(65128)},
+ &CodePointRange{From: rune(65130), To: rune(65131)},
+ &CodePointRange{From: rune(65281), To: rune(65283)},
+ &CodePointRange{From: rune(65285), To: rune(65287)},
+ &CodePointRange{From: rune(65290), To: rune(65290)},
+ &CodePointRange{From: rune(65292), To: rune(65292)},
+ &CodePointRange{From: rune(65294), To: rune(65295)},
+ &CodePointRange{From: rune(65306), To: rune(65307)},
+ &CodePointRange{From: rune(65311), To: rune(65312)},
+ &CodePointRange{From: rune(65340), To: rune(65340)},
+ &CodePointRange{From: rune(65377), To: rune(65377)},
+ &CodePointRange{From: rune(65380), To: rune(65381)},
+ &CodePointRange{From: rune(65792), To: rune(65794)},
+ &CodePointRange{From: rune(66463), To: rune(66463)},
+ &CodePointRange{From: rune(66512), To: rune(66512)},
+ &CodePointRange{From: rune(66927), To: rune(66927)},
+ &CodePointRange{From: rune(67671), To: rune(67671)},
+ &CodePointRange{From: rune(67871), To: rune(67871)},
+ &CodePointRange{From: rune(67903), To: rune(67903)},
+ &CodePointRange{From: rune(68176), To: rune(68184)},
+ &CodePointRange{From: rune(68223), To: rune(68223)},
+ &CodePointRange{From: rune(68336), To: rune(68342)},
+ &CodePointRange{From: rune(68409), To: rune(68415)},
+ &CodePointRange{From: rune(68505), To: rune(68508)},
+ &CodePointRange{From: rune(69461), To: rune(69465)},
+ &CodePointRange{From: rune(69703), To: rune(69709)},
+ &CodePointRange{From: rune(69819), To: rune(69820)},
+ &CodePointRange{From: rune(69822), To: rune(69825)},
+ &CodePointRange{From: rune(69952), To: rune(69955)},
+ &CodePointRange{From: rune(70004), To: rune(70005)},
+ &CodePointRange{From: rune(70085), To: rune(70088)},
+ &CodePointRange{From: rune(70093), To: rune(70093)},
+ &CodePointRange{From: rune(70107), To: rune(70107)},
+ &CodePointRange{From: rune(70109), To: rune(70111)},
+ &CodePointRange{From: rune(70200), To: rune(70205)},
+ &CodePointRange{From: rune(70313), To: rune(70313)},
+ &CodePointRange{From: rune(70731), To: rune(70735)},
+ &CodePointRange{From: rune(70746), To: rune(70747)},
+ &CodePointRange{From: rune(70749), To: rune(70749)},
+ &CodePointRange{From: rune(70854), To: rune(70854)},
+ &CodePointRange{From: rune(71105), To: rune(71127)},
+ &CodePointRange{From: rune(71233), To: rune(71235)},
+ &CodePointRange{From: rune(71264), To: rune(71276)},
+ &CodePointRange{From: rune(71484), To: rune(71486)},
+ &CodePointRange{From: rune(71739), To: rune(71739)},
+ &CodePointRange{From: rune(72004), To: rune(72006)},
+ &CodePointRange{From: rune(72162), To: rune(72162)},
+ &CodePointRange{From: rune(72255), To: rune(72262)},
+ &CodePointRange{From: rune(72346), To: rune(72348)},
+ &CodePointRange{From: rune(72350), To: rune(72354)},
+ &CodePointRange{From: rune(72769), To: rune(72773)},
+ &CodePointRange{From: rune(72816), To: rune(72817)},
+ &CodePointRange{From: rune(73463), To: rune(73464)},
+ &CodePointRange{From: rune(73727), To: rune(73727)},
+ &CodePointRange{From: rune(74864), To: rune(74868)},
+ &CodePointRange{From: rune(92782), To: rune(92783)},
+ &CodePointRange{From: rune(92917), To: rune(92917)},
+ &CodePointRange{From: rune(92983), To: rune(92987)},
+ &CodePointRange{From: rune(92996), To: rune(92996)},
+ &CodePointRange{From: rune(93847), To: rune(93850)},
+ &CodePointRange{From: rune(94178), To: rune(94178)},
+ &CodePointRange{From: rune(113823), To: rune(113823)},
+ &CodePointRange{From: rune(121479), To: rune(121483)},
+ &CodePointRange{From: rune(125278), To: rune(125279)},
+ },
+ "ps": {
+ &CodePointRange{From: rune(40), To: rune(40)},
+ &CodePointRange{From: rune(91), To: rune(91)},
+ &CodePointRange{From: rune(123), To: rune(123)},
+ &CodePointRange{From: rune(3898), To: rune(3898)},
+ &CodePointRange{From: rune(3900), To: rune(3900)},
+ &CodePointRange{From: rune(5787), To: rune(5787)},
+ &CodePointRange{From: rune(8218), To: rune(8218)},
+ &CodePointRange{From: rune(8222), To: rune(8222)},
+ &CodePointRange{From: rune(8261), To: rune(8261)},
+ &CodePointRange{From: rune(8317), To: rune(8317)},
+ &CodePointRange{From: rune(8333), To: rune(8333)},
+ &CodePointRange{From: rune(8968), To: rune(8968)},
+ &CodePointRange{From: rune(8970), To: rune(8970)},
+ &CodePointRange{From: rune(9001), To: rune(9001)},
+ &CodePointRange{From: rune(10088), To: rune(10088)},
+ &CodePointRange{From: rune(10090), To: rune(10090)},
+ &CodePointRange{From: rune(10092), To: rune(10092)},
+ &CodePointRange{From: rune(10094), To: rune(10094)},
+ &CodePointRange{From: rune(10096), To: rune(10096)},
+ &CodePointRange{From: rune(10098), To: rune(10098)},
+ &CodePointRange{From: rune(10100), To: rune(10100)},
+ &CodePointRange{From: rune(10181), To: rune(10181)},
+ &CodePointRange{From: rune(10214), To: rune(10214)},
+ &CodePointRange{From: rune(10216), To: rune(10216)},
+ &CodePointRange{From: rune(10218), To: rune(10218)},
+ &CodePointRange{From: rune(10220), To: rune(10220)},
+ &CodePointRange{From: rune(10222), To: rune(10222)},
+ &CodePointRange{From: rune(10627), To: rune(10627)},
+ &CodePointRange{From: rune(10629), To: rune(10629)},
+ &CodePointRange{From: rune(10631), To: rune(10631)},
+ &CodePointRange{From: rune(10633), To: rune(10633)},
+ &CodePointRange{From: rune(10635), To: rune(10635)},
+ &CodePointRange{From: rune(10637), To: rune(10637)},
+ &CodePointRange{From: rune(10639), To: rune(10639)},
+ &CodePointRange{From: rune(10641), To: rune(10641)},
+ &CodePointRange{From: rune(10643), To: rune(10643)},
+ &CodePointRange{From: rune(10645), To: rune(10645)},
+ &CodePointRange{From: rune(10647), To: rune(10647)},
+ &CodePointRange{From: rune(10712), To: rune(10712)},
+ &CodePointRange{From: rune(10714), To: rune(10714)},
+ &CodePointRange{From: rune(10748), To: rune(10748)},
+ &CodePointRange{From: rune(11810), To: rune(11810)},
+ &CodePointRange{From: rune(11812), To: rune(11812)},
+ &CodePointRange{From: rune(11814), To: rune(11814)},
+ &CodePointRange{From: rune(11816), To: rune(11816)},
+ &CodePointRange{From: rune(11842), To: rune(11842)},
+ &CodePointRange{From: rune(12296), To: rune(12296)},
+ &CodePointRange{From: rune(12298), To: rune(12298)},
+ &CodePointRange{From: rune(12300), To: rune(12300)},
+ &CodePointRange{From: rune(12302), To: rune(12302)},
+ &CodePointRange{From: rune(12304), To: rune(12304)},
+ &CodePointRange{From: rune(12308), To: rune(12308)},
+ &CodePointRange{From: rune(12310), To: rune(12310)},
+ &CodePointRange{From: rune(12312), To: rune(12312)},
+ &CodePointRange{From: rune(12314), To: rune(12314)},
+ &CodePointRange{From: rune(12317), To: rune(12317)},
+ &CodePointRange{From: rune(64831), To: rune(64831)},
+ &CodePointRange{From: rune(65047), To: rune(65047)},
+ &CodePointRange{From: rune(65077), To: rune(65077)},
+ &CodePointRange{From: rune(65079), To: rune(65079)},
+ &CodePointRange{From: rune(65081), To: rune(65081)},
+ &CodePointRange{From: rune(65083), To: rune(65083)},
+ &CodePointRange{From: rune(65085), To: rune(65085)},
+ &CodePointRange{From: rune(65087), To: rune(65087)},
+ &CodePointRange{From: rune(65089), To: rune(65089)},
+ &CodePointRange{From: rune(65091), To: rune(65091)},
+ &CodePointRange{From: rune(65095), To: rune(65095)},
+ &CodePointRange{From: rune(65113), To: rune(65113)},
+ &CodePointRange{From: rune(65115), To: rune(65115)},
+ &CodePointRange{From: rune(65117), To: rune(65117)},
+ &CodePointRange{From: rune(65288), To: rune(65288)},
+ &CodePointRange{From: rune(65339), To: rune(65339)},
+ &CodePointRange{From: rune(65371), To: rune(65371)},
+ &CodePointRange{From: rune(65375), To: rune(65375)},
+ &CodePointRange{From: rune(65378), To: rune(65378)},
+ },
+ "sc": {
+ &CodePointRange{From: rune(36), To: rune(36)},
+ &CodePointRange{From: rune(162), To: rune(165)},
+ &CodePointRange{From: rune(1423), To: rune(1423)},
+ &CodePointRange{From: rune(1547), To: rune(1547)},
+ &CodePointRange{From: rune(2046), To: rune(2047)},
+ &CodePointRange{From: rune(2546), To: rune(2547)},
+ &CodePointRange{From: rune(2555), To: rune(2555)},
+ &CodePointRange{From: rune(2801), To: rune(2801)},
+ &CodePointRange{From: rune(3065), To: rune(3065)},
+ &CodePointRange{From: rune(3647), To: rune(3647)},
+ &CodePointRange{From: rune(6107), To: rune(6107)},
+ &CodePointRange{From: rune(8352), To: rune(8383)},
+ &CodePointRange{From: rune(43064), To: rune(43064)},
+ &CodePointRange{From: rune(65020), To: rune(65020)},
+ &CodePointRange{From: rune(65129), To: rune(65129)},
+ &CodePointRange{From: rune(65284), To: rune(65284)},
+ &CodePointRange{From: rune(65504), To: rune(65505)},
+ &CodePointRange{From: rune(65509), To: rune(65510)},
+ &CodePointRange{From: rune(73693), To: rune(73696)},
+ &CodePointRange{From: rune(123647), To: rune(123647)},
+ &CodePointRange{From: rune(126128), To: rune(126128)},
+ },
+ "sk": {
+ &CodePointRange{From: rune(94), To: rune(94)},
+ &CodePointRange{From: rune(96), To: rune(96)},
+ &CodePointRange{From: rune(168), To: rune(168)},
+ &CodePointRange{From: rune(175), To: rune(175)},
+ &CodePointRange{From: rune(180), To: rune(180)},
+ &CodePointRange{From: rune(184), To: rune(184)},
+ &CodePointRange{From: rune(706), To: rune(709)},
+ &CodePointRange{From: rune(722), To: rune(735)},
+ &CodePointRange{From: rune(741), To: rune(747)},
+ &CodePointRange{From: rune(749), To: rune(749)},
+ &CodePointRange{From: rune(751), To: rune(767)},
+ &CodePointRange{From: rune(885), To: rune(885)},
+ &CodePointRange{From: rune(900), To: rune(901)},
+ &CodePointRange{From: rune(8125), To: rune(8125)},
+ &CodePointRange{From: rune(8127), To: rune(8129)},
+ &CodePointRange{From: rune(8141), To: rune(8143)},
+ &CodePointRange{From: rune(8157), To: rune(8159)},
+ &CodePointRange{From: rune(8173), To: rune(8175)},
+ &CodePointRange{From: rune(8189), To: rune(8190)},
+ &CodePointRange{From: rune(12443), To: rune(12444)},
+ &CodePointRange{From: rune(42752), To: rune(42774)},
+ &CodePointRange{From: rune(42784), To: rune(42785)},
+ &CodePointRange{From: rune(42889), To: rune(42890)},
+ &CodePointRange{From: rune(43867), To: rune(43867)},
+ &CodePointRange{From: rune(43882), To: rune(43883)},
+ &CodePointRange{From: rune(64434), To: rune(64449)},
+ &CodePointRange{From: rune(65342), To: rune(65342)},
+ &CodePointRange{From: rune(65344), To: rune(65344)},
+ &CodePointRange{From: rune(65507), To: rune(65507)},
+ &CodePointRange{From: rune(127995), To: rune(127999)},
+ },
+ "sm": {
+ &CodePointRange{From: rune(43), To: rune(43)},
+ &CodePointRange{From: rune(60), To: rune(62)},
+ &CodePointRange{From: rune(124), To: rune(124)},
+ &CodePointRange{From: rune(126), To: rune(126)},
+ &CodePointRange{From: rune(172), To: rune(172)},
+ &CodePointRange{From: rune(177), To: rune(177)},
+ &CodePointRange{From: rune(215), To: rune(215)},
+ &CodePointRange{From: rune(247), To: rune(247)},
+ &CodePointRange{From: rune(1014), To: rune(1014)},
+ &CodePointRange{From: rune(1542), To: rune(1544)},
+ &CodePointRange{From: rune(8260), To: rune(8260)},
+ &CodePointRange{From: rune(8274), To: rune(8274)},
+ &CodePointRange{From: rune(8314), To: rune(8316)},
+ &CodePointRange{From: rune(8330), To: rune(8332)},
+ &CodePointRange{From: rune(8472), To: rune(8472)},
+ &CodePointRange{From: rune(8512), To: rune(8516)},
+ &CodePointRange{From: rune(8523), To: rune(8523)},
+ &CodePointRange{From: rune(8592), To: rune(8596)},
+ &CodePointRange{From: rune(8602), To: rune(8603)},
+ &CodePointRange{From: rune(8608), To: rune(8608)},
+ &CodePointRange{From: rune(8611), To: rune(8611)},
+ &CodePointRange{From: rune(8614), To: rune(8614)},
+ &CodePointRange{From: rune(8622), To: rune(8622)},
+ &CodePointRange{From: rune(8654), To: rune(8655)},
+ &CodePointRange{From: rune(8658), To: rune(8658)},
+ &CodePointRange{From: rune(8660), To: rune(8660)},
+ &CodePointRange{From: rune(8692), To: rune(8959)},
+ &CodePointRange{From: rune(8992), To: rune(8993)},
+ &CodePointRange{From: rune(9084), To: rune(9084)},
+ &CodePointRange{From: rune(9115), To: rune(9139)},
+ &CodePointRange{From: rune(9180), To: rune(9185)},
+ &CodePointRange{From: rune(9655), To: rune(9655)},
+ &CodePointRange{From: rune(9665), To: rune(9665)},
+ &CodePointRange{From: rune(9720), To: rune(9727)},
+ &CodePointRange{From: rune(9839), To: rune(9839)},
+ &CodePointRange{From: rune(10176), To: rune(10180)},
+ &CodePointRange{From: rune(10183), To: rune(10213)},
+ &CodePointRange{From: rune(10224), To: rune(10239)},
+ &CodePointRange{From: rune(10496), To: rune(10626)},
+ &CodePointRange{From: rune(10649), To: rune(10711)},
+ &CodePointRange{From: rune(10716), To: rune(10747)},
+ &CodePointRange{From: rune(10750), To: rune(11007)},
+ &CodePointRange{From: rune(11056), To: rune(11076)},
+ &CodePointRange{From: rune(11079), To: rune(11084)},
+ &CodePointRange{From: rune(64297), To: rune(64297)},
+ &CodePointRange{From: rune(65122), To: rune(65122)},
+ &CodePointRange{From: rune(65124), To: rune(65126)},
+ &CodePointRange{From: rune(65291), To: rune(65291)},
+ &CodePointRange{From: rune(65308), To: rune(65310)},
+ &CodePointRange{From: rune(65372), To: rune(65372)},
+ &CodePointRange{From: rune(65374), To: rune(65374)},
+ &CodePointRange{From: rune(65506), To: rune(65506)},
+ &CodePointRange{From: rune(65513), To: rune(65516)},
+ &CodePointRange{From: rune(120513), To: rune(120513)},
+ &CodePointRange{From: rune(120539), To: rune(120539)},
+ &CodePointRange{From: rune(120571), To: rune(120571)},
+ &CodePointRange{From: rune(120597), To: rune(120597)},
+ &CodePointRange{From: rune(120629), To: rune(120629)},
+ &CodePointRange{From: rune(120655), To: rune(120655)},
+ &CodePointRange{From: rune(120687), To: rune(120687)},
+ &CodePointRange{From: rune(120713), To: rune(120713)},
+ &CodePointRange{From: rune(120745), To: rune(120745)},
+ &CodePointRange{From: rune(120771), To: rune(120771)},
+ &CodePointRange{From: rune(126704), To: rune(126705)},
+ },
+ "so": {
+ &CodePointRange{From: rune(166), To: rune(166)},
+ &CodePointRange{From: rune(169), To: rune(169)},
+ &CodePointRange{From: rune(174), To: rune(174)},
+ &CodePointRange{From: rune(176), To: rune(176)},
+ &CodePointRange{From: rune(1154), To: rune(1154)},
+ &CodePointRange{From: rune(1421), To: rune(1422)},
+ &CodePointRange{From: rune(1550), To: rune(1551)},
+ &CodePointRange{From: rune(1758), To: rune(1758)},
+ &CodePointRange{From: rune(1769), To: rune(1769)},
+ &CodePointRange{From: rune(1789), To: rune(1790)},
+ &CodePointRange{From: rune(2038), To: rune(2038)},
+ &CodePointRange{From: rune(2554), To: rune(2554)},
+ &CodePointRange{From: rune(2928), To: rune(2928)},
+ &CodePointRange{From: rune(3059), To: rune(3064)},
+ &CodePointRange{From: rune(3066), To: rune(3066)},
+ &CodePointRange{From: rune(3199), To: rune(3199)},
+ &CodePointRange{From: rune(3407), To: rune(3407)},
+ &CodePointRange{From: rune(3449), To: rune(3449)},
+ &CodePointRange{From: rune(3841), To: rune(3843)},
+ &CodePointRange{From: rune(3859), To: rune(3859)},
+ &CodePointRange{From: rune(3861), To: rune(3863)},
+ &CodePointRange{From: rune(3866), To: rune(3871)},
+ &CodePointRange{From: rune(3892), To: rune(3892)},
+ &CodePointRange{From: rune(3894), To: rune(3894)},
+ &CodePointRange{From: rune(3896), To: rune(3896)},
+ &CodePointRange{From: rune(4030), To: rune(4037)},
+ &CodePointRange{From: rune(4039), To: rune(4044)},
+ &CodePointRange{From: rune(4046), To: rune(4047)},
+ &CodePointRange{From: rune(4053), To: rune(4056)},
+ &CodePointRange{From: rune(4254), To: rune(4255)},
+ &CodePointRange{From: rune(5008), To: rune(5017)},
+ &CodePointRange{From: rune(5741), To: rune(5741)},
+ &CodePointRange{From: rune(6464), To: rune(6464)},
+ &CodePointRange{From: rune(6622), To: rune(6655)},
+ &CodePointRange{From: rune(7009), To: rune(7018)},
+ &CodePointRange{From: rune(7028), To: rune(7036)},
+ &CodePointRange{From: rune(8448), To: rune(8449)},
+ &CodePointRange{From: rune(8451), To: rune(8454)},
+ &CodePointRange{From: rune(8456), To: rune(8457)},
+ &CodePointRange{From: rune(8468), To: rune(8468)},
+ &CodePointRange{From: rune(8470), To: rune(8471)},
+ &CodePointRange{From: rune(8478), To: rune(8483)},
+ &CodePointRange{From: rune(8485), To: rune(8485)},
+ &CodePointRange{From: rune(8487), To: rune(8487)},
+ &CodePointRange{From: rune(8489), To: rune(8489)},
+ &CodePointRange{From: rune(8494), To: rune(8494)},
+ &CodePointRange{From: rune(8506), To: rune(8507)},
+ &CodePointRange{From: rune(8522), To: rune(8522)},
+ &CodePointRange{From: rune(8524), To: rune(8525)},
+ &CodePointRange{From: rune(8527), To: rune(8527)},
+ &CodePointRange{From: rune(8586), To: rune(8587)},
+ &CodePointRange{From: rune(8597), To: rune(8601)},
+ &CodePointRange{From: rune(8604), To: rune(8607)},
+ &CodePointRange{From: rune(8609), To: rune(8610)},
+ &CodePointRange{From: rune(8612), To: rune(8613)},
+ &CodePointRange{From: rune(8615), To: rune(8621)},
+ &CodePointRange{From: rune(8623), To: rune(8653)},
+ &CodePointRange{From: rune(8656), To: rune(8657)},
+ &CodePointRange{From: rune(8659), To: rune(8659)},
+ &CodePointRange{From: rune(8661), To: rune(8691)},
+ &CodePointRange{From: rune(8960), To: rune(8967)},
+ &CodePointRange{From: rune(8972), To: rune(8991)},
+ &CodePointRange{From: rune(8994), To: rune(9000)},
+ &CodePointRange{From: rune(9003), To: rune(9083)},
+ &CodePointRange{From: rune(9085), To: rune(9114)},
+ &CodePointRange{From: rune(9140), To: rune(9179)},
+ &CodePointRange{From: rune(9186), To: rune(9254)},
+ &CodePointRange{From: rune(9280), To: rune(9290)},
+ &CodePointRange{From: rune(9372), To: rune(9449)},
+ &CodePointRange{From: rune(9472), To: rune(9654)},
+ &CodePointRange{From: rune(9656), To: rune(9664)},
+ &CodePointRange{From: rune(9666), To: rune(9719)},
+ &CodePointRange{From: rune(9728), To: rune(9838)},
+ &CodePointRange{From: rune(9840), To: rune(10087)},
+ &CodePointRange{From: rune(10132), To: rune(10175)},
+ &CodePointRange{From: rune(10240), To: rune(10495)},
+ &CodePointRange{From: rune(11008), To: rune(11055)},
+ &CodePointRange{From: rune(11077), To: rune(11078)},
+ &CodePointRange{From: rune(11085), To: rune(11123)},
+ &CodePointRange{From: rune(11126), To: rune(11157)},
+ &CodePointRange{From: rune(11159), To: rune(11263)},
+ &CodePointRange{From: rune(11493), To: rune(11498)},
+ &CodePointRange{From: rune(11856), To: rune(11857)},
+ &CodePointRange{From: rune(11904), To: rune(11929)},
+ &CodePointRange{From: rune(11931), To: rune(12019)},
+ &CodePointRange{From: rune(12032), To: rune(12245)},
+ &CodePointRange{From: rune(12272), To: rune(12283)},
+ &CodePointRange{From: rune(12292), To: rune(12292)},
+ &CodePointRange{From: rune(12306), To: rune(12307)},
+ &CodePointRange{From: rune(12320), To: rune(12320)},
+ &CodePointRange{From: rune(12342), To: rune(12343)},
+ &CodePointRange{From: rune(12350), To: rune(12351)},
+ &CodePointRange{From: rune(12688), To: rune(12689)},
+ &CodePointRange{From: rune(12694), To: rune(12703)},
+ &CodePointRange{From: rune(12736), To: rune(12771)},
+ &CodePointRange{From: rune(12800), To: rune(12830)},
+ &CodePointRange{From: rune(12842), To: rune(12871)},
+ &CodePointRange{From: rune(12880), To: rune(12880)},
+ &CodePointRange{From: rune(12896), To: rune(12927)},
+ &CodePointRange{From: rune(12938), To: rune(12976)},
+ &CodePointRange{From: rune(12992), To: rune(13311)},
+ &CodePointRange{From: rune(19904), To: rune(19967)},
+ &CodePointRange{From: rune(42128), To: rune(42182)},
+ &CodePointRange{From: rune(43048), To: rune(43051)},
+ &CodePointRange{From: rune(43062), To: rune(43063)},
+ &CodePointRange{From: rune(43065), To: rune(43065)},
+ &CodePointRange{From: rune(43639), To: rune(43641)},
+ &CodePointRange{From: rune(65021), To: rune(65021)},
+ &CodePointRange{From: rune(65508), To: rune(65508)},
+ &CodePointRange{From: rune(65512), To: rune(65512)},
+ &CodePointRange{From: rune(65517), To: rune(65518)},
+ &CodePointRange{From: rune(65532), To: rune(65533)},
+ &CodePointRange{From: rune(65847), To: rune(65855)},
+ &CodePointRange{From: rune(65913), To: rune(65929)},
+ &CodePointRange{From: rune(65932), To: rune(65934)},
+ &CodePointRange{From: rune(65936), To: rune(65948)},
+ &CodePointRange{From: rune(65952), To: rune(65952)},
+ &CodePointRange{From: rune(66000), To: rune(66044)},
+ &CodePointRange{From: rune(67703), To: rune(67704)},
+ &CodePointRange{From: rune(68296), To: rune(68296)},
+ &CodePointRange{From: rune(71487), To: rune(71487)},
+ &CodePointRange{From: rune(73685), To: rune(73692)},
+ &CodePointRange{From: rune(73697), To: rune(73713)},
+ &CodePointRange{From: rune(92988), To: rune(92991)},
+ &CodePointRange{From: rune(92997), To: rune(92997)},
+ &CodePointRange{From: rune(113820), To: rune(113820)},
+ &CodePointRange{From: rune(118784), To: rune(119029)},
+ &CodePointRange{From: rune(119040), To: rune(119078)},
+ &CodePointRange{From: rune(119081), To: rune(119140)},
+ &CodePointRange{From: rune(119146), To: rune(119148)},
+ &CodePointRange{From: rune(119171), To: rune(119172)},
+ &CodePointRange{From: rune(119180), To: rune(119209)},
+ &CodePointRange{From: rune(119214), To: rune(119272)},
+ &CodePointRange{From: rune(119296), To: rune(119361)},
+ &CodePointRange{From: rune(119365), To: rune(119365)},
+ &CodePointRange{From: rune(119552), To: rune(119638)},
+ &CodePointRange{From: rune(120832), To: rune(121343)},
+ &CodePointRange{From: rune(121399), To: rune(121402)},
+ &CodePointRange{From: rune(121453), To: rune(121460)},
+ &CodePointRange{From: rune(121462), To: rune(121475)},
+ &CodePointRange{From: rune(121477), To: rune(121478)},
+ &CodePointRange{From: rune(123215), To: rune(123215)},
+ &CodePointRange{From: rune(126124), To: rune(126124)},
+ &CodePointRange{From: rune(126254), To: rune(126254)},
+ &CodePointRange{From: rune(126976), To: rune(127019)},
+ &CodePointRange{From: rune(127024), To: rune(127123)},
+ &CodePointRange{From: rune(127136), To: rune(127150)},
+ &CodePointRange{From: rune(127153), To: rune(127167)},
+ &CodePointRange{From: rune(127169), To: rune(127183)},
+ &CodePointRange{From: rune(127185), To: rune(127221)},
+ &CodePointRange{From: rune(127245), To: rune(127405)},
+ &CodePointRange{From: rune(127462), To: rune(127490)},
+ &CodePointRange{From: rune(127504), To: rune(127547)},
+ &CodePointRange{From: rune(127552), To: rune(127560)},
+ &CodePointRange{From: rune(127568), To: rune(127569)},
+ &CodePointRange{From: rune(127584), To: rune(127589)},
+ &CodePointRange{From: rune(127744), To: rune(127994)},
+ &CodePointRange{From: rune(128000), To: rune(128727)},
+ &CodePointRange{From: rune(128736), To: rune(128748)},
+ &CodePointRange{From: rune(128752), To: rune(128764)},
+ &CodePointRange{From: rune(128768), To: rune(128883)},
+ &CodePointRange{From: rune(128896), To: rune(128984)},
+ &CodePointRange{From: rune(128992), To: rune(129003)},
+ &CodePointRange{From: rune(129024), To: rune(129035)},
+ &CodePointRange{From: rune(129040), To: rune(129095)},
+ &CodePointRange{From: rune(129104), To: rune(129113)},
+ &CodePointRange{From: rune(129120), To: rune(129159)},
+ &CodePointRange{From: rune(129168), To: rune(129197)},
+ &CodePointRange{From: rune(129200), To: rune(129201)},
+ &CodePointRange{From: rune(129280), To: rune(129400)},
+ &CodePointRange{From: rune(129402), To: rune(129483)},
+ &CodePointRange{From: rune(129485), To: rune(129619)},
+ &CodePointRange{From: rune(129632), To: rune(129645)},
+ &CodePointRange{From: rune(129648), To: rune(129652)},
+ &CodePointRange{From: rune(129656), To: rune(129658)},
+ &CodePointRange{From: rune(129664), To: rune(129670)},
+ &CodePointRange{From: rune(129680), To: rune(129704)},
+ &CodePointRange{From: rune(129712), To: rune(129718)},
+ &CodePointRange{From: rune(129728), To: rune(129730)},
+ &CodePointRange{From: rune(129744), To: rune(129750)},
+ &CodePointRange{From: rune(129792), To: rune(129938)},
+ &CodePointRange{From: rune(129940), To: rune(129994)},
+ },
+ "zl": {
+ &CodePointRange{From: rune(8232), To: rune(8232)},
+ },
+ "zp": {
+ &CodePointRange{From: rune(8233), To: rune(8233)},
+ },
+ "zs": {
+ &CodePointRange{From: rune(32), To: rune(32)},
+ &CodePointRange{From: rune(160), To: rune(160)},
+ &CodePointRange{From: rune(5760), To: rune(5760)},
+ &CodePointRange{From: rune(8192), To: rune(8202)},
+ &CodePointRange{From: rune(8239), To: rune(8239)},
+ &CodePointRange{From: rune(8287), To: rune(8287)},
+ &CodePointRange{From: rune(12288), To: rune(12288)},
+ },
+}
+
+// https://www.unicode.org/Public/13.0.0/ucd/Scripts.txt
+var (
+ scriptDefaultRange = &CodePointRange{
+ From: rune(0),
+ To: rune(1114111),
+ }
+ scriptDefaultValue = "unknown"
+)
+
+// https://www.unicode.org/Public/13.0.0/ucd/Scripts.txt
+var scriptCodepoints = map[string][]*CodePointRange{
+ "adlm": {
+ &CodePointRange{From: rune(125184), To: rune(125251)},
+ &CodePointRange{From: rune(125252), To: rune(125258)},
+ &CodePointRange{From: rune(125259), To: rune(125259)},
+ &CodePointRange{From: rune(125264), To: rune(125273)},
+ &CodePointRange{From: rune(125278), To: rune(125279)},
+ },
+ "aghb": {
+ &CodePointRange{From: rune(66864), To: rune(66915)},
+ &CodePointRange{From: rune(66927), To: rune(66927)},
+ },
+ "ahom": {
+ &CodePointRange{From: rune(71424), To: rune(71450)},
+ &CodePointRange{From: rune(71453), To: rune(71455)},
+ &CodePointRange{From: rune(71456), To: rune(71457)},
+ &CodePointRange{From: rune(71458), To: rune(71461)},
+ &CodePointRange{From: rune(71462), To: rune(71462)},
+ &CodePointRange{From: rune(71463), To: rune(71467)},
+ &CodePointRange{From: rune(71472), To: rune(71481)},
+ &CodePointRange{From: rune(71482), To: rune(71483)},
+ &CodePointRange{From: rune(71484), To: rune(71486)},
+ &CodePointRange{From: rune(71487), To: rune(71487)},
+ },
+ "arab": {
+ &CodePointRange{From: rune(1536), To: rune(1540)},
+ &CodePointRange{From: rune(1542), To: rune(1544)},
+ &CodePointRange{From: rune(1545), To: rune(1546)},
+ &CodePointRange{From: rune(1547), To: rune(1547)},
+ &CodePointRange{From: rune(1549), To: rune(1549)},
+ &CodePointRange{From: rune(1550), To: rune(1551)},
+ &CodePointRange{From: rune(1552), To: rune(1562)},
+ &CodePointRange{From: rune(1564), To: rune(1564)},
+ &CodePointRange{From: rune(1566), To: rune(1566)},
+ &CodePointRange{From: rune(1568), To: rune(1599)},
+ &CodePointRange{From: rune(1601), To: rune(1610)},
+ &CodePointRange{From: rune(1622), To: rune(1631)},
+ &CodePointRange{From: rune(1632), To: rune(1641)},
+ &CodePointRange{From: rune(1642), To: rune(1645)},
+ &CodePointRange{From: rune(1646), To: rune(1647)},
+ &CodePointRange{From: rune(1649), To: rune(1747)},
+ &CodePointRange{From: rune(1748), To: rune(1748)},
+ &CodePointRange{From: rune(1749), To: rune(1749)},
+ &CodePointRange{From: rune(1750), To: rune(1756)},
+ &CodePointRange{From: rune(1758), To: rune(1758)},
+ &CodePointRange{From: rune(1759), To: rune(1764)},
+ &CodePointRange{From: rune(1765), To: rune(1766)},
+ &CodePointRange{From: rune(1767), To: rune(1768)},
+ &CodePointRange{From: rune(1769), To: rune(1769)},
+ &CodePointRange{From: rune(1770), To: rune(1773)},
+ &CodePointRange{From: rune(1774), To: rune(1775)},
+ &CodePointRange{From: rune(1776), To: rune(1785)},
+ &CodePointRange{From: rune(1786), To: rune(1788)},
+ &CodePointRange{From: rune(1789), To: rune(1790)},
+ &CodePointRange{From: rune(1791), To: rune(1791)},
+ &CodePointRange{From: rune(1872), To: rune(1919)},
+ &CodePointRange{From: rune(2208), To: rune(2228)},
+ &CodePointRange{From: rune(2230), To: rune(2247)},
+ &CodePointRange{From: rune(2259), To: rune(2273)},
+ &CodePointRange{From: rune(2275), To: rune(2303)},
+ &CodePointRange{From: rune(64336), To: rune(64433)},
+ &CodePointRange{From: rune(64434), To: rune(64449)},
+ &CodePointRange{From: rune(64467), To: rune(64829)},
+ &CodePointRange{From: rune(64848), To: rune(64911)},
+ &CodePointRange{From: rune(64914), To: rune(64967)},
+ &CodePointRange{From: rune(65008), To: rune(65019)},
+ &CodePointRange{From: rune(65020), To: rune(65020)},
+ &CodePointRange{From: rune(65021), To: rune(65021)},
+ &CodePointRange{From: rune(65136), To: rune(65140)},
+ &CodePointRange{From: rune(65142), To: rune(65276)},
+ &CodePointRange{From: rune(69216), To: rune(69246)},
+ &CodePointRange{From: rune(126464), To: rune(126467)},
+ &CodePointRange{From: rune(126469), To: rune(126495)},
+ &CodePointRange{From: rune(126497), To: rune(126498)},
+ &CodePointRange{From: rune(126500), To: rune(126500)},
+ &CodePointRange{From: rune(126503), To: rune(126503)},
+ &CodePointRange{From: rune(126505), To: rune(126514)},
+ &CodePointRange{From: rune(126516), To: rune(126519)},
+ &CodePointRange{From: rune(126521), To: rune(126521)},
+ &CodePointRange{From: rune(126523), To: rune(126523)},
+ &CodePointRange{From: rune(126530), To: rune(126530)},
+ &CodePointRange{From: rune(126535), To: rune(126535)},
+ &CodePointRange{From: rune(126537), To: rune(126537)},
+ &CodePointRange{From: rune(126539), To: rune(126539)},
+ &CodePointRange{From: rune(126541), To: rune(126543)},
+ &CodePointRange{From: rune(126545), To: rune(126546)},
+ &CodePointRange{From: rune(126548), To: rune(126548)},
+ &CodePointRange{From: rune(126551), To: rune(126551)},
+ &CodePointRange{From: rune(126553), To: rune(126553)},
+ &CodePointRange{From: rune(126555), To: rune(126555)},
+ &CodePointRange{From: rune(126557), To: rune(126557)},
+ &CodePointRange{From: rune(126559), To: rune(126559)},
+ &CodePointRange{From: rune(126561), To: rune(126562)},
+ &CodePointRange{From: rune(126564), To: rune(126564)},
+ &CodePointRange{From: rune(126567), To: rune(126570)},
+ &CodePointRange{From: rune(126572), To: rune(126578)},
+ &CodePointRange{From: rune(126580), To: rune(126583)},
+ &CodePointRange{From: rune(126585), To: rune(126588)},
+ &CodePointRange{From: rune(126590), To: rune(126590)},
+ &CodePointRange{From: rune(126592), To: rune(126601)},
+ &CodePointRange{From: rune(126603), To: rune(126619)},
+ &CodePointRange{From: rune(126625), To: rune(126627)},
+ &CodePointRange{From: rune(126629), To: rune(126633)},
+ &CodePointRange{From: rune(126635), To: rune(126651)},
+ &CodePointRange{From: rune(126704), To: rune(126705)},
+ },
+ "armi": {
+ &CodePointRange{From: rune(67648), To: rune(67669)},
+ &CodePointRange{From: rune(67671), To: rune(67671)},
+ &CodePointRange{From: rune(67672), To: rune(67679)},
+ },
+ "armn": {
+ &CodePointRange{From: rune(1329), To: rune(1366)},
+ &CodePointRange{From: rune(1369), To: rune(1369)},
+ &CodePointRange{From: rune(1370), To: rune(1375)},
+ &CodePointRange{From: rune(1376), To: rune(1416)},
+ &CodePointRange{From: rune(1417), To: rune(1417)},
+ &CodePointRange{From: rune(1418), To: rune(1418)},
+ &CodePointRange{From: rune(1421), To: rune(1422)},
+ &CodePointRange{From: rune(1423), To: rune(1423)},
+ &CodePointRange{From: rune(64275), To: rune(64279)},
+ },
+ "avst": {
+ &CodePointRange{From: rune(68352), To: rune(68405)},
+ &CodePointRange{From: rune(68409), To: rune(68415)},
+ },
+ "bali": {
+ &CodePointRange{From: rune(6912), To: rune(6915)},
+ &CodePointRange{From: rune(6916), To: rune(6916)},
+ &CodePointRange{From: rune(6917), To: rune(6963)},
+ &CodePointRange{From: rune(6964), To: rune(6964)},
+ &CodePointRange{From: rune(6965), To: rune(6965)},
+ &CodePointRange{From: rune(6966), To: rune(6970)},
+ &CodePointRange{From: rune(6971), To: rune(6971)},
+ &CodePointRange{From: rune(6972), To: rune(6972)},
+ &CodePointRange{From: rune(6973), To: rune(6977)},
+ &CodePointRange{From: rune(6978), To: rune(6978)},
+ &CodePointRange{From: rune(6979), To: rune(6980)},
+ &CodePointRange{From: rune(6981), To: rune(6987)},
+ &CodePointRange{From: rune(6992), To: rune(7001)},
+ &CodePointRange{From: rune(7002), To: rune(7008)},
+ &CodePointRange{From: rune(7009), To: rune(7018)},
+ &CodePointRange{From: rune(7019), To: rune(7027)},
+ &CodePointRange{From: rune(7028), To: rune(7036)},
+ },
+ "bamu": {
+ &CodePointRange{From: rune(42656), To: rune(42725)},
+ &CodePointRange{From: rune(42726), To: rune(42735)},
+ &CodePointRange{From: rune(42736), To: rune(42737)},
+ &CodePointRange{From: rune(42738), To: rune(42743)},
+ &CodePointRange{From: rune(92160), To: rune(92728)},
+ },
+ "bass": {
+ &CodePointRange{From: rune(92880), To: rune(92909)},
+ &CodePointRange{From: rune(92912), To: rune(92916)},
+ &CodePointRange{From: rune(92917), To: rune(92917)},
+ },
+ "batk": {
+ &CodePointRange{From: rune(7104), To: rune(7141)},
+ &CodePointRange{From: rune(7142), To: rune(7142)},
+ &CodePointRange{From: rune(7143), To: rune(7143)},
+ &CodePointRange{From: rune(7144), To: rune(7145)},
+ &CodePointRange{From: rune(7146), To: rune(7148)},
+ &CodePointRange{From: rune(7149), To: rune(7149)},
+ &CodePointRange{From: rune(7150), To: rune(7150)},
+ &CodePointRange{From: rune(7151), To: rune(7153)},
+ &CodePointRange{From: rune(7154), To: rune(7155)},
+ &CodePointRange{From: rune(7164), To: rune(7167)},
+ },
+ "beng": {
+ &CodePointRange{From: rune(2432), To: rune(2432)},
+ &CodePointRange{From: rune(2433), To: rune(2433)},
+ &CodePointRange{From: rune(2434), To: rune(2435)},
+ &CodePointRange{From: rune(2437), To: rune(2444)},
+ &CodePointRange{From: rune(2447), To: rune(2448)},
+ &CodePointRange{From: rune(2451), To: rune(2472)},
+ &CodePointRange{From: rune(2474), To: rune(2480)},
+ &CodePointRange{From: rune(2482), To: rune(2482)},
+ &CodePointRange{From: rune(2486), To: rune(2489)},
+ &CodePointRange{From: rune(2492), To: rune(2492)},
+ &CodePointRange{From: rune(2493), To: rune(2493)},
+ &CodePointRange{From: rune(2494), To: rune(2496)},
+ &CodePointRange{From: rune(2497), To: rune(2500)},
+ &CodePointRange{From: rune(2503), To: rune(2504)},
+ &CodePointRange{From: rune(2507), To: rune(2508)},
+ &CodePointRange{From: rune(2509), To: rune(2509)},
+ &CodePointRange{From: rune(2510), To: rune(2510)},
+ &CodePointRange{From: rune(2519), To: rune(2519)},
+ &CodePointRange{From: rune(2524), To: rune(2525)},
+ &CodePointRange{From: rune(2527), To: rune(2529)},
+ &CodePointRange{From: rune(2530), To: rune(2531)},
+ &CodePointRange{From: rune(2534), To: rune(2543)},
+ &CodePointRange{From: rune(2544), To: rune(2545)},
+ &CodePointRange{From: rune(2546), To: rune(2547)},
+ &CodePointRange{From: rune(2548), To: rune(2553)},
+ &CodePointRange{From: rune(2554), To: rune(2554)},
+ &CodePointRange{From: rune(2555), To: rune(2555)},
+ &CodePointRange{From: rune(2556), To: rune(2556)},
+ &CodePointRange{From: rune(2557), To: rune(2557)},
+ &CodePointRange{From: rune(2558), To: rune(2558)},
+ },
+ "bhks": {
+ &CodePointRange{From: rune(72704), To: rune(72712)},
+ &CodePointRange{From: rune(72714), To: rune(72750)},
+ &CodePointRange{From: rune(72751), To: rune(72751)},
+ &CodePointRange{From: rune(72752), To: rune(72758)},
+ &CodePointRange{From: rune(72760), To: rune(72765)},
+ &CodePointRange{From: rune(72766), To: rune(72766)},
+ &CodePointRange{From: rune(72767), To: rune(72767)},
+ &CodePointRange{From: rune(72768), To: rune(72768)},
+ &CodePointRange{From: rune(72769), To: rune(72773)},
+ &CodePointRange{From: rune(72784), To: rune(72793)},
+ &CodePointRange{From: rune(72794), To: rune(72812)},
+ },
+ "bopo": {
+ &CodePointRange{From: rune(746), To: rune(747)},
+ &CodePointRange{From: rune(12549), To: rune(12591)},
+ &CodePointRange{From: rune(12704), To: rune(12735)},
+ },
+ "brah": {
+ &CodePointRange{From: rune(69632), To: rune(69632)},
+ &CodePointRange{From: rune(69633), To: rune(69633)},
+ &CodePointRange{From: rune(69634), To: rune(69634)},
+ &CodePointRange{From: rune(69635), To: rune(69687)},
+ &CodePointRange{From: rune(69688), To: rune(69702)},
+ &CodePointRange{From: rune(69703), To: rune(69709)},
+ &CodePointRange{From: rune(69714), To: rune(69733)},
+ &CodePointRange{From: rune(69734), To: rune(69743)},
+ &CodePointRange{From: rune(69759), To: rune(69759)},
+ },
+ "brai": {
+ &CodePointRange{From: rune(10240), To: rune(10495)},
+ },
+ "bugi": {
+ &CodePointRange{From: rune(6656), To: rune(6678)},
+ &CodePointRange{From: rune(6679), To: rune(6680)},
+ &CodePointRange{From: rune(6681), To: rune(6682)},
+ &CodePointRange{From: rune(6683), To: rune(6683)},
+ &CodePointRange{From: rune(6686), To: rune(6687)},
+ },
+ "buhd": {
+ &CodePointRange{From: rune(5952), To: rune(5969)},
+ &CodePointRange{From: rune(5970), To: rune(5971)},
+ },
+ "cakm": {
+ &CodePointRange{From: rune(69888), To: rune(69890)},
+ &CodePointRange{From: rune(69891), To: rune(69926)},
+ &CodePointRange{From: rune(69927), To: rune(69931)},
+ &CodePointRange{From: rune(69932), To: rune(69932)},
+ &CodePointRange{From: rune(69933), To: rune(69940)},
+ &CodePointRange{From: rune(69942), To: rune(69951)},
+ &CodePointRange{From: rune(69952), To: rune(69955)},
+ &CodePointRange{From: rune(69956), To: rune(69956)},
+ &CodePointRange{From: rune(69957), To: rune(69958)},
+ &CodePointRange{From: rune(69959), To: rune(69959)},
+ },
+ "cans": {
+ &CodePointRange{From: rune(5120), To: rune(5120)},
+ &CodePointRange{From: rune(5121), To: rune(5740)},
+ &CodePointRange{From: rune(5741), To: rune(5741)},
+ &CodePointRange{From: rune(5742), To: rune(5742)},
+ &CodePointRange{From: rune(5743), To: rune(5759)},
+ &CodePointRange{From: rune(6320), To: rune(6389)},
+ },
+ "cari": {
+ &CodePointRange{From: rune(66208), To: rune(66256)},
+ },
+ "cham": {
+ &CodePointRange{From: rune(43520), To: rune(43560)},
+ &CodePointRange{From: rune(43561), To: rune(43566)},
+ &CodePointRange{From: rune(43567), To: rune(43568)},
+ &CodePointRange{From: rune(43569), To: rune(43570)},
+ &CodePointRange{From: rune(43571), To: rune(43572)},
+ &CodePointRange{From: rune(43573), To: rune(43574)},
+ &CodePointRange{From: rune(43584), To: rune(43586)},
+ &CodePointRange{From: rune(43587), To: rune(43587)},
+ &CodePointRange{From: rune(43588), To: rune(43595)},
+ &CodePointRange{From: rune(43596), To: rune(43596)},
+ &CodePointRange{From: rune(43597), To: rune(43597)},
+ &CodePointRange{From: rune(43600), To: rune(43609)},
+ &CodePointRange{From: rune(43612), To: rune(43615)},
+ },
+ "cher": {
+ &CodePointRange{From: rune(5024), To: rune(5109)},
+ &CodePointRange{From: rune(5112), To: rune(5117)},
+ &CodePointRange{From: rune(43888), To: rune(43967)},
+ },
+ "chrs": {
+ &CodePointRange{From: rune(69552), To: rune(69572)},
+ &CodePointRange{From: rune(69573), To: rune(69579)},
+ },
+ "copt": {
+ &CodePointRange{From: rune(994), To: rune(1007)},
+ &CodePointRange{From: rune(11392), To: rune(11492)},
+ &CodePointRange{From: rune(11493), To: rune(11498)},
+ &CodePointRange{From: rune(11499), To: rune(11502)},
+ &CodePointRange{From: rune(11503), To: rune(11505)},
+ &CodePointRange{From: rune(11506), To: rune(11507)},
+ &CodePointRange{From: rune(11513), To: rune(11516)},
+ &CodePointRange{From: rune(11517), To: rune(11517)},
+ &CodePointRange{From: rune(11518), To: rune(11519)},
+ },
+ "cprt": {
+ &CodePointRange{From: rune(67584), To: rune(67589)},
+ &CodePointRange{From: rune(67592), To: rune(67592)},
+ &CodePointRange{From: rune(67594), To: rune(67637)},
+ &CodePointRange{From: rune(67639), To: rune(67640)},
+ &CodePointRange{From: rune(67644), To: rune(67644)},
+ &CodePointRange{From: rune(67647), To: rune(67647)},
+ },
+ "cyrl": {
+ &CodePointRange{From: rune(1024), To: rune(1153)},
+ &CodePointRange{From: rune(1154), To: rune(1154)},
+ &CodePointRange{From: rune(1155), To: rune(1156)},
+ &CodePointRange{From: rune(1159), To: rune(1159)},
+ &CodePointRange{From: rune(1160), To: rune(1161)},
+ &CodePointRange{From: rune(1162), To: rune(1327)},
+ &CodePointRange{From: rune(7296), To: rune(7304)},
+ &CodePointRange{From: rune(7467), To: rune(7467)},
+ &CodePointRange{From: rune(7544), To: rune(7544)},
+ &CodePointRange{From: rune(11744), To: rune(11775)},
+ &CodePointRange{From: rune(42560), To: rune(42605)},
+ &CodePointRange{From: rune(42606), To: rune(42606)},
+ &CodePointRange{From: rune(42607), To: rune(42607)},
+ &CodePointRange{From: rune(42608), To: rune(42610)},
+ &CodePointRange{From: rune(42611), To: rune(42611)},
+ &CodePointRange{From: rune(42612), To: rune(42621)},
+ &CodePointRange{From: rune(42622), To: rune(42622)},
+ &CodePointRange{From: rune(42623), To: rune(42623)},
+ &CodePointRange{From: rune(42624), To: rune(42651)},
+ &CodePointRange{From: rune(42652), To: rune(42653)},
+ &CodePointRange{From: rune(42654), To: rune(42655)},
+ &CodePointRange{From: rune(65070), To: rune(65071)},
+ },
+ "deva": {
+ &CodePointRange{From: rune(2304), To: rune(2306)},
+ &CodePointRange{From: rune(2307), To: rune(2307)},
+ &CodePointRange{From: rune(2308), To: rune(2361)},
+ &CodePointRange{From: rune(2362), To: rune(2362)},
+ &CodePointRange{From: rune(2363), To: rune(2363)},
+ &CodePointRange{From: rune(2364), To: rune(2364)},
+ &CodePointRange{From: rune(2365), To: rune(2365)},
+ &CodePointRange{From: rune(2366), To: rune(2368)},
+ &CodePointRange{From: rune(2369), To: rune(2376)},
+ &CodePointRange{From: rune(2377), To: rune(2380)},
+ &CodePointRange{From: rune(2381), To: rune(2381)},
+ &CodePointRange{From: rune(2382), To: rune(2383)},
+ &CodePointRange{From: rune(2384), To: rune(2384)},
+ &CodePointRange{From: rune(2389), To: rune(2391)},
+ &CodePointRange{From: rune(2392), To: rune(2401)},
+ &CodePointRange{From: rune(2402), To: rune(2403)},
+ &CodePointRange{From: rune(2406), To: rune(2415)},
+ &CodePointRange{From: rune(2416), To: rune(2416)},
+ &CodePointRange{From: rune(2417), To: rune(2417)},
+ &CodePointRange{From: rune(2418), To: rune(2431)},
+ &CodePointRange{From: rune(43232), To: rune(43249)},
+ &CodePointRange{From: rune(43250), To: rune(43255)},
+ &CodePointRange{From: rune(43256), To: rune(43258)},
+ &CodePointRange{From: rune(43259), To: rune(43259)},
+ &CodePointRange{From: rune(43260), To: rune(43260)},
+ &CodePointRange{From: rune(43261), To: rune(43262)},
+ &CodePointRange{From: rune(43263), To: rune(43263)},
+ },
+ "diak": {
+ &CodePointRange{From: rune(71936), To: rune(71942)},
+ &CodePointRange{From: rune(71945), To: rune(71945)},
+ &CodePointRange{From: rune(71948), To: rune(71955)},
+ &CodePointRange{From: rune(71957), To: rune(71958)},
+ &CodePointRange{From: rune(71960), To: rune(71983)},
+ &CodePointRange{From: rune(71984), To: rune(71989)},
+ &CodePointRange{From: rune(71991), To: rune(71992)},
+ &CodePointRange{From: rune(71995), To: rune(71996)},
+ &CodePointRange{From: rune(71997), To: rune(71997)},
+ &CodePointRange{From: rune(71998), To: rune(71998)},
+ &CodePointRange{From: rune(71999), To: rune(71999)},
+ &CodePointRange{From: rune(72000), To: rune(72000)},
+ &CodePointRange{From: rune(72001), To: rune(72001)},
+ &CodePointRange{From: rune(72002), To: rune(72002)},
+ &CodePointRange{From: rune(72003), To: rune(72003)},
+ &CodePointRange{From: rune(72004), To: rune(72006)},
+ &CodePointRange{From: rune(72016), To: rune(72025)},
+ },
+ "dogr": {
+ &CodePointRange{From: rune(71680), To: rune(71723)},
+ &CodePointRange{From: rune(71724), To: rune(71726)},
+ &CodePointRange{From: rune(71727), To: rune(71735)},
+ &CodePointRange{From: rune(71736), To: rune(71736)},
+ &CodePointRange{From: rune(71737), To: rune(71738)},
+ &CodePointRange{From: rune(71739), To: rune(71739)},
+ },
+ "dsrt": {
+ &CodePointRange{From: rune(66560), To: rune(66639)},
+ },
+ "dupl": {
+ &CodePointRange{From: rune(113664), To: rune(113770)},
+ &CodePointRange{From: rune(113776), To: rune(113788)},
+ &CodePointRange{From: rune(113792), To: rune(113800)},
+ &CodePointRange{From: rune(113808), To: rune(113817)},
+ &CodePointRange{From: rune(113820), To: rune(113820)},
+ &CodePointRange{From: rune(113821), To: rune(113822)},
+ &CodePointRange{From: rune(113823), To: rune(113823)},
+ },
+ "egyp": {
+ &CodePointRange{From: rune(77824), To: rune(78894)},
+ &CodePointRange{From: rune(78896), To: rune(78904)},
+ },
+ "elba": {
+ &CodePointRange{From: rune(66816), To: rune(66855)},
+ },
+ "elym": {
+ &CodePointRange{From: rune(69600), To: rune(69622)},
+ },
+ "ethi": {
+ &CodePointRange{From: rune(4608), To: rune(4680)},
+ &CodePointRange{From: rune(4682), To: rune(4685)},
+ &CodePointRange{From: rune(4688), To: rune(4694)},
+ &CodePointRange{From: rune(4696), To: rune(4696)},
+ &CodePointRange{From: rune(4698), To: rune(4701)},
+ &CodePointRange{From: rune(4704), To: rune(4744)},
+ &CodePointRange{From: rune(4746), To: rune(4749)},
+ &CodePointRange{From: rune(4752), To: rune(4784)},
+ &CodePointRange{From: rune(4786), To: rune(4789)},
+ &CodePointRange{From: rune(4792), To: rune(4798)},
+ &CodePointRange{From: rune(4800), To: rune(4800)},
+ &CodePointRange{From: rune(4802), To: rune(4805)},
+ &CodePointRange{From: rune(4808), To: rune(4822)},
+ &CodePointRange{From: rune(4824), To: rune(4880)},
+ &CodePointRange{From: rune(4882), To: rune(4885)},
+ &CodePointRange{From: rune(4888), To: rune(4954)},
+ &CodePointRange{From: rune(4957), To: rune(4959)},
+ &CodePointRange{From: rune(4960), To: rune(4968)},
+ &CodePointRange{From: rune(4969), To: rune(4988)},
+ &CodePointRange{From: rune(4992), To: rune(5007)},
+ &CodePointRange{From: rune(5008), To: rune(5017)},
+ &CodePointRange{From: rune(11648), To: rune(11670)},
+ &CodePointRange{From: rune(11680), To: rune(11686)},
+ &CodePointRange{From: rune(11688), To: rune(11694)},
+ &CodePointRange{From: rune(11696), To: rune(11702)},
+ &CodePointRange{From: rune(11704), To: rune(11710)},
+ &CodePointRange{From: rune(11712), To: rune(11718)},
+ &CodePointRange{From: rune(11720), To: rune(11726)},
+ &CodePointRange{From: rune(11728), To: rune(11734)},
+ &CodePointRange{From: rune(11736), To: rune(11742)},
+ &CodePointRange{From: rune(43777), To: rune(43782)},
+ &CodePointRange{From: rune(43785), To: rune(43790)},
+ &CodePointRange{From: rune(43793), To: rune(43798)},
+ &CodePointRange{From: rune(43808), To: rune(43814)},
+ &CodePointRange{From: rune(43816), To: rune(43822)},
+ },
+ "geor": {
+ &CodePointRange{From: rune(4256), To: rune(4293)},
+ &CodePointRange{From: rune(4295), To: rune(4295)},
+ &CodePointRange{From: rune(4301), To: rune(4301)},
+ &CodePointRange{From: rune(4304), To: rune(4346)},
+ &CodePointRange{From: rune(4348), To: rune(4348)},
+ &CodePointRange{From: rune(4349), To: rune(4351)},
+ &CodePointRange{From: rune(7312), To: rune(7354)},
+ &CodePointRange{From: rune(7357), To: rune(7359)},
+ &CodePointRange{From: rune(11520), To: rune(11557)},
+ &CodePointRange{From: rune(11559), To: rune(11559)},
+ &CodePointRange{From: rune(11565), To: rune(11565)},
+ },
+ "glag": {
+ &CodePointRange{From: rune(11264), To: rune(11310)},
+ &CodePointRange{From: rune(11312), To: rune(11358)},
+ &CodePointRange{From: rune(122880), To: rune(122886)},
+ &CodePointRange{From: rune(122888), To: rune(122904)},
+ &CodePointRange{From: rune(122907), To: rune(122913)},
+ &CodePointRange{From: rune(122915), To: rune(122916)},
+ &CodePointRange{From: rune(122918), To: rune(122922)},
+ },
+ "gong": {
+ &CodePointRange{From: rune(73056), To: rune(73061)},
+ &CodePointRange{From: rune(73063), To: rune(73064)},
+ &CodePointRange{From: rune(73066), To: rune(73097)},
+ &CodePointRange{From: rune(73098), To: rune(73102)},
+ &CodePointRange{From: rune(73104), To: rune(73105)},
+ &CodePointRange{From: rune(73107), To: rune(73108)},
+ &CodePointRange{From: rune(73109), To: rune(73109)},
+ &CodePointRange{From: rune(73110), To: rune(73110)},
+ &CodePointRange{From: rune(73111), To: rune(73111)},
+ &CodePointRange{From: rune(73112), To: rune(73112)},
+ &CodePointRange{From: rune(73120), To: rune(73129)},
+ },
+ "gonm": {
+ &CodePointRange{From: rune(72960), To: rune(72966)},
+ &CodePointRange{From: rune(72968), To: rune(72969)},
+ &CodePointRange{From: rune(72971), To: rune(73008)},
+ &CodePointRange{From: rune(73009), To: rune(73014)},
+ &CodePointRange{From: rune(73018), To: rune(73018)},
+ &CodePointRange{From: rune(73020), To: rune(73021)},
+ &CodePointRange{From: rune(73023), To: rune(73029)},
+ &CodePointRange{From: rune(73030), To: rune(73030)},
+ &CodePointRange{From: rune(73031), To: rune(73031)},
+ &CodePointRange{From: rune(73040), To: rune(73049)},
+ },
+ "goth": {
+ &CodePointRange{From: rune(66352), To: rune(66368)},
+ &CodePointRange{From: rune(66369), To: rune(66369)},
+ &CodePointRange{From: rune(66370), To: rune(66377)},
+ &CodePointRange{From: rune(66378), To: rune(66378)},
+ },
+ "gran": {
+ &CodePointRange{From: rune(70400), To: rune(70401)},
+ &CodePointRange{From: rune(70402), To: rune(70403)},
+ &CodePointRange{From: rune(70405), To: rune(70412)},
+ &CodePointRange{From: rune(70415), To: rune(70416)},
+ &CodePointRange{From: rune(70419), To: rune(70440)},
+ &CodePointRange{From: rune(70442), To: rune(70448)},
+ &CodePointRange{From: rune(70450), To: rune(70451)},
+ &CodePointRange{From: rune(70453), To: rune(70457)},
+ &CodePointRange{From: rune(70460), To: rune(70460)},
+ &CodePointRange{From: rune(70461), To: rune(70461)},
+ &CodePointRange{From: rune(70462), To: rune(70463)},
+ &CodePointRange{From: rune(70464), To: rune(70464)},
+ &CodePointRange{From: rune(70465), To: rune(70468)},
+ &CodePointRange{From: rune(70471), To: rune(70472)},
+ &CodePointRange{From: rune(70475), To: rune(70477)},
+ &CodePointRange{From: rune(70480), To: rune(70480)},
+ &CodePointRange{From: rune(70487), To: rune(70487)},
+ &CodePointRange{From: rune(70493), To: rune(70497)},
+ &CodePointRange{From: rune(70498), To: rune(70499)},
+ &CodePointRange{From: rune(70502), To: rune(70508)},
+ &CodePointRange{From: rune(70512), To: rune(70516)},
+ },
+ "grek": {
+ &CodePointRange{From: rune(880), To: rune(883)},
+ &CodePointRange{From: rune(885), To: rune(885)},
+ &CodePointRange{From: rune(886), To: rune(887)},
+ &CodePointRange{From: rune(890), To: rune(890)},
+ &CodePointRange{From: rune(891), To: rune(893)},
+ &CodePointRange{From: rune(895), To: rune(895)},
+ &CodePointRange{From: rune(900), To: rune(900)},
+ &CodePointRange{From: rune(902), To: rune(902)},
+ &CodePointRange{From: rune(904), To: rune(906)},
+ &CodePointRange{From: rune(908), To: rune(908)},
+ &CodePointRange{From: rune(910), To: rune(929)},
+ &CodePointRange{From: rune(931), To: rune(993)},
+ &CodePointRange{From: rune(1008), To: rune(1013)},
+ &CodePointRange{From: rune(1014), To: rune(1014)},
+ &CodePointRange{From: rune(1015), To: rune(1023)},
+ &CodePointRange{From: rune(7462), To: rune(7466)},
+ &CodePointRange{From: rune(7517), To: rune(7521)},
+ &CodePointRange{From: rune(7526), To: rune(7530)},
+ &CodePointRange{From: rune(7615), To: rune(7615)},
+ &CodePointRange{From: rune(7936), To: rune(7957)},
+ &CodePointRange{From: rune(7960), To: rune(7965)},
+ &CodePointRange{From: rune(7968), To: rune(8005)},
+ &CodePointRange{From: rune(8008), To: rune(8013)},
+ &CodePointRange{From: rune(8016), To: rune(8023)},
+ &CodePointRange{From: rune(8025), To: rune(8025)},
+ &CodePointRange{From: rune(8027), To: rune(8027)},
+ &CodePointRange{From: rune(8029), To: rune(8029)},
+ &CodePointRange{From: rune(8031), To: rune(8061)},
+ &CodePointRange{From: rune(8064), To: rune(8116)},
+ &CodePointRange{From: rune(8118), To: rune(8124)},
+ &CodePointRange{From: rune(8125), To: rune(8125)},
+ &CodePointRange{From: rune(8126), To: rune(8126)},
+ &CodePointRange{From: rune(8127), To: rune(8129)},
+ &CodePointRange{From: rune(8130), To: rune(8132)},
+ &CodePointRange{From: rune(8134), To: rune(8140)},
+ &CodePointRange{From: rune(8141), To: rune(8143)},
+ &CodePointRange{From: rune(8144), To: rune(8147)},
+ &CodePointRange{From: rune(8150), To: rune(8155)},
+ &CodePointRange{From: rune(8157), To: rune(8159)},
+ &CodePointRange{From: rune(8160), To: rune(8172)},
+ &CodePointRange{From: rune(8173), To: rune(8175)},
+ &CodePointRange{From: rune(8178), To: rune(8180)},
+ &CodePointRange{From: rune(8182), To: rune(8188)},
+ &CodePointRange{From: rune(8189), To: rune(8190)},
+ &CodePointRange{From: rune(8486), To: rune(8486)},
+ &CodePointRange{From: rune(43877), To: rune(43877)},
+ &CodePointRange{From: rune(65856), To: rune(65908)},
+ &CodePointRange{From: rune(65909), To: rune(65912)},
+ &CodePointRange{From: rune(65913), To: rune(65929)},
+ &CodePointRange{From: rune(65930), To: rune(65931)},
+ &CodePointRange{From: rune(65932), To: rune(65934)},
+ &CodePointRange{From: rune(65952), To: rune(65952)},
+ &CodePointRange{From: rune(119296), To: rune(119361)},
+ &CodePointRange{From: rune(119362), To: rune(119364)},
+ &CodePointRange{From: rune(119365), To: rune(119365)},
+ },
+ "gujr": {
+ &CodePointRange{From: rune(2689), To: rune(2690)},
+ &CodePointRange{From: rune(2691), To: rune(2691)},
+ &CodePointRange{From: rune(2693), To: rune(2701)},
+ &CodePointRange{From: rune(2703), To: rune(2705)},
+ &CodePointRange{From: rune(2707), To: rune(2728)},
+ &CodePointRange{From: rune(2730), To: rune(2736)},
+ &CodePointRange{From: rune(2738), To: rune(2739)},
+ &CodePointRange{From: rune(2741), To: rune(2745)},
+ &CodePointRange{From: rune(2748), To: rune(2748)},
+ &CodePointRange{From: rune(2749), To: rune(2749)},
+ &CodePointRange{From: rune(2750), To: rune(2752)},
+ &CodePointRange{From: rune(2753), To: rune(2757)},
+ &CodePointRange{From: rune(2759), To: rune(2760)},
+ &CodePointRange{From: rune(2761), To: rune(2761)},
+ &CodePointRange{From: rune(2763), To: rune(2764)},
+ &CodePointRange{From: rune(2765), To: rune(2765)},
+ &CodePointRange{From: rune(2768), To: rune(2768)},
+ &CodePointRange{From: rune(2784), To: rune(2785)},
+ &CodePointRange{From: rune(2786), To: rune(2787)},
+ &CodePointRange{From: rune(2790), To: rune(2799)},
+ &CodePointRange{From: rune(2800), To: rune(2800)},
+ &CodePointRange{From: rune(2801), To: rune(2801)},
+ &CodePointRange{From: rune(2809), To: rune(2809)},
+ &CodePointRange{From: rune(2810), To: rune(2815)},
+ },
+ "guru": {
+ &CodePointRange{From: rune(2561), To: rune(2562)},
+ &CodePointRange{From: rune(2563), To: rune(2563)},
+ &CodePointRange{From: rune(2565), To: rune(2570)},
+ &CodePointRange{From: rune(2575), To: rune(2576)},
+ &CodePointRange{From: rune(2579), To: rune(2600)},
+ &CodePointRange{From: rune(2602), To: rune(2608)},
+ &CodePointRange{From: rune(2610), To: rune(2611)},
+ &CodePointRange{From: rune(2613), To: rune(2614)},
+ &CodePointRange{From: rune(2616), To: rune(2617)},
+ &CodePointRange{From: rune(2620), To: rune(2620)},
+ &CodePointRange{From: rune(2622), To: rune(2624)},
+ &CodePointRange{From: rune(2625), To: rune(2626)},
+ &CodePointRange{From: rune(2631), To: rune(2632)},
+ &CodePointRange{From: rune(2635), To: rune(2637)},
+ &CodePointRange{From: rune(2641), To: rune(2641)},
+ &CodePointRange{From: rune(2649), To: rune(2652)},
+ &CodePointRange{From: rune(2654), To: rune(2654)},
+ &CodePointRange{From: rune(2662), To: rune(2671)},
+ &CodePointRange{From: rune(2672), To: rune(2673)},
+ &CodePointRange{From: rune(2674), To: rune(2676)},
+ &CodePointRange{From: rune(2677), To: rune(2677)},
+ &CodePointRange{From: rune(2678), To: rune(2678)},
+ },
+ "hang": {
+ &CodePointRange{From: rune(4352), To: rune(4607)},
+ &CodePointRange{From: rune(12334), To: rune(12335)},
+ &CodePointRange{From: rune(12593), To: rune(12686)},
+ &CodePointRange{From: rune(12800), To: rune(12830)},
+ &CodePointRange{From: rune(12896), To: rune(12926)},
+ &CodePointRange{From: rune(43360), To: rune(43388)},
+ &CodePointRange{From: rune(44032), To: rune(55203)},
+ &CodePointRange{From: rune(55216), To: rune(55238)},
+ &CodePointRange{From: rune(55243), To: rune(55291)},
+ &CodePointRange{From: rune(65440), To: rune(65470)},
+ &CodePointRange{From: rune(65474), To: rune(65479)},
+ &CodePointRange{From: rune(65482), To: rune(65487)},
+ &CodePointRange{From: rune(65490), To: rune(65495)},
+ &CodePointRange{From: rune(65498), To: rune(65500)},
+ },
+ "hani": {
+ &CodePointRange{From: rune(11904), To: rune(11929)},
+ &CodePointRange{From: rune(11931), To: rune(12019)},
+ &CodePointRange{From: rune(12032), To: rune(12245)},
+ &CodePointRange{From: rune(12293), To: rune(12293)},
+ &CodePointRange{From: rune(12295), To: rune(12295)},
+ &CodePointRange{From: rune(12321), To: rune(12329)},
+ &CodePointRange{From: rune(12344), To: rune(12346)},
+ &CodePointRange{From: rune(12347), To: rune(12347)},
+ &CodePointRange{From: rune(13312), To: rune(19903)},
+ &CodePointRange{From: rune(19968), To: rune(40956)},
+ &CodePointRange{From: rune(63744), To: rune(64109)},
+ &CodePointRange{From: rune(64112), To: rune(64217)},
+ &CodePointRange{From: rune(94192), To: rune(94193)},
+ &CodePointRange{From: rune(131072), To: rune(173789)},
+ &CodePointRange{From: rune(173824), To: rune(177972)},
+ &CodePointRange{From: rune(177984), To: rune(178205)},
+ &CodePointRange{From: rune(178208), To: rune(183969)},
+ &CodePointRange{From: rune(183984), To: rune(191456)},
+ &CodePointRange{From: rune(194560), To: rune(195101)},
+ &CodePointRange{From: rune(196608), To: rune(201546)},
+ },
+ "hano": {
+ &CodePointRange{From: rune(5920), To: rune(5937)},
+ &CodePointRange{From: rune(5938), To: rune(5940)},
+ },
+ "hatr": {
+ &CodePointRange{From: rune(67808), To: rune(67826)},
+ &CodePointRange{From: rune(67828), To: rune(67829)},
+ &CodePointRange{From: rune(67835), To: rune(67839)},
+ },
+ "hebr": {
+ &CodePointRange{From: rune(1425), To: rune(1469)},
+ &CodePointRange{From: rune(1470), To: rune(1470)},
+ &CodePointRange{From: rune(1471), To: rune(1471)},
+ &CodePointRange{From: rune(1472), To: rune(1472)},
+ &CodePointRange{From: rune(1473), To: rune(1474)},
+ &CodePointRange{From: rune(1475), To: rune(1475)},
+ &CodePointRange{From: rune(1476), To: rune(1477)},
+ &CodePointRange{From: rune(1478), To: rune(1478)},
+ &CodePointRange{From: rune(1479), To: rune(1479)},
+ &CodePointRange{From: rune(1488), To: rune(1514)},
+ &CodePointRange{From: rune(1519), To: rune(1522)},
+ &CodePointRange{From: rune(1523), To: rune(1524)},
+ &CodePointRange{From: rune(64285), To: rune(64285)},
+ &CodePointRange{From: rune(64286), To: rune(64286)},
+ &CodePointRange{From: rune(64287), To: rune(64296)},
+ &CodePointRange{From: rune(64297), To: rune(64297)},
+ &CodePointRange{From: rune(64298), To: rune(64310)},
+ &CodePointRange{From: rune(64312), To: rune(64316)},
+ &CodePointRange{From: rune(64318), To: rune(64318)},
+ &CodePointRange{From: rune(64320), To: rune(64321)},
+ &CodePointRange{From: rune(64323), To: rune(64324)},
+ &CodePointRange{From: rune(64326), To: rune(64335)},
+ },
+ "hira": {
+ &CodePointRange{From: rune(12353), To: rune(12438)},
+ &CodePointRange{From: rune(12445), To: rune(12446)},
+ &CodePointRange{From: rune(12447), To: rune(12447)},
+ &CodePointRange{From: rune(110593), To: rune(110878)},
+ &CodePointRange{From: rune(110928), To: rune(110930)},
+ &CodePointRange{From: rune(127488), To: rune(127488)},
+ },
+ "hluw": {
+ &CodePointRange{From: rune(82944), To: rune(83526)},
+ },
+ "hmng": {
+ &CodePointRange{From: rune(92928), To: rune(92975)},
+ &CodePointRange{From: rune(92976), To: rune(92982)},
+ &CodePointRange{From: rune(92983), To: rune(92987)},
+ &CodePointRange{From: rune(92988), To: rune(92991)},
+ &CodePointRange{From: rune(92992), To: rune(92995)},
+ &CodePointRange{From: rune(92996), To: rune(92996)},
+ &CodePointRange{From: rune(92997), To: rune(92997)},
+ &CodePointRange{From: rune(93008), To: rune(93017)},
+ &CodePointRange{From: rune(93019), To: rune(93025)},
+ &CodePointRange{From: rune(93027), To: rune(93047)},
+ &CodePointRange{From: rune(93053), To: rune(93071)},
+ },
+ "hmnp": {
+ &CodePointRange{From: rune(123136), To: rune(123180)},
+ &CodePointRange{From: rune(123184), To: rune(123190)},
+ &CodePointRange{From: rune(123191), To: rune(123197)},
+ &CodePointRange{From: rune(123200), To: rune(123209)},
+ &CodePointRange{From: rune(123214), To: rune(123214)},
+ &CodePointRange{From: rune(123215), To: rune(123215)},
+ },
+ "hung": {
+ &CodePointRange{From: rune(68736), To: rune(68786)},
+ &CodePointRange{From: rune(68800), To: rune(68850)},
+ &CodePointRange{From: rune(68858), To: rune(68863)},
+ },
+ "ital": {
+ &CodePointRange{From: rune(66304), To: rune(66335)},
+ &CodePointRange{From: rune(66336), To: rune(66339)},
+ &CodePointRange{From: rune(66349), To: rune(66351)},
+ },
+ "java": {
+ &CodePointRange{From: rune(43392), To: rune(43394)},
+ &CodePointRange{From: rune(43395), To: rune(43395)},
+ &CodePointRange{From: rune(43396), To: rune(43442)},
+ &CodePointRange{From: rune(43443), To: rune(43443)},
+ &CodePointRange{From: rune(43444), To: rune(43445)},
+ &CodePointRange{From: rune(43446), To: rune(43449)},
+ &CodePointRange{From: rune(43450), To: rune(43451)},
+ &CodePointRange{From: rune(43452), To: rune(43453)},
+ &CodePointRange{From: rune(43454), To: rune(43456)},
+ &CodePointRange{From: rune(43457), To: rune(43469)},
+ &CodePointRange{From: rune(43472), To: rune(43481)},
+ &CodePointRange{From: rune(43486), To: rune(43487)},
+ },
+ "kali": {
+ &CodePointRange{From: rune(43264), To: rune(43273)},
+ &CodePointRange{From: rune(43274), To: rune(43301)},
+ &CodePointRange{From: rune(43302), To: rune(43309)},
+ &CodePointRange{From: rune(43311), To: rune(43311)},
+ },
+ "kana": {
+ &CodePointRange{From: rune(12449), To: rune(12538)},
+ &CodePointRange{From: rune(12541), To: rune(12542)},
+ &CodePointRange{From: rune(12543), To: rune(12543)},
+ &CodePointRange{From: rune(12784), To: rune(12799)},
+ &CodePointRange{From: rune(13008), To: rune(13054)},
+ &CodePointRange{From: rune(13056), To: rune(13143)},
+ &CodePointRange{From: rune(65382), To: rune(65391)},
+ &CodePointRange{From: rune(65393), To: rune(65437)},
+ &CodePointRange{From: rune(110592), To: rune(110592)},
+ &CodePointRange{From: rune(110948), To: rune(110951)},
+ },
+ "khar": {
+ &CodePointRange{From: rune(68096), To: rune(68096)},
+ &CodePointRange{From: rune(68097), To: rune(68099)},
+ &CodePointRange{From: rune(68101), To: rune(68102)},
+ &CodePointRange{From: rune(68108), To: rune(68111)},
+ &CodePointRange{From: rune(68112), To: rune(68115)},
+ &CodePointRange{From: rune(68117), To: rune(68119)},
+ &CodePointRange{From: rune(68121), To: rune(68149)},
+ &CodePointRange{From: rune(68152), To: rune(68154)},
+ &CodePointRange{From: rune(68159), To: rune(68159)},
+ &CodePointRange{From: rune(68160), To: rune(68168)},
+ &CodePointRange{From: rune(68176), To: rune(68184)},
+ },
+ "khmr": {
+ &CodePointRange{From: rune(6016), To: rune(6067)},
+ &CodePointRange{From: rune(6068), To: rune(6069)},
+ &CodePointRange{From: rune(6070), To: rune(6070)},
+ &CodePointRange{From: rune(6071), To: rune(6077)},
+ &CodePointRange{From: rune(6078), To: rune(6085)},
+ &CodePointRange{From: rune(6086), To: rune(6086)},
+ &CodePointRange{From: rune(6087), To: rune(6088)},
+ &CodePointRange{From: rune(6089), To: rune(6099)},
+ &CodePointRange{From: rune(6100), To: rune(6102)},
+ &CodePointRange{From: rune(6103), To: rune(6103)},
+ &CodePointRange{From: rune(6104), To: rune(6106)},
+ &CodePointRange{From: rune(6107), To: rune(6107)},
+ &CodePointRange{From: rune(6108), To: rune(6108)},
+ &CodePointRange{From: rune(6109), To: rune(6109)},
+ &CodePointRange{From: rune(6112), To: rune(6121)},
+ &CodePointRange{From: rune(6128), To: rune(6137)},
+ &CodePointRange{From: rune(6624), To: rune(6655)},
+ },
+ "khoj": {
+ &CodePointRange{From: rune(70144), To: rune(70161)},
+ &CodePointRange{From: rune(70163), To: rune(70187)},
+ &CodePointRange{From: rune(70188), To: rune(70190)},
+ &CodePointRange{From: rune(70191), To: rune(70193)},
+ &CodePointRange{From: rune(70194), To: rune(70195)},
+ &CodePointRange{From: rune(70196), To: rune(70196)},
+ &CodePointRange{From: rune(70197), To: rune(70197)},
+ &CodePointRange{From: rune(70198), To: rune(70199)},
+ &CodePointRange{From: rune(70200), To: rune(70205)},
+ &CodePointRange{From: rune(70206), To: rune(70206)},
+ },
+ "kits": {
+ &CodePointRange{From: rune(94180), To: rune(94180)},
+ &CodePointRange{From: rune(101120), To: rune(101589)},
+ },
+ "knda": {
+ &CodePointRange{From: rune(3200), To: rune(3200)},
+ &CodePointRange{From: rune(3201), To: rune(3201)},
+ &CodePointRange{From: rune(3202), To: rune(3203)},
+ &CodePointRange{From: rune(3204), To: rune(3204)},
+ &CodePointRange{From: rune(3205), To: rune(3212)},
+ &CodePointRange{From: rune(3214), To: rune(3216)},
+ &CodePointRange{From: rune(3218), To: rune(3240)},
+ &CodePointRange{From: rune(3242), To: rune(3251)},
+ &CodePointRange{From: rune(3253), To: rune(3257)},
+ &CodePointRange{From: rune(3260), To: rune(3260)},
+ &CodePointRange{From: rune(3261), To: rune(3261)},
+ &CodePointRange{From: rune(3262), To: rune(3262)},
+ &CodePointRange{From: rune(3263), To: rune(3263)},
+ &CodePointRange{From: rune(3264), To: rune(3268)},
+ &CodePointRange{From: rune(3270), To: rune(3270)},
+ &CodePointRange{From: rune(3271), To: rune(3272)},
+ &CodePointRange{From: rune(3274), To: rune(3275)},
+ &CodePointRange{From: rune(3276), To: rune(3277)},
+ &CodePointRange{From: rune(3285), To: rune(3286)},
+ &CodePointRange{From: rune(3294), To: rune(3294)},
+ &CodePointRange{From: rune(3296), To: rune(3297)},
+ &CodePointRange{From: rune(3298), To: rune(3299)},
+ &CodePointRange{From: rune(3302), To: rune(3311)},
+ &CodePointRange{From: rune(3313), To: rune(3314)},
+ },
+ "kthi": {
+ &CodePointRange{From: rune(69760), To: rune(69761)},
+ &CodePointRange{From: rune(69762), To: rune(69762)},
+ &CodePointRange{From: rune(69763), To: rune(69807)},
+ &CodePointRange{From: rune(69808), To: rune(69810)},
+ &CodePointRange{From: rune(69811), To: rune(69814)},
+ &CodePointRange{From: rune(69815), To: rune(69816)},
+ &CodePointRange{From: rune(69817), To: rune(69818)},
+ &CodePointRange{From: rune(69819), To: rune(69820)},
+ &CodePointRange{From: rune(69821), To: rune(69821)},
+ &CodePointRange{From: rune(69822), To: rune(69825)},
+ &CodePointRange{From: rune(69837), To: rune(69837)},
+ },
+ "lana": {
+ &CodePointRange{From: rune(6688), To: rune(6740)},
+ &CodePointRange{From: rune(6741), To: rune(6741)},
+ &CodePointRange{From: rune(6742), To: rune(6742)},
+ &CodePointRange{From: rune(6743), To: rune(6743)},
+ &CodePointRange{From: rune(6744), To: rune(6750)},
+ &CodePointRange{From: rune(6752), To: rune(6752)},
+ &CodePointRange{From: rune(6753), To: rune(6753)},
+ &CodePointRange{From: rune(6754), To: rune(6754)},
+ &CodePointRange{From: rune(6755), To: rune(6756)},
+ &CodePointRange{From: rune(6757), To: rune(6764)},
+ &CodePointRange{From: rune(6765), To: rune(6770)},
+ &CodePointRange{From: rune(6771), To: rune(6780)},
+ &CodePointRange{From: rune(6783), To: rune(6783)},
+ &CodePointRange{From: rune(6784), To: rune(6793)},
+ &CodePointRange{From: rune(6800), To: rune(6809)},
+ &CodePointRange{From: rune(6816), To: rune(6822)},
+ &CodePointRange{From: rune(6823), To: rune(6823)},
+ &CodePointRange{From: rune(6824), To: rune(6829)},
+ },
+ "laoo": {
+ &CodePointRange{From: rune(3713), To: rune(3714)},
+ &CodePointRange{From: rune(3716), To: rune(3716)},
+ &CodePointRange{From: rune(3718), To: rune(3722)},
+ &CodePointRange{From: rune(3724), To: rune(3747)},
+ &CodePointRange{From: rune(3749), To: rune(3749)},
+ &CodePointRange{From: rune(3751), To: rune(3760)},
+ &CodePointRange{From: rune(3761), To: rune(3761)},
+ &CodePointRange{From: rune(3762), To: rune(3763)},
+ &CodePointRange{From: rune(3764), To: rune(3772)},
+ &CodePointRange{From: rune(3773), To: rune(3773)},
+ &CodePointRange{From: rune(3776), To: rune(3780)},
+ &CodePointRange{From: rune(3782), To: rune(3782)},
+ &CodePointRange{From: rune(3784), To: rune(3789)},
+ &CodePointRange{From: rune(3792), To: rune(3801)},
+ &CodePointRange{From: rune(3804), To: rune(3807)},
+ },
+ "latn": {
+ &CodePointRange{From: rune(65), To: rune(90)},
+ &CodePointRange{From: rune(97), To: rune(122)},
+ &CodePointRange{From: rune(170), To: rune(170)},
+ &CodePointRange{From: rune(186), To: rune(186)},
+ &CodePointRange{From: rune(192), To: rune(214)},
+ &CodePointRange{From: rune(216), To: rune(246)},
+ &CodePointRange{From: rune(248), To: rune(442)},
+ &CodePointRange{From: rune(443), To: rune(443)},
+ &CodePointRange{From: rune(444), To: rune(447)},
+ &CodePointRange{From: rune(448), To: rune(451)},
+ &CodePointRange{From: rune(452), To: rune(659)},
+ &CodePointRange{From: rune(660), To: rune(660)},
+ &CodePointRange{From: rune(661), To: rune(687)},
+ &CodePointRange{From: rune(688), To: rune(696)},
+ &CodePointRange{From: rune(736), To: rune(740)},
+ &CodePointRange{From: rune(7424), To: rune(7461)},
+ &CodePointRange{From: rune(7468), To: rune(7516)},
+ &CodePointRange{From: rune(7522), To: rune(7525)},
+ &CodePointRange{From: rune(7531), To: rune(7543)},
+ &CodePointRange{From: rune(7545), To: rune(7578)},
+ &CodePointRange{From: rune(7579), To: rune(7614)},
+ &CodePointRange{From: rune(7680), To: rune(7935)},
+ &CodePointRange{From: rune(8305), To: rune(8305)},
+ &CodePointRange{From: rune(8319), To: rune(8319)},
+ &CodePointRange{From: rune(8336), To: rune(8348)},
+ &CodePointRange{From: rune(8490), To: rune(8491)},
+ &CodePointRange{From: rune(8498), To: rune(8498)},
+ &CodePointRange{From: rune(8526), To: rune(8526)},
+ &CodePointRange{From: rune(8544), To: rune(8578)},
+ &CodePointRange{From: rune(8579), To: rune(8580)},
+ &CodePointRange{From: rune(8581), To: rune(8584)},
+ &CodePointRange{From: rune(11360), To: rune(11387)},
+ &CodePointRange{From: rune(11388), To: rune(11389)},
+ &CodePointRange{From: rune(11390), To: rune(11391)},
+ &CodePointRange{From: rune(42786), To: rune(42863)},
+ &CodePointRange{From: rune(42864), To: rune(42864)},
+ &CodePointRange{From: rune(42865), To: rune(42887)},
+ &CodePointRange{From: rune(42891), To: rune(42894)},
+ &CodePointRange{From: rune(42895), To: rune(42895)},
+ &CodePointRange{From: rune(42896), To: rune(42943)},
+ &CodePointRange{From: rune(42946), To: rune(42954)},
+ &CodePointRange{From: rune(42997), To: rune(42998)},
+ &CodePointRange{From: rune(42999), To: rune(42999)},
+ &CodePointRange{From: rune(43000), To: rune(43001)},
+ &CodePointRange{From: rune(43002), To: rune(43002)},
+ &CodePointRange{From: rune(43003), To: rune(43007)},
+ &CodePointRange{From: rune(43824), To: rune(43866)},
+ &CodePointRange{From: rune(43868), To: rune(43871)},
+ &CodePointRange{From: rune(43872), To: rune(43876)},
+ &CodePointRange{From: rune(43878), To: rune(43880)},
+ &CodePointRange{From: rune(43881), To: rune(43881)},
+ &CodePointRange{From: rune(64256), To: rune(64262)},
+ &CodePointRange{From: rune(65313), To: rune(65338)},
+ &CodePointRange{From: rune(65345), To: rune(65370)},
+ },
+ "lepc": {
+ &CodePointRange{From: rune(7168), To: rune(7203)},
+ &CodePointRange{From: rune(7204), To: rune(7211)},
+ &CodePointRange{From: rune(7212), To: rune(7219)},
+ &CodePointRange{From: rune(7220), To: rune(7221)},
+ &CodePointRange{From: rune(7222), To: rune(7223)},
+ &CodePointRange{From: rune(7227), To: rune(7231)},
+ &CodePointRange{From: rune(7232), To: rune(7241)},
+ &CodePointRange{From: rune(7245), To: rune(7247)},
+ },
+ "limb": {
+ &CodePointRange{From: rune(6400), To: rune(6430)},
+ &CodePointRange{From: rune(6432), To: rune(6434)},
+ &CodePointRange{From: rune(6435), To: rune(6438)},
+ &CodePointRange{From: rune(6439), To: rune(6440)},
+ &CodePointRange{From: rune(6441), To: rune(6443)},
+ &CodePointRange{From: rune(6448), To: rune(6449)},
+ &CodePointRange{From: rune(6450), To: rune(6450)},
+ &CodePointRange{From: rune(6451), To: rune(6456)},
+ &CodePointRange{From: rune(6457), To: rune(6459)},
+ &CodePointRange{From: rune(6464), To: rune(6464)},
+ &CodePointRange{From: rune(6468), To: rune(6469)},
+ &CodePointRange{From: rune(6470), To: rune(6479)},
+ },
+ "lina": {
+ &CodePointRange{From: rune(67072), To: rune(67382)},
+ &CodePointRange{From: rune(67392), To: rune(67413)},
+ &CodePointRange{From: rune(67424), To: rune(67431)},
+ },
+ "linb": {
+ &CodePointRange{From: rune(65536), To: rune(65547)},
+ &CodePointRange{From: rune(65549), To: rune(65574)},
+ &CodePointRange{From: rune(65576), To: rune(65594)},
+ &CodePointRange{From: rune(65596), To: rune(65597)},
+ &CodePointRange{From: rune(65599), To: rune(65613)},
+ &CodePointRange{From: rune(65616), To: rune(65629)},
+ &CodePointRange{From: rune(65664), To: rune(65786)},
+ },
+ "lisu": {
+ &CodePointRange{From: rune(42192), To: rune(42231)},
+ &CodePointRange{From: rune(42232), To: rune(42237)},
+ &CodePointRange{From: rune(42238), To: rune(42239)},
+ &CodePointRange{From: rune(73648), To: rune(73648)},
+ },
+ "lyci": {
+ &CodePointRange{From: rune(66176), To: rune(66204)},
+ },
+ "lydi": {
+ &CodePointRange{From: rune(67872), To: rune(67897)},
+ &CodePointRange{From: rune(67903), To: rune(67903)},
+ },
+ "mahj": {
+ &CodePointRange{From: rune(69968), To: rune(70002)},
+ &CodePointRange{From: rune(70003), To: rune(70003)},
+ &CodePointRange{From: rune(70004), To: rune(70005)},
+ &CodePointRange{From: rune(70006), To: rune(70006)},
+ },
+ "maka": {
+ &CodePointRange{From: rune(73440), To: rune(73458)},
+ &CodePointRange{From: rune(73459), To: rune(73460)},
+ &CodePointRange{From: rune(73461), To: rune(73462)},
+ &CodePointRange{From: rune(73463), To: rune(73464)},
+ },
+ "mand": {
+ &CodePointRange{From: rune(2112), To: rune(2136)},
+ &CodePointRange{From: rune(2137), To: rune(2139)},
+ &CodePointRange{From: rune(2142), To: rune(2142)},
+ },
+ "mani": {
+ &CodePointRange{From: rune(68288), To: rune(68295)},
+ &CodePointRange{From: rune(68296), To: rune(68296)},
+ &CodePointRange{From: rune(68297), To: rune(68324)},
+ &CodePointRange{From: rune(68325), To: rune(68326)},
+ &CodePointRange{From: rune(68331), To: rune(68335)},
+ &CodePointRange{From: rune(68336), To: rune(68342)},
+ },
+ "marc": {
+ &CodePointRange{From: rune(72816), To: rune(72817)},
+ &CodePointRange{From: rune(72818), To: rune(72847)},
+ &CodePointRange{From: rune(72850), To: rune(72871)},
+ &CodePointRange{From: rune(72873), To: rune(72873)},
+ &CodePointRange{From: rune(72874), To: rune(72880)},
+ &CodePointRange{From: rune(72881), To: rune(72881)},
+ &CodePointRange{From: rune(72882), To: rune(72883)},
+ &CodePointRange{From: rune(72884), To: rune(72884)},
+ &CodePointRange{From: rune(72885), To: rune(72886)},
+ },
+ "medf": {
+ &CodePointRange{From: rune(93760), To: rune(93823)},
+ &CodePointRange{From: rune(93824), To: rune(93846)},
+ &CodePointRange{From: rune(93847), To: rune(93850)},
+ },
+ "mend": {
+ &CodePointRange{From: rune(124928), To: rune(125124)},
+ &CodePointRange{From: rune(125127), To: rune(125135)},
+ &CodePointRange{From: rune(125136), To: rune(125142)},
+ },
+ "merc": {
+ &CodePointRange{From: rune(68000), To: rune(68023)},
+ &CodePointRange{From: rune(68028), To: rune(68029)},
+ &CodePointRange{From: rune(68030), To: rune(68031)},
+ &CodePointRange{From: rune(68032), To: rune(68047)},
+ &CodePointRange{From: rune(68050), To: rune(68095)},
+ },
+ "mero": {
+ &CodePointRange{From: rune(67968), To: rune(67999)},
+ },
+ "mlym": {
+ &CodePointRange{From: rune(3328), To: rune(3329)},
+ &CodePointRange{From: rune(3330), To: rune(3331)},
+ &CodePointRange{From: rune(3332), To: rune(3340)},
+ &CodePointRange{From: rune(3342), To: rune(3344)},
+ &CodePointRange{From: rune(3346), To: rune(3386)},
+ &CodePointRange{From: rune(3387), To: rune(3388)},
+ &CodePointRange{From: rune(3389), To: rune(3389)},
+ &CodePointRange{From: rune(3390), To: rune(3392)},
+ &CodePointRange{From: rune(3393), To: rune(3396)},
+ &CodePointRange{From: rune(3398), To: rune(3400)},
+ &CodePointRange{From: rune(3402), To: rune(3404)},
+ &CodePointRange{From: rune(3405), To: rune(3405)},
+ &CodePointRange{From: rune(3406), To: rune(3406)},
+ &CodePointRange{From: rune(3407), To: rune(3407)},
+ &CodePointRange{From: rune(3412), To: rune(3414)},
+ &CodePointRange{From: rune(3415), To: rune(3415)},
+ &CodePointRange{From: rune(3416), To: rune(3422)},
+ &CodePointRange{From: rune(3423), To: rune(3425)},
+ &CodePointRange{From: rune(3426), To: rune(3427)},
+ &CodePointRange{From: rune(3430), To: rune(3439)},
+ &CodePointRange{From: rune(3440), To: rune(3448)},
+ &CodePointRange{From: rune(3449), To: rune(3449)},
+ &CodePointRange{From: rune(3450), To: rune(3455)},
+ },
+ "modi": {
+ &CodePointRange{From: rune(71168), To: rune(71215)},
+ &CodePointRange{From: rune(71216), To: rune(71218)},
+ &CodePointRange{From: rune(71219), To: rune(71226)},
+ &CodePointRange{From: rune(71227), To: rune(71228)},
+ &CodePointRange{From: rune(71229), To: rune(71229)},
+ &CodePointRange{From: rune(71230), To: rune(71230)},
+ &CodePointRange{From: rune(71231), To: rune(71232)},
+ &CodePointRange{From: rune(71233), To: rune(71235)},
+ &CodePointRange{From: rune(71236), To: rune(71236)},
+ &CodePointRange{From: rune(71248), To: rune(71257)},
+ },
+ "mong": {
+ &CodePointRange{From: rune(6144), To: rune(6145)},
+ &CodePointRange{From: rune(6148), To: rune(6148)},
+ &CodePointRange{From: rune(6150), To: rune(6150)},
+ &CodePointRange{From: rune(6151), To: rune(6154)},
+ &CodePointRange{From: rune(6155), To: rune(6157)},
+ &CodePointRange{From: rune(6158), To: rune(6158)},
+ &CodePointRange{From: rune(6160), To: rune(6169)},
+ &CodePointRange{From: rune(6176), To: rune(6210)},
+ &CodePointRange{From: rune(6211), To: rune(6211)},
+ &CodePointRange{From: rune(6212), To: rune(6264)},
+ &CodePointRange{From: rune(6272), To: rune(6276)},
+ &CodePointRange{From: rune(6277), To: rune(6278)},
+ &CodePointRange{From: rune(6279), To: rune(6312)},
+ &CodePointRange{From: rune(6313), To: rune(6313)},
+ &CodePointRange{From: rune(6314), To: rune(6314)},
+ &CodePointRange{From: rune(71264), To: rune(71276)},
+ },
+ "mroo": {
+ &CodePointRange{From: rune(92736), To: rune(92766)},
+ &CodePointRange{From: rune(92768), To: rune(92777)},
+ &CodePointRange{From: rune(92782), To: rune(92783)},
+ },
+ "mtei": {
+ &CodePointRange{From: rune(43744), To: rune(43754)},
+ &CodePointRange{From: rune(43755), To: rune(43755)},
+ &CodePointRange{From: rune(43756), To: rune(43757)},
+ &CodePointRange{From: rune(43758), To: rune(43759)},
+ &CodePointRange{From: rune(43760), To: rune(43761)},
+ &CodePointRange{From: rune(43762), To: rune(43762)},
+ &CodePointRange{From: rune(43763), To: rune(43764)},
+ &CodePointRange{From: rune(43765), To: rune(43765)},
+ &CodePointRange{From: rune(43766), To: rune(43766)},
+ &CodePointRange{From: rune(43968), To: rune(44002)},
+ &CodePointRange{From: rune(44003), To: rune(44004)},
+ &CodePointRange{From: rune(44005), To: rune(44005)},
+ &CodePointRange{From: rune(44006), To: rune(44007)},
+ &CodePointRange{From: rune(44008), To: rune(44008)},
+ &CodePointRange{From: rune(44009), To: rune(44010)},
+ &CodePointRange{From: rune(44011), To: rune(44011)},
+ &CodePointRange{From: rune(44012), To: rune(44012)},
+ &CodePointRange{From: rune(44013), To: rune(44013)},
+ &CodePointRange{From: rune(44016), To: rune(44025)},
+ },
+ "mult": {
+ &CodePointRange{From: rune(70272), To: rune(70278)},
+ &CodePointRange{From: rune(70280), To: rune(70280)},
+ &CodePointRange{From: rune(70282), To: rune(70285)},
+ &CodePointRange{From: rune(70287), To: rune(70301)},
+ &CodePointRange{From: rune(70303), To: rune(70312)},
+ &CodePointRange{From: rune(70313), To: rune(70313)},
+ },
+ "mymr": {
+ &CodePointRange{From: rune(4096), To: rune(4138)},
+ &CodePointRange{From: rune(4139), To: rune(4140)},
+ &CodePointRange{From: rune(4141), To: rune(4144)},
+ &CodePointRange{From: rune(4145), To: rune(4145)},
+ &CodePointRange{From: rune(4146), To: rune(4151)},
+ &CodePointRange{From: rune(4152), To: rune(4152)},
+ &CodePointRange{From: rune(4153), To: rune(4154)},
+ &CodePointRange{From: rune(4155), To: rune(4156)},
+ &CodePointRange{From: rune(4157), To: rune(4158)},
+ &CodePointRange{From: rune(4159), To: rune(4159)},
+ &CodePointRange{From: rune(4160), To: rune(4169)},
+ &CodePointRange{From: rune(4170), To: rune(4175)},
+ &CodePointRange{From: rune(4176), To: rune(4181)},
+ &CodePointRange{From: rune(4182), To: rune(4183)},
+ &CodePointRange{From: rune(4184), To: rune(4185)},
+ &CodePointRange{From: rune(4186), To: rune(4189)},
+ &CodePointRange{From: rune(4190), To: rune(4192)},
+ &CodePointRange{From: rune(4193), To: rune(4193)},
+ &CodePointRange{From: rune(4194), To: rune(4196)},
+ &CodePointRange{From: rune(4197), To: rune(4198)},
+ &CodePointRange{From: rune(4199), To: rune(4205)},
+ &CodePointRange{From: rune(4206), To: rune(4208)},
+ &CodePointRange{From: rune(4209), To: rune(4212)},
+ &CodePointRange{From: rune(4213), To: rune(4225)},
+ &CodePointRange{From: rune(4226), To: rune(4226)},
+ &CodePointRange{From: rune(4227), To: rune(4228)},
+ &CodePointRange{From: rune(4229), To: rune(4230)},
+ &CodePointRange{From: rune(4231), To: rune(4236)},
+ &CodePointRange{From: rune(4237), To: rune(4237)},
+ &CodePointRange{From: rune(4238), To: rune(4238)},
+ &CodePointRange{From: rune(4239), To: rune(4239)},
+ &CodePointRange{From: rune(4240), To: rune(4249)},
+ &CodePointRange{From: rune(4250), To: rune(4252)},
+ &CodePointRange{From: rune(4253), To: rune(4253)},
+ &CodePointRange{From: rune(4254), To: rune(4255)},
+ &CodePointRange{From: rune(43488), To: rune(43492)},
+ &CodePointRange{From: rune(43493), To: rune(43493)},
+ &CodePointRange{From: rune(43494), To: rune(43494)},
+ &CodePointRange{From: rune(43495), To: rune(43503)},
+ &CodePointRange{From: rune(43504), To: rune(43513)},
+ &CodePointRange{From: rune(43514), To: rune(43518)},
+ &CodePointRange{From: rune(43616), To: rune(43631)},
+ &CodePointRange{From: rune(43632), To: rune(43632)},
+ &CodePointRange{From: rune(43633), To: rune(43638)},
+ &CodePointRange{From: rune(43639), To: rune(43641)},
+ &CodePointRange{From: rune(43642), To: rune(43642)},
+ &CodePointRange{From: rune(43643), To: rune(43643)},
+ &CodePointRange{From: rune(43644), To: rune(43644)},
+ &CodePointRange{From: rune(43645), To: rune(43645)},
+ &CodePointRange{From: rune(43646), To: rune(43647)},
+ },
+ "nand": {
+ &CodePointRange{From: rune(72096), To: rune(72103)},
+ &CodePointRange{From: rune(72106), To: rune(72144)},
+ &CodePointRange{From: rune(72145), To: rune(72147)},
+ &CodePointRange{From: rune(72148), To: rune(72151)},
+ &CodePointRange{From: rune(72154), To: rune(72155)},
+ &CodePointRange{From: rune(72156), To: rune(72159)},
+ &CodePointRange{From: rune(72160), To: rune(72160)},
+ &CodePointRange{From: rune(72161), To: rune(72161)},
+ &CodePointRange{From: rune(72162), To: rune(72162)},
+ &CodePointRange{From: rune(72163), To: rune(72163)},
+ &CodePointRange{From: rune(72164), To: rune(72164)},
+ },
+ "narb": {
+ &CodePointRange{From: rune(68224), To: rune(68252)},
+ &CodePointRange{From: rune(68253), To: rune(68255)},
+ },
+ "nbat": {
+ &CodePointRange{From: rune(67712), To: rune(67742)},
+ &CodePointRange{From: rune(67751), To: rune(67759)},
+ },
+ "newa": {
+ &CodePointRange{From: rune(70656), To: rune(70708)},
+ &CodePointRange{From: rune(70709), To: rune(70711)},
+ &CodePointRange{From: rune(70712), To: rune(70719)},
+ &CodePointRange{From: rune(70720), To: rune(70721)},
+ &CodePointRange{From: rune(70722), To: rune(70724)},
+ &CodePointRange{From: rune(70725), To: rune(70725)},
+ &CodePointRange{From: rune(70726), To: rune(70726)},
+ &CodePointRange{From: rune(70727), To: rune(70730)},
+ &CodePointRange{From: rune(70731), To: rune(70735)},
+ &CodePointRange{From: rune(70736), To: rune(70745)},
+ &CodePointRange{From: rune(70746), To: rune(70747)},
+ &CodePointRange{From: rune(70749), To: rune(70749)},
+ &CodePointRange{From: rune(70750), To: rune(70750)},
+ &CodePointRange{From: rune(70751), To: rune(70753)},
+ },
+ "nkoo": {
+ &CodePointRange{From: rune(1984), To: rune(1993)},
+ &CodePointRange{From: rune(1994), To: rune(2026)},
+ &CodePointRange{From: rune(2027), To: rune(2035)},
+ &CodePointRange{From: rune(2036), To: rune(2037)},
+ &CodePointRange{From: rune(2038), To: rune(2038)},
+ &CodePointRange{From: rune(2039), To: rune(2041)},
+ &CodePointRange{From: rune(2042), To: rune(2042)},
+ &CodePointRange{From: rune(2045), To: rune(2045)},
+ &CodePointRange{From: rune(2046), To: rune(2047)},
+ },
+ "nshu": {
+ &CodePointRange{From: rune(94177), To: rune(94177)},
+ &CodePointRange{From: rune(110960), To: rune(111355)},
+ },
+ "ogam": {
+ &CodePointRange{From: rune(5760), To: rune(5760)},
+ &CodePointRange{From: rune(5761), To: rune(5786)},
+ &CodePointRange{From: rune(5787), To: rune(5787)},
+ &CodePointRange{From: rune(5788), To: rune(5788)},
+ },
+ "olck": {
+ &CodePointRange{From: rune(7248), To: rune(7257)},
+ &CodePointRange{From: rune(7258), To: rune(7287)},
+ &CodePointRange{From: rune(7288), To: rune(7293)},
+ &CodePointRange{From: rune(7294), To: rune(7295)},
+ },
+ "orkh": {
+ &CodePointRange{From: rune(68608), To: rune(68680)},
+ },
+ "orya": {
+ &CodePointRange{From: rune(2817), To: rune(2817)},
+ &CodePointRange{From: rune(2818), To: rune(2819)},
+ &CodePointRange{From: rune(2821), To: rune(2828)},
+ &CodePointRange{From: rune(2831), To: rune(2832)},
+ &CodePointRange{From: rune(2835), To: rune(2856)},
+ &CodePointRange{From: rune(2858), To: rune(2864)},
+ &CodePointRange{From: rune(2866), To: rune(2867)},
+ &CodePointRange{From: rune(2869), To: rune(2873)},
+ &CodePointRange{From: rune(2876), To: rune(2876)},
+ &CodePointRange{From: rune(2877), To: rune(2877)},
+ &CodePointRange{From: rune(2878), To: rune(2878)},
+ &CodePointRange{From: rune(2879), To: rune(2879)},
+ &CodePointRange{From: rune(2880), To: rune(2880)},
+ &CodePointRange{From: rune(2881), To: rune(2884)},
+ &CodePointRange{From: rune(2887), To: rune(2888)},
+ &CodePointRange{From: rune(2891), To: rune(2892)},
+ &CodePointRange{From: rune(2893), To: rune(2893)},
+ &CodePointRange{From: rune(2901), To: rune(2902)},
+ &CodePointRange{From: rune(2903), To: rune(2903)},
+ &CodePointRange{From: rune(2908), To: rune(2909)},
+ &CodePointRange{From: rune(2911), To: rune(2913)},
+ &CodePointRange{From: rune(2914), To: rune(2915)},
+ &CodePointRange{From: rune(2918), To: rune(2927)},
+ &CodePointRange{From: rune(2928), To: rune(2928)},
+ &CodePointRange{From: rune(2929), To: rune(2929)},
+ &CodePointRange{From: rune(2930), To: rune(2935)},
+ },
+ "osge": {
+ &CodePointRange{From: rune(66736), To: rune(66771)},
+ &CodePointRange{From: rune(66776), To: rune(66811)},
+ },
+ "osma": {
+ &CodePointRange{From: rune(66688), To: rune(66717)},
+ &CodePointRange{From: rune(66720), To: rune(66729)},
+ },
+ "palm": {
+ &CodePointRange{From: rune(67680), To: rune(67702)},
+ &CodePointRange{From: rune(67703), To: rune(67704)},
+ &CodePointRange{From: rune(67705), To: rune(67711)},
+ },
+ "pauc": {
+ &CodePointRange{From: rune(72384), To: rune(72440)},
+ },
+ "perm": {
+ &CodePointRange{From: rune(66384), To: rune(66421)},
+ &CodePointRange{From: rune(66422), To: rune(66426)},
+ },
+ "phag": {
+ &CodePointRange{From: rune(43072), To: rune(43123)},
+ &CodePointRange{From: rune(43124), To: rune(43127)},
+ },
+ "phli": {
+ &CodePointRange{From: rune(68448), To: rune(68466)},
+ &CodePointRange{From: rune(68472), To: rune(68479)},
+ },
+ "phlp": {
+ &CodePointRange{From: rune(68480), To: rune(68497)},
+ &CodePointRange{From: rune(68505), To: rune(68508)},
+ &CodePointRange{From: rune(68521), To: rune(68527)},
+ },
+ "phnx": {
+ &CodePointRange{From: rune(67840), To: rune(67861)},
+ &CodePointRange{From: rune(67862), To: rune(67867)},
+ &CodePointRange{From: rune(67871), To: rune(67871)},
+ },
+ "plrd": {
+ &CodePointRange{From: rune(93952), To: rune(94026)},
+ &CodePointRange{From: rune(94031), To: rune(94031)},
+ &CodePointRange{From: rune(94032), To: rune(94032)},
+ &CodePointRange{From: rune(94033), To: rune(94087)},
+ &CodePointRange{From: rune(94095), To: rune(94098)},
+ &CodePointRange{From: rune(94099), To: rune(94111)},
+ },
+ "prti": {
+ &CodePointRange{From: rune(68416), To: rune(68437)},
+ &CodePointRange{From: rune(68440), To: rune(68447)},
+ },
+ "rjng": {
+ &CodePointRange{From: rune(43312), To: rune(43334)},
+ &CodePointRange{From: rune(43335), To: rune(43345)},
+ &CodePointRange{From: rune(43346), To: rune(43347)},
+ &CodePointRange{From: rune(43359), To: rune(43359)},
+ },
+ "rohg": {
+ &CodePointRange{From: rune(68864), To: rune(68899)},
+ &CodePointRange{From: rune(68900), To: rune(68903)},
+ &CodePointRange{From: rune(68912), To: rune(68921)},
+ },
+ "runr": {
+ &CodePointRange{From: rune(5792), To: rune(5866)},
+ &CodePointRange{From: rune(5870), To: rune(5872)},
+ &CodePointRange{From: rune(5873), To: rune(5880)},
+ },
+ "samr": {
+ &CodePointRange{From: rune(2048), To: rune(2069)},
+ &CodePointRange{From: rune(2070), To: rune(2073)},
+ &CodePointRange{From: rune(2074), To: rune(2074)},
+ &CodePointRange{From: rune(2075), To: rune(2083)},
+ &CodePointRange{From: rune(2084), To: rune(2084)},
+ &CodePointRange{From: rune(2085), To: rune(2087)},
+ &CodePointRange{From: rune(2088), To: rune(2088)},
+ &CodePointRange{From: rune(2089), To: rune(2093)},
+ &CodePointRange{From: rune(2096), To: rune(2110)},
+ },
+ "sarb": {
+ &CodePointRange{From: rune(68192), To: rune(68220)},
+ &CodePointRange{From: rune(68221), To: rune(68222)},
+ &CodePointRange{From: rune(68223), To: rune(68223)},
+ },
+ "saur": {
+ &CodePointRange{From: rune(43136), To: rune(43137)},
+ &CodePointRange{From: rune(43138), To: rune(43187)},
+ &CodePointRange{From: rune(43188), To: rune(43203)},
+ &CodePointRange{From: rune(43204), To: rune(43205)},
+ &CodePointRange{From: rune(43214), To: rune(43215)},
+ &CodePointRange{From: rune(43216), To: rune(43225)},
+ },
+ "sgnw": {
+ &CodePointRange{From: rune(120832), To: rune(121343)},
+ &CodePointRange{From: rune(121344), To: rune(121398)},
+ &CodePointRange{From: rune(121399), To: rune(121402)},
+ &CodePointRange{From: rune(121403), To: rune(121452)},
+ &CodePointRange{From: rune(121453), To: rune(121460)},
+ &CodePointRange{From: rune(121461), To: rune(121461)},
+ &CodePointRange{From: rune(121462), To: rune(121475)},
+ &CodePointRange{From: rune(121476), To: rune(121476)},
+ &CodePointRange{From: rune(121477), To: rune(121478)},
+ &CodePointRange{From: rune(121479), To: rune(121483)},
+ &CodePointRange{From: rune(121499), To: rune(121503)},
+ &CodePointRange{From: rune(121505), To: rune(121519)},
+ },
+ "shaw": {
+ &CodePointRange{From: rune(66640), To: rune(66687)},
+ },
+ "shrd": {
+ &CodePointRange{From: rune(70016), To: rune(70017)},
+ &CodePointRange{From: rune(70018), To: rune(70018)},
+ &CodePointRange{From: rune(70019), To: rune(70066)},
+ &CodePointRange{From: rune(70067), To: rune(70069)},
+ &CodePointRange{From: rune(70070), To: rune(70078)},
+ &CodePointRange{From: rune(70079), To: rune(70080)},
+ &CodePointRange{From: rune(70081), To: rune(70084)},
+ &CodePointRange{From: rune(70085), To: rune(70088)},
+ &CodePointRange{From: rune(70089), To: rune(70092)},
+ &CodePointRange{From: rune(70093), To: rune(70093)},
+ &CodePointRange{From: rune(70094), To: rune(70094)},
+ &CodePointRange{From: rune(70095), To: rune(70095)},
+ &CodePointRange{From: rune(70096), To: rune(70105)},
+ &CodePointRange{From: rune(70106), To: rune(70106)},
+ &CodePointRange{From: rune(70107), To: rune(70107)},
+ &CodePointRange{From: rune(70108), To: rune(70108)},
+ &CodePointRange{From: rune(70109), To: rune(70111)},
+ },
+ "sidd": {
+ &CodePointRange{From: rune(71040), To: rune(71086)},
+ &CodePointRange{From: rune(71087), To: rune(71089)},
+ &CodePointRange{From: rune(71090), To: rune(71093)},
+ &CodePointRange{From: rune(71096), To: rune(71099)},
+ &CodePointRange{From: rune(71100), To: rune(71101)},
+ &CodePointRange{From: rune(71102), To: rune(71102)},
+ &CodePointRange{From: rune(71103), To: rune(71104)},
+ &CodePointRange{From: rune(71105), To: rune(71127)},
+ &CodePointRange{From: rune(71128), To: rune(71131)},
+ &CodePointRange{From: rune(71132), To: rune(71133)},
+ },
+ "sind": {
+ &CodePointRange{From: rune(70320), To: rune(70366)},
+ &CodePointRange{From: rune(70367), To: rune(70367)},
+ &CodePointRange{From: rune(70368), To: rune(70370)},
+ &CodePointRange{From: rune(70371), To: rune(70378)},
+ &CodePointRange{From: rune(70384), To: rune(70393)},
+ },
+ "sinh": {
+ &CodePointRange{From: rune(3457), To: rune(3457)},
+ &CodePointRange{From: rune(3458), To: rune(3459)},
+ &CodePointRange{From: rune(3461), To: rune(3478)},
+ &CodePointRange{From: rune(3482), To: rune(3505)},
+ &CodePointRange{From: rune(3507), To: rune(3515)},
+ &CodePointRange{From: rune(3517), To: rune(3517)},
+ &CodePointRange{From: rune(3520), To: rune(3526)},
+ &CodePointRange{From: rune(3530), To: rune(3530)},
+ &CodePointRange{From: rune(3535), To: rune(3537)},
+ &CodePointRange{From: rune(3538), To: rune(3540)},
+ &CodePointRange{From: rune(3542), To: rune(3542)},
+ &CodePointRange{From: rune(3544), To: rune(3551)},
+ &CodePointRange{From: rune(3558), To: rune(3567)},
+ &CodePointRange{From: rune(3570), To: rune(3571)},
+ &CodePointRange{From: rune(3572), To: rune(3572)},
+ &CodePointRange{From: rune(70113), To: rune(70132)},
+ },
+ "sogd": {
+ &CodePointRange{From: rune(69424), To: rune(69445)},
+ &CodePointRange{From: rune(69446), To: rune(69456)},
+ &CodePointRange{From: rune(69457), To: rune(69460)},
+ &CodePointRange{From: rune(69461), To: rune(69465)},
+ },
+ "sogo": {
+ &CodePointRange{From: rune(69376), To: rune(69404)},
+ &CodePointRange{From: rune(69405), To: rune(69414)},
+ &CodePointRange{From: rune(69415), To: rune(69415)},
+ },
+ "sora": {
+ &CodePointRange{From: rune(69840), To: rune(69864)},
+ &CodePointRange{From: rune(69872), To: rune(69881)},
+ },
+ "soyo": {
+ &CodePointRange{From: rune(72272), To: rune(72272)},
+ &CodePointRange{From: rune(72273), To: rune(72278)},
+ &CodePointRange{From: rune(72279), To: rune(72280)},
+ &CodePointRange{From: rune(72281), To: rune(72283)},
+ &CodePointRange{From: rune(72284), To: rune(72329)},
+ &CodePointRange{From: rune(72330), To: rune(72342)},
+ &CodePointRange{From: rune(72343), To: rune(72343)},
+ &CodePointRange{From: rune(72344), To: rune(72345)},
+ &CodePointRange{From: rune(72346), To: rune(72348)},
+ &CodePointRange{From: rune(72349), To: rune(72349)},
+ &CodePointRange{From: rune(72350), To: rune(72354)},
+ },
+ "sund": {
+ &CodePointRange{From: rune(7040), To: rune(7041)},
+ &CodePointRange{From: rune(7042), To: rune(7042)},
+ &CodePointRange{From: rune(7043), To: rune(7072)},
+ &CodePointRange{From: rune(7073), To: rune(7073)},
+ &CodePointRange{From: rune(7074), To: rune(7077)},
+ &CodePointRange{From: rune(7078), To: rune(7079)},
+ &CodePointRange{From: rune(7080), To: rune(7081)},
+ &CodePointRange{From: rune(7082), To: rune(7082)},
+ &CodePointRange{From: rune(7083), To: rune(7085)},
+ &CodePointRange{From: rune(7086), To: rune(7087)},
+ &CodePointRange{From: rune(7088), To: rune(7097)},
+ &CodePointRange{From: rune(7098), To: rune(7103)},
+ &CodePointRange{From: rune(7360), To: rune(7367)},
+ },
+ "sylo": {
+ &CodePointRange{From: rune(43008), To: rune(43009)},
+ &CodePointRange{From: rune(43010), To: rune(43010)},
+ &CodePointRange{From: rune(43011), To: rune(43013)},
+ &CodePointRange{From: rune(43014), To: rune(43014)},
+ &CodePointRange{From: rune(43015), To: rune(43018)},
+ &CodePointRange{From: rune(43019), To: rune(43019)},
+ &CodePointRange{From: rune(43020), To: rune(43042)},
+ &CodePointRange{From: rune(43043), To: rune(43044)},
+ &CodePointRange{From: rune(43045), To: rune(43046)},
+ &CodePointRange{From: rune(43047), To: rune(43047)},
+ &CodePointRange{From: rune(43048), To: rune(43051)},
+ &CodePointRange{From: rune(43052), To: rune(43052)},
+ },
+ "syrc": {
+ &CodePointRange{From: rune(1792), To: rune(1805)},
+ &CodePointRange{From: rune(1807), To: rune(1807)},
+ &CodePointRange{From: rune(1808), To: rune(1808)},
+ &CodePointRange{From: rune(1809), To: rune(1809)},
+ &CodePointRange{From: rune(1810), To: rune(1839)},
+ &CodePointRange{From: rune(1840), To: rune(1866)},
+ &CodePointRange{From: rune(1869), To: rune(1871)},
+ &CodePointRange{From: rune(2144), To: rune(2154)},
+ },
+ "tagb": {
+ &CodePointRange{From: rune(5984), To: rune(5996)},
+ &CodePointRange{From: rune(5998), To: rune(6000)},
+ &CodePointRange{From: rune(6002), To: rune(6003)},
+ },
+ "takr": {
+ &CodePointRange{From: rune(71296), To: rune(71338)},
+ &CodePointRange{From: rune(71339), To: rune(71339)},
+ &CodePointRange{From: rune(71340), To: rune(71340)},
+ &CodePointRange{From: rune(71341), To: rune(71341)},
+ &CodePointRange{From: rune(71342), To: rune(71343)},
+ &CodePointRange{From: rune(71344), To: rune(71349)},
+ &CodePointRange{From: rune(71350), To: rune(71350)},
+ &CodePointRange{From: rune(71351), To: rune(71351)},
+ &CodePointRange{From: rune(71352), To: rune(71352)},
+ &CodePointRange{From: rune(71360), To: rune(71369)},
+ },
+ "tale": {
+ &CodePointRange{From: rune(6480), To: rune(6509)},
+ &CodePointRange{From: rune(6512), To: rune(6516)},
+ },
+ "talu": {
+ &CodePointRange{From: rune(6528), To: rune(6571)},
+ &CodePointRange{From: rune(6576), To: rune(6601)},
+ &CodePointRange{From: rune(6608), To: rune(6617)},
+ &CodePointRange{From: rune(6618), To: rune(6618)},
+ &CodePointRange{From: rune(6622), To: rune(6623)},
+ },
+ "taml": {
+ &CodePointRange{From: rune(2946), To: rune(2946)},
+ &CodePointRange{From: rune(2947), To: rune(2947)},
+ &CodePointRange{From: rune(2949), To: rune(2954)},
+ &CodePointRange{From: rune(2958), To: rune(2960)},
+ &CodePointRange{From: rune(2962), To: rune(2965)},
+ &CodePointRange{From: rune(2969), To: rune(2970)},
+ &CodePointRange{From: rune(2972), To: rune(2972)},
+ &CodePointRange{From: rune(2974), To: rune(2975)},
+ &CodePointRange{From: rune(2979), To: rune(2980)},
+ &CodePointRange{From: rune(2984), To: rune(2986)},
+ &CodePointRange{From: rune(2990), To: rune(3001)},
+ &CodePointRange{From: rune(3006), To: rune(3007)},
+ &CodePointRange{From: rune(3008), To: rune(3008)},
+ &CodePointRange{From: rune(3009), To: rune(3010)},
+ &CodePointRange{From: rune(3014), To: rune(3016)},
+ &CodePointRange{From: rune(3018), To: rune(3020)},
+ &CodePointRange{From: rune(3021), To: rune(3021)},
+ &CodePointRange{From: rune(3024), To: rune(3024)},
+ &CodePointRange{From: rune(3031), To: rune(3031)},
+ &CodePointRange{From: rune(3046), To: rune(3055)},
+ &CodePointRange{From: rune(3056), To: rune(3058)},
+ &CodePointRange{From: rune(3059), To: rune(3064)},
+ &CodePointRange{From: rune(3065), To: rune(3065)},
+ &CodePointRange{From: rune(3066), To: rune(3066)},
+ &CodePointRange{From: rune(73664), To: rune(73684)},
+ &CodePointRange{From: rune(73685), To: rune(73692)},
+ &CodePointRange{From: rune(73693), To: rune(73696)},
+ &CodePointRange{From: rune(73697), To: rune(73713)},
+ &CodePointRange{From: rune(73727), To: rune(73727)},
+ },
+ "tang": {
+ &CodePointRange{From: rune(94176), To: rune(94176)},
+ &CodePointRange{From: rune(94208), To: rune(100343)},
+ &CodePointRange{From: rune(100352), To: rune(101119)},
+ &CodePointRange{From: rune(101632), To: rune(101640)},
+ },
+ "tavt": {
+ &CodePointRange{From: rune(43648), To: rune(43695)},
+ &CodePointRange{From: rune(43696), To: rune(43696)},
+ &CodePointRange{From: rune(43697), To: rune(43697)},
+ &CodePointRange{From: rune(43698), To: rune(43700)},
+ &CodePointRange{From: rune(43701), To: rune(43702)},
+ &CodePointRange{From: rune(43703), To: rune(43704)},
+ &CodePointRange{From: rune(43705), To: rune(43709)},
+ &CodePointRange{From: rune(43710), To: rune(43711)},
+ &CodePointRange{From: rune(43712), To: rune(43712)},
+ &CodePointRange{From: rune(43713), To: rune(43713)},
+ &CodePointRange{From: rune(43714), To: rune(43714)},
+ &CodePointRange{From: rune(43739), To: rune(43740)},
+ &CodePointRange{From: rune(43741), To: rune(43741)},
+ &CodePointRange{From: rune(43742), To: rune(43743)},
+ },
+ "telu": {
+ &CodePointRange{From: rune(3072), To: rune(3072)},
+ &CodePointRange{From: rune(3073), To: rune(3075)},
+ &CodePointRange{From: rune(3076), To: rune(3076)},
+ &CodePointRange{From: rune(3077), To: rune(3084)},
+ &CodePointRange{From: rune(3086), To: rune(3088)},
+ &CodePointRange{From: rune(3090), To: rune(3112)},
+ &CodePointRange{From: rune(3114), To: rune(3129)},
+ &CodePointRange{From: rune(3133), To: rune(3133)},
+ &CodePointRange{From: rune(3134), To: rune(3136)},
+ &CodePointRange{From: rune(3137), To: rune(3140)},
+ &CodePointRange{From: rune(3142), To: rune(3144)},
+ &CodePointRange{From: rune(3146), To: rune(3149)},
+ &CodePointRange{From: rune(3157), To: rune(3158)},
+ &CodePointRange{From: rune(3160), To: rune(3162)},
+ &CodePointRange{From: rune(3168), To: rune(3169)},
+ &CodePointRange{From: rune(3170), To: rune(3171)},
+ &CodePointRange{From: rune(3174), To: rune(3183)},
+ &CodePointRange{From: rune(3191), To: rune(3191)},
+ &CodePointRange{From: rune(3192), To: rune(3198)},
+ &CodePointRange{From: rune(3199), To: rune(3199)},
+ },
+ "tfng": {
+ &CodePointRange{From: rune(11568), To: rune(11623)},
+ &CodePointRange{From: rune(11631), To: rune(11631)},
+ &CodePointRange{From: rune(11632), To: rune(11632)},
+ &CodePointRange{From: rune(11647), To: rune(11647)},
+ },
+ "tglg": {
+ &CodePointRange{From: rune(5888), To: rune(5900)},
+ &CodePointRange{From: rune(5902), To: rune(5905)},
+ &CodePointRange{From: rune(5906), To: rune(5908)},
+ },
+ "thaa": {
+ &CodePointRange{From: rune(1920), To: rune(1957)},
+ &CodePointRange{From: rune(1958), To: rune(1968)},
+ &CodePointRange{From: rune(1969), To: rune(1969)},
+ },
+ "thai": {
+ &CodePointRange{From: rune(3585), To: rune(3632)},
+ &CodePointRange{From: rune(3633), To: rune(3633)},
+ &CodePointRange{From: rune(3634), To: rune(3635)},
+ &CodePointRange{From: rune(3636), To: rune(3642)},
+ &CodePointRange{From: rune(3648), To: rune(3653)},
+ &CodePointRange{From: rune(3654), To: rune(3654)},
+ &CodePointRange{From: rune(3655), To: rune(3662)},
+ &CodePointRange{From: rune(3663), To: rune(3663)},
+ &CodePointRange{From: rune(3664), To: rune(3673)},
+ &CodePointRange{From: rune(3674), To: rune(3675)},
+ },
+ "tibt": {
+ &CodePointRange{From: rune(3840), To: rune(3840)},
+ &CodePointRange{From: rune(3841), To: rune(3843)},
+ &CodePointRange{From: rune(3844), To: rune(3858)},
+ &CodePointRange{From: rune(3859), To: rune(3859)},
+ &CodePointRange{From: rune(3860), To: rune(3860)},
+ &CodePointRange{From: rune(3861), To: rune(3863)},
+ &CodePointRange{From: rune(3864), To: rune(3865)},
+ &CodePointRange{From: rune(3866), To: rune(3871)},
+ &CodePointRange{From: rune(3872), To: rune(3881)},
+ &CodePointRange{From: rune(3882), To: rune(3891)},
+ &CodePointRange{From: rune(3892), To: rune(3892)},
+ &CodePointRange{From: rune(3893), To: rune(3893)},
+ &CodePointRange{From: rune(3894), To: rune(3894)},
+ &CodePointRange{From: rune(3895), To: rune(3895)},
+ &CodePointRange{From: rune(3896), To: rune(3896)},
+ &CodePointRange{From: rune(3897), To: rune(3897)},
+ &CodePointRange{From: rune(3898), To: rune(3898)},
+ &CodePointRange{From: rune(3899), To: rune(3899)},
+ &CodePointRange{From: rune(3900), To: rune(3900)},
+ &CodePointRange{From: rune(3901), To: rune(3901)},
+ &CodePointRange{From: rune(3902), To: rune(3903)},
+ &CodePointRange{From: rune(3904), To: rune(3911)},
+ &CodePointRange{From: rune(3913), To: rune(3948)},
+ &CodePointRange{From: rune(3953), To: rune(3966)},
+ &CodePointRange{From: rune(3967), To: rune(3967)},
+ &CodePointRange{From: rune(3968), To: rune(3972)},
+ &CodePointRange{From: rune(3973), To: rune(3973)},
+ &CodePointRange{From: rune(3974), To: rune(3975)},
+ &CodePointRange{From: rune(3976), To: rune(3980)},
+ &CodePointRange{From: rune(3981), To: rune(3991)},
+ &CodePointRange{From: rune(3993), To: rune(4028)},
+ &CodePointRange{From: rune(4030), To: rune(4037)},
+ &CodePointRange{From: rune(4038), To: rune(4038)},
+ &CodePointRange{From: rune(4039), To: rune(4044)},
+ &CodePointRange{From: rune(4046), To: rune(4047)},
+ &CodePointRange{From: rune(4048), To: rune(4052)},
+ &CodePointRange{From: rune(4057), To: rune(4058)},
+ },
+ "tirh": {
+ &CodePointRange{From: rune(70784), To: rune(70831)},
+ &CodePointRange{From: rune(70832), To: rune(70834)},
+ &CodePointRange{From: rune(70835), To: rune(70840)},
+ &CodePointRange{From: rune(70841), To: rune(70841)},
+ &CodePointRange{From: rune(70842), To: rune(70842)},
+ &CodePointRange{From: rune(70843), To: rune(70846)},
+ &CodePointRange{From: rune(70847), To: rune(70848)},
+ &CodePointRange{From: rune(70849), To: rune(70849)},
+ &CodePointRange{From: rune(70850), To: rune(70851)},
+ &CodePointRange{From: rune(70852), To: rune(70853)},
+ &CodePointRange{From: rune(70854), To: rune(70854)},
+ &CodePointRange{From: rune(70855), To: rune(70855)},
+ &CodePointRange{From: rune(70864), To: rune(70873)},
+ },
+ "ugar": {
+ &CodePointRange{From: rune(66432), To: rune(66461)},
+ &CodePointRange{From: rune(66463), To: rune(66463)},
+ },
+ "vaii": {
+ &CodePointRange{From: rune(42240), To: rune(42507)},
+ &CodePointRange{From: rune(42508), To: rune(42508)},
+ &CodePointRange{From: rune(42509), To: rune(42511)},
+ &CodePointRange{From: rune(42512), To: rune(42527)},
+ &CodePointRange{From: rune(42528), To: rune(42537)},
+ &CodePointRange{From: rune(42538), To: rune(42539)},
+ },
+ "wara": {
+ &CodePointRange{From: rune(71840), To: rune(71903)},
+ &CodePointRange{From: rune(71904), To: rune(71913)},
+ &CodePointRange{From: rune(71914), To: rune(71922)},
+ &CodePointRange{From: rune(71935), To: rune(71935)},
+ },
+ "wcho": {
+ &CodePointRange{From: rune(123584), To: rune(123627)},
+ &CodePointRange{From: rune(123628), To: rune(123631)},
+ &CodePointRange{From: rune(123632), To: rune(123641)},
+ &CodePointRange{From: rune(123647), To: rune(123647)},
+ },
+ "xpeo": {
+ &CodePointRange{From: rune(66464), To: rune(66499)},
+ &CodePointRange{From: rune(66504), To: rune(66511)},
+ &CodePointRange{From: rune(66512), To: rune(66512)},
+ &CodePointRange{From: rune(66513), To: rune(66517)},
+ },
+ "xsux": {
+ &CodePointRange{From: rune(73728), To: rune(74649)},
+ &CodePointRange{From: rune(74752), To: rune(74862)},
+ &CodePointRange{From: rune(74864), To: rune(74868)},
+ &CodePointRange{From: rune(74880), To: rune(75075)},
+ },
+ "yezi": {
+ &CodePointRange{From: rune(69248), To: rune(69289)},
+ &CodePointRange{From: rune(69291), To: rune(69292)},
+ &CodePointRange{From: rune(69293), To: rune(69293)},
+ &CodePointRange{From: rune(69296), To: rune(69297)},
+ },
+ "yiii": {
+ &CodePointRange{From: rune(40960), To: rune(40980)},
+ &CodePointRange{From: rune(40981), To: rune(40981)},
+ &CodePointRange{From: rune(40982), To: rune(42124)},
+ &CodePointRange{From: rune(42128), To: rune(42182)},
+ },
+ "zanb": {
+ &CodePointRange{From: rune(72192), To: rune(72192)},
+ &CodePointRange{From: rune(72193), To: rune(72202)},
+ &CodePointRange{From: rune(72203), To: rune(72242)},
+ &CodePointRange{From: rune(72243), To: rune(72248)},
+ &CodePointRange{From: rune(72249), To: rune(72249)},
+ &CodePointRange{From: rune(72250), To: rune(72250)},
+ &CodePointRange{From: rune(72251), To: rune(72254)},
+ &CodePointRange{From: rune(72255), To: rune(72262)},
+ &CodePointRange{From: rune(72263), To: rune(72263)},
+ },
+ "zinh": {
+ &CodePointRange{From: rune(768), To: rune(879)},
+ &CodePointRange{From: rune(1157), To: rune(1158)},
+ &CodePointRange{From: rune(1611), To: rune(1621)},
+ &CodePointRange{From: rune(1648), To: rune(1648)},
+ &CodePointRange{From: rune(2385), To: rune(2388)},
+ &CodePointRange{From: rune(6832), To: rune(6845)},
+ &CodePointRange{From: rune(6846), To: rune(6846)},
+ &CodePointRange{From: rune(6847), To: rune(6848)},
+ &CodePointRange{From: rune(7376), To: rune(7378)},
+ &CodePointRange{From: rune(7380), To: rune(7392)},
+ &CodePointRange{From: rune(7394), To: rune(7400)},
+ &CodePointRange{From: rune(7405), To: rune(7405)},
+ &CodePointRange{From: rune(7412), To: rune(7412)},
+ &CodePointRange{From: rune(7416), To: rune(7417)},
+ &CodePointRange{From: rune(7616), To: rune(7673)},
+ &CodePointRange{From: rune(7675), To: rune(7679)},
+ &CodePointRange{From: rune(8204), To: rune(8205)},
+ &CodePointRange{From: rune(8400), To: rune(8412)},
+ &CodePointRange{From: rune(8413), To: rune(8416)},
+ &CodePointRange{From: rune(8417), To: rune(8417)},
+ &CodePointRange{From: rune(8418), To: rune(8420)},
+ &CodePointRange{From: rune(8421), To: rune(8432)},
+ &CodePointRange{From: rune(12330), To: rune(12333)},
+ &CodePointRange{From: rune(12441), To: rune(12442)},
+ &CodePointRange{From: rune(65024), To: rune(65039)},
+ &CodePointRange{From: rune(65056), To: rune(65069)},
+ &CodePointRange{From: rune(66045), To: rune(66045)},
+ &CodePointRange{From: rune(66272), To: rune(66272)},
+ &CodePointRange{From: rune(70459), To: rune(70459)},
+ &CodePointRange{From: rune(119143), To: rune(119145)},
+ &CodePointRange{From: rune(119163), To: rune(119170)},
+ &CodePointRange{From: rune(119173), To: rune(119179)},
+ &CodePointRange{From: rune(119210), To: rune(119213)},
+ &CodePointRange{From: rune(917760), To: rune(917999)},
+ },
+ "zyyy": {
+ &CodePointRange{From: rune(0), To: rune(31)},
+ &CodePointRange{From: rune(32), To: rune(32)},
+ &CodePointRange{From: rune(33), To: rune(35)},
+ &CodePointRange{From: rune(36), To: rune(36)},
+ &CodePointRange{From: rune(37), To: rune(39)},
+ &CodePointRange{From: rune(40), To: rune(40)},
+ &CodePointRange{From: rune(41), To: rune(41)},
+ &CodePointRange{From: rune(42), To: rune(42)},
+ &CodePointRange{From: rune(43), To: rune(43)},
+ &CodePointRange{From: rune(44), To: rune(44)},
+ &CodePointRange{From: rune(45), To: rune(45)},
+ &CodePointRange{From: rune(46), To: rune(47)},
+ &CodePointRange{From: rune(48), To: rune(57)},
+ &CodePointRange{From: rune(58), To: rune(59)},
+ &CodePointRange{From: rune(60), To: rune(62)},
+ &CodePointRange{From: rune(63), To: rune(64)},
+ &CodePointRange{From: rune(91), To: rune(91)},
+ &CodePointRange{From: rune(92), To: rune(92)},
+ &CodePointRange{From: rune(93), To: rune(93)},
+ &CodePointRange{From: rune(94), To: rune(94)},
+ &CodePointRange{From: rune(95), To: rune(95)},
+ &CodePointRange{From: rune(96), To: rune(96)},
+ &CodePointRange{From: rune(123), To: rune(123)},
+ &CodePointRange{From: rune(124), To: rune(124)},
+ &CodePointRange{From: rune(125), To: rune(125)},
+ &CodePointRange{From: rune(126), To: rune(126)},
+ &CodePointRange{From: rune(127), To: rune(159)},
+ &CodePointRange{From: rune(160), To: rune(160)},
+ &CodePointRange{From: rune(161), To: rune(161)},
+ &CodePointRange{From: rune(162), To: rune(165)},
+ &CodePointRange{From: rune(166), To: rune(166)},
+ &CodePointRange{From: rune(167), To: rune(167)},
+ &CodePointRange{From: rune(168), To: rune(168)},
+ &CodePointRange{From: rune(169), To: rune(169)},
+ &CodePointRange{From: rune(171), To: rune(171)},
+ &CodePointRange{From: rune(172), To: rune(172)},
+ &CodePointRange{From: rune(173), To: rune(173)},
+ &CodePointRange{From: rune(174), To: rune(174)},
+ &CodePointRange{From: rune(175), To: rune(175)},
+ &CodePointRange{From: rune(176), To: rune(176)},
+ &CodePointRange{From: rune(177), To: rune(177)},
+ &CodePointRange{From: rune(178), To: rune(179)},
+ &CodePointRange{From: rune(180), To: rune(180)},
+ &CodePointRange{From: rune(181), To: rune(181)},
+ &CodePointRange{From: rune(182), To: rune(183)},
+ &CodePointRange{From: rune(184), To: rune(184)},
+ &CodePointRange{From: rune(185), To: rune(185)},
+ &CodePointRange{From: rune(187), To: rune(187)},
+ &CodePointRange{From: rune(188), To: rune(190)},
+ &CodePointRange{From: rune(191), To: rune(191)},
+ &CodePointRange{From: rune(215), To: rune(215)},
+ &CodePointRange{From: rune(247), To: rune(247)},
+ &CodePointRange{From: rune(697), To: rune(705)},
+ &CodePointRange{From: rune(706), To: rune(709)},
+ &CodePointRange{From: rune(710), To: rune(721)},
+ &CodePointRange{From: rune(722), To: rune(735)},
+ &CodePointRange{From: rune(741), To: rune(745)},
+ &CodePointRange{From: rune(748), To: rune(748)},
+ &CodePointRange{From: rune(749), To: rune(749)},
+ &CodePointRange{From: rune(750), To: rune(750)},
+ &CodePointRange{From: rune(751), To: rune(767)},
+ &CodePointRange{From: rune(884), To: rune(884)},
+ &CodePointRange{From: rune(894), To: rune(894)},
+ &CodePointRange{From: rune(901), To: rune(901)},
+ &CodePointRange{From: rune(903), To: rune(903)},
+ &CodePointRange{From: rune(1541), To: rune(1541)},
+ &CodePointRange{From: rune(1548), To: rune(1548)},
+ &CodePointRange{From: rune(1563), To: rune(1563)},
+ &CodePointRange{From: rune(1567), To: rune(1567)},
+ &CodePointRange{From: rune(1600), To: rune(1600)},
+ &CodePointRange{From: rune(1757), To: rune(1757)},
+ &CodePointRange{From: rune(2274), To: rune(2274)},
+ &CodePointRange{From: rune(2404), To: rune(2405)},
+ &CodePointRange{From: rune(3647), To: rune(3647)},
+ &CodePointRange{From: rune(4053), To: rune(4056)},
+ &CodePointRange{From: rune(4347), To: rune(4347)},
+ &CodePointRange{From: rune(5867), To: rune(5869)},
+ &CodePointRange{From: rune(5941), To: rune(5942)},
+ &CodePointRange{From: rune(6146), To: rune(6147)},
+ &CodePointRange{From: rune(6149), To: rune(6149)},
+ &CodePointRange{From: rune(7379), To: rune(7379)},
+ &CodePointRange{From: rune(7393), To: rune(7393)},
+ &CodePointRange{From: rune(7401), To: rune(7404)},
+ &CodePointRange{From: rune(7406), To: rune(7411)},
+ &CodePointRange{From: rune(7413), To: rune(7414)},
+ &CodePointRange{From: rune(7415), To: rune(7415)},
+ &CodePointRange{From: rune(7418), To: rune(7418)},
+ &CodePointRange{From: rune(8192), To: rune(8202)},
+ &CodePointRange{From: rune(8203), To: rune(8203)},
+ &CodePointRange{From: rune(8206), To: rune(8207)},
+ &CodePointRange{From: rune(8208), To: rune(8213)},
+ &CodePointRange{From: rune(8214), To: rune(8215)},
+ &CodePointRange{From: rune(8216), To: rune(8216)},
+ &CodePointRange{From: rune(8217), To: rune(8217)},
+ &CodePointRange{From: rune(8218), To: rune(8218)},
+ &CodePointRange{From: rune(8219), To: rune(8220)},
+ &CodePointRange{From: rune(8221), To: rune(8221)},
+ &CodePointRange{From: rune(8222), To: rune(8222)},
+ &CodePointRange{From: rune(8223), To: rune(8223)},
+ &CodePointRange{From: rune(8224), To: rune(8231)},
+ &CodePointRange{From: rune(8232), To: rune(8232)},
+ &CodePointRange{From: rune(8233), To: rune(8233)},
+ &CodePointRange{From: rune(8234), To: rune(8238)},
+ &CodePointRange{From: rune(8239), To: rune(8239)},
+ &CodePointRange{From: rune(8240), To: rune(8248)},
+ &CodePointRange{From: rune(8249), To: rune(8249)},
+ &CodePointRange{From: rune(8250), To: rune(8250)},
+ &CodePointRange{From: rune(8251), To: rune(8254)},
+ &CodePointRange{From: rune(8255), To: rune(8256)},
+ &CodePointRange{From: rune(8257), To: rune(8259)},
+ &CodePointRange{From: rune(8260), To: rune(8260)},
+ &CodePointRange{From: rune(8261), To: rune(8261)},
+ &CodePointRange{From: rune(8262), To: rune(8262)},
+ &CodePointRange{From: rune(8263), To: rune(8273)},
+ &CodePointRange{From: rune(8274), To: rune(8274)},
+ &CodePointRange{From: rune(8275), To: rune(8275)},
+ &CodePointRange{From: rune(8276), To: rune(8276)},
+ &CodePointRange{From: rune(8277), To: rune(8286)},
+ &CodePointRange{From: rune(8287), To: rune(8287)},
+ &CodePointRange{From: rune(8288), To: rune(8292)},
+ &CodePointRange{From: rune(8294), To: rune(8303)},
+ &CodePointRange{From: rune(8304), To: rune(8304)},
+ &CodePointRange{From: rune(8308), To: rune(8313)},
+ &CodePointRange{From: rune(8314), To: rune(8316)},
+ &CodePointRange{From: rune(8317), To: rune(8317)},
+ &CodePointRange{From: rune(8318), To: rune(8318)},
+ &CodePointRange{From: rune(8320), To: rune(8329)},
+ &CodePointRange{From: rune(8330), To: rune(8332)},
+ &CodePointRange{From: rune(8333), To: rune(8333)},
+ &CodePointRange{From: rune(8334), To: rune(8334)},
+ &CodePointRange{From: rune(8352), To: rune(8383)},
+ &CodePointRange{From: rune(8448), To: rune(8449)},
+ &CodePointRange{From: rune(8450), To: rune(8450)},
+ &CodePointRange{From: rune(8451), To: rune(8454)},
+ &CodePointRange{From: rune(8455), To: rune(8455)},
+ &CodePointRange{From: rune(8456), To: rune(8457)},
+ &CodePointRange{From: rune(8458), To: rune(8467)},
+ &CodePointRange{From: rune(8468), To: rune(8468)},
+ &CodePointRange{From: rune(8469), To: rune(8469)},
+ &CodePointRange{From: rune(8470), To: rune(8471)},
+ &CodePointRange{From: rune(8472), To: rune(8472)},
+ &CodePointRange{From: rune(8473), To: rune(8477)},
+ &CodePointRange{From: rune(8478), To: rune(8483)},
+ &CodePointRange{From: rune(8484), To: rune(8484)},
+ &CodePointRange{From: rune(8485), To: rune(8485)},
+ &CodePointRange{From: rune(8487), To: rune(8487)},
+ &CodePointRange{From: rune(8488), To: rune(8488)},
+ &CodePointRange{From: rune(8489), To: rune(8489)},
+ &CodePointRange{From: rune(8492), To: rune(8493)},
+ &CodePointRange{From: rune(8494), To: rune(8494)},
+ &CodePointRange{From: rune(8495), To: rune(8497)},
+ &CodePointRange{From: rune(8499), To: rune(8500)},
+ &CodePointRange{From: rune(8501), To: rune(8504)},
+ &CodePointRange{From: rune(8505), To: rune(8505)},
+ &CodePointRange{From: rune(8506), To: rune(8507)},
+ &CodePointRange{From: rune(8508), To: rune(8511)},
+ &CodePointRange{From: rune(8512), To: rune(8516)},
+ &CodePointRange{From: rune(8517), To: rune(8521)},
+ &CodePointRange{From: rune(8522), To: rune(8522)},
+ &CodePointRange{From: rune(8523), To: rune(8523)},
+ &CodePointRange{From: rune(8524), To: rune(8525)},
+ &CodePointRange{From: rune(8527), To: rune(8527)},
+ &CodePointRange{From: rune(8528), To: rune(8543)},
+ &CodePointRange{From: rune(8585), To: rune(8585)},
+ &CodePointRange{From: rune(8586), To: rune(8587)},
+ &CodePointRange{From: rune(8592), To: rune(8596)},
+ &CodePointRange{From: rune(8597), To: rune(8601)},
+ &CodePointRange{From: rune(8602), To: rune(8603)},
+ &CodePointRange{From: rune(8604), To: rune(8607)},
+ &CodePointRange{From: rune(8608), To: rune(8608)},
+ &CodePointRange{From: rune(8609), To: rune(8610)},
+ &CodePointRange{From: rune(8611), To: rune(8611)},
+ &CodePointRange{From: rune(8612), To: rune(8613)},
+ &CodePointRange{From: rune(8614), To: rune(8614)},
+ &CodePointRange{From: rune(8615), To: rune(8621)},
+ &CodePointRange{From: rune(8622), To: rune(8622)},
+ &CodePointRange{From: rune(8623), To: rune(8653)},
+ &CodePointRange{From: rune(8654), To: rune(8655)},
+ &CodePointRange{From: rune(8656), To: rune(8657)},
+ &CodePointRange{From: rune(8658), To: rune(8658)},
+ &CodePointRange{From: rune(8659), To: rune(8659)},
+ &CodePointRange{From: rune(8660), To: rune(8660)},
+ &CodePointRange{From: rune(8661), To: rune(8691)},
+ &CodePointRange{From: rune(8692), To: rune(8959)},
+ &CodePointRange{From: rune(8960), To: rune(8967)},
+ &CodePointRange{From: rune(8968), To: rune(8968)},
+ &CodePointRange{From: rune(8969), To: rune(8969)},
+ &CodePointRange{From: rune(8970), To: rune(8970)},
+ &CodePointRange{From: rune(8971), To: rune(8971)},
+ &CodePointRange{From: rune(8972), To: rune(8991)},
+ &CodePointRange{From: rune(8992), To: rune(8993)},
+ &CodePointRange{From: rune(8994), To: rune(9000)},
+ &CodePointRange{From: rune(9001), To: rune(9001)},
+ &CodePointRange{From: rune(9002), To: rune(9002)},
+ &CodePointRange{From: rune(9003), To: rune(9083)},
+ &CodePointRange{From: rune(9084), To: rune(9084)},
+ &CodePointRange{From: rune(9085), To: rune(9114)},
+ &CodePointRange{From: rune(9115), To: rune(9139)},
+ &CodePointRange{From: rune(9140), To: rune(9179)},
+ &CodePointRange{From: rune(9180), To: rune(9185)},
+ &CodePointRange{From: rune(9186), To: rune(9254)},
+ &CodePointRange{From: rune(9280), To: rune(9290)},
+ &CodePointRange{From: rune(9312), To: rune(9371)},
+ &CodePointRange{From: rune(9372), To: rune(9449)},
+ &CodePointRange{From: rune(9450), To: rune(9471)},
+ &CodePointRange{From: rune(9472), To: rune(9654)},
+ &CodePointRange{From: rune(9655), To: rune(9655)},
+ &CodePointRange{From: rune(9656), To: rune(9664)},
+ &CodePointRange{From: rune(9665), To: rune(9665)},
+ &CodePointRange{From: rune(9666), To: rune(9719)},
+ &CodePointRange{From: rune(9720), To: rune(9727)},
+ &CodePointRange{From: rune(9728), To: rune(9838)},
+ &CodePointRange{From: rune(9839), To: rune(9839)},
+ &CodePointRange{From: rune(9840), To: rune(10087)},
+ &CodePointRange{From: rune(10088), To: rune(10088)},
+ &CodePointRange{From: rune(10089), To: rune(10089)},
+ &CodePointRange{From: rune(10090), To: rune(10090)},
+ &CodePointRange{From: rune(10091), To: rune(10091)},
+ &CodePointRange{From: rune(10092), To: rune(10092)},
+ &CodePointRange{From: rune(10093), To: rune(10093)},
+ &CodePointRange{From: rune(10094), To: rune(10094)},
+ &CodePointRange{From: rune(10095), To: rune(10095)},
+ &CodePointRange{From: rune(10096), To: rune(10096)},
+ &CodePointRange{From: rune(10097), To: rune(10097)},
+ &CodePointRange{From: rune(10098), To: rune(10098)},
+ &CodePointRange{From: rune(10099), To: rune(10099)},
+ &CodePointRange{From: rune(10100), To: rune(10100)},
+ &CodePointRange{From: rune(10101), To: rune(10101)},
+ &CodePointRange{From: rune(10102), To: rune(10131)},
+ &CodePointRange{From: rune(10132), To: rune(10175)},
+ &CodePointRange{From: rune(10176), To: rune(10180)},
+ &CodePointRange{From: rune(10181), To: rune(10181)},
+ &CodePointRange{From: rune(10182), To: rune(10182)},
+ &CodePointRange{From: rune(10183), To: rune(10213)},
+ &CodePointRange{From: rune(10214), To: rune(10214)},
+ &CodePointRange{From: rune(10215), To: rune(10215)},
+ &CodePointRange{From: rune(10216), To: rune(10216)},
+ &CodePointRange{From: rune(10217), To: rune(10217)},
+ &CodePointRange{From: rune(10218), To: rune(10218)},
+ &CodePointRange{From: rune(10219), To: rune(10219)},
+ &CodePointRange{From: rune(10220), To: rune(10220)},
+ &CodePointRange{From: rune(10221), To: rune(10221)},
+ &CodePointRange{From: rune(10222), To: rune(10222)},
+ &CodePointRange{From: rune(10223), To: rune(10223)},
+ &CodePointRange{From: rune(10224), To: rune(10239)},
+ &CodePointRange{From: rune(10496), To: rune(10626)},
+ &CodePointRange{From: rune(10627), To: rune(10627)},
+ &CodePointRange{From: rune(10628), To: rune(10628)},
+ &CodePointRange{From: rune(10629), To: rune(10629)},
+ &CodePointRange{From: rune(10630), To: rune(10630)},
+ &CodePointRange{From: rune(10631), To: rune(10631)},
+ &CodePointRange{From: rune(10632), To: rune(10632)},
+ &CodePointRange{From: rune(10633), To: rune(10633)},
+ &CodePointRange{From: rune(10634), To: rune(10634)},
+ &CodePointRange{From: rune(10635), To: rune(10635)},
+ &CodePointRange{From: rune(10636), To: rune(10636)},
+ &CodePointRange{From: rune(10637), To: rune(10637)},
+ &CodePointRange{From: rune(10638), To: rune(10638)},
+ &CodePointRange{From: rune(10639), To: rune(10639)},
+ &CodePointRange{From: rune(10640), To: rune(10640)},
+ &CodePointRange{From: rune(10641), To: rune(10641)},
+ &CodePointRange{From: rune(10642), To: rune(10642)},
+ &CodePointRange{From: rune(10643), To: rune(10643)},
+ &CodePointRange{From: rune(10644), To: rune(10644)},
+ &CodePointRange{From: rune(10645), To: rune(10645)},
+ &CodePointRange{From: rune(10646), To: rune(10646)},
+ &CodePointRange{From: rune(10647), To: rune(10647)},
+ &CodePointRange{From: rune(10648), To: rune(10648)},
+ &CodePointRange{From: rune(10649), To: rune(10711)},
+ &CodePointRange{From: rune(10712), To: rune(10712)},
+ &CodePointRange{From: rune(10713), To: rune(10713)},
+ &CodePointRange{From: rune(10714), To: rune(10714)},
+ &CodePointRange{From: rune(10715), To: rune(10715)},
+ &CodePointRange{From: rune(10716), To: rune(10747)},
+ &CodePointRange{From: rune(10748), To: rune(10748)},
+ &CodePointRange{From: rune(10749), To: rune(10749)},
+ &CodePointRange{From: rune(10750), To: rune(11007)},
+ &CodePointRange{From: rune(11008), To: rune(11055)},
+ &CodePointRange{From: rune(11056), To: rune(11076)},
+ &CodePointRange{From: rune(11077), To: rune(11078)},
+ &CodePointRange{From: rune(11079), To: rune(11084)},
+ &CodePointRange{From: rune(11085), To: rune(11123)},
+ &CodePointRange{From: rune(11126), To: rune(11157)},
+ &CodePointRange{From: rune(11159), To: rune(11263)},
+ &CodePointRange{From: rune(11776), To: rune(11777)},
+ &CodePointRange{From: rune(11778), To: rune(11778)},
+ &CodePointRange{From: rune(11779), To: rune(11779)},
+ &CodePointRange{From: rune(11780), To: rune(11780)},
+ &CodePointRange{From: rune(11781), To: rune(11781)},
+ &CodePointRange{From: rune(11782), To: rune(11784)},
+ &CodePointRange{From: rune(11785), To: rune(11785)},
+ &CodePointRange{From: rune(11786), To: rune(11786)},
+ &CodePointRange{From: rune(11787), To: rune(11787)},
+ &CodePointRange{From: rune(11788), To: rune(11788)},
+ &CodePointRange{From: rune(11789), To: rune(11789)},
+ &CodePointRange{From: rune(11790), To: rune(11798)},
+ &CodePointRange{From: rune(11799), To: rune(11799)},
+ &CodePointRange{From: rune(11800), To: rune(11801)},
+ &CodePointRange{From: rune(11802), To: rune(11802)},
+ &CodePointRange{From: rune(11803), To: rune(11803)},
+ &CodePointRange{From: rune(11804), To: rune(11804)},
+ &CodePointRange{From: rune(11805), To: rune(11805)},
+ &CodePointRange{From: rune(11806), To: rune(11807)},
+ &CodePointRange{From: rune(11808), To: rune(11808)},
+ &CodePointRange{From: rune(11809), To: rune(11809)},
+ &CodePointRange{From: rune(11810), To: rune(11810)},
+ &CodePointRange{From: rune(11811), To: rune(11811)},
+ &CodePointRange{From: rune(11812), To: rune(11812)},
+ &CodePointRange{From: rune(11813), To: rune(11813)},
+ &CodePointRange{From: rune(11814), To: rune(11814)},
+ &CodePointRange{From: rune(11815), To: rune(11815)},
+ &CodePointRange{From: rune(11816), To: rune(11816)},
+ &CodePointRange{From: rune(11817), To: rune(11817)},
+ &CodePointRange{From: rune(11818), To: rune(11822)},
+ &CodePointRange{From: rune(11823), To: rune(11823)},
+ &CodePointRange{From: rune(11824), To: rune(11833)},
+ &CodePointRange{From: rune(11834), To: rune(11835)},
+ &CodePointRange{From: rune(11836), To: rune(11839)},
+ &CodePointRange{From: rune(11840), To: rune(11840)},
+ &CodePointRange{From: rune(11841), To: rune(11841)},
+ &CodePointRange{From: rune(11842), To: rune(11842)},
+ &CodePointRange{From: rune(11843), To: rune(11855)},
+ &CodePointRange{From: rune(11856), To: rune(11857)},
+ &CodePointRange{From: rune(11858), To: rune(11858)},
+ &CodePointRange{From: rune(12272), To: rune(12283)},
+ &CodePointRange{From: rune(12288), To: rune(12288)},
+ &CodePointRange{From: rune(12289), To: rune(12291)},
+ &CodePointRange{From: rune(12292), To: rune(12292)},
+ &CodePointRange{From: rune(12294), To: rune(12294)},
+ &CodePointRange{From: rune(12296), To: rune(12296)},
+ &CodePointRange{From: rune(12297), To: rune(12297)},
+ &CodePointRange{From: rune(12298), To: rune(12298)},
+ &CodePointRange{From: rune(12299), To: rune(12299)},
+ &CodePointRange{From: rune(12300), To: rune(12300)},
+ &CodePointRange{From: rune(12301), To: rune(12301)},
+ &CodePointRange{From: rune(12302), To: rune(12302)},
+ &CodePointRange{From: rune(12303), To: rune(12303)},
+ &CodePointRange{From: rune(12304), To: rune(12304)},
+ &CodePointRange{From: rune(12305), To: rune(12305)},
+ &CodePointRange{From: rune(12306), To: rune(12307)},
+ &CodePointRange{From: rune(12308), To: rune(12308)},
+ &CodePointRange{From: rune(12309), To: rune(12309)},
+ &CodePointRange{From: rune(12310), To: rune(12310)},
+ &CodePointRange{From: rune(12311), To: rune(12311)},
+ &CodePointRange{From: rune(12312), To: rune(12312)},
+ &CodePointRange{From: rune(12313), To: rune(12313)},
+ &CodePointRange{From: rune(12314), To: rune(12314)},
+ &CodePointRange{From: rune(12315), To: rune(12315)},
+ &CodePointRange{From: rune(12316), To: rune(12316)},
+ &CodePointRange{From: rune(12317), To: rune(12317)},
+ &CodePointRange{From: rune(12318), To: rune(12319)},
+ &CodePointRange{From: rune(12320), To: rune(12320)},
+ &CodePointRange{From: rune(12336), To: rune(12336)},
+ &CodePointRange{From: rune(12337), To: rune(12341)},
+ &CodePointRange{From: rune(12342), To: rune(12343)},
+ &CodePointRange{From: rune(12348), To: rune(12348)},
+ &CodePointRange{From: rune(12349), To: rune(12349)},
+ &CodePointRange{From: rune(12350), To: rune(12351)},
+ &CodePointRange{From: rune(12443), To: rune(12444)},
+ &CodePointRange{From: rune(12448), To: rune(12448)},
+ &CodePointRange{From: rune(12539), To: rune(12539)},
+ &CodePointRange{From: rune(12540), To: rune(12540)},
+ &CodePointRange{From: rune(12688), To: rune(12689)},
+ &CodePointRange{From: rune(12690), To: rune(12693)},
+ &CodePointRange{From: rune(12694), To: rune(12703)},
+ &CodePointRange{From: rune(12736), To: rune(12771)},
+ &CodePointRange{From: rune(12832), To: rune(12841)},
+ &CodePointRange{From: rune(12842), To: rune(12871)},
+ &CodePointRange{From: rune(12872), To: rune(12879)},
+ &CodePointRange{From: rune(12880), To: rune(12880)},
+ &CodePointRange{From: rune(12881), To: rune(12895)},
+ &CodePointRange{From: rune(12927), To: rune(12927)},
+ &CodePointRange{From: rune(12928), To: rune(12937)},
+ &CodePointRange{From: rune(12938), To: rune(12976)},
+ &CodePointRange{From: rune(12977), To: rune(12991)},
+ &CodePointRange{From: rune(12992), To: rune(13007)},
+ &CodePointRange{From: rune(13055), To: rune(13055)},
+ &CodePointRange{From: rune(13144), To: rune(13311)},
+ &CodePointRange{From: rune(19904), To: rune(19967)},
+ &CodePointRange{From: rune(42752), To: rune(42774)},
+ &CodePointRange{From: rune(42775), To: rune(42783)},
+ &CodePointRange{From: rune(42784), To: rune(42785)},
+ &CodePointRange{From: rune(42888), To: rune(42888)},
+ &CodePointRange{From: rune(42889), To: rune(42890)},
+ &CodePointRange{From: rune(43056), To: rune(43061)},
+ &CodePointRange{From: rune(43062), To: rune(43063)},
+ &CodePointRange{From: rune(43064), To: rune(43064)},
+ &CodePointRange{From: rune(43065), To: rune(43065)},
+ &CodePointRange{From: rune(43310), To: rune(43310)},
+ &CodePointRange{From: rune(43471), To: rune(43471)},
+ &CodePointRange{From: rune(43867), To: rune(43867)},
+ &CodePointRange{From: rune(43882), To: rune(43883)},
+ &CodePointRange{From: rune(64830), To: rune(64830)},
+ &CodePointRange{From: rune(64831), To: rune(64831)},
+ &CodePointRange{From: rune(65040), To: rune(65046)},
+ &CodePointRange{From: rune(65047), To: rune(65047)},
+ &CodePointRange{From: rune(65048), To: rune(65048)},
+ &CodePointRange{From: rune(65049), To: rune(65049)},
+ &CodePointRange{From: rune(65072), To: rune(65072)},
+ &CodePointRange{From: rune(65073), To: rune(65074)},
+ &CodePointRange{From: rune(65075), To: rune(65076)},
+ &CodePointRange{From: rune(65077), To: rune(65077)},
+ &CodePointRange{From: rune(65078), To: rune(65078)},
+ &CodePointRange{From: rune(65079), To: rune(65079)},
+ &CodePointRange{From: rune(65080), To: rune(65080)},
+ &CodePointRange{From: rune(65081), To: rune(65081)},
+ &CodePointRange{From: rune(65082), To: rune(65082)},
+ &CodePointRange{From: rune(65083), To: rune(65083)},
+ &CodePointRange{From: rune(65084), To: rune(65084)},
+ &CodePointRange{From: rune(65085), To: rune(65085)},
+ &CodePointRange{From: rune(65086), To: rune(65086)},
+ &CodePointRange{From: rune(65087), To: rune(65087)},
+ &CodePointRange{From: rune(65088), To: rune(65088)},
+ &CodePointRange{From: rune(65089), To: rune(65089)},
+ &CodePointRange{From: rune(65090), To: rune(65090)},
+ &CodePointRange{From: rune(65091), To: rune(65091)},
+ &CodePointRange{From: rune(65092), To: rune(65092)},
+ &CodePointRange{From: rune(65093), To: rune(65094)},
+ &CodePointRange{From: rune(65095), To: rune(65095)},
+ &CodePointRange{From: rune(65096), To: rune(65096)},
+ &CodePointRange{From: rune(65097), To: rune(65100)},
+ &CodePointRange{From: rune(65101), To: rune(65103)},
+ &CodePointRange{From: rune(65104), To: rune(65106)},
+ &CodePointRange{From: rune(65108), To: rune(65111)},
+ &CodePointRange{From: rune(65112), To: rune(65112)},
+ &CodePointRange{From: rune(65113), To: rune(65113)},
+ &CodePointRange{From: rune(65114), To: rune(65114)},
+ &CodePointRange{From: rune(65115), To: rune(65115)},
+ &CodePointRange{From: rune(65116), To: rune(65116)},
+ &CodePointRange{From: rune(65117), To: rune(65117)},
+ &CodePointRange{From: rune(65118), To: rune(65118)},
+ &CodePointRange{From: rune(65119), To: rune(65121)},
+ &CodePointRange{From: rune(65122), To: rune(65122)},
+ &CodePointRange{From: rune(65123), To: rune(65123)},
+ &CodePointRange{From: rune(65124), To: rune(65126)},
+ &CodePointRange{From: rune(65128), To: rune(65128)},
+ &CodePointRange{From: rune(65129), To: rune(65129)},
+ &CodePointRange{From: rune(65130), To: rune(65131)},
+ &CodePointRange{From: rune(65279), To: rune(65279)},
+ &CodePointRange{From: rune(65281), To: rune(65283)},
+ &CodePointRange{From: rune(65284), To: rune(65284)},
+ &CodePointRange{From: rune(65285), To: rune(65287)},
+ &CodePointRange{From: rune(65288), To: rune(65288)},
+ &CodePointRange{From: rune(65289), To: rune(65289)},
+ &CodePointRange{From: rune(65290), To: rune(65290)},
+ &CodePointRange{From: rune(65291), To: rune(65291)},
+ &CodePointRange{From: rune(65292), To: rune(65292)},
+ &CodePointRange{From: rune(65293), To: rune(65293)},
+ &CodePointRange{From: rune(65294), To: rune(65295)},
+ &CodePointRange{From: rune(65296), To: rune(65305)},
+ &CodePointRange{From: rune(65306), To: rune(65307)},
+ &CodePointRange{From: rune(65308), To: rune(65310)},
+ &CodePointRange{From: rune(65311), To: rune(65312)},
+ &CodePointRange{From: rune(65339), To: rune(65339)},
+ &CodePointRange{From: rune(65340), To: rune(65340)},
+ &CodePointRange{From: rune(65341), To: rune(65341)},
+ &CodePointRange{From: rune(65342), To: rune(65342)},
+ &CodePointRange{From: rune(65343), To: rune(65343)},
+ &CodePointRange{From: rune(65344), To: rune(65344)},
+ &CodePointRange{From: rune(65371), To: rune(65371)},
+ &CodePointRange{From: rune(65372), To: rune(65372)},
+ &CodePointRange{From: rune(65373), To: rune(65373)},
+ &CodePointRange{From: rune(65374), To: rune(65374)},
+ &CodePointRange{From: rune(65375), To: rune(65375)},
+ &CodePointRange{From: rune(65376), To: rune(65376)},
+ &CodePointRange{From: rune(65377), To: rune(65377)},
+ &CodePointRange{From: rune(65378), To: rune(65378)},
+ &CodePointRange{From: rune(65379), To: rune(65379)},
+ &CodePointRange{From: rune(65380), To: rune(65381)},
+ &CodePointRange{From: rune(65392), To: rune(65392)},
+ &CodePointRange{From: rune(65438), To: rune(65439)},
+ &CodePointRange{From: rune(65504), To: rune(65505)},
+ &CodePointRange{From: rune(65506), To: rune(65506)},
+ &CodePointRange{From: rune(65507), To: rune(65507)},
+ &CodePointRange{From: rune(65508), To: rune(65508)},
+ &CodePointRange{From: rune(65509), To: rune(65510)},
+ &CodePointRange{From: rune(65512), To: rune(65512)},
+ &CodePointRange{From: rune(65513), To: rune(65516)},
+ &CodePointRange{From: rune(65517), To: rune(65518)},
+ &CodePointRange{From: rune(65529), To: rune(65531)},
+ &CodePointRange{From: rune(65532), To: rune(65533)},
+ &CodePointRange{From: rune(65792), To: rune(65794)},
+ &CodePointRange{From: rune(65799), To: rune(65843)},
+ &CodePointRange{From: rune(65847), To: rune(65855)},
+ &CodePointRange{From: rune(65936), To: rune(65948)},
+ &CodePointRange{From: rune(66000), To: rune(66044)},
+ &CodePointRange{From: rune(66273), To: rune(66299)},
+ &CodePointRange{From: rune(94178), To: rune(94178)},
+ &CodePointRange{From: rune(94179), To: rune(94179)},
+ &CodePointRange{From: rune(113824), To: rune(113827)},
+ &CodePointRange{From: rune(118784), To: rune(119029)},
+ &CodePointRange{From: rune(119040), To: rune(119078)},
+ &CodePointRange{From: rune(119081), To: rune(119140)},
+ &CodePointRange{From: rune(119141), To: rune(119142)},
+ &CodePointRange{From: rune(119146), To: rune(119148)},
+ &CodePointRange{From: rune(119149), To: rune(119154)},
+ &CodePointRange{From: rune(119155), To: rune(119162)},
+ &CodePointRange{From: rune(119171), To: rune(119172)},
+ &CodePointRange{From: rune(119180), To: rune(119209)},
+ &CodePointRange{From: rune(119214), To: rune(119272)},
+ &CodePointRange{From: rune(119520), To: rune(119539)},
+ &CodePointRange{From: rune(119552), To: rune(119638)},
+ &CodePointRange{From: rune(119648), To: rune(119672)},
+ &CodePointRange{From: rune(119808), To: rune(119892)},
+ &CodePointRange{From: rune(119894), To: rune(119964)},
+ &CodePointRange{From: rune(119966), To: rune(119967)},
+ &CodePointRange{From: rune(119970), To: rune(119970)},
+ &CodePointRange{From: rune(119973), To: rune(119974)},
+ &CodePointRange{From: rune(119977), To: rune(119980)},
+ &CodePointRange{From: rune(119982), To: rune(119993)},
+ &CodePointRange{From: rune(119995), To: rune(119995)},
+ &CodePointRange{From: rune(119997), To: rune(120003)},
+ &CodePointRange{From: rune(120005), To: rune(120069)},
+ &CodePointRange{From: rune(120071), To: rune(120074)},
+ &CodePointRange{From: rune(120077), To: rune(120084)},
+ &CodePointRange{From: rune(120086), To: rune(120092)},
+ &CodePointRange{From: rune(120094), To: rune(120121)},
+ &CodePointRange{From: rune(120123), To: rune(120126)},
+ &CodePointRange{From: rune(120128), To: rune(120132)},
+ &CodePointRange{From: rune(120134), To: rune(120134)},
+ &CodePointRange{From: rune(120138), To: rune(120144)},
+ &CodePointRange{From: rune(120146), To: rune(120485)},
+ &CodePointRange{From: rune(120488), To: rune(120512)},
+ &CodePointRange{From: rune(120513), To: rune(120513)},
+ &CodePointRange{From: rune(120514), To: rune(120538)},
+ &CodePointRange{From: rune(120539), To: rune(120539)},
+ &CodePointRange{From: rune(120540), To: rune(120570)},
+ &CodePointRange{From: rune(120571), To: rune(120571)},
+ &CodePointRange{From: rune(120572), To: rune(120596)},
+ &CodePointRange{From: rune(120597), To: rune(120597)},
+ &CodePointRange{From: rune(120598), To: rune(120628)},
+ &CodePointRange{From: rune(120629), To: rune(120629)},
+ &CodePointRange{From: rune(120630), To: rune(120654)},
+ &CodePointRange{From: rune(120655), To: rune(120655)},
+ &CodePointRange{From: rune(120656), To: rune(120686)},
+ &CodePointRange{From: rune(120687), To: rune(120687)},
+ &CodePointRange{From: rune(120688), To: rune(120712)},
+ &CodePointRange{From: rune(120713), To: rune(120713)},
+ &CodePointRange{From: rune(120714), To: rune(120744)},
+ &CodePointRange{From: rune(120745), To: rune(120745)},
+ &CodePointRange{From: rune(120746), To: rune(120770)},
+ &CodePointRange{From: rune(120771), To: rune(120771)},
+ &CodePointRange{From: rune(120772), To: rune(120779)},
+ &CodePointRange{From: rune(120782), To: rune(120831)},
+ &CodePointRange{From: rune(126065), To: rune(126123)},
+ &CodePointRange{From: rune(126124), To: rune(126124)},
+ &CodePointRange{From: rune(126125), To: rune(126127)},
+ &CodePointRange{From: rune(126128), To: rune(126128)},
+ &CodePointRange{From: rune(126129), To: rune(126132)},
+ &CodePointRange{From: rune(126209), To: rune(126253)},
+ &CodePointRange{From: rune(126254), To: rune(126254)},
+ &CodePointRange{From: rune(126255), To: rune(126269)},
+ &CodePointRange{From: rune(126976), To: rune(127019)},
+ &CodePointRange{From: rune(127024), To: rune(127123)},
+ &CodePointRange{From: rune(127136), To: rune(127150)},
+ &CodePointRange{From: rune(127153), To: rune(127167)},
+ &CodePointRange{From: rune(127169), To: rune(127183)},
+ &CodePointRange{From: rune(127185), To: rune(127221)},
+ &CodePointRange{From: rune(127232), To: rune(127244)},
+ &CodePointRange{From: rune(127245), To: rune(127405)},
+ &CodePointRange{From: rune(127462), To: rune(127487)},
+ &CodePointRange{From: rune(127489), To: rune(127490)},
+ &CodePointRange{From: rune(127504), To: rune(127547)},
+ &CodePointRange{From: rune(127552), To: rune(127560)},
+ &CodePointRange{From: rune(127568), To: rune(127569)},
+ &CodePointRange{From: rune(127584), To: rune(127589)},
+ &CodePointRange{From: rune(127744), To: rune(127994)},
+ &CodePointRange{From: rune(127995), To: rune(127999)},
+ &CodePointRange{From: rune(128000), To: rune(128727)},
+ &CodePointRange{From: rune(128736), To: rune(128748)},
+ &CodePointRange{From: rune(128752), To: rune(128764)},
+ &CodePointRange{From: rune(128768), To: rune(128883)},
+ &CodePointRange{From: rune(128896), To: rune(128984)},
+ &CodePointRange{From: rune(128992), To: rune(129003)},
+ &CodePointRange{From: rune(129024), To: rune(129035)},
+ &CodePointRange{From: rune(129040), To: rune(129095)},
+ &CodePointRange{From: rune(129104), To: rune(129113)},
+ &CodePointRange{From: rune(129120), To: rune(129159)},
+ &CodePointRange{From: rune(129168), To: rune(129197)},
+ &CodePointRange{From: rune(129200), To: rune(129201)},
+ &CodePointRange{From: rune(129280), To: rune(129400)},
+ &CodePointRange{From: rune(129402), To: rune(129483)},
+ &CodePointRange{From: rune(129485), To: rune(129619)},
+ &CodePointRange{From: rune(129632), To: rune(129645)},
+ &CodePointRange{From: rune(129648), To: rune(129652)},
+ &CodePointRange{From: rune(129656), To: rune(129658)},
+ &CodePointRange{From: rune(129664), To: rune(129670)},
+ &CodePointRange{From: rune(129680), To: rune(129704)},
+ &CodePointRange{From: rune(129712), To: rune(129718)},
+ &CodePointRange{From: rune(129728), To: rune(129730)},
+ &CodePointRange{From: rune(129744), To: rune(129750)},
+ &CodePointRange{From: rune(129792), To: rune(129938)},
+ &CodePointRange{From: rune(129940), To: rune(129994)},
+ &CodePointRange{From: rune(130032), To: rune(130041)},
+ &CodePointRange{From: rune(917505), To: rune(917505)},
+ &CodePointRange{From: rune(917536), To: rune(917631)},
+ },
+}
+
+// https://www.unicode.org/Public/13.0.0/ucd/PropList.txt
+var otherAlphabeticCodePoints = []*CodePointRange{
+ &CodePointRange{From: rune(837), To: rune(837)},
+ &CodePointRange{From: rune(1456), To: rune(1469)},
+ &CodePointRange{From: rune(1471), To: rune(1471)},
+ &CodePointRange{From: rune(1473), To: rune(1474)},
+ &CodePointRange{From: rune(1476), To: rune(1477)},
+ &CodePointRange{From: rune(1479), To: rune(1479)},
+ &CodePointRange{From: rune(1552), To: rune(1562)},
+ &CodePointRange{From: rune(1611), To: rune(1623)},
+ &CodePointRange{From: rune(1625), To: rune(1631)},
+ &CodePointRange{From: rune(1648), To: rune(1648)},
+ &CodePointRange{From: rune(1750), To: rune(1756)},
+ &CodePointRange{From: rune(1761), To: rune(1764)},
+ &CodePointRange{From: rune(1767), To: rune(1768)},
+ &CodePointRange{From: rune(1773), To: rune(1773)},
+ &CodePointRange{From: rune(1809), To: rune(1809)},
+ &CodePointRange{From: rune(1840), To: rune(1855)},
+ &CodePointRange{From: rune(1958), To: rune(1968)},
+ &CodePointRange{From: rune(2070), To: rune(2071)},
+ &CodePointRange{From: rune(2075), To: rune(2083)},
+ &CodePointRange{From: rune(2085), To: rune(2087)},
+ &CodePointRange{From: rune(2089), To: rune(2092)},
+ &CodePointRange{From: rune(2260), To: rune(2271)},
+ &CodePointRange{From: rune(2275), To: rune(2281)},
+ &CodePointRange{From: rune(2288), To: rune(2306)},
+ &CodePointRange{From: rune(2307), To: rune(2307)},
+ &CodePointRange{From: rune(2362), To: rune(2362)},
+ &CodePointRange{From: rune(2363), To: rune(2363)},
+ &CodePointRange{From: rune(2366), To: rune(2368)},
+ &CodePointRange{From: rune(2369), To: rune(2376)},
+ &CodePointRange{From: rune(2377), To: rune(2380)},
+ &CodePointRange{From: rune(2382), To: rune(2383)},
+ &CodePointRange{From: rune(2389), To: rune(2391)},
+ &CodePointRange{From: rune(2402), To: rune(2403)},
+ &CodePointRange{From: rune(2433), To: rune(2433)},
+ &CodePointRange{From: rune(2434), To: rune(2435)},
+ &CodePointRange{From: rune(2494), To: rune(2496)},
+ &CodePointRange{From: rune(2497), To: rune(2500)},
+ &CodePointRange{From: rune(2503), To: rune(2504)},
+ &CodePointRange{From: rune(2507), To: rune(2508)},
+ &CodePointRange{From: rune(2519), To: rune(2519)},
+ &CodePointRange{From: rune(2530), To: rune(2531)},
+ &CodePointRange{From: rune(2561), To: rune(2562)},
+ &CodePointRange{From: rune(2563), To: rune(2563)},
+ &CodePointRange{From: rune(2622), To: rune(2624)},
+ &CodePointRange{From: rune(2625), To: rune(2626)},
+ &CodePointRange{From: rune(2631), To: rune(2632)},
+ &CodePointRange{From: rune(2635), To: rune(2636)},
+ &CodePointRange{From: rune(2641), To: rune(2641)},
+ &CodePointRange{From: rune(2672), To: rune(2673)},
+ &CodePointRange{From: rune(2677), To: rune(2677)},
+ &CodePointRange{From: rune(2689), To: rune(2690)},
+ &CodePointRange{From: rune(2691), To: rune(2691)},
+ &CodePointRange{From: rune(2750), To: rune(2752)},
+ &CodePointRange{From: rune(2753), To: rune(2757)},
+ &CodePointRange{From: rune(2759), To: rune(2760)},
+ &CodePointRange{From: rune(2761), To: rune(2761)},
+ &CodePointRange{From: rune(2763), To: rune(2764)},
+ &CodePointRange{From: rune(2786), To: rune(2787)},
+ &CodePointRange{From: rune(2810), To: rune(2812)},
+ &CodePointRange{From: rune(2817), To: rune(2817)},
+ &CodePointRange{From: rune(2818), To: rune(2819)},
+ &CodePointRange{From: rune(2878), To: rune(2878)},
+ &CodePointRange{From: rune(2879), To: rune(2879)},
+ &CodePointRange{From: rune(2880), To: rune(2880)},
+ &CodePointRange{From: rune(2881), To: rune(2884)},
+ &CodePointRange{From: rune(2887), To: rune(2888)},
+ &CodePointRange{From: rune(2891), To: rune(2892)},
+ &CodePointRange{From: rune(2902), To: rune(2902)},
+ &CodePointRange{From: rune(2903), To: rune(2903)},
+ &CodePointRange{From: rune(2914), To: rune(2915)},
+ &CodePointRange{From: rune(2946), To: rune(2946)},
+ &CodePointRange{From: rune(3006), To: rune(3007)},
+ &CodePointRange{From: rune(3008), To: rune(3008)},
+ &CodePointRange{From: rune(3009), To: rune(3010)},
+ &CodePointRange{From: rune(3014), To: rune(3016)},
+ &CodePointRange{From: rune(3018), To: rune(3020)},
+ &CodePointRange{From: rune(3031), To: rune(3031)},
+ &CodePointRange{From: rune(3072), To: rune(3072)},
+ &CodePointRange{From: rune(3073), To: rune(3075)},
+ &CodePointRange{From: rune(3134), To: rune(3136)},
+ &CodePointRange{From: rune(3137), To: rune(3140)},
+ &CodePointRange{From: rune(3142), To: rune(3144)},
+ &CodePointRange{From: rune(3146), To: rune(3148)},
+ &CodePointRange{From: rune(3157), To: rune(3158)},
+ &CodePointRange{From: rune(3170), To: rune(3171)},
+ &CodePointRange{From: rune(3201), To: rune(3201)},
+ &CodePointRange{From: rune(3202), To: rune(3203)},
+ &CodePointRange{From: rune(3262), To: rune(3262)},
+ &CodePointRange{From: rune(3263), To: rune(3263)},
+ &CodePointRange{From: rune(3264), To: rune(3268)},
+ &CodePointRange{From: rune(3270), To: rune(3270)},
+ &CodePointRange{From: rune(3271), To: rune(3272)},
+ &CodePointRange{From: rune(3274), To: rune(3275)},
+ &CodePointRange{From: rune(3276), To: rune(3276)},
+ &CodePointRange{From: rune(3285), To: rune(3286)},
+ &CodePointRange{From: rune(3298), To: rune(3299)},
+ &CodePointRange{From: rune(3328), To: rune(3329)},
+ &CodePointRange{From: rune(3330), To: rune(3331)},
+ &CodePointRange{From: rune(3390), To: rune(3392)},
+ &CodePointRange{From: rune(3393), To: rune(3396)},
+ &CodePointRange{From: rune(3398), To: rune(3400)},
+ &CodePointRange{From: rune(3402), To: rune(3404)},
+ &CodePointRange{From: rune(3415), To: rune(3415)},
+ &CodePointRange{From: rune(3426), To: rune(3427)},
+ &CodePointRange{From: rune(3457), To: rune(3457)},
+ &CodePointRange{From: rune(3458), To: rune(3459)},
+ &CodePointRange{From: rune(3535), To: rune(3537)},
+ &CodePointRange{From: rune(3538), To: rune(3540)},
+ &CodePointRange{From: rune(3542), To: rune(3542)},
+ &CodePointRange{From: rune(3544), To: rune(3551)},
+ &CodePointRange{From: rune(3570), To: rune(3571)},
+ &CodePointRange{From: rune(3633), To: rune(3633)},
+ &CodePointRange{From: rune(3636), To: rune(3642)},
+ &CodePointRange{From: rune(3661), To: rune(3661)},
+ &CodePointRange{From: rune(3761), To: rune(3761)},
+ &CodePointRange{From: rune(3764), To: rune(3769)},
+ &CodePointRange{From: rune(3771), To: rune(3772)},
+ &CodePointRange{From: rune(3789), To: rune(3789)},
+ &CodePointRange{From: rune(3953), To: rune(3966)},
+ &CodePointRange{From: rune(3967), To: rune(3967)},
+ &CodePointRange{From: rune(3968), To: rune(3969)},
+ &CodePointRange{From: rune(3981), To: rune(3991)},
+ &CodePointRange{From: rune(3993), To: rune(4028)},
+ &CodePointRange{From: rune(4139), To: rune(4140)},
+ &CodePointRange{From: rune(4141), To: rune(4144)},
+ &CodePointRange{From: rune(4145), To: rune(4145)},
+ &CodePointRange{From: rune(4146), To: rune(4150)},
+ &CodePointRange{From: rune(4152), To: rune(4152)},
+ &CodePointRange{From: rune(4155), To: rune(4156)},
+ &CodePointRange{From: rune(4157), To: rune(4158)},
+ &CodePointRange{From: rune(4182), To: rune(4183)},
+ &CodePointRange{From: rune(4184), To: rune(4185)},
+ &CodePointRange{From: rune(4190), To: rune(4192)},
+ &CodePointRange{From: rune(4194), To: rune(4196)},
+ &CodePointRange{From: rune(4199), To: rune(4205)},
+ &CodePointRange{From: rune(4209), To: rune(4212)},
+ &CodePointRange{From: rune(4226), To: rune(4226)},
+ &CodePointRange{From: rune(4227), To: rune(4228)},
+ &CodePointRange{From: rune(4229), To: rune(4230)},
+ &CodePointRange{From: rune(4231), To: rune(4236)},
+ &CodePointRange{From: rune(4237), To: rune(4237)},
+ &CodePointRange{From: rune(4239), To: rune(4239)},
+ &CodePointRange{From: rune(4250), To: rune(4252)},
+ &CodePointRange{From: rune(4253), To: rune(4253)},
+ &CodePointRange{From: rune(5906), To: rune(5907)},
+ &CodePointRange{From: rune(5938), To: rune(5939)},
+ &CodePointRange{From: rune(5970), To: rune(5971)},
+ &CodePointRange{From: rune(6002), To: rune(6003)},
+ &CodePointRange{From: rune(6070), To: rune(6070)},
+ &CodePointRange{From: rune(6071), To: rune(6077)},
+ &CodePointRange{From: rune(6078), To: rune(6085)},
+ &CodePointRange{From: rune(6086), To: rune(6086)},
+ &CodePointRange{From: rune(6087), To: rune(6088)},
+ &CodePointRange{From: rune(6277), To: rune(6278)},
+ &CodePointRange{From: rune(6313), To: rune(6313)},
+ &CodePointRange{From: rune(6432), To: rune(6434)},
+ &CodePointRange{From: rune(6435), To: rune(6438)},
+ &CodePointRange{From: rune(6439), To: rune(6440)},
+ &CodePointRange{From: rune(6441), To: rune(6443)},
+ &CodePointRange{From: rune(6448), To: rune(6449)},
+ &CodePointRange{From: rune(6450), To: rune(6450)},
+ &CodePointRange{From: rune(6451), To: rune(6456)},
+ &CodePointRange{From: rune(6679), To: rune(6680)},
+ &CodePointRange{From: rune(6681), To: rune(6682)},
+ &CodePointRange{From: rune(6683), To: rune(6683)},
+ &CodePointRange{From: rune(6741), To: rune(6741)},
+ &CodePointRange{From: rune(6742), To: rune(6742)},
+ &CodePointRange{From: rune(6743), To: rune(6743)},
+ &CodePointRange{From: rune(6744), To: rune(6750)},
+ &CodePointRange{From: rune(6753), To: rune(6753)},
+ &CodePointRange{From: rune(6754), To: rune(6754)},
+ &CodePointRange{From: rune(6755), To: rune(6756)},
+ &CodePointRange{From: rune(6757), To: rune(6764)},
+ &CodePointRange{From: rune(6765), To: rune(6770)},
+ &CodePointRange{From: rune(6771), To: rune(6772)},
+ &CodePointRange{From: rune(6847), To: rune(6848)},
+ &CodePointRange{From: rune(6912), To: rune(6915)},
+ &CodePointRange{From: rune(6916), To: rune(6916)},
+ &CodePointRange{From: rune(6965), To: rune(6965)},
+ &CodePointRange{From: rune(6966), To: rune(6970)},
+ &CodePointRange{From: rune(6971), To: rune(6971)},
+ &CodePointRange{From: rune(6972), To: rune(6972)},
+ &CodePointRange{From: rune(6973), To: rune(6977)},
+ &CodePointRange{From: rune(6978), To: rune(6978)},
+ &CodePointRange{From: rune(6979), To: rune(6979)},
+ &CodePointRange{From: rune(7040), To: rune(7041)},
+ &CodePointRange{From: rune(7042), To: rune(7042)},
+ &CodePointRange{From: rune(7073), To: rune(7073)},
+ &CodePointRange{From: rune(7074), To: rune(7077)},
+ &CodePointRange{From: rune(7078), To: rune(7079)},
+ &CodePointRange{From: rune(7080), To: rune(7081)},
+ &CodePointRange{From: rune(7084), To: rune(7085)},
+ &CodePointRange{From: rune(7143), To: rune(7143)},
+ &CodePointRange{From: rune(7144), To: rune(7145)},
+ &CodePointRange{From: rune(7146), To: rune(7148)},
+ &CodePointRange{From: rune(7149), To: rune(7149)},
+ &CodePointRange{From: rune(7150), To: rune(7150)},
+ &CodePointRange{From: rune(7151), To: rune(7153)},
+ &CodePointRange{From: rune(7204), To: rune(7211)},
+ &CodePointRange{From: rune(7212), To: rune(7219)},
+ &CodePointRange{From: rune(7220), To: rune(7221)},
+ &CodePointRange{From: rune(7222), To: rune(7222)},
+ &CodePointRange{From: rune(7655), To: rune(7668)},
+ &CodePointRange{From: rune(9398), To: rune(9449)},
+ &CodePointRange{From: rune(11744), To: rune(11775)},
+ &CodePointRange{From: rune(42612), To: rune(42619)},
+ &CodePointRange{From: rune(42654), To: rune(42655)},
+ &CodePointRange{From: rune(43010), To: rune(43010)},
+ &CodePointRange{From: rune(43019), To: rune(43019)},
+ &CodePointRange{From: rune(43043), To: rune(43044)},
+ &CodePointRange{From: rune(43045), To: rune(43046)},
+ &CodePointRange{From: rune(43047), To: rune(43047)},
+ &CodePointRange{From: rune(43136), To: rune(43137)},
+ &CodePointRange{From: rune(43188), To: rune(43203)},
+ &CodePointRange{From: rune(43205), To: rune(43205)},
+ &CodePointRange{From: rune(43263), To: rune(43263)},
+ &CodePointRange{From: rune(43302), To: rune(43306)},
+ &CodePointRange{From: rune(43335), To: rune(43345)},
+ &CodePointRange{From: rune(43346), To: rune(43346)},
+ &CodePointRange{From: rune(43392), To: rune(43394)},
+ &CodePointRange{From: rune(43395), To: rune(43395)},
+ &CodePointRange{From: rune(43444), To: rune(43445)},
+ &CodePointRange{From: rune(43446), To: rune(43449)},
+ &CodePointRange{From: rune(43450), To: rune(43451)},
+ &CodePointRange{From: rune(43452), To: rune(43453)},
+ &CodePointRange{From: rune(43454), To: rune(43455)},
+ &CodePointRange{From: rune(43493), To: rune(43493)},
+ &CodePointRange{From: rune(43561), To: rune(43566)},
+ &CodePointRange{From: rune(43567), To: rune(43568)},
+ &CodePointRange{From: rune(43569), To: rune(43570)},
+ &CodePointRange{From: rune(43571), To: rune(43572)},
+ &CodePointRange{From: rune(43573), To: rune(43574)},
+ &CodePointRange{From: rune(43587), To: rune(43587)},
+ &CodePointRange{From: rune(43596), To: rune(43596)},
+ &CodePointRange{From: rune(43597), To: rune(43597)},
+ &CodePointRange{From: rune(43643), To: rune(43643)},
+ &CodePointRange{From: rune(43644), To: rune(43644)},
+ &CodePointRange{From: rune(43645), To: rune(43645)},
+ &CodePointRange{From: rune(43696), To: rune(43696)},
+ &CodePointRange{From: rune(43698), To: rune(43700)},
+ &CodePointRange{From: rune(43703), To: rune(43704)},
+ &CodePointRange{From: rune(43710), To: rune(43710)},
+ &CodePointRange{From: rune(43755), To: rune(43755)},
+ &CodePointRange{From: rune(43756), To: rune(43757)},
+ &CodePointRange{From: rune(43758), To: rune(43759)},
+ &CodePointRange{From: rune(43765), To: rune(43765)},
+ &CodePointRange{From: rune(44003), To: rune(44004)},
+ &CodePointRange{From: rune(44005), To: rune(44005)},
+ &CodePointRange{From: rune(44006), To: rune(44007)},
+ &CodePointRange{From: rune(44008), To: rune(44008)},
+ &CodePointRange{From: rune(44009), To: rune(44010)},
+ &CodePointRange{From: rune(64286), To: rune(64286)},
+ &CodePointRange{From: rune(66422), To: rune(66426)},
+ &CodePointRange{From: rune(68097), To: rune(68099)},
+ &CodePointRange{From: rune(68101), To: rune(68102)},
+ &CodePointRange{From: rune(68108), To: rune(68111)},
+ &CodePointRange{From: rune(68900), To: rune(68903)},
+ &CodePointRange{From: rune(69291), To: rune(69292)},
+ &CodePointRange{From: rune(69632), To: rune(69632)},
+ &CodePointRange{From: rune(69633), To: rune(69633)},
+ &CodePointRange{From: rune(69634), To: rune(69634)},
+ &CodePointRange{From: rune(69688), To: rune(69701)},
+ &CodePointRange{From: rune(69762), To: rune(69762)},
+ &CodePointRange{From: rune(69808), To: rune(69810)},
+ &CodePointRange{From: rune(69811), To: rune(69814)},
+ &CodePointRange{From: rune(69815), To: rune(69816)},
+ &CodePointRange{From: rune(69888), To: rune(69890)},
+ &CodePointRange{From: rune(69927), To: rune(69931)},
+ &CodePointRange{From: rune(69932), To: rune(69932)},
+ &CodePointRange{From: rune(69933), To: rune(69938)},
+ &CodePointRange{From: rune(69957), To: rune(69958)},
+ &CodePointRange{From: rune(70016), To: rune(70017)},
+ &CodePointRange{From: rune(70018), To: rune(70018)},
+ &CodePointRange{From: rune(70067), To: rune(70069)},
+ &CodePointRange{From: rune(70070), To: rune(70078)},
+ &CodePointRange{From: rune(70079), To: rune(70079)},
+ &CodePointRange{From: rune(70094), To: rune(70094)},
+ &CodePointRange{From: rune(70095), To: rune(70095)},
+ &CodePointRange{From: rune(70188), To: rune(70190)},
+ &CodePointRange{From: rune(70191), To: rune(70193)},
+ &CodePointRange{From: rune(70194), To: rune(70195)},
+ &CodePointRange{From: rune(70196), To: rune(70196)},
+ &CodePointRange{From: rune(70199), To: rune(70199)},
+ &CodePointRange{From: rune(70206), To: rune(70206)},
+ &CodePointRange{From: rune(70367), To: rune(70367)},
+ &CodePointRange{From: rune(70368), To: rune(70370)},
+ &CodePointRange{From: rune(70371), To: rune(70376)},
+ &CodePointRange{From: rune(70400), To: rune(70401)},
+ &CodePointRange{From: rune(70402), To: rune(70403)},
+ &CodePointRange{From: rune(70462), To: rune(70463)},
+ &CodePointRange{From: rune(70464), To: rune(70464)},
+ &CodePointRange{From: rune(70465), To: rune(70468)},
+ &CodePointRange{From: rune(70471), To: rune(70472)},
+ &CodePointRange{From: rune(70475), To: rune(70476)},
+ &CodePointRange{From: rune(70487), To: rune(70487)},
+ &CodePointRange{From: rune(70498), To: rune(70499)},
+ &CodePointRange{From: rune(70709), To: rune(70711)},
+ &CodePointRange{From: rune(70712), To: rune(70719)},
+ &CodePointRange{From: rune(70720), To: rune(70721)},
+ &CodePointRange{From: rune(70723), To: rune(70724)},
+ &CodePointRange{From: rune(70725), To: rune(70725)},
+ &CodePointRange{From: rune(70832), To: rune(70834)},
+ &CodePointRange{From: rune(70835), To: rune(70840)},
+ &CodePointRange{From: rune(70841), To: rune(70841)},
+ &CodePointRange{From: rune(70842), To: rune(70842)},
+ &CodePointRange{From: rune(70843), To: rune(70846)},
+ &CodePointRange{From: rune(70847), To: rune(70848)},
+ &CodePointRange{From: rune(70849), To: rune(70849)},
+ &CodePointRange{From: rune(71087), To: rune(71089)},
+ &CodePointRange{From: rune(71090), To: rune(71093)},
+ &CodePointRange{From: rune(71096), To: rune(71099)},
+ &CodePointRange{From: rune(71100), To: rune(71101)},
+ &CodePointRange{From: rune(71102), To: rune(71102)},
+ &CodePointRange{From: rune(71132), To: rune(71133)},
+ &CodePointRange{From: rune(71216), To: rune(71218)},
+ &CodePointRange{From: rune(71219), To: rune(71226)},
+ &CodePointRange{From: rune(71227), To: rune(71228)},
+ &CodePointRange{From: rune(71229), To: rune(71229)},
+ &CodePointRange{From: rune(71230), To: rune(71230)},
+ &CodePointRange{From: rune(71232), To: rune(71232)},
+ &CodePointRange{From: rune(71339), To: rune(71339)},
+ &CodePointRange{From: rune(71340), To: rune(71340)},
+ &CodePointRange{From: rune(71341), To: rune(71341)},
+ &CodePointRange{From: rune(71342), To: rune(71343)},
+ &CodePointRange{From: rune(71344), To: rune(71349)},
+ &CodePointRange{From: rune(71453), To: rune(71455)},
+ &CodePointRange{From: rune(71456), To: rune(71457)},
+ &CodePointRange{From: rune(71458), To: rune(71461)},
+ &CodePointRange{From: rune(71462), To: rune(71462)},
+ &CodePointRange{From: rune(71463), To: rune(71466)},
+ &CodePointRange{From: rune(71724), To: rune(71726)},
+ &CodePointRange{From: rune(71727), To: rune(71735)},
+ &CodePointRange{From: rune(71736), To: rune(71736)},
+ &CodePointRange{From: rune(71984), To: rune(71989)},
+ &CodePointRange{From: rune(71991), To: rune(71992)},
+ &CodePointRange{From: rune(71995), To: rune(71996)},
+ &CodePointRange{From: rune(72000), To: rune(72000)},
+ &CodePointRange{From: rune(72002), To: rune(72002)},
+ &CodePointRange{From: rune(72145), To: rune(72147)},
+ &CodePointRange{From: rune(72148), To: rune(72151)},
+ &CodePointRange{From: rune(72154), To: rune(72155)},
+ &CodePointRange{From: rune(72156), To: rune(72159)},
+ &CodePointRange{From: rune(72164), To: rune(72164)},
+ &CodePointRange{From: rune(72193), To: rune(72202)},
+ &CodePointRange{From: rune(72245), To: rune(72248)},
+ &CodePointRange{From: rune(72249), To: rune(72249)},
+ &CodePointRange{From: rune(72251), To: rune(72254)},
+ &CodePointRange{From: rune(72273), To: rune(72278)},
+ &CodePointRange{From: rune(72279), To: rune(72280)},
+ &CodePointRange{From: rune(72281), To: rune(72283)},
+ &CodePointRange{From: rune(72330), To: rune(72342)},
+ &CodePointRange{From: rune(72343), To: rune(72343)},
+ &CodePointRange{From: rune(72751), To: rune(72751)},
+ &CodePointRange{From: rune(72752), To: rune(72758)},
+ &CodePointRange{From: rune(72760), To: rune(72765)},
+ &CodePointRange{From: rune(72766), To: rune(72766)},
+ &CodePointRange{From: rune(72850), To: rune(72871)},
+ &CodePointRange{From: rune(72873), To: rune(72873)},
+ &CodePointRange{From: rune(72874), To: rune(72880)},
+ &CodePointRange{From: rune(72881), To: rune(72881)},
+ &CodePointRange{From: rune(72882), To: rune(72883)},
+ &CodePointRange{From: rune(72884), To: rune(72884)},
+ &CodePointRange{From: rune(72885), To: rune(72886)},
+ &CodePointRange{From: rune(73009), To: rune(73014)},
+ &CodePointRange{From: rune(73018), To: rune(73018)},
+ &CodePointRange{From: rune(73020), To: rune(73021)},
+ &CodePointRange{From: rune(73023), To: rune(73025)},
+ &CodePointRange{From: rune(73027), To: rune(73027)},
+ &CodePointRange{From: rune(73031), To: rune(73031)},
+ &CodePointRange{From: rune(73098), To: rune(73102)},
+ &CodePointRange{From: rune(73104), To: rune(73105)},
+ &CodePointRange{From: rune(73107), To: rune(73108)},
+ &CodePointRange{From: rune(73109), To: rune(73109)},
+ &CodePointRange{From: rune(73110), To: rune(73110)},
+ &CodePointRange{From: rune(73459), To: rune(73460)},
+ &CodePointRange{From: rune(73461), To: rune(73462)},
+ &CodePointRange{From: rune(94031), To: rune(94031)},
+ &CodePointRange{From: rune(94033), To: rune(94087)},
+ &CodePointRange{From: rune(94095), To: rune(94098)},
+ &CodePointRange{From: rune(94192), To: rune(94193)},
+ &CodePointRange{From: rune(113822), To: rune(113822)},
+ &CodePointRange{From: rune(122880), To: rune(122886)},
+ &CodePointRange{From: rune(122888), To: rune(122904)},
+ &CodePointRange{From: rune(122907), To: rune(122913)},
+ &CodePointRange{From: rune(122915), To: rune(122916)},
+ &CodePointRange{From: rune(122918), To: rune(122922)},
+ &CodePointRange{From: rune(125255), To: rune(125255)},
+ &CodePointRange{From: rune(127280), To: rune(127305)},
+ &CodePointRange{From: rune(127312), To: rune(127337)},
+ &CodePointRange{From: rune(127344), To: rune(127369)},
+}
+
+// https://www.unicode.org/Public/13.0.0/ucd/PropList.txt
+var otherLowercaseCodePoints = []*CodePointRange{
+ &CodePointRange{From: rune(170), To: rune(170)},
+ &CodePointRange{From: rune(186), To: rune(186)},
+ &CodePointRange{From: rune(688), To: rune(696)},
+ &CodePointRange{From: rune(704), To: rune(705)},
+ &CodePointRange{From: rune(736), To: rune(740)},
+ &CodePointRange{From: rune(837), To: rune(837)},
+ &CodePointRange{From: rune(890), To: rune(890)},
+ &CodePointRange{From: rune(7468), To: rune(7530)},
+ &CodePointRange{From: rune(7544), To: rune(7544)},
+ &CodePointRange{From: rune(7579), To: rune(7615)},
+ &CodePointRange{From: rune(8305), To: rune(8305)},
+ &CodePointRange{From: rune(8319), To: rune(8319)},
+ &CodePointRange{From: rune(8336), To: rune(8348)},
+ &CodePointRange{From: rune(8560), To: rune(8575)},
+ &CodePointRange{From: rune(9424), To: rune(9449)},
+ &CodePointRange{From: rune(11388), To: rune(11389)},
+ &CodePointRange{From: rune(42652), To: rune(42653)},
+ &CodePointRange{From: rune(42864), To: rune(42864)},
+ &CodePointRange{From: rune(43000), To: rune(43001)},
+ &CodePointRange{From: rune(43868), To: rune(43871)},
+}
+
+// https://www.unicode.org/Public/13.0.0/ucd/PropList.txt
+var otherUppercaseCodePoints = []*CodePointRange{
+ &CodePointRange{From: rune(8544), To: rune(8559)},
+ &CodePointRange{From: rune(9398), To: rune(9423)},
+ &CodePointRange{From: rune(127280), To: rune(127305)},
+ &CodePointRange{From: rune(127312), To: rune(127337)},
+ &CodePointRange{From: rune(127344), To: rune(127369)},
+}
+
+// https://www.unicode.org/Public/13.0.0/ucd/PropList.txt
+var whiteSpaceCodePoints = []*CodePointRange{
+ &CodePointRange{From: rune(9), To: rune(13)},
+ &CodePointRange{From: rune(32), To: rune(32)},
+ &CodePointRange{From: rune(133), To: rune(133)},
+ &CodePointRange{From: rune(160), To: rune(160)},
+ &CodePointRange{From: rune(5760), To: rune(5760)},
+ &CodePointRange{From: rune(8192), To: rune(8202)},
+ &CodePointRange{From: rune(8232), To: rune(8232)},
+ &CodePointRange{From: rune(8233), To: rune(8233)},
+ &CodePointRange{From: rune(8239), To: rune(8239)},
+ &CodePointRange{From: rune(8287), To: rune(8287)},
+ &CodePointRange{From: rune(12288), To: rune(12288)},
+}
+
+type CodePointRange struct {
+ From rune
+ To rune
+}
+
+var codePointRangeNil = &CodePointRange{
+ From: 0,
+ To: 0,
+}
+
+type field string
+
+func (f field) codePointRange() (*CodePointRange, error) {
+ var from, to rune
+ var err error
+ cp := reCodePointRange.FindStringSubmatch(string(f))
+ from, err = decodeHexToRune(cp[1])
+ if err != nil {
+ return codePointRangeNil, err
+ }
+ if cp[2] != "" {
+ to, err = decodeHexToRune(cp[2])
+ if err != nil {
+ return codePointRangeNil, err
+ }
+ } else {
+ to = from
+ }
+ return &CodePointRange{
+ From: from,
+ To: to,
+ }, nil
+}
+
+func decodeHexToRune(hexCodePoint string) (rune, error) {
+ h := hexCodePoint
+ if len(h)%2 != 0 {
+ h = "0" + h
+ }
+ b, err := hex.DecodeString(h)
+ if err != nil {
+ return 0, err
+ }
+ l := len(b)
+ for i := 0; i < 4-l; i++ {
+ b = append([]byte{0}, b...)
+ }
+ n := binary.BigEndian.Uint32(b)
+ return rune(n), nil
+}
+
+func (f field) symbol() string {
+ return string(f)
+}
+
+func (f field) normalizedSymbol() string {
+ return normalizeSymbolicValue(string(f))
+}
+
+var symValReplacer = strings.NewReplacer("_", "", "-", "", "\x20", "")
+
+// normalizeSymbolicValue normalizes a symbolic value. The normalized value meets UAX44-LM3.
+//
+// https://www.unicode.org/reports/tr44/#UAX44-LM3
+func normalizeSymbolicValue(s string) string {
+ v := strings.ToLower(symValReplacer.Replace(s))
+ if strings.HasPrefix(v, "is") && v != "is" {
+ return v[2:]
+ }
+ return v
+}
+
+var (
+ reLine = regexp.MustCompile(`^\s*(.*?)\s*(#.*)?$`)
+ reCodePointRange = regexp.MustCompile(`^([[:xdigit:]]+)(?:..([[:xdigit:]]+))?$`)
+
+ specialCommentPrefix = "# @missing:"
+)
+
+// This parser can parse data files of Unicode Character Database (UCD).
+// Specifically, it has the following two functions:
+// - Converts each line of the data files into a slice of fields.
+// - Recognizes specially-formatted comments starting `@missing` and generates a slice of fields.
+//
+// However, for practical purposes, each field needs to be analyzed more specifically.
+// For instance, in UnicodeData.txt, the first field represents a range of code points,
+// so it needs to be recognized as a hexadecimal string.
+// You can perform more specific parsing for each file by implementing a dedicated parser that wraps this parser.
+//
+// https://www.unicode.org/reports/tr44/#Format_Conventions
+type parser struct {
+ scanner *bufio.Scanner
+ fields []field
+ defaultFields []field
+ err error
+
+ fieldBuf []field
+ defaultFieldBuf []field
+}
+
+func newParser(r io.Reader) *parser {
+ return &parser{
+ scanner: bufio.NewScanner(r),
+ fieldBuf: make([]field, 50),
+ defaultFieldBuf: make([]field, 50),
+ }
+}
+
+func (p *parser) parse() bool {
+ for p.scanner.Scan() {
+ p.parseRecord(p.scanner.Text())
+ if p.fields != nil || p.defaultFields != nil {
+ return true
+ }
+ }
+ p.err = p.scanner.Err()
+ return false
+}
+
+func (p *parser) parseRecord(src string) {
+ ms := reLine.FindStringSubmatch(src)
+ mFields := ms[1]
+ mComment := ms[2]
+ if mFields != "" {
+ p.fields = parseFields(p.fieldBuf, mFields)
+ } else {
+ p.fields = nil
+ }
+ if strings.HasPrefix(mComment, specialCommentPrefix) {
+ p.defaultFields = parseFields(p.defaultFieldBuf, strings.Replace(mComment, specialCommentPrefix, "", -1))
+ } else {
+ p.defaultFields = nil
+ }
+}
+
+func parseFields(buf []field, src string) []field {
+ n := 0
+ for _, f := range strings.Split(src, ";") {
+ buf[n] = field(strings.TrimSpace(f))
+ n++
+ }
+
+ return buf[:n]
+}
+
+// contributoryProperties is a set of contributory properties vartan uses internally.
+// Property statuses are defined in the following table.
+//
+// https://unicode.org/reports/tr44/#Property_List_Table
+var contributoryProperties = []string{
+ "oalpha",
+ "olower",
+ "oupper",
+}
+
+func ContributoryProperties() []string {
+ return contributoryProperties
+}
+
+// https://www.unicode.org/reports/tr44/#GC_Values_Table
+var compositGeneralCategories = map[string][]string{
+ // Cased_Letter
+ "lc": {"lu", "ll", "lt"},
+ // Letter
+ "l": {"lu", "ll", "lt", "lm", "lo"},
+ // Mark
+ "m": {"mm", "mc", "me"},
+ // Number
+ "n": {"nd", "nl", "no"},
+ // Punctuation
+ "p": {"pc", "pd", "ps", "pi", "pe", "pf", "po"},
+ // Symbol
+ "s": {"sm", "sc", "sk", "so"},
+ // Separator
+ "z": {"zs", "zl", "zp"},
+ // Other
+ "c": {"cc", "cf", "cs", "co", "cn"},
+}
+
+// https://www.unicode.org/Public/13.0.0/ucd/DerivedCoreProperties.txt
+var derivedCoreProperties = map[string][]string{
+ // Alphabetic
+ "alpha": {
+ `\p{Lowercase=yes}`,
+ `\p{Uppercase=yes}`,
+ `\p{Lt}`,
+ `\p{Lm}`,
+ `\p{Lo}`,
+ `\p{Nl}`,
+ `\p{Other_Alphabetic=yes}`,
+ },
+ // Lowercase
+ "lower": {
+ `\p{Ll}`,
+ `\p{Other_Lowercase=yes}`,
+ },
+ // Uppercase
+ "upper": {
+ `\p{Lu}`,
+ `\p{Other_Uppercase=yes}`,
+ },
+}
+
+// https://www.unicode.org/Public/13.0.0/ucd/PropertyAliases.txt
+var propertyNameAbbs = map[string]string{
+ "generalcategory": "gc",
+ "gc": "gc",
+ "script": "sc",
+ "sc": "sc",
+ "alphabetic": "alpha",
+ "alpha": "alpha",
+ "otheralphabetic": "oalpha",
+ "oalpha": "oalpha",
+ "lowercase": "lower",
+ "lower": "lower",
+ "uppercase": "upper",
+ "upper": "upper",
+ "otherlowercase": "olower",
+ "olower": "olower",
+ "otheruppercase": "oupper",
+ "oupper": "oupper",
+ "whitespace": "wspace",
+ "wspace": "wspace",
+ "space": "wspace",
+}
+
+// https://www.unicode.org/reports/tr44/#Type_Key_Table
+// https://www.unicode.org/reports/tr44/#Binary_Values_Table
+var binaryValues = map[string]bool{
+ "yes": true,
+ "y": true,
+ "true": true,
+ "t": true,
+ "no": false,
+ "n": false,
+ "false": false,
+ "f": false,
+}
+
+type PropertyValueAliases struct {
+ GeneralCategory map[string]string
+ GeneralCategoryDefaultRange *CodePointRange
+ GeneralCategoryDefaultValue string
+
+ Script map[string]string
+}
+
+// ParsePropertyValueAliases parses the PropertyValueAliases.txt.
+func ParsePropertyValueAliases(r io.Reader) (*PropertyValueAliases, error) {
+ gcAbbs := map[string]string{}
+ var defaultGCCPRange *CodePointRange
+ var defaultGCVal string
+ scAbbs := map[string]string{}
+ p := newParser(r)
+ for p.parse() {
+ // https://www.unicode.org/reports/tr44/#Property_Value_Aliases
+ // > In PropertyValueAliases.txt, the first field contains the abbreviated alias for a Unicode property,
+ // > the second field specifies an abbreviated symbolic name for a value of that property, and the third
+ // > field specifies the long symbolic name for that value of that property. These are the preferred
+ // > aliases. Additional aliases for some property values may be specified in the fourth or subsequent
+ // > fields.
+ if len(p.fields) > 0 {
+ switch p.fields[0].symbol() {
+ case "gc":
+ gcShort := p.fields[1].normalizedSymbol()
+ gcLong := p.fields[2].normalizedSymbol()
+ gcAbbs[gcShort] = gcShort
+ gcAbbs[gcLong] = gcShort
+ for _, f := range p.fields[3:] {
+ gcShortOther := f.normalizedSymbol()
+ gcAbbs[gcShortOther] = gcShort
+ }
+ case "sc":
+ scShort := p.fields[1].normalizedSymbol()
+ scLong := p.fields[2].normalizedSymbol()
+ scAbbs[scShort] = scShort
+ scAbbs[scLong] = scShort
+ for _, f := range p.fields[3:] {
+ scShortOther := f.normalizedSymbol()
+ scAbbs[scShortOther] = scShort
+ }
+ }
+ }
+
+ // https://www.unicode.org/reports/tr44/#Missing_Conventions
+ // > @missing lines are also supplied for many properties in the file PropertyValueAliases.txt.
+ // > ...
+ // > there are currently two syntactic patterns used for @missing lines, as summarized schematically below:
+ // > 1. code_point_range; default_prop_val
+ // > 2. code_point_range; property_name; default_prop_val
+ // > ...
+ // > Pattern #2 is used in PropertyValueAliases.txt and in DerivedNormalizationProps.txt, both of which
+ // > contain values associated with many properties. For example:
+ // > # @missing: 0000..10FFFF; NFD_QC; Yes
+ if len(p.defaultFields) > 0 && p.defaultFields[1].symbol() == "General_Category" {
+ var err error
+ defaultGCCPRange, err = p.defaultFields[0].codePointRange()
+ if err != nil {
+ return nil, err
+ }
+ defaultGCVal = p.defaultFields[2].normalizedSymbol()
+ }
+ }
+ if p.err != nil {
+ return nil, p.err
+ }
+ return &PropertyValueAliases{
+ GeneralCategory: gcAbbs,
+ GeneralCategoryDefaultRange: defaultGCCPRange,
+ GeneralCategoryDefaultValue: defaultGCVal,
+ Script: scAbbs,
+ }, nil
+}
+
+func (a *PropertyValueAliases) gcAbb(gc string) string {
+ return a.GeneralCategory[gc]
+}
+
+type PropList struct {
+ OtherAlphabetic []*CodePointRange
+ OtherLowercase []*CodePointRange
+ OtherUppercase []*CodePointRange
+ WhiteSpace []*CodePointRange
+}
+
+// ParsePropList parses the PropList.txt.
+func ParsePropList(r io.Reader) (*PropList, error) {
+ var oa []*CodePointRange
+ var ol []*CodePointRange
+ var ou []*CodePointRange
+ var ws []*CodePointRange
+ p := newParser(r)
+ for p.parse() {
+ if len(p.fields) == 0 {
+ continue
+ }
+
+ cp, err := p.fields[0].codePointRange()
+ if err != nil {
+ return nil, err
+ }
+
+ switch p.fields[1].symbol() {
+ case "Other_Alphabetic":
+ oa = append(oa, cp)
+ case "Other_Lowercase":
+ ol = append(ol, cp)
+ case "Other_Uppercase":
+ ou = append(ou, cp)
+ case "White_Space":
+ ws = append(ws, cp)
+ }
+ }
+ if p.err != nil {
+ return nil, p.err
+ }
+
+ return &PropList{
+ OtherAlphabetic: oa,
+ OtherLowercase: ol,
+ OtherUppercase: ou,
+ WhiteSpace: ws,
+ }, nil
+}
+
+type Scripts struct {
+ Script map[string][]*CodePointRange
+ ScriptDefaultRange *CodePointRange
+ ScriptDefaultValue string
+}
+
+// ParseScripts parses the Scripts.txt.
+func ParseScripts(r io.Reader, propValAliases *PropertyValueAliases) (*Scripts, error) {
+ ss := map[string][]*CodePointRange{}
+ var defaultRange *CodePointRange
+ var defaultValue string
+ p := newParser(r)
+ for p.parse() {
+ if len(p.fields) > 0 {
+ cp, err := p.fields[0].codePointRange()
+ if err != nil {
+ return nil, err
+ }
+
+ name, ok := propValAliases.Script[p.fields[1].normalizedSymbol()]
+ if !ok {
+ return nil, fmt.Errorf("unknown property: %v", p.fields[1].symbol())
+ }
+ ss[name] = append(ss[name], cp)
+ }
+
+ if len(p.defaultFields) > 0 {
+ var err error
+ defaultRange, err = p.defaultFields[0].codePointRange()
+ if err != nil {
+ return nil, err
+ }
+ defaultValue = p.defaultFields[1].normalizedSymbol()
+ }
+ }
+ if p.err != nil {
+ return nil, p.err
+ }
+
+ return &Scripts{
+ Script: ss,
+ ScriptDefaultRange: defaultRange,
+ ScriptDefaultValue: defaultValue,
+ }, nil
+}
+
+type UnicodeData struct {
+ GeneralCategory map[string][]*CodePointRange
+
+ propValAliases *PropertyValueAliases
+}
+
+// ParseUnicodeData parses the UnicodeData.txt.
+func ParseUnicodeData(r io.Reader, propValAliases *PropertyValueAliases) (*UnicodeData, error) {
+ unicodeData := &UnicodeData{
+ GeneralCategory: map[string][]*CodePointRange{},
+ propValAliases: propValAliases,
+ }
+
+ p := newParser(r)
+ for p.parse() {
+ if len(p.fields) == 0 {
+ continue
+ }
+ cp, err := p.fields[0].codePointRange()
+ if err != nil {
+ return nil, err
+ }
+ gc := p.fields[2].normalizedSymbol()
+ unicodeData.addGC(gc, cp)
+ }
+ if p.err != nil {
+ return nil, p.err
+ }
+
+ return unicodeData, nil
+}
+
+func (u *UnicodeData) addGC(gc string, cp *CodePointRange) {
+ // https://www.unicode.org/reports/tr44/#Empty_Fields
+ // > The data file UnicodeData.txt defines many property values in each record. When a field in a data line
+ // > for a code point is empty, that indicates that the property takes the default value for that code point.
+ if gc == "" {
+ return
+ }
+
+ cps, ok := u.GeneralCategory[u.propValAliases.gcAbb(gc)]
+ if ok {
+ c := cps[len(cps)-1]
+ if cp.From-c.To == 1 {
+ c.To = cp.To
+ } else {
+ u.GeneralCategory[u.propValAliases.gcAbb(gc)] = append(cps, cp)
+ }
+ } else {
+ u.GeneralCategory[u.propValAliases.gcAbb(gc)] = []*CodePointRange{cp}
+ }
+}