diff options
author | Tony Mak <tonymak@google.com> | 2019-04-30 09:34:45 +0100 |
---|---|---|
committer | Tony Mak <tonymak@google.com> | 2019-05-01 00:13:50 +0100 |
commit | 81e52426fcf9d9a38c47990ce37fa480355e333a (patch) | |
tree | 3802c7dc711655357914bdd1c4ca96d08b70d5bc | |
parent | 83d2de6f94ca6def078378afa35bd13fc6acbf91 (diff) | |
download | libtextclassifier-81e52426fcf9d9a38c47990ce37fa480355e333a.tar.gz |
Import libtextclassifier
1. Sort actions from the same annotation together
2. Fix an issue that all dictionary words are linkified
3. Drop v608 annotator images
BUG: 128413141
BUG: 131663217
BUG: 131297499
Test: atest frameworks/base/core/tests/coretests/src/android/view/textclassifier/
Change-Id: I553a146a6f7b995db6a85f4b435643daf69c16e1
27 files changed, 1111 insertions, 830 deletions
diff --git a/actions/actions-suggestions.cc b/actions/actions-suggestions.cc index af32317..29a4424 100644 --- a/actions/actions-suggestions.cc +++ b/actions/actions-suggestions.cc @@ -156,13 +156,31 @@ std::unique_ptr<ActionsSuggestions> ActionsSuggestions::FromScopedMmap( std::unique_ptr<ActionsSuggestions> ActionsSuggestions::FromFileDescriptor( const int fd, const int offset, const int size, const UniLib* unilib, const std::string& triggering_preconditions_overlay) { - std::unique_ptr<libtextclassifier3::ScopedMmap> mmap( - new libtextclassifier3::ScopedMmap(fd, offset, size)); + std::unique_ptr<libtextclassifier3::ScopedMmap> mmap; + if (offset >= 0 && size >= 0) { + mmap.reset(new libtextclassifier3::ScopedMmap(fd, offset, size)); + } else { + mmap.reset(new libtextclassifier3::ScopedMmap(fd)); + } return FromScopedMmap(std::move(mmap), unilib, triggering_preconditions_overlay); } std::unique_ptr<ActionsSuggestions> ActionsSuggestions::FromFileDescriptor( + const int fd, const int offset, const int size, + std::unique_ptr<UniLib> unilib, + const std::string& triggering_preconditions_overlay) { + std::unique_ptr<libtextclassifier3::ScopedMmap> mmap; + if (offset >= 0 && size >= 0) { + mmap.reset(new libtextclassifier3::ScopedMmap(fd, offset, size)); + } else { + mmap.reset(new libtextclassifier3::ScopedMmap(fd)); + } + return FromScopedMmap(std::move(mmap), std::move(unilib), + triggering_preconditions_overlay); +} + +std::unique_ptr<ActionsSuggestions> ActionsSuggestions::FromFileDescriptor( const int fd, const UniLib* unilib, const std::string& triggering_preconditions_overlay) { std::unique_ptr<libtextclassifier3::ScopedMmap> mmap( @@ -229,7 +247,7 @@ bool ActionsSuggestions::ValidateAndInitialize() { return false; } - if (model_->tflite_model_spec()) { + if (model_->tflite_model_spec() != nullptr) { model_executor_ = TfLiteModelExecutor::FromBuffer( model_->tflite_model_spec()->tflite_model()); if (!model_executor_) { @@ -238,13 +256,21 @@ bool ActionsSuggestions::ValidateAndInitialize() { } } + if (model_->annotation_actions_spec() != nullptr && + model_->annotation_actions_spec()->annotation_mapping() != nullptr) { + for (const AnnotationActionsSpec_::AnnotationMapping* mapping : + *model_->annotation_actions_spec()->annotation_mapping()) { + annotation_entity_types_.insert(mapping->annotation_collection()->str()); + } + } + std::unique_ptr<ZlibDecompressor> decompressor = ZlibDecompressor::Instance(); if (!InitializeRules(decompressor.get())) { TC3_LOG(ERROR) << "Could not initialize rules."; return false; } - if (model_->actions_entity_data_schema()) { + if (model_->actions_entity_data_schema() != nullptr) { entity_data_schema_ = LoadAndVerifyFlatbuffer<reflection::Schema>( model_->actions_entity_data_schema()->Data(), model_->actions_entity_data_schema()->size()); @@ -992,6 +1018,7 @@ AnnotationOptions ActionsSuggestions::AnnotationOptionsForMessage( model_->annotation_actions_spec()->annotation_usecase(); options.is_serialized_entity_data_enabled = model_->annotation_actions_spec()->is_serialized_entity_data_enabled(); + options.entity_types = annotation_entity_types_; return options; } diff --git a/actions/actions-suggestions.h b/actions/actions-suggestions.h index 7e89265..2dde133 100644 --- a/actions/actions-suggestions.h +++ b/actions/actions-suggestions.h @@ -20,6 +20,7 @@ #include <map> #include <memory> #include <string> +#include <unordered_set> #include <vector> #include "actions/actions_model_generated.h" @@ -48,31 +49,50 @@ struct ActionSuggestionOptions { // Class for predicting actions following a conversation. class ActionsSuggestions { public: + // Creates ActionsSuggestions from given data buffer with model. static std::unique_ptr<ActionsSuggestions> FromUnownedBuffer( const uint8_t* buffer, const int size, const UniLib* unilib = nullptr, const std::string& triggering_preconditions_overlay = ""); - // Takes ownership of the mmap. + + // Creates ActionsSuggestions from model in the ScopedMmap object and takes + // ownership of it. static std::unique_ptr<ActionsSuggestions> FromScopedMmap( std::unique_ptr<libtextclassifier3::ScopedMmap> mmap, const UniLib* unilib = nullptr, const std::string& triggering_preconditions_overlay = ""); + // Same as above, but also takes ownership of the unilib. static std::unique_ptr<ActionsSuggestions> FromScopedMmap( std::unique_ptr<libtextclassifier3::ScopedMmap> mmap, std::unique_ptr<UniLib> unilib, const std::string& triggering_preconditions_overlay); + + // Creates ActionsSuggestions from model given as a file descriptor, offset + // and size in it. If offset and size are less than 0, will ignore them and + // will just use the fd. static std::unique_ptr<ActionsSuggestions> FromFileDescriptor( const int fd, const int offset, const int size, const UniLib* unilib = nullptr, const std::string& triggering_preconditions_overlay = ""); + // Same as above, but also takes ownership of the unilib. + static std::unique_ptr<ActionsSuggestions> FromFileDescriptor( + const int fd, const int offset, const int size, + std::unique_ptr<UniLib> unilib, + const std::string& triggering_preconditions_overlay = ""); + + // Creates ActionsSuggestions from model given as a file descriptor. static std::unique_ptr<ActionsSuggestions> FromFileDescriptor( const int fd, const UniLib* unilib = nullptr, const std::string& triggering_preconditions_overlay = ""); + // Same as above, but also takes ownership of the unilib. static std::unique_ptr<ActionsSuggestions> FromFileDescriptor( const int fd, std::unique_ptr<UniLib> unilib, const std::string& triggering_preconditions_overlay); + + // Creates ActionsSuggestions from model given as a POSIX path. static std::unique_ptr<ActionsSuggestions> FromPath( const std::string& path, const UniLib* unilib = nullptr, const std::string& triggering_preconditions_overlay = ""); + // Same as above, but also takes ownership of unilib. static std::unique_ptr<ActionsSuggestions> FromPath( const std::string& path, std::unique_ptr<UniLib> unilib, const std::string& triggering_preconditions_overlay); @@ -254,6 +274,9 @@ class ActionsSuggestions { // Locales supported by the model. std::vector<Locale> locales_; + // Annotation entities used by the model. + std::unordered_set<std::string> annotation_entity_types_; + // Builder for creating extra data. const reflection::Schema* entity_data_schema_; std::unique_ptr<ReflectiveFlatbufferBuilder> entity_data_builder_; diff --git a/actions/actions_model.fbs b/actions/actions_model.fbs index 9c994a6..42c7d88 100755 --- a/actions/actions_model.fbs +++ b/actions/actions_model.fbs @@ -359,6 +359,9 @@ table RankingOptions { // If true, suppresses smart replies if other smart actions are suggested. suppress_smart_replies_with_actions:bool = false; + + // If true, keep actions from the same entities together for ranking. + group_by_annotations:bool = true; } // Entity data to set from capturing groups. diff --git a/actions/ranker.cc b/actions/ranker.cc index a402ad0..5a03da5 100644 --- a/actions/ranker.cc +++ b/actions/ranker.cc @@ -16,7 +16,9 @@ #include "actions/ranker.h" +#include <functional> #include <set> +#include <vector> #include "actions/lua-ranker.h" #include "actions/zlib-utils.h" @@ -27,9 +29,46 @@ namespace libtextclassifier3 { namespace { -// Checks whether two spans are the same. +void SortByScoreAndType(std::vector<ActionSuggestion>* actions) { + std::sort(actions->begin(), actions->end(), + [](const ActionSuggestion& a, const ActionSuggestion& b) { + return a.score > b.score || + (a.score >= b.score && a.type < b.type); + }); +} + +template <typename T> +int Compare(const T& left, const T& right) { + if (left < right) { + return -1; + } + if (left > right) { + return 1; + } + return 0; +} + +template <> +int Compare(const std::string& left, const std::string& right) { + return left.compare(right); +} + +template <> +int Compare(const MessageTextSpan& span, const MessageTextSpan& other) { + if (const int value = Compare(span.message_index, other.message_index)) { + return value; + } + if (const int value = Compare(span.span.first, other.span.first)) { + return value; + } + if (const int value = Compare(span.span.second, other.span.second)) { + return value; + } + return 0; +} + bool IsSameSpan(const MessageTextSpan& span, const MessageTextSpan& other) { - return span.message_index == other.message_index && span.span == other.span; + return Compare(span, other) == 0; } bool TextSpansIntersect(const MessageTextSpan& span, @@ -38,32 +77,69 @@ bool TextSpansIntersect(const MessageTextSpan& span, SpansOverlap(span.span, other.span); } +template <> +int Compare(const ActionSuggestionAnnotation& annotation, + const ActionSuggestionAnnotation& other) { + if (const int value = Compare(annotation.span, other.span)) { + return value; + } + if (const int value = Compare(annotation.name, other.name)) { + return value; + } + if (const int value = + Compare(annotation.entity.collection, other.entity.collection)) { + return value; + } + return 0; +} + // Checks whether two annotations can be considered equivalent. bool IsEquivalentActionAnnotation(const ActionSuggestionAnnotation& annotation, const ActionSuggestionAnnotation& other) { - return IsSameSpan(annotation.span, other.span) && - annotation.name == other.name && - annotation.entity.collection == other.entity.collection; + return Compare(annotation, other) == 0; } -// Checks whether two action suggestions can be considered equivalent. -bool IsEquivalentActionSuggestion(const ActionSuggestion& action, - const ActionSuggestion& other) { - if (action.type != other.type || - action.response_text != other.response_text || - action.annotations.size() != other.annotations.size() || - action.serialized_entity_data != other.serialized_entity_data) { - return false; +// Compares actions based on annotations. +int CompareAnnotationsOnly(const ActionSuggestion& action, + const ActionSuggestion& other) { + if (const int value = + Compare(action.annotations.size(), other.annotations.size())) { + return value; } - - // Check whether annotations are the same. for (int i = 0; i < action.annotations.size(); i++) { - if (!IsEquivalentActionAnnotation(action.annotations[i], - other.annotations[i])) { - return false; + if (const int value = + Compare(action.annotations[i], other.annotations[i])) { + return value; } } - return true; + return 0; +} + +// Checks whether two actions have the same annotations. +bool HaveEquivalentAnnotations(const ActionSuggestion& action, + const ActionSuggestion& other) { + return CompareAnnotationsOnly(action, other) == 0; +} + +template <> +int Compare(const ActionSuggestion& action, const ActionSuggestion& other) { + if (const int value = Compare(action.type, other.type)) { + return value; + } + if (const int value = Compare(action.response_text, other.response_text)) { + return value; + } + if (const int value = Compare(action.serialized_entity_data, + other.serialized_entity_data)) { + return value; + } + return CompareAnnotationsOnly(action, other); +} + +// Checks whether two action suggestions can be considered equivalent. +bool IsEquivalentActionSuggestion(const ActionSuggestion& action, + const ActionSuggestion& other) { + return Compare(action, other) == 0; } // Checks whether any action is equivalent to the given one. @@ -193,12 +269,6 @@ bool ActionsSuggestionsRanker::RankActions( } } - // Order suggestions by score. - std::sort(response->actions.begin(), response->actions.end(), - [](const ActionSuggestion& a, const ActionSuggestion& b) { - return a.score > b.score; - }); - // Suppress smart replies if actions are present. if (options_->suppress_smart_replies_with_actions()) { std::vector<ActionSuggestion> non_smart_reply_actions; @@ -210,6 +280,62 @@ bool ActionsSuggestionsRanker::RankActions( response->actions = std::move(non_smart_reply_actions); } + // Group by annotation if specified. + if (options_->group_by_annotations()) { + auto group_id = std::map< + ActionSuggestion, int, + std::function<bool(const ActionSuggestion&, const ActionSuggestion&)>>{ + [](const ActionSuggestion& action, const ActionSuggestion& other) { + return (CompareAnnotationsOnly(action, other) < 0); + }}; + typedef std::vector<ActionSuggestion> ActionSuggestionGroup; + std::vector<ActionSuggestionGroup> groups; + + // Group actions by the annotation set they are based of. + for (const ActionSuggestion& action : response->actions) { + // Treat actions with no annotations idependently. + if (action.annotations.empty()) { + groups.emplace_back(1, action); + continue; + } + + auto it = group_id.find(action); + if (it != group_id.end()) { + groups[it->second].push_back(action); + } else { + group_id[action] = groups.size(); + groups.emplace_back(1, action); + } + } + + // Sort within each group by score. + for (std::vector<ActionSuggestion>& group : groups) { + SortByScoreAndType(&group); + } + + // Sort groups by maximum score. + std::sort(groups.begin(), groups.end(), + [](const std::vector<ActionSuggestion>& a, + const std::vector<ActionSuggestion>& b) { + return a.begin()->score > b.begin()->score || + (a.begin()->score >= b.begin()->score && + a.begin()->type < b.begin()->type); + }); + + // Flatten result. + const size_t num_actions = response->actions.size(); + response->actions.clear(); + response->actions.reserve(num_actions); + for (const std::vector<ActionSuggestion>& actions : groups) { + response->actions.insert(response->actions.end(), actions.begin(), + actions.end()); + } + + } else { + // Order suggestions independently by score. + SortByScoreAndType(&response->actions); + } + // Run lua ranking snippet, if provided. if (!lua_bytecode_.empty()) { auto lua_ranker = ActionsSuggestionsLuaRanker::Create( diff --git a/actions/ranker_test.cc b/actions/ranker_test.cc index 08d66a5..b52cf45 100644 --- a/actions/ranker_test.cc +++ b/actions/ranker_test.cc @@ -297,5 +297,86 @@ TEST(RankingTest, SuppressSmartRepliesWithAction) { testing::ElementsAreArray({IsAction("call_phone", "", 1.0)})); } +TEST(RankingTest, GroupsActionsByAnnotations) { + const Conversation conversation = {{{/*user_id=*/1, "should i call 911"}}}; + ActionsSuggestionsResponse response; + { + ActionSuggestionAnnotation annotation; + annotation.span = {/*message_index=*/0, /*span=*/{5, 8}, + /*text=*/"911"}; + annotation.entity = ClassificationResult("phone", 1.0); + response.actions.push_back({/*response_text=*/"", + /*type=*/"call_phone", + /*score=*/1.0, + /*priority_score=*/1.0, + /*annotations=*/{annotation}}); + response.actions.push_back({/*response_text=*/"", + /*type=*/"add_contact", + /*score=*/0.0, + /*priority_score=*/0.0, + /*annotations=*/{annotation}}); + } + response.actions.push_back({/*response_text=*/"How are you?", + /*type=*/"text_reply", + /*score=*/0.5}); + RankingOptionsT options; + options.group_by_annotations = true; + flatbuffers::FlatBufferBuilder builder; + builder.Finish(RankingOptions::Pack(builder, &options)); + auto ranker = ActionsSuggestionsRanker::CreateActionsSuggestionsRanker( + flatbuffers::GetRoot<RankingOptions>(builder.GetBufferPointer()), + /*decompressor=*/nullptr, /*smart_reply_action_type=*/"text_reply"); + + ranker->RankActions(conversation, &response); + + // The text reply should be last, even though it has a higher score than the + // `add_contact` action. + EXPECT_THAT( + response.actions, + testing::ElementsAreArray({IsAction("call_phone", "", 1.0), + IsAction("add_contact", "", 0.0), + IsAction("text_reply", "How are you?", 0.5)})); +} + +TEST(RankingTest, SortsActionsByScore) { + const Conversation conversation = {{{/*user_id=*/1, "should i call 911"}}}; + ActionsSuggestionsResponse response; + { + ActionSuggestionAnnotation annotation; + annotation.span = {/*message_index=*/0, /*span=*/{5, 8}, + /*text=*/"911"}; + annotation.entity = ClassificationResult("phone", 1.0); + response.actions.push_back({/*response_text=*/"", + /*type=*/"call_phone", + /*score=*/1.0, + /*priority_score=*/1.0, + /*annotations=*/{annotation}}); + response.actions.push_back({/*response_text=*/"", + /*type=*/"add_contact", + /*score=*/0.0, + /*priority_score=*/0.0, + /*annotations=*/{annotation}}); + } + response.actions.push_back({/*response_text=*/"How are you?", + /*type=*/"text_reply", + /*score=*/0.5}); + RankingOptionsT options; + // Don't group by annotation. + options.group_by_annotations = false; + flatbuffers::FlatBufferBuilder builder; + builder.Finish(RankingOptions::Pack(builder, &options)); + auto ranker = ActionsSuggestionsRanker::CreateActionsSuggestionsRanker( + flatbuffers::GetRoot<RankingOptions>(builder.GetBufferPointer()), + /*decompressor=*/nullptr, /*smart_reply_action_type=*/"text_reply"); + + ranker->RankActions(conversation, &response); + + EXPECT_THAT( + response.actions, + testing::ElementsAreArray({IsAction("call_phone", "", 1.0), + IsAction("text_reply", "How are you?", 0.5), + IsAction("add_contact", "", 0.0)})); +} + } // namespace } // namespace libtextclassifier3 diff --git a/actions/test_data/actions_suggestions_test.default.model b/actions/test_data/actions_suggestions_test.default.model Binary files differindex 1fd08e8..60f10e6 100644 --- a/actions/test_data/actions_suggestions_test.default.model +++ b/actions/test_data/actions_suggestions_test.default.model diff --git a/actions/test_data/actions_suggestions_test.model b/actions/test_data/actions_suggestions_test.model Binary files differindex 976ab88..6cec2b7 100644 --- a/actions/test_data/actions_suggestions_test.model +++ b/actions/test_data/actions_suggestions_test.model diff --git a/annotator/annotator.cc b/annotator/annotator.cc index 0bbc057..53c8d8a 100644 --- a/annotator/annotator.cc +++ b/annotator/annotator.cc @@ -1317,44 +1317,42 @@ bool Annotator::ModelClassifyText( const std::vector<float> scores = ComputeSoftmax(logits.data(), logits.dim(1)); - classification_results->resize(scores.size()); - for (int i = 0; i < scores.size(); i++) { - (*classification_results)[i] = { - classification_feature_processor_->LabelToCollection(i), scores[i]}; + if (scores.empty()) { + *classification_results = {{Collections::Other(), 1.0}}; + return true; } - SortClassificationResults(classification_results); - // Phone class sanity check. - if (!classification_results->empty() && - classification_results->begin()->collection == Collections::Phone()) { + const int best_score_index = + std::max_element(scores.begin(), scores.end()) - scores.begin(); + const std::string top_collection = + classification_feature_processor_->LabelToCollection(best_score_index); + + // Sanity checks. + if (top_collection == Collections::Phone()) { const int digit_count = CountDigits(context, selection_indices); if (digit_count < model_->classification_options()->phone_min_num_digits() || digit_count > model_->classification_options()->phone_max_num_digits()) { *classification_results = {{Collections::Other(), 1.0}}; + return true; } - } - - // Address class sanity check. - if (!classification_results->empty() && - classification_results->begin()->collection == Collections::Address()) { + } else if (top_collection == Collections::Address()) { if (selection_num_tokens < model_->classification_options()->address_min_num_tokens()) { *classification_results = {{Collections::Other(), 1.0}}; + return true; } - } - - // Dictionary class sanity check. - if (!classification_results->empty() && - classification_results->begin()->collection == - Collections::Dictionary()) { + } else if (top_collection == Collections::Dictionary()) { if (!Locale::IsAnyLocaleSupported(detected_text_language_tags, dictionary_locales_, /*default_value=*/false)) { *classification_results = {{Collections::Other(), 1.0}}; + return true; } } + + *classification_results = {{top_collection, 1.0, scores[best_score_index]}}; return true; } @@ -1627,9 +1625,8 @@ std::vector<ClassificationResult> Annotator::ClassifyText( }); if (results.empty()) { - TC3_LOG(WARNING) << "No classification found."; + results = {{Collections::Other(), 1.0}}; } - return results; } diff --git a/lang_id/script/approx-script-data.cc b/lang_id/script/approx-script-data.cc index 1ac5cb6..e11d7b7 100755 --- a/lang_id/script/approx-script-data.cc +++ b/lang_id/script/approx-script-data.cc @@ -27,7 +27,7 @@ namespace libtextclassifier3 { namespace mobile { namespace approx_script_internal { -const int kNumRanges = 359; +const int kNumRanges = 367; const uint32 kRangeFirst[] = { 65, // Range #0: [65, 90, Latin] @@ -72,7 +72,7 @@ const uint32 kRangeFirst[] = { 2259, // Range #39: [2259, 2273, Arabic] 2275, // Range #40: [2275, 2303, Arabic] 2304, // Range #41: [2304, 2384, Devanagari] - 2387, // Range #42: [2387, 2403, 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] @@ -90,7 +90,7 @@ const uint32 kRangeFirst[] = { 3072, // Range #57: [3072, 3149, Telugu] 3157, // Range #58: [3157, 3162, Telugu] 3168, // Range #59: [3168, 3183, Telugu] - 3192, // Range #60: [3192, 3199, 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] @@ -99,103 +99,103 @@ const uint32 kRangeFirst[] = { 3558, // Range #66: [3558, 3572, Sinhala] 3585, // Range #67: [3585, 3642, Thai] 3648, // Range #68: [3648, 3675, Thai] - 3713, // Range #69: [3713, 3725, Lao] - 3732, // Range #70: [3732, 3807, Lao] - 3840, // Range #71: [3840, 4052, Tibetan] - 4057, // Range #72: [4057, 4058, Tibetan] - 4096, // Range #73: [4096, 4255, Myanmar] - 4256, // Range #74: [4256, 4295, Georgian] - 4301, // Range #75: [4301, 4346, Georgian] - 4348, // Range #76: [4348, 4351, Georgian] - 4352, // Range #77: [4352, 4607, Hangul] - 4608, // Range #78: [4608, 5017, Ethiopic] - 5024, // Range #79: [5024, 5117, Cherokee] - 5120, // Range #80: [5120, 5759, Canadian_Aboriginal] - 5760, // Range #81: [5760, 5788, Ogham] - 5792, // Range #82: [5792, 5866, Runic] - 5870, // Range #83: [5870, 5880, Runic] - 5888, // Range #84: [5888, 5908, Tagalog] - 5920, // Range #85: [5920, 5940, Hanunoo] - 5952, // Range #86: [5952, 5971, Buhid] - 5984, // Range #87: [5984, 6003, Tagbanwa] - 6016, // Range #88: [6016, 6121, Khmer] - 6128, // Range #89: [6128, 6137, Khmer] - 6144, // Range #90: [6144, 6145, Mongolian] - 6148, // Range #91: [6148, 6148, Mongolian] - 6150, // Range #92: [6150, 6169, Mongolian] - 6176, // Range #93: [6176, 6264, Mongolian] - 6272, // Range #94: [6272, 6314, Mongolian] - 6320, // Range #95: [6320, 6389, Canadian_Aboriginal] - 6400, // Range #96: [6400, 6479, Limbu] - 6480, // Range #97: [6480, 6516, Tai_Le] - 6528, // Range #98: [6528, 6601, New_Tai_Lue] - 6608, // Range #99: [6608, 6623, New_Tai_Lue] - 6624, // Range #100: [6624, 6655, Khmer] - 6656, // Range #101: [6656, 6687, Buginese] - 6688, // Range #102: [6688, 6793, Tai_Tham] - 6800, // Range #103: [6800, 6809, Tai_Tham] - 6816, // Range #104: [6816, 6829, Tai_Tham] - 6912, // Range #105: [6912, 7036, Balinese] - 7040, // Range #106: [7040, 7103, Sundanese] - 7104, // Range #107: [7104, 7155, Batak] - 7164, // Range #108: [7164, 7167, Batak] - 7168, // Range #109: [7168, 7247, Lepcha] - 7248, // Range #110: [7248, 7295, Ol_Chiki] - 7296, // Range #111: [7296, 7304, Cyrillic] - 7312, // Range #112: [7312, 7359, Georgian] - 7360, // Range #113: [7360, 7367, Sundanese] - 7424, // Range #114: [7424, 7461, Latin] - 7462, // Range #115: [7462, 7466, Greek] - 7467, // Range #116: [7467, 7467, Cyrillic] - 7468, // Range #117: [7468, 7516, Latin] - 7517, // Range #118: [7517, 7521, Greek] - 7522, // Range #119: [7522, 7525, Latin] - 7526, // Range #120: [7526, 7530, Greek] - 7531, // Range #121: [7531, 7543, Latin] - 7544, // Range #122: [7544, 7544, Cyrillic] - 7545, // Range #123: [7545, 7614, Latin] - 7615, // Range #124: [7615, 7615, Greek] - 7680, // Range #125: [7680, 7935, Latin] - 7936, // Range #126: [7936, 8190, Greek] - 8305, // Range #127: [8305, 8305, Latin] - 8319, // Range #128: [8319, 8319, Latin] - 8336, // Range #129: [8336, 8348, Latin] - 8486, // Range #130: [8486, 8486, Greek] - 8490, // Range #131: [8490, 8491, Latin] - 8498, // Range #132: [8498, 8498, Latin] - 8526, // Range #133: [8526, 8526, Latin] - 8544, // Range #134: [8544, 8584, Latin] - 10240, // Range #135: [10240, 10495, Braille] - 11264, // Range #136: [11264, 11358, Glagolitic] - 11360, // Range #137: [11360, 11391, Latin] - 11392, // Range #138: [11392, 11507, Coptic] - 11513, // Range #139: [11513, 11519, Coptic] - 11520, // Range #140: [11520, 11559, Georgian] - 11565, // Range #141: [11565, 11565, Georgian] - 11568, // Range #142: [11568, 11623, Tifinagh] - 11631, // Range #143: [11631, 11632, Tifinagh] - 11647, // Range #144: [11647, 11647, Tifinagh] - 11648, // Range #145: [11648, 11670, Ethiopic] - 11680, // Range #146: [11680, 11742, Ethiopic] - 11744, // Range #147: [11744, 11775, Cyrillic] - 11904, // Range #148: [11904, 12019, Han] - 12032, // Range #149: [12032, 12245, Han] - 12293, // Range #150: [12293, 12293, Han] - 12295, // Range #151: [12295, 12295, Han] - 12321, // Range #152: [12321, 12329, Han] - 12334, // Range #153: [12334, 12335, Hangul] - 12344, // Range #154: [12344, 12347, Han] - 12353, // Range #155: [12353, 12438, Hiragana] - 12445, // Range #156: [12445, 12447, Hiragana] - 12449, // Range #157: [12449, 12538, Katakana] - 12541, // Range #158: [12541, 12543, Katakana] - 12549, // Range #159: [12549, 12591, Bopomofo] - 12593, // Range #160: [12593, 12686, Hangul] - 12704, // Range #161: [12704, 12730, Bopomofo] - 12784, // Range #162: [12784, 12799, Katakana] - 12800, // Range #163: [12800, 12830, Hangul] - 12896, // Range #164: [12896, 12926, Hangul] - 13008, // Range #165: [13008, 13143, Katakana] + 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] @@ -204,7 +204,7 @@ const uint32 kRangeFirst[] = { 42560, // Range #171: [42560, 42655, Cyrillic] 42656, // Range #172: [42656, 42743, Bamum] 42786, // Range #173: [42786, 42887, Latin] - 42891, // Range #174: [42891, 42937, 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] @@ -230,165 +230,173 @@ const uint32 kRangeFirst[] = { 43824, // Range #197: [43824, 43866, Latin] 43868, // Range #198: [43868, 43876, Latin] 43877, // Range #199: [43877, 43877, Greek] - 43888, // Range #200: [43888, 43967, Cherokee] - 43968, // Range #201: [43968, 44025, Meetei_Mayek] - 44032, // Range #202: [44032, 55203, Hangul] - 55216, // Range #203: [55216, 55291, Hangul] - 63744, // Range #204: [63744, 64217, Han] - 64256, // Range #205: [64256, 64262, Latin] - 64275, // Range #206: [64275, 64279, Armenian] - 64285, // Range #207: [64285, 64335, Hebrew] - 64336, // Range #208: [64336, 64449, Arabic] - 64467, // Range #209: [64467, 64829, Arabic] - 64848, // Range #210: [64848, 64967, Arabic] - 65008, // Range #211: [65008, 65021, Arabic] - 65070, // Range #212: [65070, 65071, Cyrillic] - 65136, // Range #213: [65136, 65276, Arabic] - 65313, // Range #214: [65313, 65338, Latin] - 65345, // Range #215: [65345, 65370, Latin] - 65382, // Range #216: [65382, 65391, Katakana] - 65393, // Range #217: [65393, 65437, Katakana] - 65440, // Range #218: [65440, 65500, Hangul] - 65536, // Range #219: [65536, 65629, Linear_B] - 65664, // Range #220: [65664, 65786, Linear_B] - 65856, // Range #221: [65856, 65934, Greek] - 65952, // Range #222: [65952, 65952, Greek] - 66176, // Range #223: [66176, 66204, Lycian] - 66208, // Range #224: [66208, 66256, Carian] - 66304, // Range #225: [66304, 66339, Old_Italic] - 66349, // Range #226: [66349, 66351, Old_Italic] - 66352, // Range #227: [66352, 66378, Gothic] - 66384, // Range #228: [66384, 66426, Old_Permic] - 66432, // Range #229: [66432, 66463, Ugaritic] - 66464, // Range #230: [66464, 66517, Old_Persian] - 66560, // Range #231: [66560, 66639, Deseret] - 66640, // Range #232: [66640, 66687, Shavian] - 66688, // Range #233: [66688, 66729, Osmanya] - 66736, // Range #234: [66736, 66811, Osage] - 66816, // Range #235: [66816, 66855, Elbasan] - 66864, // Range #236: [66864, 66915, Caucasian_Albanian] - 66927, // Range #237: [66927, 66927, Caucasian_Albanian] - 67072, // Range #238: [67072, 67382, Linear_A] - 67392, // Range #239: [67392, 67413, Linear_A] - 67424, // Range #240: [67424, 67431, Linear_A] - 67584, // Range #241: [67584, 67647, Cypriot] - 67648, // Range #242: [67648, 67679, Imperial_Aramaic] - 67680, // Range #243: [67680, 67711, Palmyrene] - 67712, // Range #244: [67712, 67742, Nabataean] - 67751, // Range #245: [67751, 67759, Nabataean] - 67808, // Range #246: [67808, 67829, Hatran] - 67835, // Range #247: [67835, 67839, Hatran] - 67840, // Range #248: [67840, 67871, Phoenician] - 67872, // Range #249: [67872, 67897, Lydian] - 67903, // Range #250: [67903, 67903, Lydian] - 67968, // Range #251: [67968, 67999, Meroitic_Hieroglyphs] - 68000, // Range #252: [68000, 68095, Meroitic_Cursive] - 68096, // Range #253: [68096, 68102, Kharoshthi] - 68108, // Range #254: [68108, 68168, Kharoshthi] - 68176, // Range #255: [68176, 68184, Kharoshthi] - 68192, // Range #256: [68192, 68223, Old_South_Arabian] - 68224, // Range #257: [68224, 68255, Old_North_Arabian] - 68288, // Range #258: [68288, 68342, Manichaean] - 68352, // Range #259: [68352, 68415, Avestan] - 68416, // Range #260: [68416, 68447, Inscriptional_Parthian] - 68448, // Range #261: [68448, 68466, Inscriptional_Pahlavi] - 68472, // Range #262: [68472, 68479, Inscriptional_Pahlavi] - 68480, // Range #263: [68480, 68497, Psalter_Pahlavi] - 68505, // Range #264: [68505, 68508, Psalter_Pahlavi] - 68521, // Range #265: [68521, 68527, Psalter_Pahlavi] - 68608, // Range #266: [68608, 68680, Old_Turkic] - 68736, // Range #267: [68736, 68786, Old_Hungarian] - 68800, // Range #268: [68800, 68850, Old_Hungarian] - 68858, // Range #269: [68858, 68863, Old_Hungarian] - 68864, // Range #270: [68864, 68903, Hanifi_Rohingya] - 68912, // Range #271: [68912, 68921, Hanifi_Rohingya] - 69216, // Range #272: [69216, 69246, Arabic] - 69376, // Range #273: [69376, 69415, Old_Sogdian] - 69424, // Range #274: [69424, 69465, Sogdian] - 69632, // Range #275: [69632, 69743, Brahmi] - 69759, // Range #276: [69759, 69759, Brahmi] - 69760, // Range #277: [69760, 69825, Kaithi] - 69837, // Range #278: [69837, 69837, Kaithi] - 69840, // Range #279: [69840, 69864, Sora_Sompeng] - 69872, // Range #280: [69872, 69881, Sora_Sompeng] - 69888, // Range #281: [69888, 69958, Chakma] - 69968, // Range #282: [69968, 70006, Mahajani] - 70016, // Range #283: [70016, 70111, Sharada] - 70113, // Range #284: [70113, 70132, Sinhala] - 70144, // Range #285: [70144, 70206, Khojki] - 70272, // Range #286: [70272, 70313, Multani] - 70320, // Range #287: [70320, 70378, Khudawadi] - 70384, // Range #288: [70384, 70393, Khudawadi] - 70400, // Range #289: [70400, 70457, Grantha] - 70460, // Range #290: [70460, 70480, Grantha] - 70487, // Range #291: [70487, 70487, Grantha] - 70493, // Range #292: [70493, 70516, Grantha] - 70656, // Range #293: [70656, 70750, Newa] - 70784, // Range #294: [70784, 70855, Tirhuta] - 70864, // Range #295: [70864, 70873, Tirhuta] - 71040, // Range #296: [71040, 71133, Siddham] - 71168, // Range #297: [71168, 71236, Modi] - 71248, // Range #298: [71248, 71257, Modi] - 71264, // Range #299: [71264, 71276, Mongolian] - 71296, // Range #300: [71296, 71351, Takri] - 71360, // Range #301: [71360, 71369, Takri] - 71424, // Range #302: [71424, 71487, Ahom] - 71680, // Range #303: [71680, 71739, Dogra] - 71840, // Range #304: [71840, 71922, Warang_Citi] - 71935, // Range #305: [71935, 71935, Warang_Citi] - 72192, // Range #306: [72192, 72263, Zanabazar_Square] - 72272, // Range #307: [72272, 72354, Soyombo] - 72384, // Range #308: [72384, 72440, Pau_Cin_Hau] - 72704, // Range #309: [72704, 72773, Bhaiksuki] - 72784, // Range #310: [72784, 72812, Bhaiksuki] - 72816, // Range #311: [72816, 72886, Marchen] - 72960, // Range #312: [72960, 73031, Masaram_Gondi] - 73040, // Range #313: [73040, 73049, Masaram_Gondi] - 73056, // Range #314: [73056, 73112, Gunjala_Gondi] - 73120, // Range #315: [73120, 73129, Gunjala_Gondi] - 73440, // Range #316: [73440, 73464, Makasar] - 73728, // Range #317: [73728, 74649, Cuneiform] - 74752, // Range #318: [74752, 74868, Cuneiform] - 74880, // Range #319: [74880, 75075, Cuneiform] - 77824, // Range #320: [77824, 78894, Egyptian_Hieroglyphs] - 82944, // Range #321: [82944, 83526, Anatolian_Hieroglyphs] - 92160, // Range #322: [92160, 92728, Bamum] - 92736, // Range #323: [92736, 92783, Mro] - 92880, // Range #324: [92880, 92917, Bassa_Vah] - 92928, // Range #325: [92928, 92997, Pahawh_Hmong] - 93008, // Range #326: [93008, 93047, Pahawh_Hmong] - 93053, // Range #327: [93053, 93071, Pahawh_Hmong] - 93760, // Range #328: [93760, 93850, Medefaidrin] - 93952, // Range #329: [93952, 94020, Miao] - 94032, // Range #330: [94032, 94078, Miao] - 94095, // Range #331: [94095, 94111, Miao] - 94176, // Range #332: [94176, 94176, Tangut] - 94177, // Range #333: [94177, 94177, Nushu] - 94208, // Range #334: [94208, 100337, Tangut] - 100352, // Range #335: [100352, 101106, Tangut] - 110592, // Range #336: [110592, 110592, Katakana] - 110593, // Range #337: [110593, 110878, Hiragana] - 110960, // Range #338: [110960, 111355, Nushu] - 113664, // Range #339: [113664, 113770, Duployan] - 113776, // Range #340: [113776, 113800, Duployan] - 113808, // Range #341: [113808, 113823, Duployan] - 119296, // Range #342: [119296, 119365, Greek] - 120832, // Range #343: [120832, 121483, SignWriting] - 121499, // Range #344: [121499, 121519, SignWriting] - 122880, // Range #345: [122880, 122922, Glagolitic] - 124928, // Range #346: [124928, 125142, Mende_Kikakui] - 125184, // Range #347: [125184, 125258, Adlam] - 125264, // Range #348: [125264, 125279, Adlam] - 126464, // Range #349: [126464, 126523, Arabic] - 126530, // Range #350: [126530, 126619, Arabic] - 126625, // Range #351: [126625, 126651, Arabic] - 126704, // Range #352: [126704, 126705, Arabic] - 127488, // Range #353: [127488, 127488, Hiragana] - 131072, // Range #354: [131072, 173782, Han] - 173824, // Range #355: [173824, 177972, Han] - 177984, // Range #356: [177984, 183969, Han] - 183984, // Range #357: [183984, 191456, Han] - 194560, // Range #358: [194560, 195101, Han] + 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[] = { @@ -434,7 +442,7 @@ const uint16 kRangeSizeMinusOne[] = { 14, // Range #39: [2259, 2273, Arabic] 28, // Range #40: [2275, 2303, Arabic] 80, // Range #41: [2304, 2384, Devanagari] - 16, // Range #42: [2387, 2403, 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] @@ -452,7 +460,7 @@ const uint16 kRangeSizeMinusOne[] = { 77, // Range #57: [3072, 3149, Telugu] 5, // Range #58: [3157, 3162, Telugu] 15, // Range #59: [3168, 3183, Telugu] - 7, // Range #60: [3192, 3199, 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] @@ -461,103 +469,103 @@ const uint16 kRangeSizeMinusOne[] = { 14, // Range #66: [3558, 3572, Sinhala] 57, // Range #67: [3585, 3642, Thai] 27, // Range #68: [3648, 3675, Thai] - 12, // Range #69: [3713, 3725, Lao] - 75, // Range #70: [3732, 3807, Lao] - 212, // Range #71: [3840, 4052, Tibetan] - 1, // Range #72: [4057, 4058, Tibetan] - 159, // Range #73: [4096, 4255, Myanmar] - 39, // Range #74: [4256, 4295, Georgian] - 45, // Range #75: [4301, 4346, Georgian] - 3, // Range #76: [4348, 4351, Georgian] - 255, // Range #77: [4352, 4607, Hangul] - 409, // Range #78: [4608, 5017, Ethiopic] - 93, // Range #79: [5024, 5117, Cherokee] - 639, // Range #80: [5120, 5759, Canadian_Aboriginal] - 28, // Range #81: [5760, 5788, Ogham] - 74, // Range #82: [5792, 5866, Runic] - 10, // Range #83: [5870, 5880, Runic] - 20, // Range #84: [5888, 5908, Tagalog] - 20, // Range #85: [5920, 5940, Hanunoo] - 19, // Range #86: [5952, 5971, Buhid] - 19, // Range #87: [5984, 6003, Tagbanwa] - 105, // Range #88: [6016, 6121, Khmer] - 9, // Range #89: [6128, 6137, Khmer] - 1, // Range #90: [6144, 6145, Mongolian] - 0, // Range #91: [6148, 6148, Mongolian] - 19, // Range #92: [6150, 6169, Mongolian] - 88, // Range #93: [6176, 6264, Mongolian] - 42, // Range #94: [6272, 6314, Mongolian] - 69, // Range #95: [6320, 6389, Canadian_Aboriginal] - 79, // Range #96: [6400, 6479, Limbu] - 36, // Range #97: [6480, 6516, Tai_Le] - 73, // Range #98: [6528, 6601, New_Tai_Lue] - 15, // Range #99: [6608, 6623, New_Tai_Lue] - 31, // Range #100: [6624, 6655, Khmer] - 31, // Range #101: [6656, 6687, Buginese] - 105, // Range #102: [6688, 6793, Tai_Tham] - 9, // Range #103: [6800, 6809, Tai_Tham] - 13, // Range #104: [6816, 6829, Tai_Tham] - 124, // Range #105: [6912, 7036, Balinese] - 63, // Range #106: [7040, 7103, Sundanese] - 51, // Range #107: [7104, 7155, Batak] - 3, // Range #108: [7164, 7167, Batak] - 79, // Range #109: [7168, 7247, Lepcha] - 47, // Range #110: [7248, 7295, Ol_Chiki] - 8, // Range #111: [7296, 7304, Cyrillic] - 47, // Range #112: [7312, 7359, Georgian] - 7, // Range #113: [7360, 7367, Sundanese] - 37, // Range #114: [7424, 7461, Latin] - 4, // Range #115: [7462, 7466, Greek] - 0, // Range #116: [7467, 7467, Cyrillic] - 48, // Range #117: [7468, 7516, Latin] - 4, // Range #118: [7517, 7521, Greek] - 3, // Range #119: [7522, 7525, Latin] - 4, // Range #120: [7526, 7530, Greek] - 12, // Range #121: [7531, 7543, Latin] - 0, // Range #122: [7544, 7544, Cyrillic] - 69, // Range #123: [7545, 7614, Latin] - 0, // Range #124: [7615, 7615, Greek] - 255, // Range #125: [7680, 7935, Latin] - 254, // Range #126: [7936, 8190, Greek] - 0, // Range #127: [8305, 8305, Latin] - 0, // Range #128: [8319, 8319, Latin] - 12, // Range #129: [8336, 8348, Latin] - 0, // Range #130: [8486, 8486, Greek] - 1, // Range #131: [8490, 8491, Latin] - 0, // Range #132: [8498, 8498, Latin] - 0, // Range #133: [8526, 8526, Latin] - 40, // Range #134: [8544, 8584, Latin] - 255, // Range #135: [10240, 10495, Braille] - 94, // Range #136: [11264, 11358, Glagolitic] - 31, // Range #137: [11360, 11391, Latin] - 115, // Range #138: [11392, 11507, Coptic] - 6, // Range #139: [11513, 11519, Coptic] - 39, // Range #140: [11520, 11559, Georgian] - 0, // Range #141: [11565, 11565, Georgian] - 55, // Range #142: [11568, 11623, Tifinagh] - 1, // Range #143: [11631, 11632, Tifinagh] - 0, // Range #144: [11647, 11647, Tifinagh] - 22, // Range #145: [11648, 11670, Ethiopic] - 62, // Range #146: [11680, 11742, Ethiopic] - 31, // Range #147: [11744, 11775, Cyrillic] - 115, // Range #148: [11904, 12019, Han] - 213, // Range #149: [12032, 12245, Han] - 0, // Range #150: [12293, 12293, Han] - 0, // Range #151: [12295, 12295, Han] - 8, // Range #152: [12321, 12329, Han] - 1, // Range #153: [12334, 12335, Hangul] - 3, // Range #154: [12344, 12347, Han] - 85, // Range #155: [12353, 12438, Hiragana] - 2, // Range #156: [12445, 12447, Hiragana] - 89, // Range #157: [12449, 12538, Katakana] - 2, // Range #158: [12541, 12543, Katakana] - 42, // Range #159: [12549, 12591, Bopomofo] - 93, // Range #160: [12593, 12686, Hangul] - 26, // Range #161: [12704, 12730, Bopomofo] - 15, // Range #162: [12784, 12799, Katakana] - 30, // Range #163: [12800, 12830, Hangul] - 30, // Range #164: [12896, 12926, Hangul] - 135, // Range #165: [13008, 13143, Katakana] + 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] @@ -566,7 +574,7 @@ const uint16 kRangeSizeMinusOne[] = { 95, // Range #171: [42560, 42655, Cyrillic] 87, // Range #172: [42656, 42743, Bamum] 101, // Range #173: [42786, 42887, Latin] - 46, // Range #174: [42891, 42937, 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] @@ -592,165 +600,173 @@ const uint16 kRangeSizeMinusOne[] = { 42, // Range #197: [43824, 43866, Latin] 8, // Range #198: [43868, 43876, Latin] 0, // Range #199: [43877, 43877, Greek] - 79, // Range #200: [43888, 43967, Cherokee] - 57, // Range #201: [43968, 44025, Meetei_Mayek] - 11171, // Range #202: [44032, 55203, Hangul] - 75, // Range #203: [55216, 55291, Hangul] - 473, // Range #204: [63744, 64217, Han] - 6, // Range #205: [64256, 64262, Latin] - 4, // Range #206: [64275, 64279, Armenian] - 50, // Range #207: [64285, 64335, Hebrew] - 113, // Range #208: [64336, 64449, Arabic] - 362, // Range #209: [64467, 64829, Arabic] - 119, // Range #210: [64848, 64967, Arabic] - 13, // Range #211: [65008, 65021, Arabic] - 1, // Range #212: [65070, 65071, Cyrillic] - 140, // Range #213: [65136, 65276, Arabic] - 25, // Range #214: [65313, 65338, Latin] - 25, // Range #215: [65345, 65370, Latin] - 9, // Range #216: [65382, 65391, Katakana] - 44, // Range #217: [65393, 65437, Katakana] - 60, // Range #218: [65440, 65500, Hangul] - 93, // Range #219: [65536, 65629, Linear_B] - 122, // Range #220: [65664, 65786, Linear_B] - 78, // Range #221: [65856, 65934, Greek] - 0, // Range #222: [65952, 65952, Greek] - 28, // Range #223: [66176, 66204, Lycian] - 48, // Range #224: [66208, 66256, Carian] - 35, // Range #225: [66304, 66339, Old_Italic] - 2, // Range #226: [66349, 66351, Old_Italic] - 26, // Range #227: [66352, 66378, Gothic] - 42, // Range #228: [66384, 66426, Old_Permic] - 31, // Range #229: [66432, 66463, Ugaritic] - 53, // Range #230: [66464, 66517, Old_Persian] - 79, // Range #231: [66560, 66639, Deseret] - 47, // Range #232: [66640, 66687, Shavian] - 41, // Range #233: [66688, 66729, Osmanya] - 75, // Range #234: [66736, 66811, Osage] - 39, // Range #235: [66816, 66855, Elbasan] - 51, // Range #236: [66864, 66915, Caucasian_Albanian] - 0, // Range #237: [66927, 66927, Caucasian_Albanian] - 310, // Range #238: [67072, 67382, Linear_A] - 21, // Range #239: [67392, 67413, Linear_A] - 7, // Range #240: [67424, 67431, Linear_A] - 63, // Range #241: [67584, 67647, Cypriot] - 31, // Range #242: [67648, 67679, Imperial_Aramaic] - 31, // Range #243: [67680, 67711, Palmyrene] - 30, // Range #244: [67712, 67742, Nabataean] - 8, // Range #245: [67751, 67759, Nabataean] - 21, // Range #246: [67808, 67829, Hatran] - 4, // Range #247: [67835, 67839, Hatran] - 31, // Range #248: [67840, 67871, Phoenician] - 25, // Range #249: [67872, 67897, Lydian] - 0, // Range #250: [67903, 67903, Lydian] - 31, // Range #251: [67968, 67999, Meroitic_Hieroglyphs] - 95, // Range #252: [68000, 68095, Meroitic_Cursive] - 6, // Range #253: [68096, 68102, Kharoshthi] - 60, // Range #254: [68108, 68168, Kharoshthi] - 8, // Range #255: [68176, 68184, Kharoshthi] - 31, // Range #256: [68192, 68223, Old_South_Arabian] - 31, // Range #257: [68224, 68255, Old_North_Arabian] - 54, // Range #258: [68288, 68342, Manichaean] - 63, // Range #259: [68352, 68415, Avestan] - 31, // Range #260: [68416, 68447, Inscriptional_Parthian] - 18, // Range #261: [68448, 68466, Inscriptional_Pahlavi] - 7, // Range #262: [68472, 68479, Inscriptional_Pahlavi] - 17, // Range #263: [68480, 68497, Psalter_Pahlavi] - 3, // Range #264: [68505, 68508, Psalter_Pahlavi] - 6, // Range #265: [68521, 68527, Psalter_Pahlavi] - 72, // Range #266: [68608, 68680, Old_Turkic] - 50, // Range #267: [68736, 68786, Old_Hungarian] - 50, // Range #268: [68800, 68850, Old_Hungarian] - 5, // Range #269: [68858, 68863, Old_Hungarian] - 39, // Range #270: [68864, 68903, Hanifi_Rohingya] - 9, // Range #271: [68912, 68921, Hanifi_Rohingya] - 30, // Range #272: [69216, 69246, Arabic] - 39, // Range #273: [69376, 69415, Old_Sogdian] - 41, // Range #274: [69424, 69465, Sogdian] - 111, // Range #275: [69632, 69743, Brahmi] - 0, // Range #276: [69759, 69759, Brahmi] - 65, // Range #277: [69760, 69825, Kaithi] - 0, // Range #278: [69837, 69837, Kaithi] - 24, // Range #279: [69840, 69864, Sora_Sompeng] - 9, // Range #280: [69872, 69881, Sora_Sompeng] - 70, // Range #281: [69888, 69958, Chakma] - 38, // Range #282: [69968, 70006, Mahajani] - 95, // Range #283: [70016, 70111, Sharada] - 19, // Range #284: [70113, 70132, Sinhala] - 62, // Range #285: [70144, 70206, Khojki] - 41, // Range #286: [70272, 70313, Multani] - 58, // Range #287: [70320, 70378, Khudawadi] - 9, // Range #288: [70384, 70393, Khudawadi] - 57, // Range #289: [70400, 70457, Grantha] - 20, // Range #290: [70460, 70480, Grantha] - 0, // Range #291: [70487, 70487, Grantha] - 23, // Range #292: [70493, 70516, Grantha] - 94, // Range #293: [70656, 70750, Newa] - 71, // Range #294: [70784, 70855, Tirhuta] - 9, // Range #295: [70864, 70873, Tirhuta] - 93, // Range #296: [71040, 71133, Siddham] - 68, // Range #297: [71168, 71236, Modi] - 9, // Range #298: [71248, 71257, Modi] - 12, // Range #299: [71264, 71276, Mongolian] - 55, // Range #300: [71296, 71351, Takri] - 9, // Range #301: [71360, 71369, Takri] - 63, // Range #302: [71424, 71487, Ahom] - 59, // Range #303: [71680, 71739, Dogra] - 82, // Range #304: [71840, 71922, Warang_Citi] - 0, // Range #305: [71935, 71935, Warang_Citi] - 71, // Range #306: [72192, 72263, Zanabazar_Square] - 82, // Range #307: [72272, 72354, Soyombo] - 56, // Range #308: [72384, 72440, Pau_Cin_Hau] - 69, // Range #309: [72704, 72773, Bhaiksuki] - 28, // Range #310: [72784, 72812, Bhaiksuki] - 70, // Range #311: [72816, 72886, Marchen] - 71, // Range #312: [72960, 73031, Masaram_Gondi] - 9, // Range #313: [73040, 73049, Masaram_Gondi] - 56, // Range #314: [73056, 73112, Gunjala_Gondi] - 9, // Range #315: [73120, 73129, Gunjala_Gondi] - 24, // Range #316: [73440, 73464, Makasar] - 921, // Range #317: [73728, 74649, Cuneiform] - 116, // Range #318: [74752, 74868, Cuneiform] - 195, // Range #319: [74880, 75075, Cuneiform] - 1070, // Range #320: [77824, 78894, Egyptian_Hieroglyphs] - 582, // Range #321: [82944, 83526, Anatolian_Hieroglyphs] - 568, // Range #322: [92160, 92728, Bamum] - 47, // Range #323: [92736, 92783, Mro] - 37, // Range #324: [92880, 92917, Bassa_Vah] - 69, // Range #325: [92928, 92997, Pahawh_Hmong] - 39, // Range #326: [93008, 93047, Pahawh_Hmong] - 18, // Range #327: [93053, 93071, Pahawh_Hmong] - 90, // Range #328: [93760, 93850, Medefaidrin] - 68, // Range #329: [93952, 94020, Miao] - 46, // Range #330: [94032, 94078, Miao] - 16, // Range #331: [94095, 94111, Miao] - 0, // Range #332: [94176, 94176, Tangut] - 0, // Range #333: [94177, 94177, Nushu] - 6129, // Range #334: [94208, 100337, Tangut] - 754, // Range #335: [100352, 101106, Tangut] - 0, // Range #336: [110592, 110592, Katakana] - 285, // Range #337: [110593, 110878, Hiragana] - 395, // Range #338: [110960, 111355, Nushu] - 106, // Range #339: [113664, 113770, Duployan] - 24, // Range #340: [113776, 113800, Duployan] - 15, // Range #341: [113808, 113823, Duployan] - 69, // Range #342: [119296, 119365, Greek] - 651, // Range #343: [120832, 121483, SignWriting] - 20, // Range #344: [121499, 121519, SignWriting] - 42, // Range #345: [122880, 122922, Glagolitic] - 214, // Range #346: [124928, 125142, Mende_Kikakui] - 74, // Range #347: [125184, 125258, Adlam] - 15, // Range #348: [125264, 125279, Adlam] - 59, // Range #349: [126464, 126523, Arabic] - 89, // Range #350: [126530, 126619, Arabic] - 26, // Range #351: [126625, 126651, Arabic] - 1, // Range #352: [126704, 126705, Arabic] - 0, // Range #353: [127488, 127488, Hiragana] - 42710, // Range #354: [131072, 173782, Han] - 4148, // Range #355: [173824, 177972, Han] - 5985, // Range #356: [177984, 183969, Han] - 7472, // Range #357: [183984, 191456, Han] - 541, // Range #358: [194560, 195101, Han] + 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[] = { @@ -796,7 +812,7 @@ const uint8 kRangeScript[] = { 2, // Range #39: [2259, 2273, Arabic] 2, // Range #40: [2275, 2303, Arabic] 10, // Range #41: [2304, 2384, Devanagari] - 10, // Range #42: [2387, 2403, 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] @@ -814,7 +830,7 @@ const uint8 kRangeScript[] = { 36, // Range #57: [3072, 3149, Telugu] 36, // Range #58: [3157, 3162, Telugu] 36, // Range #59: [3168, 3183, Telugu] - 36, // Range #60: [3192, 3199, 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] @@ -823,103 +839,103 @@ const uint8 kRangeScript[] = { 33, // Range #66: [3558, 3572, Sinhala] 38, // Range #67: [3585, 3642, Thai] 38, // Range #68: [3648, 3675, Thai] - 24, // Range #69: [3713, 3725, Lao] - 24, // Range #70: [3732, 3807, Lao] - 39, // Range #71: [3840, 4052, Tibetan] - 39, // Range #72: [4057, 4058, Tibetan] - 28, // Range #73: [4096, 4255, Myanmar] - 12, // Range #74: [4256, 4295, Georgian] - 12, // Range #75: [4301, 4346, Georgian] - 12, // Range #76: [4348, 4351, Georgian] - 18, // Range #77: [4352, 4607, Hangul] - 11, // Range #78: [4608, 5017, Ethiopic] - 6, // Range #79: [5024, 5117, Cherokee] - 40, // Range #80: [5120, 5759, Canadian_Aboriginal] - 29, // Range #81: [5760, 5788, Ogham] - 32, // Range #82: [5792, 5866, Runic] - 32, // Range #83: [5870, 5880, Runic] - 42, // Range #84: [5888, 5908, Tagalog] - 43, // Range #85: [5920, 5940, Hanunoo] - 44, // Range #86: [5952, 5971, Buhid] - 45, // Range #87: [5984, 6003, Tagbanwa] - 23, // Range #88: [6016, 6121, Khmer] - 23, // Range #89: [6128, 6137, Khmer] - 27, // Range #90: [6144, 6145, Mongolian] - 27, // Range #91: [6148, 6148, Mongolian] - 27, // Range #92: [6150, 6169, Mongolian] - 27, // Range #93: [6176, 6264, Mongolian] - 27, // Range #94: [6272, 6314, Mongolian] - 40, // Range #95: [6320, 6389, Canadian_Aboriginal] - 48, // Range #96: [6400, 6479, Limbu] - 52, // Range #97: [6480, 6516, Tai_Le] - 59, // Range #98: [6528, 6601, New_Tai_Lue] - 59, // Range #99: [6608, 6623, New_Tai_Lue] - 23, // Range #100: [6624, 6655, Khmer] - 55, // Range #101: [6656, 6687, Buginese] - 106, // Range #102: [6688, 6793, Tai_Tham] - 106, // Range #103: [6800, 6809, Tai_Tham] - 106, // Range #104: [6816, 6829, Tai_Tham] - 62, // Range #105: [6912, 7036, Balinese] - 113, // Range #106: [7040, 7103, Sundanese] - 63, // Range #107: [7104, 7155, Batak] - 63, // Range #108: [7164, 7167, Batak] - 82, // Range #109: [7168, 7247, Lepcha] - 109, // Range #110: [7248, 7295, Ol_Chiki] - 8, // Range #111: [7296, 7304, Cyrillic] - 12, // Range #112: [7312, 7359, Georgian] - 113, // Range #113: [7360, 7367, Sundanese] - 25, // Range #114: [7424, 7461, Latin] - 14, // Range #115: [7462, 7466, Greek] - 8, // Range #116: [7467, 7467, Cyrillic] - 25, // Range #117: [7468, 7516, Latin] - 14, // Range #118: [7517, 7521, Greek] - 25, // Range #119: [7522, 7525, Latin] - 14, // Range #120: [7526, 7530, Greek] - 25, // Range #121: [7531, 7543, Latin] - 8, // Range #122: [7544, 7544, Cyrillic] - 25, // Range #123: [7545, 7614, Latin] - 14, // Range #124: [7615, 7615, Greek] - 25, // Range #125: [7680, 7935, Latin] - 14, // Range #126: [7936, 8190, Greek] - 25, // Range #127: [8305, 8305, Latin] - 25, // Range #128: [8319, 8319, Latin] - 25, // Range #129: [8336, 8348, Latin] - 14, // Range #130: [8486, 8486, Greek] - 25, // Range #131: [8490, 8491, Latin] - 25, // Range #132: [8498, 8498, Latin] - 25, // Range #133: [8526, 8526, Latin] - 25, // Range #134: [8544, 8584, Latin] - 46, // Range #135: [10240, 10495, Braille] - 56, // Range #136: [11264, 11358, Glagolitic] - 25, // Range #137: [11360, 11391, Latin] - 7, // Range #138: [11392, 11507, Coptic] - 7, // Range #139: [11513, 11519, Coptic] - 12, // Range #140: [11520, 11559, Georgian] - 12, // Range #141: [11565, 11565, Georgian] - 60, // Range #142: [11568, 11623, Tifinagh] - 60, // Range #143: [11631, 11632, Tifinagh] - 60, // Range #144: [11647, 11647, Tifinagh] - 11, // Range #145: [11648, 11670, Ethiopic] - 11, // Range #146: [11680, 11742, Ethiopic] - 8, // Range #147: [11744, 11775, Cyrillic] - 17, // Range #148: [11904, 12019, Han] - 17, // Range #149: [12032, 12245, Han] - 17, // Range #150: [12293, 12293, Han] - 17, // Range #151: [12295, 12295, Han] - 17, // Range #152: [12321, 12329, Han] - 18, // Range #153: [12334, 12335, Hangul] - 17, // Range #154: [12344, 12347, Han] - 20, // Range #155: [12353, 12438, Hiragana] - 20, // Range #156: [12445, 12447, Hiragana] - 22, // Range #157: [12449, 12538, Katakana] - 22, // Range #158: [12541, 12543, Katakana] - 5, // Range #159: [12549, 12591, Bopomofo] - 18, // Range #160: [12593, 12686, Hangul] - 5, // Range #161: [12704, 12730, Bopomofo] - 22, // Range #162: [12784, 12799, Katakana] - 18, // Range #163: [12800, 12830, Hangul] - 18, // Range #164: [12896, 12926, Hangul] - 22, // Range #165: [13008, 13143, Katakana] + 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] @@ -928,7 +944,7 @@ const uint8 kRangeScript[] = { 8, // Range #171: [42560, 42655, Cyrillic] 130, // Range #172: [42656, 42743, Bamum] 25, // Range #173: [42786, 42887, Latin] - 25, // Range #174: [42891, 42937, 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] @@ -954,168 +970,176 @@ const uint8 kRangeScript[] = { 25, // Range #197: [43824, 43866, Latin] 25, // Range #198: [43868, 43876, Latin] 14, // Range #199: [43877, 43877, Greek] - 6, // Range #200: [43888, 43967, Cherokee] - 115, // Range #201: [43968, 44025, Meetei_Mayek] - 18, // Range #202: [44032, 55203, Hangul] - 18, // Range #203: [55216, 55291, Hangul] - 17, // Range #204: [63744, 64217, Han] - 25, // Range #205: [64256, 64262, Latin] - 3, // Range #206: [64275, 64279, Armenian] - 19, // Range #207: [64285, 64335, Hebrew] - 2, // Range #208: [64336, 64449, Arabic] - 2, // Range #209: [64467, 64829, Arabic] - 2, // Range #210: [64848, 64967, Arabic] - 2, // Range #211: [65008, 65021, Arabic] - 8, // Range #212: [65070, 65071, Cyrillic] - 2, // Range #213: [65136, 65276, Arabic] - 25, // Range #214: [65313, 65338, Latin] - 25, // Range #215: [65345, 65370, Latin] - 22, // Range #216: [65382, 65391, Katakana] - 22, // Range #217: [65393, 65437, Katakana] - 18, // Range #218: [65440, 65500, Hangul] - 49, // Range #219: [65536, 65629, Linear_B] - 49, // Range #220: [65664, 65786, Linear_B] - 14, // Range #221: [65856, 65934, Greek] - 14, // Range #222: [65952, 65952, Greek] - 107, // Range #223: [66176, 66204, Lycian] - 104, // Range #224: [66208, 66256, Carian] - 30, // Range #225: [66304, 66339, Old_Italic] - 30, // Range #226: [66349, 66351, Old_Italic] - 13, // Range #227: [66352, 66378, Gothic] - 89, // Range #228: [66384, 66426, Old_Permic] - 53, // Range #229: [66432, 66463, Ugaritic] - 61, // Range #230: [66464, 66517, Old_Persian] - 9, // Range #231: [66560, 66639, Deseret] - 51, // Range #232: [66640, 66687, Shavian] - 50, // Range #233: [66688, 66729, Osmanya] - 171, // Range #234: [66736, 66811, Osage] - 136, // Range #235: [66816, 66855, Elbasan] - 159, // Range #236: [66864, 66915, Caucasian_Albanian] - 159, // Range #237: [66927, 66927, Caucasian_Albanian] - 83, // Range #238: [67072, 67382, Linear_A] - 83, // Range #239: [67392, 67413, Linear_A] - 83, // Range #240: [67424, 67431, Linear_A] - 47, // Range #241: [67584, 67647, Cypriot] - 116, // Range #242: [67648, 67679, Imperial_Aramaic] - 144, // Range #243: [67680, 67711, Palmyrene] - 143, // Range #244: [67712, 67742, Nabataean] - 143, // Range #245: [67751, 67759, Nabataean] - 162, // Range #246: [67808, 67829, Hatran] - 162, // Range #247: [67835, 67839, Hatran] - 91, // Range #248: [67840, 67871, Phoenician] - 108, // Range #249: [67872, 67897, Lydian] - 108, // Range #250: [67903, 67903, Lydian] - 86, // Range #251: [67968, 67999, Meroitic_Hieroglyphs] - 141, // Range #252: [68000, 68095, Meroitic_Cursive] - 57, // Range #253: [68096, 68102, Kharoshthi] - 57, // Range #254: [68108, 68168, Kharoshthi] - 57, // Range #255: [68176, 68184, Kharoshthi] - 133, // Range #256: [68192, 68223, Old_South_Arabian] - 142, // Range #257: [68224, 68255, Old_North_Arabian] - 121, // Range #258: [68288, 68342, Manichaean] - 117, // Range #259: [68352, 68415, Avestan] - 125, // Range #260: [68416, 68447, Inscriptional_Parthian] - 122, // Range #261: [68448, 68466, Inscriptional_Pahlavi] - 122, // Range #262: [68472, 68479, Inscriptional_Pahlavi] - 123, // Range #263: [68480, 68497, Psalter_Pahlavi] - 123, // Range #264: [68505, 68508, Psalter_Pahlavi] - 123, // Range #265: [68521, 68527, Psalter_Pahlavi] - 88, // Range #266: [68608, 68680, Old_Turkic] - 76, // Range #267: [68736, 68786, Old_Hungarian] - 76, // Range #268: [68800, 68850, Old_Hungarian] - 76, // Range #269: [68858, 68863, Old_Hungarian] - 182, // Range #270: [68864, 68903, Hanifi_Rohingya] - 182, // Range #271: [68912, 68921, Hanifi_Rohingya] - 2, // Range #272: [69216, 69246, Arabic] - 184, // Range #273: [69376, 69415, Old_Sogdian] - 183, // Range #274: [69424, 69465, Sogdian] - 65, // Range #275: [69632, 69743, Brahmi] - 65, // Range #276: [69759, 69759, Brahmi] - 120, // Range #277: [69760, 69825, Kaithi] - 120, // Range #278: [69837, 69837, Kaithi] - 152, // Range #279: [69840, 69864, Sora_Sompeng] - 152, // Range #280: [69872, 69881, Sora_Sompeng] - 118, // Range #281: [69888, 69958, Chakma] - 160, // Range #282: [69968, 70006, Mahajani] - 151, // Range #283: [70016, 70111, Sharada] - 33, // Range #284: [70113, 70132, Sinhala] - 157, // Range #285: [70144, 70206, Khojki] - 164, // Range #286: [70272, 70313, Multani] - 145, // Range #287: [70320, 70378, Khudawadi] - 145, // Range #288: [70384, 70393, Khudawadi] - 137, // Range #289: [70400, 70457, Grantha] - 137, // Range #290: [70460, 70480, Grantha] - 137, // Range #291: [70487, 70487, Grantha] - 137, // Range #292: [70493, 70516, Grantha] - 170, // Range #293: [70656, 70750, Newa] - 158, // Range #294: [70784, 70855, Tirhuta] - 158, // Range #295: [70864, 70873, Tirhuta] - 166, // Range #296: [71040, 71133, Siddham] - 163, // Range #297: [71168, 71236, Modi] - 163, // Range #298: [71248, 71257, Modi] - 27, // Range #299: [71264, 71276, Mongolian] - 153, // Range #300: [71296, 71351, Takri] - 153, // Range #301: [71360, 71369, Takri] - 161, // Range #302: [71424, 71487, Ahom] - 178, // Range #303: [71680, 71739, Dogra] - 146, // Range #304: [71840, 71922, Warang_Citi] - 146, // Range #305: [71935, 71935, Warang_Citi] - 177, // Range #306: [72192, 72263, Zanabazar_Square] - 176, // Range #307: [72272, 72354, Soyombo] - 165, // Range #308: [72384, 72440, Pau_Cin_Hau] - 168, // Range #309: [72704, 72773, Bhaiksuki] - 168, // Range #310: [72784, 72812, Bhaiksuki] - 169, // Range #311: [72816, 72886, Marchen] - 175, // Range #312: [72960, 73031, Masaram_Gondi] - 175, // Range #313: [73040, 73049, Masaram_Gondi] - 179, // Range #314: [73056, 73112, Gunjala_Gondi] - 179, // Range #315: [73120, 73129, Gunjala_Gondi] - 180, // Range #316: [73440, 73464, Makasar] - 101, // Range #317: [73728, 74649, Cuneiform] - 101, // Range #318: [74752, 74868, Cuneiform] - 101, // Range #319: [74880, 75075, Cuneiform] - 71, // Range #320: [77824, 78894, Egyptian_Hieroglyphs] - 156, // Range #321: [82944, 83526, Anatolian_Hieroglyphs] - 130, // Range #322: [92160, 92728, Bamum] - 149, // Range #323: [92736, 92783, Mro] - 134, // Range #324: [92880, 92917, Bassa_Vah] - 75, // Range #325: [92928, 92997, Pahawh_Hmong] - 75, // Range #326: [93008, 93047, Pahawh_Hmong] - 75, // Range #327: [93053, 93071, Pahawh_Hmong] - 181, // Range #328: [93760, 93850, Medefaidrin] - 92, // Range #329: [93952, 94020, Miao] - 92, // Range #330: [94032, 94078, Miao] - 92, // Range #331: [94095, 94111, Miao] - 154, // Range #332: [94176, 94176, Tangut] - 150, // Range #333: [94177, 94177, Nushu] - 154, // Range #334: [94208, 100337, Tangut] - 154, // Range #335: [100352, 101106, Tangut] - 22, // Range #336: [110592, 110592, Katakana] - 20, // Range #337: [110593, 110878, Hiragana] - 150, // Range #338: [110960, 111355, Nushu] - 135, // Range #339: [113664, 113770, Duployan] - 135, // Range #340: [113776, 113800, Duployan] - 135, // Range #341: [113808, 113823, Duployan] - 14, // Range #342: [119296, 119365, Greek] - 112, // Range #343: [120832, 121483, SignWriting] - 112, // Range #344: [121499, 121519, SignWriting] - 56, // Range #345: [122880, 122922, Glagolitic] - 140, // Range #346: [124928, 125142, Mende_Kikakui] - 167, // Range #347: [125184, 125258, Adlam] - 167, // Range #348: [125264, 125279, Adlam] - 2, // Range #349: [126464, 126523, Arabic] - 2, // Range #350: [126530, 126619, Arabic] - 2, // Range #351: [126625, 126651, Arabic] - 2, // Range #352: [126704, 126705, Arabic] - 20, // Range #353: [127488, 127488, Hiragana] - 17, // Range #354: [131072, 173782, Han] - 17, // Range #355: [173824, 177972, Han] - 17, // Range #356: [177984, 183969, Han] - 17, // Range #357: [183984, 191456, Han] - 17, // Range #358: [194560, 195101, Han] + 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 = 184; +const uint8 kMaxScript = 188; } // namespace approx_script_internal } // namespace mobile diff --git a/models/actions_suggestions.en.model b/models/actions_suggestions.en.model Binary files differindex 976ab88..6cec2b7 100644 --- a/models/actions_suggestions.en.model +++ b/models/actions_suggestions.en.model diff --git a/models/actions_suggestions.universal.model b/models/actions_suggestions.universal.model Binary files differindex 1fd08e8..60f10e6 100644 --- a/models/actions_suggestions.universal.model +++ b/models/actions_suggestions.universal.model diff --git a/models/textclassifier.ar.model b/models/textclassifier.ar.model Binary files differindex 6ea9107..9d8e2eb 100644 --- a/models/textclassifier.ar.model +++ b/models/textclassifier.ar.model diff --git a/models/textclassifier.en.model b/models/textclassifier.en.model Binary files differindex 1b05853..917db91 100644 --- a/models/textclassifier.en.model +++ b/models/textclassifier.en.model diff --git a/models/textclassifier.es.model b/models/textclassifier.es.model Binary files differindex f8835e3..94b7835 100644 --- a/models/textclassifier.es.model +++ b/models/textclassifier.es.model diff --git a/models/textclassifier.fr.model b/models/textclassifier.fr.model Binary files differindex c8b75be..19081e5 100644 --- a/models/textclassifier.fr.model +++ b/models/textclassifier.fr.model diff --git a/models/textclassifier.it.model b/models/textclassifier.it.model Binary files differindex b358915..2f72c36 100644 --- a/models/textclassifier.it.model +++ b/models/textclassifier.it.model diff --git a/models/textclassifier.ja.model b/models/textclassifier.ja.model Binary files differindex 9a45a74..92d7cef 100644 --- a/models/textclassifier.ja.model +++ b/models/textclassifier.ja.model diff --git a/models/textclassifier.ko.model b/models/textclassifier.ko.model Binary files differindex c09a27b..7e88f54 100644 --- a/models/textclassifier.ko.model +++ b/models/textclassifier.ko.model diff --git a/models/textclassifier.nl.model b/models/textclassifier.nl.model Binary files differindex 17c55a5..b2e3923 100644 --- a/models/textclassifier.nl.model +++ b/models/textclassifier.nl.model diff --git a/models/textclassifier.pl.model b/models/textclassifier.pl.model Binary files differindex ba4bb3c..7231c49 100644 --- a/models/textclassifier.pl.model +++ b/models/textclassifier.pl.model diff --git a/models/textclassifier.pt.model b/models/textclassifier.pt.model Binary files differindex e3ede0b..cae8692 100644 --- a/models/textclassifier.pt.model +++ b/models/textclassifier.pt.model diff --git a/models/textclassifier.ru.model b/models/textclassifier.ru.model Binary files differindex 4e2347d..5be2ecc 100644 --- a/models/textclassifier.ru.model +++ b/models/textclassifier.ru.model diff --git a/models/textclassifier.th.model b/models/textclassifier.th.model Binary files differindex ddced07..321edd7 100644 --- a/models/textclassifier.th.model +++ b/models/textclassifier.th.model diff --git a/models/textclassifier.tr.model b/models/textclassifier.tr.model Binary files differindex ec98112..6d11cef 100644 --- a/models/textclassifier.tr.model +++ b/models/textclassifier.tr.model diff --git a/models/textclassifier.universal.model b/models/textclassifier.universal.model Binary files differindex f88ab1b..af19e67 100644 --- a/models/textclassifier.universal.model +++ b/models/textclassifier.universal.model diff --git a/models/textclassifier.zh-Hant.model b/models/textclassifier.zh-Hant.model Binary files differindex 56b0adb..366c923 100644 --- a/models/textclassifier.zh-Hant.model +++ b/models/textclassifier.zh-Hant.model diff --git a/models/textclassifier.zh.model b/models/textclassifier.zh.model Binary files differindex 9ded6c9..22f2777 100644 --- a/models/textclassifier.zh.model +++ b/models/textclassifier.zh.model |