普通文本  |  1147行  |  51.15 KB

/*
 * Copyright (C) 2018 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

// Internal data for approx-script.cc; see approx-script-data.h
//
// DO NOT EDIT BY HAND
//
// Generated by
// lang_id/script/update-script-data.sh

#include "lang_id/script/approx-script-data.h"

namespace libtextclassifier3 {
namespace mobile {
namespace approx_script_internal {

const int kNumRanges = 367;

const uint32 kRangeFirst[] = {
  65,  // Range #0: [65, 90, Latin]
  97,  // Range #1: [97, 122, Latin]
  170,  // Range #2: [170, 170, Latin]
  186,  // Range #3: [186, 186, Latin]
  192,  // Range #4: [192, 214, Latin]
  216,  // Range #5: [216, 246, Latin]
  248,  // Range #6: [248, 696, Latin]
  736,  // Range #7: [736, 740, Latin]
  746,  // Range #8: [746, 747, Bopomofo]
  880,  // Range #9: [880, 883, Greek]
  885,  // Range #10: [885, 893, Greek]
  895,  // Range #11: [895, 900, Greek]
  902,  // Range #12: [902, 902, Greek]
  904,  // Range #13: [904, 993, Greek]
  994,  // Range #14: [994, 1007, Coptic]
  1008,  // Range #15: [1008, 1023, Greek]
  1024,  // Range #16: [1024, 1156, Cyrillic]
  1159,  // Range #17: [1159, 1327, Cyrillic]
  1329,  // Range #18: [1329, 1416, Armenian]
  1418,  // Range #19: [1418, 1423, Armenian]
  1425,  // Range #20: [1425, 1479, Hebrew]
  1488,  // Range #21: [1488, 1524, Hebrew]
  1536,  // Range #22: [1536, 1540, Arabic]
  1542,  // Range #23: [1542, 1547, Arabic]
  1549,  // Range #24: [1549, 1562, Arabic]
  1564,  // Range #25: [1564, 1566, Arabic]
  1568,  // Range #26: [1568, 1599, Arabic]
  1601,  // Range #27: [1601, 1610, Arabic]
  1622,  // Range #28: [1622, 1647, Arabic]
  1649,  // Range #29: [1649, 1756, Arabic]
  1758,  // Range #30: [1758, 1791, Arabic]
  1792,  // Range #31: [1792, 1871, Syriac]
  1872,  // Range #32: [1872, 1919, Arabic]
  1920,  // Range #33: [1920, 1969, Thaana]
  1984,  // Range #34: [1984, 2047, Nko]
  2048,  // Range #35: [2048, 2110, Samaritan]
  2112,  // Range #36: [2112, 2142, Mandaic]
  2144,  // Range #37: [2144, 2154, Syriac]
  2208,  // Range #38: [2208, 2237, Arabic]
  2259,  // Range #39: [2259, 2273, Arabic]
  2275,  // Range #40: [2275, 2303, Arabic]
  2304,  // Range #41: [2304, 2384, Devanagari]
  2389,  // Range #42: [2389, 2403, Devanagari]
  2406,  // Range #43: [2406, 2431, Devanagari]
  2432,  // Range #44: [2432, 2510, Bengali]
  2519,  // Range #45: [2519, 2558, Bengali]
  2561,  // Range #46: [2561, 2641, Gurmukhi]
  2649,  // Range #47: [2649, 2654, Gurmukhi]
  2662,  // Range #48: [2662, 2678, Gurmukhi]
  2689,  // Range #49: [2689, 2768, Gujarati]
  2784,  // Range #50: [2784, 2801, Gujarati]
  2809,  // Range #51: [2809, 2815, Gujarati]
  2817,  // Range #52: [2817, 2893, Oriya]
  2902,  // Range #53: [2902, 2935, Oriya]
  2946,  // Range #54: [2946, 3024, Tamil]
  3031,  // Range #55: [3031, 3031, Tamil]
  3046,  // Range #56: [3046, 3066, Tamil]
  3072,  // Range #57: [3072, 3149, Telugu]
  3157,  // Range #58: [3157, 3162, Telugu]
  3168,  // Range #59: [3168, 3183, Telugu]
  3191,  // Range #60: [3191, 3199, Telugu]
  3200,  // Range #61: [3200, 3277, Kannada]
  3285,  // Range #62: [3285, 3286, Kannada]
  3294,  // Range #63: [3294, 3314, Kannada]
  3328,  // Range #64: [3328, 3455, Malayalam]
  3458,  // Range #65: [3458, 3551, Sinhala]
  3558,  // Range #66: [3558, 3572, Sinhala]
  3585,  // Range #67: [3585, 3642, Thai]
  3648,  // Range #68: [3648, 3675, Thai]
  3713,  // Range #69: [3713, 3807, Lao]
  3840,  // Range #70: [3840, 4052, Tibetan]
  4057,  // Range #71: [4057, 4058, Tibetan]
  4096,  // Range #72: [4096, 4255, Myanmar]
  4256,  // Range #73: [4256, 4295, Georgian]
  4301,  // Range #74: [4301, 4346, Georgian]
  4348,  // Range #75: [4348, 4351, Georgian]
  4352,  // Range #76: [4352, 4607, Hangul]
  4608,  // Range #77: [4608, 5017, Ethiopic]
  5024,  // Range #78: [5024, 5117, Cherokee]
  5120,  // Range #79: [5120, 5759, Canadian_Aboriginal]
  5760,  // Range #80: [5760, 5788, Ogham]
  5792,  // Range #81: [5792, 5866, Runic]
  5870,  // Range #82: [5870, 5880, Runic]
  5888,  // Range #83: [5888, 5908, Tagalog]
  5920,  // Range #84: [5920, 5940, Hanunoo]
  5952,  // Range #85: [5952, 5971, Buhid]
  5984,  // Range #86: [5984, 6003, Tagbanwa]
  6016,  // Range #87: [6016, 6121, Khmer]
  6128,  // Range #88: [6128, 6137, Khmer]
  6144,  // Range #89: [6144, 6145, Mongolian]
  6148,  // Range #90: [6148, 6148, Mongolian]
  6150,  // Range #91: [6150, 6169, Mongolian]
  6176,  // Range #92: [6176, 6264, Mongolian]
  6272,  // Range #93: [6272, 6314, Mongolian]
  6320,  // Range #94: [6320, 6389, Canadian_Aboriginal]
  6400,  // Range #95: [6400, 6479, Limbu]
  6480,  // Range #96: [6480, 6516, Tai_Le]
  6528,  // Range #97: [6528, 6601, New_Tai_Lue]
  6608,  // Range #98: [6608, 6623, New_Tai_Lue]
  6624,  // Range #99: [6624, 6655, Khmer]
  6656,  // Range #100: [6656, 6687, Buginese]
  6688,  // Range #101: [6688, 6793, Tai_Tham]
  6800,  // Range #102: [6800, 6809, Tai_Tham]
  6816,  // Range #103: [6816, 6829, Tai_Tham]
  6912,  // Range #104: [6912, 7036, Balinese]
  7040,  // Range #105: [7040, 7103, Sundanese]
  7104,  // Range #106: [7104, 7155, Batak]
  7164,  // Range #107: [7164, 7167, Batak]
  7168,  // Range #108: [7168, 7247, Lepcha]
  7248,  // Range #109: [7248, 7295, Ol_Chiki]
  7296,  // Range #110: [7296, 7304, Cyrillic]
  7312,  // Range #111: [7312, 7359, Georgian]
  7360,  // Range #112: [7360, 7367, Sundanese]
  7424,  // Range #113: [7424, 7461, Latin]
  7462,  // Range #114: [7462, 7466, Greek]
  7467,  // Range #115: [7467, 7467, Cyrillic]
  7468,  // Range #116: [7468, 7516, Latin]
  7517,  // Range #117: [7517, 7521, Greek]
  7522,  // Range #118: [7522, 7525, Latin]
  7526,  // Range #119: [7526, 7530, Greek]
  7531,  // Range #120: [7531, 7543, Latin]
  7544,  // Range #121: [7544, 7544, Cyrillic]
  7545,  // Range #122: [7545, 7614, Latin]
  7615,  // Range #123: [7615, 7615, Greek]
  7680,  // Range #124: [7680, 7935, Latin]
  7936,  // Range #125: [7936, 8190, Greek]
  8305,  // Range #126: [8305, 8305, Latin]
  8319,  // Range #127: [8319, 8319, Latin]
  8336,  // Range #128: [8336, 8348, Latin]
  8486,  // Range #129: [8486, 8486, Greek]
  8490,  // Range #130: [8490, 8491, Latin]
  8498,  // Range #131: [8498, 8498, Latin]
  8526,  // Range #132: [8526, 8526, Latin]
  8544,  // Range #133: [8544, 8584, Latin]
  10240,  // Range #134: [10240, 10495, Braille]
  11264,  // Range #135: [11264, 11358, Glagolitic]
  11360,  // Range #136: [11360, 11391, Latin]
  11392,  // Range #137: [11392, 11507, Coptic]
  11513,  // Range #138: [11513, 11519, Coptic]
  11520,  // Range #139: [11520, 11559, Georgian]
  11565,  // Range #140: [11565, 11565, Georgian]
  11568,  // Range #141: [11568, 11623, Tifinagh]
  11631,  // Range #142: [11631, 11632, Tifinagh]
  11647,  // Range #143: [11647, 11647, Tifinagh]
  11648,  // Range #144: [11648, 11670, Ethiopic]
  11680,  // Range #145: [11680, 11742, Ethiopic]
  11744,  // Range #146: [11744, 11775, Cyrillic]
  11904,  // Range #147: [11904, 12019, Han]
  12032,  // Range #148: [12032, 12245, Han]
  12293,  // Range #149: [12293, 12293, Han]
  12295,  // Range #150: [12295, 12295, Han]
  12321,  // Range #151: [12321, 12329, Han]
  12334,  // Range #152: [12334, 12335, Hangul]
  12344,  // Range #153: [12344, 12347, Han]
  12353,  // Range #154: [12353, 12438, Hiragana]
  12445,  // Range #155: [12445, 12447, Hiragana]
  12449,  // Range #156: [12449, 12538, Katakana]
  12541,  // Range #157: [12541, 12543, Katakana]
  12549,  // Range #158: [12549, 12591, Bopomofo]
  12593,  // Range #159: [12593, 12686, Hangul]
  12704,  // Range #160: [12704, 12730, Bopomofo]
  12784,  // Range #161: [12784, 12799, Katakana]
  12800,  // Range #162: [12800, 12830, Hangul]
  12896,  // Range #163: [12896, 12926, Hangul]
  13008,  // Range #164: [13008, 13054, Katakana]
  13056,  // Range #165: [13056, 13143, Katakana]
  13312,  // Range #166: [13312, 19893, Han]
  19968,  // Range #167: [19968, 40943, Han]
  40960,  // Range #168: [40960, 42182, Yi]
  42192,  // Range #169: [42192, 42239, Lisu]
  42240,  // Range #170: [42240, 42539, Vai]
  42560,  // Range #171: [42560, 42655, Cyrillic]
  42656,  // Range #172: [42656, 42743, Bamum]
  42786,  // Range #173: [42786, 42887, Latin]
  42891,  // Range #174: [42891, 42950, Latin]
  42999,  // Range #175: [42999, 43007, Latin]
  43008,  // Range #176: [43008, 43051, Syloti_Nagri]
  43072,  // Range #177: [43072, 43127, Phags_Pa]
  43136,  // Range #178: [43136, 43205, Saurashtra]
  43214,  // Range #179: [43214, 43225, Saurashtra]
  43232,  // Range #180: [43232, 43263, Devanagari]
  43264,  // Range #181: [43264, 43309, Kayah_Li]
  43311,  // Range #182: [43311, 43311, Kayah_Li]
  43312,  // Range #183: [43312, 43347, Rejang]
  43359,  // Range #184: [43359, 43359, Rejang]
  43360,  // Range #185: [43360, 43388, Hangul]
  43392,  // Range #186: [43392, 43469, Javanese]
  43472,  // Range #187: [43472, 43487, Javanese]
  43488,  // Range #188: [43488, 43518, Myanmar]
  43520,  // Range #189: [43520, 43574, Cham]
  43584,  // Range #190: [43584, 43615, Cham]
  43616,  // Range #191: [43616, 43647, Myanmar]
  43648,  // Range #192: [43648, 43714, Tai_Viet]
  43739,  // Range #193: [43739, 43743, Tai_Viet]
  43744,  // Range #194: [43744, 43766, Meetei_Mayek]
  43777,  // Range #195: [43777, 43798, Ethiopic]
  43808,  // Range #196: [43808, 43822, Ethiopic]
  43824,  // Range #197: [43824, 43866, Latin]
  43868,  // Range #198: [43868, 43876, Latin]
  43877,  // Range #199: [43877, 43877, Greek]
  43878,  // Range #200: [43878, 43879, Latin]
  43888,  // Range #201: [43888, 43967, Cherokee]
  43968,  // Range #202: [43968, 44025, Meetei_Mayek]
  44032,  // Range #203: [44032, 55203, Hangul]
  55216,  // Range #204: [55216, 55291, Hangul]
  63744,  // Range #205: [63744, 64217, Han]
  64256,  // Range #206: [64256, 64262, Latin]
  64275,  // Range #207: [64275, 64279, Armenian]
  64285,  // Range #208: [64285, 64335, Hebrew]
  64336,  // Range #209: [64336, 64449, Arabic]
  64467,  // Range #210: [64467, 64829, Arabic]
  64848,  // Range #211: [64848, 64967, Arabic]
  65008,  // Range #212: [65008, 65021, Arabic]
  65070,  // Range #213: [65070, 65071, Cyrillic]
  65136,  // Range #214: [65136, 65276, Arabic]
  65313,  // Range #215: [65313, 65338, Latin]
  65345,  // Range #216: [65345, 65370, Latin]
  65382,  // Range #217: [65382, 65391, Katakana]
  65393,  // Range #218: [65393, 65437, Katakana]
  65440,  // Range #219: [65440, 65500, Hangul]
  65536,  // Range #220: [65536, 65629, Linear_B]
  65664,  // Range #221: [65664, 65786, Linear_B]
  65856,  // Range #222: [65856, 65934, Greek]
  65952,  // Range #223: [65952, 65952, Greek]
  66176,  // Range #224: [66176, 66204, Lycian]
  66208,  // Range #225: [66208, 66256, Carian]
  66304,  // Range #226: [66304, 66339, Old_Italic]
  66349,  // Range #227: [66349, 66351, Old_Italic]
  66352,  // Range #228: [66352, 66378, Gothic]
  66384,  // Range #229: [66384, 66426, Old_Permic]
  66432,  // Range #230: [66432, 66463, Ugaritic]
  66464,  // Range #231: [66464, 66517, Old_Persian]
  66560,  // Range #232: [66560, 66639, Deseret]
  66640,  // Range #233: [66640, 66687, Shavian]
  66688,  // Range #234: [66688, 66729, Osmanya]
  66736,  // Range #235: [66736, 66811, Osage]
  66816,  // Range #236: [66816, 66855, Elbasan]
  66864,  // Range #237: [66864, 66915, Caucasian_Albanian]
  66927,  // Range #238: [66927, 66927, Caucasian_Albanian]
  67072,  // Range #239: [67072, 67382, Linear_A]
  67392,  // Range #240: [67392, 67413, Linear_A]
  67424,  // Range #241: [67424, 67431, Linear_A]
  67584,  // Range #242: [67584, 67647, Cypriot]
  67648,  // Range #243: [67648, 67679, Imperial_Aramaic]
  67680,  // Range #244: [67680, 67711, Palmyrene]
  67712,  // Range #245: [67712, 67742, Nabataean]
  67751,  // Range #246: [67751, 67759, Nabataean]
  67808,  // Range #247: [67808, 67829, Hatran]
  67835,  // Range #248: [67835, 67839, Hatran]
  67840,  // Range #249: [67840, 67871, Phoenician]
  67872,  // Range #250: [67872, 67897, Lydian]
  67903,  // Range #251: [67903, 67903, Lydian]
  67968,  // Range #252: [67968, 67999, Meroitic_Hieroglyphs]
  68000,  // Range #253: [68000, 68095, Meroitic_Cursive]
  68096,  // Range #254: [68096, 68102, Kharoshthi]
  68108,  // Range #255: [68108, 68168, Kharoshthi]
  68176,  // Range #256: [68176, 68184, Kharoshthi]
  68192,  // Range #257: [68192, 68223, Old_South_Arabian]
  68224,  // Range #258: [68224, 68255, Old_North_Arabian]
  68288,  // Range #259: [68288, 68342, Manichaean]
  68352,  // Range #260: [68352, 68415, Avestan]
  68416,  // Range #261: [68416, 68447, Inscriptional_Parthian]
  68448,  // Range #262: [68448, 68466, Inscriptional_Pahlavi]
  68472,  // Range #263: [68472, 68479, Inscriptional_Pahlavi]
  68480,  // Range #264: [68480, 68497, Psalter_Pahlavi]
  68505,  // Range #265: [68505, 68508, Psalter_Pahlavi]
  68521,  // Range #266: [68521, 68527, Psalter_Pahlavi]
  68608,  // Range #267: [68608, 68680, Old_Turkic]
  68736,  // Range #268: [68736, 68786, Old_Hungarian]
  68800,  // Range #269: [68800, 68850, Old_Hungarian]
  68858,  // Range #270: [68858, 68863, Old_Hungarian]
  68864,  // Range #271: [68864, 68903, Hanifi_Rohingya]
  68912,  // Range #272: [68912, 68921, Hanifi_Rohingya]
  69216,  // Range #273: [69216, 69246, Arabic]
  69376,  // Range #274: [69376, 69415, Old_Sogdian]
  69424,  // Range #275: [69424, 69465, Sogdian]
  69600,  // Range #276: [69600, 69622, Elymaic]
  69632,  // Range #277: [69632, 69743, Brahmi]
  69759,  // Range #278: [69759, 69759, Brahmi]
  69760,  // Range #279: [69760, 69825, Kaithi]
  69837,  // Range #280: [69837, 69837, Kaithi]
  69840,  // Range #281: [69840, 69864, Sora_Sompeng]
  69872,  // Range #282: [69872, 69881, Sora_Sompeng]
  69888,  // Range #283: [69888, 69958, Chakma]
  69968,  // Range #284: [69968, 70006, Mahajani]
  70016,  // Range #285: [70016, 70111, Sharada]
  70113,  // Range #286: [70113, 70132, Sinhala]
  70144,  // Range #287: [70144, 70206, Khojki]
  70272,  // Range #288: [70272, 70313, Multani]
  70320,  // Range #289: [70320, 70378, Khudawadi]
  70384,  // Range #290: [70384, 70393, Khudawadi]
  70400,  // Range #291: [70400, 70457, Grantha]
  70460,  // Range #292: [70460, 70480, Grantha]
  70487,  // Range #293: [70487, 70487, Grantha]
  70493,  // Range #294: [70493, 70516, Grantha]
  70656,  // Range #295: [70656, 70751, Newa]
  70784,  // Range #296: [70784, 70855, Tirhuta]
  70864,  // Range #297: [70864, 70873, Tirhuta]
  71040,  // Range #298: [71040, 71133, Siddham]
  71168,  // Range #299: [71168, 71236, Modi]
  71248,  // Range #300: [71248, 71257, Modi]
  71264,  // Range #301: [71264, 71276, Mongolian]
  71296,  // Range #302: [71296, 71352, Takri]
  71360,  // Range #303: [71360, 71369, Takri]
  71424,  // Range #304: [71424, 71487, Ahom]
  71680,  // Range #305: [71680, 71739, Dogra]
  71840,  // Range #306: [71840, 71922, Warang_Citi]
  71935,  // Range #307: [71935, 71935, Warang_Citi]
  72096,  // Range #308: [72096, 72164, Nandinagari]
  72192,  // Range #309: [72192, 72263, Zanabazar_Square]
  72272,  // Range #310: [72272, 72354, Soyombo]
  72384,  // Range #311: [72384, 72440, Pau_Cin_Hau]
  72704,  // Range #312: [72704, 72773, Bhaiksuki]
  72784,  // Range #313: [72784, 72812, Bhaiksuki]
  72816,  // Range #314: [72816, 72886, Marchen]
  72960,  // Range #315: [72960, 73031, Masaram_Gondi]
  73040,  // Range #316: [73040, 73049, Masaram_Gondi]
  73056,  // Range #317: [73056, 73112, Gunjala_Gondi]
  73120,  // Range #318: [73120, 73129, Gunjala_Gondi]
  73440,  // Range #319: [73440, 73464, Makasar]
  73664,  // Range #320: [73664, 73713, Tamil]
  73727,  // Range #321: [73727, 73727, Tamil]
  73728,  // Range #322: [73728, 74649, Cuneiform]
  74752,  // Range #323: [74752, 74868, Cuneiform]
  74880,  // Range #324: [74880, 75075, Cuneiform]
  77824,  // Range #325: [77824, 78904, Egyptian_Hieroglyphs]
  82944,  // Range #326: [82944, 83526, Anatolian_Hieroglyphs]
  92160,  // Range #327: [92160, 92728, Bamum]
  92736,  // Range #328: [92736, 92783, Mro]
  92880,  // Range #329: [92880, 92917, Bassa_Vah]
  92928,  // Range #330: [92928, 92997, Pahawh_Hmong]
  93008,  // Range #331: [93008, 93047, Pahawh_Hmong]
  93053,  // Range #332: [93053, 93071, Pahawh_Hmong]
  93760,  // Range #333: [93760, 93850, Medefaidrin]
  93952,  // Range #334: [93952, 94087, Miao]
  94095,  // Range #335: [94095, 94111, Miao]
  94176,  // Range #336: [94176, 94176, Tangut]
  94177,  // Range #337: [94177, 94177, Nushu]
  94208,  // Range #338: [94208, 100343, Tangut]
  100352,  // Range #339: [100352, 101106, Tangut]
  110592,  // Range #340: [110592, 110592, Katakana]
  110593,  // Range #341: [110593, 110878, Hiragana]
  110928,  // Range #342: [110928, 110930, Hiragana]
  110948,  // Range #343: [110948, 110951, Katakana]
  110960,  // Range #344: [110960, 111355, Nushu]
  113664,  // Range #345: [113664, 113770, Duployan]
  113776,  // Range #346: [113776, 113800, Duployan]
  113808,  // Range #347: [113808, 113823, Duployan]
  119296,  // Range #348: [119296, 119365, Greek]
  120832,  // Range #349: [120832, 121483, SignWriting]
  121499,  // Range #350: [121499, 121519, SignWriting]
  122880,  // Range #351: [122880, 122922, Glagolitic]
  123136,  // Range #352: [123136, 123215, Nyiakeng_Puachue_Hmong]
  123584,  // Range #353: [123584, 123641, Wancho]
  123647,  // Range #354: [123647, 123647, Wancho]
  124928,  // Range #355: [124928, 125142, Mende_Kikakui]
  125184,  // Range #356: [125184, 125279, Adlam]
  126464,  // Range #357: [126464, 126523, Arabic]
  126530,  // Range #358: [126530, 126619, Arabic]
  126625,  // Range #359: [126625, 126651, Arabic]
  126704,  // Range #360: [126704, 126705, Arabic]
  127488,  // Range #361: [127488, 127488, Hiragana]
  131072,  // Range #362: [131072, 173782, Han]
  173824,  // Range #363: [173824, 177972, Han]
  177984,  // Range #364: [177984, 183969, Han]
  183984,  // Range #365: [183984, 191456, Han]
  194560,  // Range #366: [194560, 195101, Han]
};

const uint16 kRangeSizeMinusOne[] = {
  25,  // Range #0: [65, 90, Latin]
  25,  // Range #1: [97, 122, Latin]
  0,  // Range #2: [170, 170, Latin]
  0,  // Range #3: [186, 186, Latin]
  22,  // Range #4: [192, 214, Latin]
  30,  // Range #5: [216, 246, Latin]
  448,  // Range #6: [248, 696, Latin]
  4,  // Range #7: [736, 740, Latin]
  1,  // Range #8: [746, 747, Bopomofo]
  3,  // Range #9: [880, 883, Greek]
  8,  // Range #10: [885, 893, Greek]
  5,  // Range #11: [895, 900, Greek]
  0,  // Range #12: [902, 902, Greek]
  89,  // Range #13: [904, 993, Greek]
  13,  // Range #14: [994, 1007, Coptic]
  15,  // Range #15: [1008, 1023, Greek]
  132,  // Range #16: [1024, 1156, Cyrillic]
  168,  // Range #17: [1159, 1327, Cyrillic]
  87,  // Range #18: [1329, 1416, Armenian]
  5,  // Range #19: [1418, 1423, Armenian]
  54,  // Range #20: [1425, 1479, Hebrew]
  36,  // Range #21: [1488, 1524, Hebrew]
  4,  // Range #22: [1536, 1540, Arabic]
  5,  // Range #23: [1542, 1547, Arabic]
  13,  // Range #24: [1549, 1562, Arabic]
  2,  // Range #25: [1564, 1566, Arabic]
  31,  // Range #26: [1568, 1599, Arabic]
  9,  // Range #27: [1601, 1610, Arabic]
  25,  // Range #28: [1622, 1647, Arabic]
  107,  // Range #29: [1649, 1756, Arabic]
  33,  // Range #30: [1758, 1791, Arabic]
  79,  // Range #31: [1792, 1871, Syriac]
  47,  // Range #32: [1872, 1919, Arabic]
  49,  // Range #33: [1920, 1969, Thaana]
  63,  // Range #34: [1984, 2047, Nko]
  62,  // Range #35: [2048, 2110, Samaritan]
  30,  // Range #36: [2112, 2142, Mandaic]
  10,  // Range #37: [2144, 2154, Syriac]
  29,  // Range #38: [2208, 2237, Arabic]
  14,  // Range #39: [2259, 2273, Arabic]
  28,  // Range #40: [2275, 2303, Arabic]
  80,  // Range #41: [2304, 2384, Devanagari]
  14,  // Range #42: [2389, 2403, Devanagari]
  25,  // Range #43: [2406, 2431, Devanagari]
  78,  // Range #44: [2432, 2510, Bengali]
  39,  // Range #45: [2519, 2558, Bengali]
  80,  // Range #46: [2561, 2641, Gurmukhi]
  5,  // Range #47: [2649, 2654, Gurmukhi]
  16,  // Range #48: [2662, 2678, Gurmukhi]
  79,  // Range #49: [2689, 2768, Gujarati]
  17,  // Range #50: [2784, 2801, Gujarati]
  6,  // Range #51: [2809, 2815, Gujarati]
  76,  // Range #52: [2817, 2893, Oriya]
  33,  // Range #53: [2902, 2935, Oriya]
  78,  // Range #54: [2946, 3024, Tamil]
  0,  // Range #55: [3031, 3031, Tamil]
  20,  // Range #56: [3046, 3066, Tamil]
  77,  // Range #57: [3072, 3149, Telugu]
  5,  // Range #58: [3157, 3162, Telugu]
  15,  // Range #59: [3168, 3183, Telugu]
  8,  // Range #60: [3191, 3199, Telugu]
  77,  // Range #61: [3200, 3277, Kannada]
  1,  // Range #62: [3285, 3286, Kannada]
  20,  // Range #63: [3294, 3314, Kannada]
  127,  // Range #64: [3328, 3455, Malayalam]
  93,  // Range #65: [3458, 3551, Sinhala]
  14,  // Range #66: [3558, 3572, Sinhala]
  57,  // Range #67: [3585, 3642, Thai]
  27,  // Range #68: [3648, 3675, Thai]
  94,  // Range #69: [3713, 3807, Lao]
  212,  // Range #70: [3840, 4052, Tibetan]
  1,  // Range #71: [4057, 4058, Tibetan]
  159,  // Range #72: [4096, 4255, Myanmar]
  39,  // Range #73: [4256, 4295, Georgian]
  45,  // Range #74: [4301, 4346, Georgian]
  3,  // Range #75: [4348, 4351, Georgian]
  255,  // Range #76: [4352, 4607, Hangul]
  409,  // Range #77: [4608, 5017, Ethiopic]
  93,  // Range #78: [5024, 5117, Cherokee]
  639,  // Range #79: [5120, 5759, Canadian_Aboriginal]
  28,  // Range #80: [5760, 5788, Ogham]
  74,  // Range #81: [5792, 5866, Runic]
  10,  // Range #82: [5870, 5880, Runic]
  20,  // Range #83: [5888, 5908, Tagalog]
  20,  // Range #84: [5920, 5940, Hanunoo]
  19,  // Range #85: [5952, 5971, Buhid]
  19,  // Range #86: [5984, 6003, Tagbanwa]
  105,  // Range #87: [6016, 6121, Khmer]
  9,  // Range #88: [6128, 6137, Khmer]
  1,  // Range #89: [6144, 6145, Mongolian]
  0,  // Range #90: [6148, 6148, Mongolian]
  19,  // Range #91: [6150, 6169, Mongolian]
  88,  // Range #92: [6176, 6264, Mongolian]
  42,  // Range #93: [6272, 6314, Mongolian]
  69,  // Range #94: [6320, 6389, Canadian_Aboriginal]
  79,  // Range #95: [6400, 6479, Limbu]
  36,  // Range #96: [6480, 6516, Tai_Le]
  73,  // Range #97: [6528, 6601, New_Tai_Lue]
  15,  // Range #98: [6608, 6623, New_Tai_Lue]
  31,  // Range #99: [6624, 6655, Khmer]
  31,  // Range #100: [6656, 6687, Buginese]
  105,  // Range #101: [6688, 6793, Tai_Tham]
  9,  // Range #102: [6800, 6809, Tai_Tham]
  13,  // Range #103: [6816, 6829, Tai_Tham]
  124,  // Range #104: [6912, 7036, Balinese]
  63,  // Range #105: [7040, 7103, Sundanese]
  51,  // Range #106: [7104, 7155, Batak]
  3,  // Range #107: [7164, 7167, Batak]
  79,  // Range #108: [7168, 7247, Lepcha]
  47,  // Range #109: [7248, 7295, Ol_Chiki]
  8,  // Range #110: [7296, 7304, Cyrillic]
  47,  // Range #111: [7312, 7359, Georgian]
  7,  // Range #112: [7360, 7367, Sundanese]
  37,  // Range #113: [7424, 7461, Latin]
  4,  // Range #114: [7462, 7466, Greek]
  0,  // Range #115: [7467, 7467, Cyrillic]
  48,  // Range #116: [7468, 7516, Latin]
  4,  // Range #117: [7517, 7521, Greek]
  3,  // Range #118: [7522, 7525, Latin]
  4,  // Range #119: [7526, 7530, Greek]
  12,  // Range #120: [7531, 7543, Latin]
  0,  // Range #121: [7544, 7544, Cyrillic]
  69,  // Range #122: [7545, 7614, Latin]
  0,  // Range #123: [7615, 7615, Greek]
  255,  // Range #124: [7680, 7935, Latin]
  254,  // Range #125: [7936, 8190, Greek]
  0,  // Range #126: [8305, 8305, Latin]
  0,  // Range #127: [8319, 8319, Latin]
  12,  // Range #128: [8336, 8348, Latin]
  0,  // Range #129: [8486, 8486, Greek]
  1,  // Range #130: [8490, 8491, Latin]
  0,  // Range #131: [8498, 8498, Latin]
  0,  // Range #132: [8526, 8526, Latin]
  40,  // Range #133: [8544, 8584, Latin]
  255,  // Range #134: [10240, 10495, Braille]
  94,  // Range #135: [11264, 11358, Glagolitic]
  31,  // Range #136: [11360, 11391, Latin]
  115,  // Range #137: [11392, 11507, Coptic]
  6,  // Range #138: [11513, 11519, Coptic]
  39,  // Range #139: [11520, 11559, Georgian]
  0,  // Range #140: [11565, 11565, Georgian]
  55,  // Range #141: [11568, 11623, Tifinagh]
  1,  // Range #142: [11631, 11632, Tifinagh]
  0,  // Range #143: [11647, 11647, Tifinagh]
  22,  // Range #144: [11648, 11670, Ethiopic]
  62,  // Range #145: [11680, 11742, Ethiopic]
  31,  // Range #146: [11744, 11775, Cyrillic]
  115,  // Range #147: [11904, 12019, Han]
  213,  // Range #148: [12032, 12245, Han]
  0,  // Range #149: [12293, 12293, Han]
  0,  // Range #150: [12295, 12295, Han]
  8,  // Range #151: [12321, 12329, Han]
  1,  // Range #152: [12334, 12335, Hangul]
  3,  // Range #153: [12344, 12347, Han]
  85,  // Range #154: [12353, 12438, Hiragana]
  2,  // Range #155: [12445, 12447, Hiragana]
  89,  // Range #156: [12449, 12538, Katakana]
  2,  // Range #157: [12541, 12543, Katakana]
  42,  // Range #158: [12549, 12591, Bopomofo]
  93,  // Range #159: [12593, 12686, Hangul]
  26,  // Range #160: [12704, 12730, Bopomofo]
  15,  // Range #161: [12784, 12799, Katakana]
  30,  // Range #162: [12800, 12830, Hangul]
  30,  // Range #163: [12896, 12926, Hangul]
  46,  // Range #164: [13008, 13054, Katakana]
  87,  // Range #165: [13056, 13143, Katakana]
  6581,  // Range #166: [13312, 19893, Han]
  20975,  // Range #167: [19968, 40943, Han]
  1222,  // Range #168: [40960, 42182, Yi]
  47,  // Range #169: [42192, 42239, Lisu]
  299,  // Range #170: [42240, 42539, Vai]
  95,  // Range #171: [42560, 42655, Cyrillic]
  87,  // Range #172: [42656, 42743, Bamum]
  101,  // Range #173: [42786, 42887, Latin]
  59,  // Range #174: [42891, 42950, Latin]
  8,  // Range #175: [42999, 43007, Latin]
  43,  // Range #176: [43008, 43051, Syloti_Nagri]
  55,  // Range #177: [43072, 43127, Phags_Pa]
  69,  // Range #178: [43136, 43205, Saurashtra]
  11,  // Range #179: [43214, 43225, Saurashtra]
  31,  // Range #180: [43232, 43263, Devanagari]
  45,  // Range #181: [43264, 43309, Kayah_Li]
  0,  // Range #182: [43311, 43311, Kayah_Li]
  35,  // Range #183: [43312, 43347, Rejang]
  0,  // Range #184: [43359, 43359, Rejang]
  28,  // Range #185: [43360, 43388, Hangul]
  77,  // Range #186: [43392, 43469, Javanese]
  15,  // Range #187: [43472, 43487, Javanese]
  30,  // Range #188: [43488, 43518, Myanmar]
  54,  // Range #189: [43520, 43574, Cham]
  31,  // Range #190: [43584, 43615, Cham]
  31,  // Range #191: [43616, 43647, Myanmar]
  66,  // Range #192: [43648, 43714, Tai_Viet]
  4,  // Range #193: [43739, 43743, Tai_Viet]
  22,  // Range #194: [43744, 43766, Meetei_Mayek]
  21,  // Range #195: [43777, 43798, Ethiopic]
  14,  // Range #196: [43808, 43822, Ethiopic]
  42,  // Range #197: [43824, 43866, Latin]
  8,  // Range #198: [43868, 43876, Latin]
  0,  // Range #199: [43877, 43877, Greek]
  1,  // Range #200: [43878, 43879, Latin]
  79,  // Range #201: [43888, 43967, Cherokee]
  57,  // Range #202: [43968, 44025, Meetei_Mayek]
  11171,  // Range #203: [44032, 55203, Hangul]
  75,  // Range #204: [55216, 55291, Hangul]
  473,  // Range #205: [63744, 64217, Han]
  6,  // Range #206: [64256, 64262, Latin]
  4,  // Range #207: [64275, 64279, Armenian]
  50,  // Range #208: [64285, 64335, Hebrew]
  113,  // Range #209: [64336, 64449, Arabic]
  362,  // Range #210: [64467, 64829, Arabic]
  119,  // Range #211: [64848, 64967, Arabic]
  13,  // Range #212: [65008, 65021, Arabic]
  1,  // Range #213: [65070, 65071, Cyrillic]
  140,  // Range #214: [65136, 65276, Arabic]
  25,  // Range #215: [65313, 65338, Latin]
  25,  // Range #216: [65345, 65370, Latin]
  9,  // Range #217: [65382, 65391, Katakana]
  44,  // Range #218: [65393, 65437, Katakana]
  60,  // Range #219: [65440, 65500, Hangul]
  93,  // Range #220: [65536, 65629, Linear_B]
  122,  // Range #221: [65664, 65786, Linear_B]
  78,  // Range #222: [65856, 65934, Greek]
  0,  // Range #223: [65952, 65952, Greek]
  28,  // Range #224: [66176, 66204, Lycian]
  48,  // Range #225: [66208, 66256, Carian]
  35,  // Range #226: [66304, 66339, Old_Italic]
  2,  // Range #227: [66349, 66351, Old_Italic]
  26,  // Range #228: [66352, 66378, Gothic]
  42,  // Range #229: [66384, 66426, Old_Permic]
  31,  // Range #230: [66432, 66463, Ugaritic]
  53,  // Range #231: [66464, 66517, Old_Persian]
  79,  // Range #232: [66560, 66639, Deseret]
  47,  // Range #233: [66640, 66687, Shavian]
  41,  // Range #234: [66688, 66729, Osmanya]
  75,  // Range #235: [66736, 66811, Osage]
  39,  // Range #236: [66816, 66855, Elbasan]
  51,  // Range #237: [66864, 66915, Caucasian_Albanian]
  0,  // Range #238: [66927, 66927, Caucasian_Albanian]
  310,  // Range #239: [67072, 67382, Linear_A]
  21,  // Range #240: [67392, 67413, Linear_A]
  7,  // Range #241: [67424, 67431, Linear_A]
  63,  // Range #242: [67584, 67647, Cypriot]
  31,  // Range #243: [67648, 67679, Imperial_Aramaic]
  31,  // Range #244: [67680, 67711, Palmyrene]
  30,  // Range #245: [67712, 67742, Nabataean]
  8,  // Range #246: [67751, 67759, Nabataean]
  21,  // Range #247: [67808, 67829, Hatran]
  4,  // Range #248: [67835, 67839, Hatran]
  31,  // Range #249: [67840, 67871, Phoenician]
  25,  // Range #250: [67872, 67897, Lydian]
  0,  // Range #251: [67903, 67903, Lydian]
  31,  // Range #252: [67968, 67999, Meroitic_Hieroglyphs]
  95,  // Range #253: [68000, 68095, Meroitic_Cursive]
  6,  // Range #254: [68096, 68102, Kharoshthi]
  60,  // Range #255: [68108, 68168, Kharoshthi]
  8,  // Range #256: [68176, 68184, Kharoshthi]
  31,  // Range #257: [68192, 68223, Old_South_Arabian]
  31,  // Range #258: [68224, 68255, Old_North_Arabian]
  54,  // Range #259: [68288, 68342, Manichaean]
  63,  // Range #260: [68352, 68415, Avestan]
  31,  // Range #261: [68416, 68447, Inscriptional_Parthian]
  18,  // Range #262: [68448, 68466, Inscriptional_Pahlavi]
  7,  // Range #263: [68472, 68479, Inscriptional_Pahlavi]
  17,  // Range #264: [68480, 68497, Psalter_Pahlavi]
  3,  // Range #265: [68505, 68508, Psalter_Pahlavi]
  6,  // Range #266: [68521, 68527, Psalter_Pahlavi]
  72,  // Range #267: [68608, 68680, Old_Turkic]
  50,  // Range #268: [68736, 68786, Old_Hungarian]
  50,  // Range #269: [68800, 68850, Old_Hungarian]
  5,  // Range #270: [68858, 68863, Old_Hungarian]
  39,  // Range #271: [68864, 68903, Hanifi_Rohingya]
  9,  // Range #272: [68912, 68921, Hanifi_Rohingya]
  30,  // Range #273: [69216, 69246, Arabic]
  39,  // Range #274: [69376, 69415, Old_Sogdian]
  41,  // Range #275: [69424, 69465, Sogdian]
  22,  // Range #276: [69600, 69622, Elymaic]
  111,  // Range #277: [69632, 69743, Brahmi]
  0,  // Range #278: [69759, 69759, Brahmi]
  65,  // Range #279: [69760, 69825, Kaithi]
  0,  // Range #280: [69837, 69837, Kaithi]
  24,  // Range #281: [69840, 69864, Sora_Sompeng]
  9,  // Range #282: [69872, 69881, Sora_Sompeng]
  70,  // Range #283: [69888, 69958, Chakma]
  38,  // Range #284: [69968, 70006, Mahajani]
  95,  // Range #285: [70016, 70111, Sharada]
  19,  // Range #286: [70113, 70132, Sinhala]
  62,  // Range #287: [70144, 70206, Khojki]
  41,  // Range #288: [70272, 70313, Multani]
  58,  // Range #289: [70320, 70378, Khudawadi]
  9,  // Range #290: [70384, 70393, Khudawadi]
  57,  // Range #291: [70400, 70457, Grantha]
  20,  // Range #292: [70460, 70480, Grantha]
  0,  // Range #293: [70487, 70487, Grantha]
  23,  // Range #294: [70493, 70516, Grantha]
  95,  // Range #295: [70656, 70751, Newa]
  71,  // Range #296: [70784, 70855, Tirhuta]
  9,  // Range #297: [70864, 70873, Tirhuta]
  93,  // Range #298: [71040, 71133, Siddham]
  68,  // Range #299: [71168, 71236, Modi]
  9,  // Range #300: [71248, 71257, Modi]
  12,  // Range #301: [71264, 71276, Mongolian]
  56,  // Range #302: [71296, 71352, Takri]
  9,  // Range #303: [71360, 71369, Takri]
  63,  // Range #304: [71424, 71487, Ahom]
  59,  // Range #305: [71680, 71739, Dogra]
  82,  // Range #306: [71840, 71922, Warang_Citi]
  0,  // Range #307: [71935, 71935, Warang_Citi]
  68,  // Range #308: [72096, 72164, Nandinagari]
  71,  // Range #309: [72192, 72263, Zanabazar_Square]
  82,  // Range #310: [72272, 72354, Soyombo]
  56,  // Range #311: [72384, 72440, Pau_Cin_Hau]
  69,  // Range #312: [72704, 72773, Bhaiksuki]
  28,  // Range #313: [72784, 72812, Bhaiksuki]
  70,  // Range #314: [72816, 72886, Marchen]
  71,  // Range #315: [72960, 73031, Masaram_Gondi]
  9,  // Range #316: [73040, 73049, Masaram_Gondi]
  56,  // Range #317: [73056, 73112, Gunjala_Gondi]
  9,  // Range #318: [73120, 73129, Gunjala_Gondi]
  24,  // Range #319: [73440, 73464, Makasar]
  49,  // Range #320: [73664, 73713, Tamil]
  0,  // Range #321: [73727, 73727, Tamil]
  921,  // Range #322: [73728, 74649, Cuneiform]
  116,  // Range #323: [74752, 74868, Cuneiform]
  195,  // Range #324: [74880, 75075, Cuneiform]
  1080,  // Range #325: [77824, 78904, Egyptian_Hieroglyphs]
  582,  // Range #326: [82944, 83526, Anatolian_Hieroglyphs]
  568,  // Range #327: [92160, 92728, Bamum]
  47,  // Range #328: [92736, 92783, Mro]
  37,  // Range #329: [92880, 92917, Bassa_Vah]
  69,  // Range #330: [92928, 92997, Pahawh_Hmong]
  39,  // Range #331: [93008, 93047, Pahawh_Hmong]
  18,  // Range #332: [93053, 93071, Pahawh_Hmong]
  90,  // Range #333: [93760, 93850, Medefaidrin]
  135,  // Range #334: [93952, 94087, Miao]
  16,  // Range #335: [94095, 94111, Miao]
  0,  // Range #336: [94176, 94176, Tangut]
  0,  // Range #337: [94177, 94177, Nushu]
  6135,  // Range #338: [94208, 100343, Tangut]
  754,  // Range #339: [100352, 101106, Tangut]
  0,  // Range #340: [110592, 110592, Katakana]
  285,  // Range #341: [110593, 110878, Hiragana]
  2,  // Range #342: [110928, 110930, Hiragana]
  3,  // Range #343: [110948, 110951, Katakana]
  395,  // Range #344: [110960, 111355, Nushu]
  106,  // Range #345: [113664, 113770, Duployan]
  24,  // Range #346: [113776, 113800, Duployan]
  15,  // Range #347: [113808, 113823, Duployan]
  69,  // Range #348: [119296, 119365, Greek]
  651,  // Range #349: [120832, 121483, SignWriting]
  20,  // Range #350: [121499, 121519, SignWriting]
  42,  // Range #351: [122880, 122922, Glagolitic]
  79,  // Range #352: [123136, 123215, Nyiakeng_Puachue_Hmong]
  57,  // Range #353: [123584, 123641, Wancho]
  0,  // Range #354: [123647, 123647, Wancho]
  214,  // Range #355: [124928, 125142, Mende_Kikakui]
  95,  // Range #356: [125184, 125279, Adlam]
  59,  // Range #357: [126464, 126523, Arabic]
  89,  // Range #358: [126530, 126619, Arabic]
  26,  // Range #359: [126625, 126651, Arabic]
  1,  // Range #360: [126704, 126705, Arabic]
  0,  // Range #361: [127488, 127488, Hiragana]
  42710,  // Range #362: [131072, 173782, Han]
  4148,  // Range #363: [173824, 177972, Han]
  5985,  // Range #364: [177984, 183969, Han]
  7472,  // Range #365: [183984, 191456, Han]
  541,  // Range #366: [194560, 195101, Han]
};

const uint8 kRangeScript[] = {
  25,  // Range #0: [65, 90, Latin]
  25,  // Range #1: [97, 122, Latin]
  25,  // Range #2: [170, 170, Latin]
  25,  // Range #3: [186, 186, Latin]
  25,  // Range #4: [192, 214, Latin]
  25,  // Range #5: [216, 246, Latin]
  25,  // Range #6: [248, 696, Latin]
  25,  // Range #7: [736, 740, Latin]
  5,  // Range #8: [746, 747, Bopomofo]
  14,  // Range #9: [880, 883, Greek]
  14,  // Range #10: [885, 893, Greek]
  14,  // Range #11: [895, 900, Greek]
  14,  // Range #12: [902, 902, Greek]
  14,  // Range #13: [904, 993, Greek]
  7,  // Range #14: [994, 1007, Coptic]
  14,  // Range #15: [1008, 1023, Greek]
  8,  // Range #16: [1024, 1156, Cyrillic]
  8,  // Range #17: [1159, 1327, Cyrillic]
  3,  // Range #18: [1329, 1416, Armenian]
  3,  // Range #19: [1418, 1423, Armenian]
  19,  // Range #20: [1425, 1479, Hebrew]
  19,  // Range #21: [1488, 1524, Hebrew]
  2,  // Range #22: [1536, 1540, Arabic]
  2,  // Range #23: [1542, 1547, Arabic]
  2,  // Range #24: [1549, 1562, Arabic]
  2,  // Range #25: [1564, 1566, Arabic]
  2,  // Range #26: [1568, 1599, Arabic]
  2,  // Range #27: [1601, 1610, Arabic]
  2,  // Range #28: [1622, 1647, Arabic]
  2,  // Range #29: [1649, 1756, Arabic]
  2,  // Range #30: [1758, 1791, Arabic]
  34,  // Range #31: [1792, 1871, Syriac]
  2,  // Range #32: [1872, 1919, Arabic]
  37,  // Range #33: [1920, 1969, Thaana]
  87,  // Range #34: [1984, 2047, Nko]
  126,  // Range #35: [2048, 2110, Samaritan]
  84,  // Range #36: [2112, 2142, Mandaic]
  34,  // Range #37: [2144, 2154, Syriac]
  2,  // Range #38: [2208, 2237, Arabic]
  2,  // Range #39: [2259, 2273, Arabic]
  2,  // Range #40: [2275, 2303, Arabic]
  10,  // Range #41: [2304, 2384, Devanagari]
  10,  // Range #42: [2389, 2403, Devanagari]
  10,  // Range #43: [2406, 2431, Devanagari]
  4,  // Range #44: [2432, 2510, Bengali]
  4,  // Range #45: [2519, 2558, Bengali]
  16,  // Range #46: [2561, 2641, Gurmukhi]
  16,  // Range #47: [2649, 2654, Gurmukhi]
  16,  // Range #48: [2662, 2678, Gurmukhi]
  15,  // Range #49: [2689, 2768, Gujarati]
  15,  // Range #50: [2784, 2801, Gujarati]
  15,  // Range #51: [2809, 2815, Gujarati]
  31,  // Range #52: [2817, 2893, Oriya]
  31,  // Range #53: [2902, 2935, Oriya]
  35,  // Range #54: [2946, 3024, Tamil]
  35,  // Range #55: [3031, 3031, Tamil]
  35,  // Range #56: [3046, 3066, Tamil]
  36,  // Range #57: [3072, 3149, Telugu]
  36,  // Range #58: [3157, 3162, Telugu]
  36,  // Range #59: [3168, 3183, Telugu]
  36,  // Range #60: [3191, 3199, Telugu]
  21,  // Range #61: [3200, 3277, Kannada]
  21,  // Range #62: [3285, 3286, Kannada]
  21,  // Range #63: [3294, 3314, Kannada]
  26,  // Range #64: [3328, 3455, Malayalam]
  33,  // Range #65: [3458, 3551, Sinhala]
  33,  // Range #66: [3558, 3572, Sinhala]
  38,  // Range #67: [3585, 3642, Thai]
  38,  // Range #68: [3648, 3675, Thai]
  24,  // Range #69: [3713, 3807, Lao]
  39,  // Range #70: [3840, 4052, Tibetan]
  39,  // Range #71: [4057, 4058, Tibetan]
  28,  // Range #72: [4096, 4255, Myanmar]
  12,  // Range #73: [4256, 4295, Georgian]
  12,  // Range #74: [4301, 4346, Georgian]
  12,  // Range #75: [4348, 4351, Georgian]
  18,  // Range #76: [4352, 4607, Hangul]
  11,  // Range #77: [4608, 5017, Ethiopic]
  6,  // Range #78: [5024, 5117, Cherokee]
  40,  // Range #79: [5120, 5759, Canadian_Aboriginal]
  29,  // Range #80: [5760, 5788, Ogham]
  32,  // Range #81: [5792, 5866, Runic]
  32,  // Range #82: [5870, 5880, Runic]
  42,  // Range #83: [5888, 5908, Tagalog]
  43,  // Range #84: [5920, 5940, Hanunoo]
  44,  // Range #85: [5952, 5971, Buhid]
  45,  // Range #86: [5984, 6003, Tagbanwa]
  23,  // Range #87: [6016, 6121, Khmer]
  23,  // Range #88: [6128, 6137, Khmer]
  27,  // Range #89: [6144, 6145, Mongolian]
  27,  // Range #90: [6148, 6148, Mongolian]
  27,  // Range #91: [6150, 6169, Mongolian]
  27,  // Range #92: [6176, 6264, Mongolian]
  27,  // Range #93: [6272, 6314, Mongolian]
  40,  // Range #94: [6320, 6389, Canadian_Aboriginal]
  48,  // Range #95: [6400, 6479, Limbu]
  52,  // Range #96: [6480, 6516, Tai_Le]
  59,  // Range #97: [6528, 6601, New_Tai_Lue]
  59,  // Range #98: [6608, 6623, New_Tai_Lue]
  23,  // Range #99: [6624, 6655, Khmer]
  55,  // Range #100: [6656, 6687, Buginese]
  106,  // Range #101: [6688, 6793, Tai_Tham]
  106,  // Range #102: [6800, 6809, Tai_Tham]
  106,  // Range #103: [6816, 6829, Tai_Tham]
  62,  // Range #104: [6912, 7036, Balinese]
  113,  // Range #105: [7040, 7103, Sundanese]
  63,  // Range #106: [7104, 7155, Batak]
  63,  // Range #107: [7164, 7167, Batak]
  82,  // Range #108: [7168, 7247, Lepcha]
  109,  // Range #109: [7248, 7295, Ol_Chiki]
  8,  // Range #110: [7296, 7304, Cyrillic]
  12,  // Range #111: [7312, 7359, Georgian]
  113,  // Range #112: [7360, 7367, Sundanese]
  25,  // Range #113: [7424, 7461, Latin]
  14,  // Range #114: [7462, 7466, Greek]
  8,  // Range #115: [7467, 7467, Cyrillic]
  25,  // Range #116: [7468, 7516, Latin]
  14,  // Range #117: [7517, 7521, Greek]
  25,  // Range #118: [7522, 7525, Latin]
  14,  // Range #119: [7526, 7530, Greek]
  25,  // Range #120: [7531, 7543, Latin]
  8,  // Range #121: [7544, 7544, Cyrillic]
  25,  // Range #122: [7545, 7614, Latin]
  14,  // Range #123: [7615, 7615, Greek]
  25,  // Range #124: [7680, 7935, Latin]
  14,  // Range #125: [7936, 8190, Greek]
  25,  // Range #126: [8305, 8305, Latin]
  25,  // Range #127: [8319, 8319, Latin]
  25,  // Range #128: [8336, 8348, Latin]
  14,  // Range #129: [8486, 8486, Greek]
  25,  // Range #130: [8490, 8491, Latin]
  25,  // Range #131: [8498, 8498, Latin]
  25,  // Range #132: [8526, 8526, Latin]
  25,  // Range #133: [8544, 8584, Latin]
  46,  // Range #134: [10240, 10495, Braille]
  56,  // Range #135: [11264, 11358, Glagolitic]
  25,  // Range #136: [11360, 11391, Latin]
  7,  // Range #137: [11392, 11507, Coptic]
  7,  // Range #138: [11513, 11519, Coptic]
  12,  // Range #139: [11520, 11559, Georgian]
  12,  // Range #140: [11565, 11565, Georgian]
  60,  // Range #141: [11568, 11623, Tifinagh]
  60,  // Range #142: [11631, 11632, Tifinagh]
  60,  // Range #143: [11647, 11647, Tifinagh]
  11,  // Range #144: [11648, 11670, Ethiopic]
  11,  // Range #145: [11680, 11742, Ethiopic]
  8,  // Range #146: [11744, 11775, Cyrillic]
  17,  // Range #147: [11904, 12019, Han]
  17,  // Range #148: [12032, 12245, Han]
  17,  // Range #149: [12293, 12293, Han]
  17,  // Range #150: [12295, 12295, Han]
  17,  // Range #151: [12321, 12329, Han]
  18,  // Range #152: [12334, 12335, Hangul]
  17,  // Range #153: [12344, 12347, Han]
  20,  // Range #154: [12353, 12438, Hiragana]
  20,  // Range #155: [12445, 12447, Hiragana]
  22,  // Range #156: [12449, 12538, Katakana]
  22,  // Range #157: [12541, 12543, Katakana]
  5,  // Range #158: [12549, 12591, Bopomofo]
  18,  // Range #159: [12593, 12686, Hangul]
  5,  // Range #160: [12704, 12730, Bopomofo]
  22,  // Range #161: [12784, 12799, Katakana]
  18,  // Range #162: [12800, 12830, Hangul]
  18,  // Range #163: [12896, 12926, Hangul]
  22,  // Range #164: [13008, 13054, Katakana]
  22,  // Range #165: [13056, 13143, Katakana]
  17,  // Range #166: [13312, 19893, Han]
  17,  // Range #167: [19968, 40943, Han]
  41,  // Range #168: [40960, 42182, Yi]
  131,  // Range #169: [42192, 42239, Lisu]
  99,  // Range #170: [42240, 42539, Vai]
  8,  // Range #171: [42560, 42655, Cyrillic]
  130,  // Range #172: [42656, 42743, Bamum]
  25,  // Range #173: [42786, 42887, Latin]
  25,  // Range #174: [42891, 42950, Latin]
  25,  // Range #175: [42999, 43007, Latin]
  58,  // Range #176: [43008, 43051, Syloti_Nagri]
  90,  // Range #177: [43072, 43127, Phags_Pa]
  111,  // Range #178: [43136, 43205, Saurashtra]
  111,  // Range #179: [43214, 43225, Saurashtra]
  10,  // Range #180: [43232, 43263, Devanagari]
  79,  // Range #181: [43264, 43309, Kayah_Li]
  79,  // Range #182: [43311, 43311, Kayah_Li]
  110,  // Range #183: [43312, 43347, Rejang]
  110,  // Range #184: [43359, 43359, Rejang]
  18,  // Range #185: [43360, 43388, Hangul]
  78,  // Range #186: [43392, 43469, Javanese]
  78,  // Range #187: [43472, 43487, Javanese]
  28,  // Range #188: [43488, 43518, Myanmar]
  66,  // Range #189: [43520, 43574, Cham]
  66,  // Range #190: [43584, 43615, Cham]
  28,  // Range #191: [43616, 43647, Myanmar]
  127,  // Range #192: [43648, 43714, Tai_Viet]
  127,  // Range #193: [43739, 43743, Tai_Viet]
  115,  // Range #194: [43744, 43766, Meetei_Mayek]
  11,  // Range #195: [43777, 43798, Ethiopic]
  11,  // Range #196: [43808, 43822, Ethiopic]
  25,  // Range #197: [43824, 43866, Latin]
  25,  // Range #198: [43868, 43876, Latin]
  14,  // Range #199: [43877, 43877, Greek]
  25,  // Range #200: [43878, 43879, Latin]
  6,  // Range #201: [43888, 43967, Cherokee]
  115,  // Range #202: [43968, 44025, Meetei_Mayek]
  18,  // Range #203: [44032, 55203, Hangul]
  18,  // Range #204: [55216, 55291, Hangul]
  17,  // Range #205: [63744, 64217, Han]
  25,  // Range #206: [64256, 64262, Latin]
  3,  // Range #207: [64275, 64279, Armenian]
  19,  // Range #208: [64285, 64335, Hebrew]
  2,  // Range #209: [64336, 64449, Arabic]
  2,  // Range #210: [64467, 64829, Arabic]
  2,  // Range #211: [64848, 64967, Arabic]
  2,  // Range #212: [65008, 65021, Arabic]
  8,  // Range #213: [65070, 65071, Cyrillic]
  2,  // Range #214: [65136, 65276, Arabic]
  25,  // Range #215: [65313, 65338, Latin]
  25,  // Range #216: [65345, 65370, Latin]
  22,  // Range #217: [65382, 65391, Katakana]
  22,  // Range #218: [65393, 65437, Katakana]
  18,  // Range #219: [65440, 65500, Hangul]
  49,  // Range #220: [65536, 65629, Linear_B]
  49,  // Range #221: [65664, 65786, Linear_B]
  14,  // Range #222: [65856, 65934, Greek]
  14,  // Range #223: [65952, 65952, Greek]
  107,  // Range #224: [66176, 66204, Lycian]
  104,  // Range #225: [66208, 66256, Carian]
  30,  // Range #226: [66304, 66339, Old_Italic]
  30,  // Range #227: [66349, 66351, Old_Italic]
  13,  // Range #228: [66352, 66378, Gothic]
  89,  // Range #229: [66384, 66426, Old_Permic]
  53,  // Range #230: [66432, 66463, Ugaritic]
  61,  // Range #231: [66464, 66517, Old_Persian]
  9,  // Range #232: [66560, 66639, Deseret]
  51,  // Range #233: [66640, 66687, Shavian]
  50,  // Range #234: [66688, 66729, Osmanya]
  171,  // Range #235: [66736, 66811, Osage]
  136,  // Range #236: [66816, 66855, Elbasan]
  159,  // Range #237: [66864, 66915, Caucasian_Albanian]
  159,  // Range #238: [66927, 66927, Caucasian_Albanian]
  83,  // Range #239: [67072, 67382, Linear_A]
  83,  // Range #240: [67392, 67413, Linear_A]
  83,  // Range #241: [67424, 67431, Linear_A]
  47,  // Range #242: [67584, 67647, Cypriot]
  116,  // Range #243: [67648, 67679, Imperial_Aramaic]
  144,  // Range #244: [67680, 67711, Palmyrene]
  143,  // Range #245: [67712, 67742, Nabataean]
  143,  // Range #246: [67751, 67759, Nabataean]
  162,  // Range #247: [67808, 67829, Hatran]
  162,  // Range #248: [67835, 67839, Hatran]
  91,  // Range #249: [67840, 67871, Phoenician]
  108,  // Range #250: [67872, 67897, Lydian]
  108,  // Range #251: [67903, 67903, Lydian]
  86,  // Range #252: [67968, 67999, Meroitic_Hieroglyphs]
  141,  // Range #253: [68000, 68095, Meroitic_Cursive]
  57,  // Range #254: [68096, 68102, Kharoshthi]
  57,  // Range #255: [68108, 68168, Kharoshthi]
  57,  // Range #256: [68176, 68184, Kharoshthi]
  133,  // Range #257: [68192, 68223, Old_South_Arabian]
  142,  // Range #258: [68224, 68255, Old_North_Arabian]
  121,  // Range #259: [68288, 68342, Manichaean]
  117,  // Range #260: [68352, 68415, Avestan]
  125,  // Range #261: [68416, 68447, Inscriptional_Parthian]
  122,  // Range #262: [68448, 68466, Inscriptional_Pahlavi]
  122,  // Range #263: [68472, 68479, Inscriptional_Pahlavi]
  123,  // Range #264: [68480, 68497, Psalter_Pahlavi]
  123,  // Range #265: [68505, 68508, Psalter_Pahlavi]
  123,  // Range #266: [68521, 68527, Psalter_Pahlavi]
  88,  // Range #267: [68608, 68680, Old_Turkic]
  76,  // Range #268: [68736, 68786, Old_Hungarian]
  76,  // Range #269: [68800, 68850, Old_Hungarian]
  76,  // Range #270: [68858, 68863, Old_Hungarian]
  182,  // Range #271: [68864, 68903, Hanifi_Rohingya]
  182,  // Range #272: [68912, 68921, Hanifi_Rohingya]
  2,  // Range #273: [69216, 69246, Arabic]
  184,  // Range #274: [69376, 69415, Old_Sogdian]
  183,  // Range #275: [69424, 69465, Sogdian]
  185,  // Range #276: [69600, 69622, Elymaic]
  65,  // Range #277: [69632, 69743, Brahmi]
  65,  // Range #278: [69759, 69759, Brahmi]
  120,  // Range #279: [69760, 69825, Kaithi]
  120,  // Range #280: [69837, 69837, Kaithi]
  152,  // Range #281: [69840, 69864, Sora_Sompeng]
  152,  // Range #282: [69872, 69881, Sora_Sompeng]
  118,  // Range #283: [69888, 69958, Chakma]
  160,  // Range #284: [69968, 70006, Mahajani]
  151,  // Range #285: [70016, 70111, Sharada]
  33,  // Range #286: [70113, 70132, Sinhala]
  157,  // Range #287: [70144, 70206, Khojki]
  164,  // Range #288: [70272, 70313, Multani]
  145,  // Range #289: [70320, 70378, Khudawadi]
  145,  // Range #290: [70384, 70393, Khudawadi]
  137,  // Range #291: [70400, 70457, Grantha]
  137,  // Range #292: [70460, 70480, Grantha]
  137,  // Range #293: [70487, 70487, Grantha]
  137,  // Range #294: [70493, 70516, Grantha]
  170,  // Range #295: [70656, 70751, Newa]
  158,  // Range #296: [70784, 70855, Tirhuta]
  158,  // Range #297: [70864, 70873, Tirhuta]
  166,  // Range #298: [71040, 71133, Siddham]
  163,  // Range #299: [71168, 71236, Modi]
  163,  // Range #300: [71248, 71257, Modi]
  27,  // Range #301: [71264, 71276, Mongolian]
  153,  // Range #302: [71296, 71352, Takri]
  153,  // Range #303: [71360, 71369, Takri]
  161,  // Range #304: [71424, 71487, Ahom]
  178,  // Range #305: [71680, 71739, Dogra]
  146,  // Range #306: [71840, 71922, Warang_Citi]
  146,  // Range #307: [71935, 71935, Warang_Citi]
  187,  // Range #308: [72096, 72164, Nandinagari]
  177,  // Range #309: [72192, 72263, Zanabazar_Square]
  176,  // Range #310: [72272, 72354, Soyombo]
  165,  // Range #311: [72384, 72440, Pau_Cin_Hau]
  168,  // Range #312: [72704, 72773, Bhaiksuki]
  168,  // Range #313: [72784, 72812, Bhaiksuki]
  169,  // Range #314: [72816, 72886, Marchen]
  175,  // Range #315: [72960, 73031, Masaram_Gondi]
  175,  // Range #316: [73040, 73049, Masaram_Gondi]
  179,  // Range #317: [73056, 73112, Gunjala_Gondi]
  179,  // Range #318: [73120, 73129, Gunjala_Gondi]
  180,  // Range #319: [73440, 73464, Makasar]
  35,  // Range #320: [73664, 73713, Tamil]
  35,  // Range #321: [73727, 73727, Tamil]
  101,  // Range #322: [73728, 74649, Cuneiform]
  101,  // Range #323: [74752, 74868, Cuneiform]
  101,  // Range #324: [74880, 75075, Cuneiform]
  71,  // Range #325: [77824, 78904, Egyptian_Hieroglyphs]
  156,  // Range #326: [82944, 83526, Anatolian_Hieroglyphs]
  130,  // Range #327: [92160, 92728, Bamum]
  149,  // Range #328: [92736, 92783, Mro]
  134,  // Range #329: [92880, 92917, Bassa_Vah]
  75,  // Range #330: [92928, 92997, Pahawh_Hmong]
  75,  // Range #331: [93008, 93047, Pahawh_Hmong]
  75,  // Range #332: [93053, 93071, Pahawh_Hmong]
  181,  // Range #333: [93760, 93850, Medefaidrin]
  92,  // Range #334: [93952, 94087, Miao]
  92,  // Range #335: [94095, 94111, Miao]
  154,  // Range #336: [94176, 94176, Tangut]
  150,  // Range #337: [94177, 94177, Nushu]
  154,  // Range #338: [94208, 100343, Tangut]
  154,  // Range #339: [100352, 101106, Tangut]
  22,  // Range #340: [110592, 110592, Katakana]
  20,  // Range #341: [110593, 110878, Hiragana]
  20,  // Range #342: [110928, 110930, Hiragana]
  22,  // Range #343: [110948, 110951, Katakana]
  150,  // Range #344: [110960, 111355, Nushu]
  135,  // Range #345: [113664, 113770, Duployan]
  135,  // Range #346: [113776, 113800, Duployan]
  135,  // Range #347: [113808, 113823, Duployan]
  14,  // Range #348: [119296, 119365, Greek]
  112,  // Range #349: [120832, 121483, SignWriting]
  112,  // Range #350: [121499, 121519, SignWriting]
  56,  // Range #351: [122880, 122922, Glagolitic]
  186,  // Range #352: [123136, 123215, Nyiakeng_Puachue_Hmong]
  188,  // Range #353: [123584, 123641, Wancho]
  188,  // Range #354: [123647, 123647, Wancho]
  140,  // Range #355: [124928, 125142, Mende_Kikakui]
  167,  // Range #356: [125184, 125279, Adlam]
  2,  // Range #357: [126464, 126523, Arabic]
  2,  // Range #358: [126530, 126619, Arabic]
  2,  // Range #359: [126625, 126651, Arabic]
  2,  // Range #360: [126704, 126705, Arabic]
  20,  // Range #361: [127488, 127488, Hiragana]
  17,  // Range #362: [131072, 173782, Han]
  17,  // Range #363: [173824, 177972, Han]
  17,  // Range #364: [177984, 183969, Han]
  17,  // Range #365: [183984, 191456, Han]
  17,  // Range #366: [194560, 195101, Han]
};

const uint8 kMaxScript = 188;

}  // namespace approx_script_internal
}  // namespace mobile
}  // namespace nlp_saft