Merge branch 'fonttools:main' into ttf2otf

This commit is contained in:
ftCLI 2024-09-24 11:47:04 +02:00 committed by GitHub
commit d4f89c43b2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
11 changed files with 585 additions and 198 deletions

View File

@ -118,7 +118,7 @@ jobs:
# so that all artifacts are downloaded in the same directory specified by 'path'
merge-multiple: true
path: dist
- uses: pypa/gh-action-pypi-publish@v1.10.1
- uses: pypa/gh-action-pypi-publish@v1.10.2
with:
user: __token__
password: ${{ secrets.PYPI_PASSWORD }}

View File

@ -3,6 +3,6 @@ from fontTools.misc.loggingTools import configLogger
log = logging.getLogger(__name__)
version = __version__ = "4.53.2.dev0"
version = __version__ = "4.54.1.dev0"
__all__ = ["version", "log", "configLogger"]

View File

@ -123,7 +123,7 @@ Other options
For the other options listed below, to see the current value of the option,
pass a value of '?' to it, with or without a '='. In some environments,
you might need to escape the question mark, like this: '--glyph-names\?'.
you might need to escape the question mark, like this: '--glyph-names\\?'.
Examples::

View File

@ -4,10 +4,11 @@
# Source: https://unicode.org/Public/UNIDATA/Blocks.txt
# License: http://unicode.org/copyright.html#License
#
# Blocks-15.0.0.txt
# Date: 2022-01-28, 20:58:00 GMT [KW]
# © 2022 Unicode®, Inc.
# For terms of use, see https://www.unicode.org/terms_of_use.html
# Blocks-16.0.0.txt
# Date: 2024-02-02
# © 2024 Unicode®, Inc.
# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
# For terms of use and license, see https://www.unicode.org/terms_of_use.html
#
# Unicode Character Database
# For documentation, see https://www.unicode.org/reports/tr44/
@ -205,7 +206,7 @@ RANGES = [
0x10500, # .. 0x1052F ; Elbasan
0x10530, # .. 0x1056F ; Caucasian Albanian
0x10570, # .. 0x105BF ; Vithkuqi
0x105C0, # .. 0x105FF ; No_Block
0x105C0, # .. 0x105FF ; Todhri
0x10600, # .. 0x1077F ; Linear A
0x10780, # .. 0x107BF ; Latin Extended-F
0x107C0, # .. 0x107FF ; No_Block
@ -234,7 +235,8 @@ RANGES = [
0x10C50, # .. 0x10C7F ; No_Block
0x10C80, # .. 0x10CFF ; Old Hungarian
0x10D00, # .. 0x10D3F ; Hanifi Rohingya
0x10D40, # .. 0x10E5F ; No_Block
0x10D40, # .. 0x10D8F ; Garay
0x10D90, # .. 0x10E5F ; No_Block
0x10E60, # .. 0x10E7F ; Rumi Numeral Symbols
0x10E80, # .. 0x10EBF ; Yezidi
0x10EC0, # .. 0x10EFF ; Arabic Extended-C
@ -255,7 +257,7 @@ RANGES = [
0x11280, # .. 0x112AF ; Multani
0x112B0, # .. 0x112FF ; Khudawadi
0x11300, # .. 0x1137F ; Grantha
0x11380, # .. 0x113FF ; No_Block
0x11380, # .. 0x113FF ; Tulu-Tigalari
0x11400, # .. 0x1147F ; Newa
0x11480, # .. 0x114DF ; Tirhuta
0x114E0, # .. 0x1157F ; No_Block
@ -263,7 +265,7 @@ RANGES = [
0x11600, # .. 0x1165F ; Modi
0x11660, # .. 0x1167F ; Mongolian Supplement
0x11680, # .. 0x116CF ; Takri
0x116D0, # .. 0x116FF ; No_Block
0x116D0, # .. 0x116FF ; Myanmar Extended-C
0x11700, # .. 0x1174F ; Ahom
0x11750, # .. 0x117FF ; No_Block
0x11800, # .. 0x1184F ; Dogra
@ -277,7 +279,8 @@ RANGES = [
0x11AB0, # .. 0x11ABF ; Unified Canadian Aboriginal Syllabics Extended-A
0x11AC0, # .. 0x11AFF ; Pau Cin Hau
0x11B00, # .. 0x11B5F ; Devanagari Extended-A
0x11B60, # .. 0x11BFF ; No_Block
0x11B60, # .. 0x11BBF ; No_Block
0x11BC0, # .. 0x11BFF ; Sunuwar
0x11C00, # .. 0x11C6F ; Bhaiksuki
0x11C70, # .. 0x11CBF ; Marchen
0x11CC0, # .. 0x11CFF ; No_Block
@ -296,15 +299,19 @@ RANGES = [
0x12F90, # .. 0x12FFF ; Cypro-Minoan
0x13000, # .. 0x1342F ; Egyptian Hieroglyphs
0x13430, # .. 0x1345F ; Egyptian Hieroglyph Format Controls
0x13460, # .. 0x143FF ; No_Block
0x13460, # .. 0x143FF ; Egyptian Hieroglyphs Extended-A
0x14400, # .. 0x1467F ; Anatolian Hieroglyphs
0x14680, # .. 0x167FF ; No_Block
0x14680, # .. 0x160FF ; No_Block
0x16100, # .. 0x1613F ; Gurung Khema
0x16140, # .. 0x167FF ; No_Block
0x16800, # .. 0x16A3F ; Bamum Supplement
0x16A40, # .. 0x16A6F ; Mro
0x16A70, # .. 0x16ACF ; Tangsa
0x16AD0, # .. 0x16AFF ; Bassa Vah
0x16B00, # .. 0x16B8F ; Pahawh Hmong
0x16B90, # .. 0x16E3F ; No_Block
0x16B90, # .. 0x16D3F ; No_Block
0x16D40, # .. 0x16D7F ; Kirat Rai
0x16D80, # .. 0x16E3F ; No_Block
0x16E40, # .. 0x16E9F ; Medefaidrin
0x16EA0, # .. 0x16EFF ; No_Block
0x16F00, # .. 0x16F9F ; Miao
@ -323,7 +330,9 @@ RANGES = [
0x1B300, # .. 0x1BBFF ; No_Block
0x1BC00, # .. 0x1BC9F ; Duployan
0x1BCA0, # .. 0x1BCAF ; Shorthand Format Controls
0x1BCB0, # .. 0x1CEFF ; No_Block
0x1BCB0, # .. 0x1CBFF ; No_Block
0x1CC00, # .. 0x1CEBF ; Symbols for Legacy Computing Supplement
0x1CEC0, # .. 0x1CEFF ; No_Block
0x1CF00, # .. 0x1CFCF ; Znamenny Musical Notation
0x1CFD0, # .. 0x1CFFF ; No_Block
0x1D000, # .. 0x1D0FF ; Byzantine Musical Symbols
@ -348,7 +357,9 @@ RANGES = [
0x1E2C0, # .. 0x1E2FF ; Wancho
0x1E300, # .. 0x1E4CF ; No_Block
0x1E4D0, # .. 0x1E4FF ; Nag Mundari
0x1E500, # .. 0x1E7DF ; No_Block
0x1E500, # .. 0x1E5CF ; No_Block
0x1E5D0, # .. 0x1E5FF ; Ol Onal
0x1E600, # .. 0x1E7DF ; No_Block
0x1E7E0, # .. 0x1E7FF ; Ethiopic Extended-B
0x1E800, # .. 0x1E8DF ; Mende Kikakui
0x1E8E0, # .. 0x1E8FF ; No_Block
@ -383,7 +394,8 @@ RANGES = [
0x2B740, # .. 0x2B81F ; CJK Unified Ideographs Extension D
0x2B820, # .. 0x2CEAF ; CJK Unified Ideographs Extension E
0x2CEB0, # .. 0x2EBEF ; CJK Unified Ideographs Extension F
0x2EBF0, # .. 0x2F7FF ; No_Block
0x2EBF0, # .. 0x2EE5F ; CJK Unified Ideographs Extension I
0x2EE60, # .. 0x2F7FF ; No_Block
0x2F800, # .. 0x2FA1F ; CJK Compatibility Ideographs Supplement
0x2FA20, # .. 0x2FFFF ; No_Block
0x30000, # .. 0x3134F ; CJK Unified Ideographs Extension G
@ -586,7 +598,7 @@ VALUES = [
"Elbasan", # 10500..1052F
"Caucasian Albanian", # 10530..1056F
"Vithkuqi", # 10570..105BF
"No_Block", # 105C0..105FF
"Todhri", # 105C0..105FF
"Linear A", # 10600..1077F
"Latin Extended-F", # 10780..107BF
"No_Block", # 107C0..107FF
@ -615,7 +627,8 @@ VALUES = [
"No_Block", # 10C50..10C7F
"Old Hungarian", # 10C80..10CFF
"Hanifi Rohingya", # 10D00..10D3F
"No_Block", # 10D40..10E5F
"Garay", # 10D40..10D8F
"No_Block", # 10D90..10E5F
"Rumi Numeral Symbols", # 10E60..10E7F
"Yezidi", # 10E80..10EBF
"Arabic Extended-C", # 10EC0..10EFF
@ -636,7 +649,7 @@ VALUES = [
"Multani", # 11280..112AF
"Khudawadi", # 112B0..112FF
"Grantha", # 11300..1137F
"No_Block", # 11380..113FF
"Tulu-Tigalari", # 11380..113FF
"Newa", # 11400..1147F
"Tirhuta", # 11480..114DF
"No_Block", # 114E0..1157F
@ -644,7 +657,7 @@ VALUES = [
"Modi", # 11600..1165F
"Mongolian Supplement", # 11660..1167F
"Takri", # 11680..116CF
"No_Block", # 116D0..116FF
"Myanmar Extended-C", # 116D0..116FF
"Ahom", # 11700..1174F
"No_Block", # 11750..117FF
"Dogra", # 11800..1184F
@ -658,7 +671,8 @@ VALUES = [
"Unified Canadian Aboriginal Syllabics Extended-A", # 11AB0..11ABF
"Pau Cin Hau", # 11AC0..11AFF
"Devanagari Extended-A", # 11B00..11B5F
"No_Block", # 11B60..11BFF
"No_Block", # 11B60..11BBF
"Sunuwar", # 11BC0..11BFF
"Bhaiksuki", # 11C00..11C6F
"Marchen", # 11C70..11CBF
"No_Block", # 11CC0..11CFF
@ -677,15 +691,19 @@ VALUES = [
"Cypro-Minoan", # 12F90..12FFF
"Egyptian Hieroglyphs", # 13000..1342F
"Egyptian Hieroglyph Format Controls", # 13430..1345F
"No_Block", # 13460..143FF
"Egyptian Hieroglyphs Extended-A", # 13460..143FF
"Anatolian Hieroglyphs", # 14400..1467F
"No_Block", # 14680..167FF
"No_Block", # 14680..160FF
"Gurung Khema", # 16100..1613F
"No_Block", # 16140..167FF
"Bamum Supplement", # 16800..16A3F
"Mro", # 16A40..16A6F
"Tangsa", # 16A70..16ACF
"Bassa Vah", # 16AD0..16AFF
"Pahawh Hmong", # 16B00..16B8F
"No_Block", # 16B90..16E3F
"No_Block", # 16B90..16D3F
"Kirat Rai", # 16D40..16D7F
"No_Block", # 16D80..16E3F
"Medefaidrin", # 16E40..16E9F
"No_Block", # 16EA0..16EFF
"Miao", # 16F00..16F9F
@ -704,7 +722,9 @@ VALUES = [
"No_Block", # 1B300..1BBFF
"Duployan", # 1BC00..1BC9F
"Shorthand Format Controls", # 1BCA0..1BCAF
"No_Block", # 1BCB0..1CEFF
"No_Block", # 1BCB0..1CBFF
"Symbols for Legacy Computing Supplement", # 1CC00..1CEBF
"No_Block", # 1CEC0..1CEFF
"Znamenny Musical Notation", # 1CF00..1CFCF
"No_Block", # 1CFD0..1CFFF
"Byzantine Musical Symbols", # 1D000..1D0FF
@ -729,7 +749,9 @@ VALUES = [
"Wancho", # 1E2C0..1E2FF
"No_Block", # 1E300..1E4CF
"Nag Mundari", # 1E4D0..1E4FF
"No_Block", # 1E500..1E7DF
"No_Block", # 1E500..1E5CF
"Ol Onal", # 1E5D0..1E5FF
"No_Block", # 1E600..1E7DF
"Ethiopic Extended-B", # 1E7E0..1E7FF
"Mende Kikakui", # 1E800..1E8DF
"No_Block", # 1E8E0..1E8FF
@ -764,7 +786,8 @@ VALUES = [
"CJK Unified Ideographs Extension D", # 2B740..2B81F
"CJK Unified Ideographs Extension E", # 2B820..2CEAF
"CJK Unified Ideographs Extension F", # 2CEB0..2EBEF
"No_Block", # 2EBF0..2F7FF
"CJK Unified Ideographs Extension I", # 2EBF0..2EE5F
"No_Block", # 2EE60..2F7FF
"CJK Compatibility Ideographs Supplement", # 2F800..2FA1F
"No_Block", # 2FA20..2FFFF
"CJK Unified Ideographs Extension G", # 30000..3134F

View File

@ -4,11 +4,11 @@
# Source: https://unicode.org/Public/UNIDATA/ScriptExtensions.txt
# License: http://unicode.org/copyright.html#License
#
# ScriptExtensions-15.0.0.txt
# Date: 2022-02-02, 00:57:11 GMT
# © 2022 Unicode®, Inc.
# ScriptExtensions-16.0.0.txt
# Date: 2024-07-30, 19:38:00 GMT
# © 2024 Unicode®, Inc.
# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
# For terms of use, see https://www.unicode.org/terms_of_use.html
# For terms of use and license, see https://www.unicode.org/terms_of_use.html
#
# Unicode Character Database
# For documentation, see https://www.unicode.org/reports/tr44/
@ -27,38 +27,84 @@
# values in that set is not material, but for stability in presentation
# it is given here as alphabetical.
#
# The Script_Extensions values are presented in sorted order in the file.
# They are sorted first by the number of Script property values in their sets,
# and then alphabetically by first differing Script property value.
#
# Following each distinct Script_Extensions value is the list of code
# points associated with that value, listed in code point order.
#
# All code points not explicitly listed for Script_Extensions
# have as their value the corresponding Script property value
# have as their value the corresponding Script property value.
#
# @missing: 0000..10FFFF; <script>
RANGES = [
0x0000, # .. 0x0341 ; None
0x0000, # .. 0x02BB ; None
0x02BC, # .. 0x02BC ; {'Beng', 'Cyrl', 'Deva', 'Latn', 'Lisu', 'Thai', 'Toto'}
0x02BD, # .. 0x02C6 ; None
0x02C7, # .. 0x02C7 ; {'Bopo', 'Latn'}
0x02C8, # .. 0x02C8 ; None
0x02C9, # .. 0x02CB ; {'Bopo', 'Latn'}
0x02CC, # .. 0x02CC ; None
0x02CD, # .. 0x02CD ; {'Latn', 'Lisu'}
0x02CE, # .. 0x02D6 ; None
0x02D7, # .. 0x02D7 ; {'Latn', 'Thai'}
0x02D8, # .. 0x02D8 ; None
0x02D9, # .. 0x02D9 ; {'Bopo', 'Latn'}
0x02DA, # .. 0x02FF ; None
0x0300, # .. 0x0300 ; {'Cher', 'Copt', 'Cyrl', 'Grek', 'Latn', 'Perm', 'Sunu', 'Tale'}
0x0301, # .. 0x0301 ; {'Cher', 'Cyrl', 'Grek', 'Latn', 'Osge', 'Sunu', 'Tale', 'Todr'}
0x0302, # .. 0x0302 ; {'Cher', 'Cyrl', 'Latn', 'Tfng'}
0x0303, # .. 0x0303 ; {'Glag', 'Latn', 'Sunu', 'Syrc', 'Thai'}
0x0304, # .. 0x0304 ; {'Aghb', 'Cher', 'Copt', 'Cyrl', 'Goth', 'Grek', 'Latn', 'Osge', 'Syrc', 'Tfng', 'Todr'}
0x0305, # .. 0x0305 ; {'Copt', 'Elba', 'Glag', 'Goth', 'Kana', 'Latn'}
0x0306, # .. 0x0306 ; {'Cyrl', 'Grek', 'Latn', 'Perm'}
0x0307, # .. 0x0307 ; {'Copt', 'Dupl', 'Hebr', 'Latn', 'Perm', 'Syrc', 'Tale', 'Tfng', 'Todr'}
0x0308, # .. 0x0308 ; {'Armn', 'Cyrl', 'Dupl', 'Goth', 'Grek', 'Hebr', 'Latn', 'Perm', 'Syrc', 'Tale'}
0x0309, # .. 0x0309 ; {'Latn', 'Tfng'}
0x030A, # .. 0x030A ; {'Dupl', 'Latn', 'Syrc'}
0x030B, # .. 0x030B ; {'Cher', 'Cyrl', 'Latn', 'Osge'}
0x030C, # .. 0x030C ; {'Cher', 'Latn', 'Tale'}
0x030D, # .. 0x030D ; {'Latn', 'Sunu'}
0x030E, # .. 0x030E ; {'Ethi', 'Latn'}
0x030F, # .. 0x030F ; None
0x0310, # .. 0x0310 ; {'Latn', 'Sunu'}
0x0311, # .. 0x0311 ; {'Cyrl', 'Latn', 'Todr'}
0x0312, # .. 0x0312 ; None
0x0313, # .. 0x0313 ; {'Grek', 'Latn', 'Perm', 'Todr'}
0x0314, # .. 0x031F ; None
0x0320, # .. 0x0320 ; {'Latn', 'Syrc'}
0x0321, # .. 0x0322 ; None
0x0323, # .. 0x0323 ; {'Cher', 'Dupl', 'Kana', 'Latn', 'Syrc'}
0x0324, # .. 0x0324 ; {'Cher', 'Dupl', 'Latn', 'Syrc'}
0x0325, # .. 0x0325 ; {'Latn', 'Syrc'}
0x0326, # .. 0x032C ; None
0x032D, # .. 0x032D ; {'Latn', 'Sunu', 'Syrc'}
0x032E, # .. 0x032E ; {'Latn', 'Syrc'}
0x032F, # .. 0x032F ; None
0x0330, # .. 0x0330 ; {'Cher', 'Latn', 'Syrc'}
0x0331, # .. 0x0331 ; {'Aghb', 'Cher', 'Goth', 'Latn', 'Sunu', 'Thai'}
0x0332, # .. 0x0341 ; None
0x0342, # .. 0x0342 ; {'Grek'}
0x0343, # .. 0x0344 ; None
0x0345, # .. 0x0345 ; {'Grek'}
0x0346, # .. 0x0362 ; None
0x0346, # .. 0x0357 ; None
0x0358, # .. 0x0358 ; {'Latn', 'Osge'}
0x0359, # .. 0x035D ; None
0x035E, # .. 0x035E ; {'Aghb', 'Latn', 'Todr'}
0x035F, # .. 0x0362 ; None
0x0363, # .. 0x036F ; {'Latn'}
0x0370, # .. 0x0482 ; None
0x0370, # .. 0x0373 ; None
0x0374, # .. 0x0375 ; {'Copt', 'Grek'}
0x0376, # .. 0x0482 ; None
0x0483, # .. 0x0483 ; {'Cyrl', 'Perm'}
0x0484, # .. 0x0484 ; {'Cyrl', 'Glag'}
0x0485, # .. 0x0486 ; {'Cyrl', 'Latn'}
0x0487, # .. 0x0487 ; {'Cyrl', 'Glag'}
0x0488, # .. 0x060B ; None
0x060C, # .. 0x060C ; {'Arab', 'Nkoo', 'Rohg', 'Syrc', 'Thaa', 'Yezi'}
0x0488, # .. 0x0588 ; None
0x0589, # .. 0x0589 ; {'Armn', 'Geor', 'Glag'}
0x058A, # .. 0x060B ; None
0x060C, # .. 0x060C ; {'Arab', 'Gara', 'Nkoo', 'Rohg', 'Syrc', 'Thaa', 'Yezi'}
0x060D, # .. 0x061A ; None
0x061B, # .. 0x061B ; {'Arab', 'Nkoo', 'Rohg', 'Syrc', 'Thaa', 'Yezi'}
0x061B, # .. 0x061B ; {'Arab', 'Gara', 'Nkoo', 'Rohg', 'Syrc', 'Thaa', 'Yezi'}
0x061C, # .. 0x061C ; {'Arab', 'Syrc', 'Thaa'}
0x061D, # .. 0x061E ; None
0x061F, # .. 0x061F ; {'Adlm', 'Arab', 'Nkoo', 'Rohg', 'Syrc', 'Thaa', 'Yezi'}
0x061F, # .. 0x061F ; {'Adlm', 'Arab', 'Gara', 'Nkoo', 'Rohg', 'Syrc', 'Thaa', 'Yezi'}
0x0620, # .. 0x063F ; None
0x0640, # .. 0x0640 ; {'Adlm', 'Arab', 'Mand', 'Mani', 'Ougr', 'Phlp', 'Rohg', 'Sogd', 'Syrc'}
0x0641, # .. 0x064A ; None
@ -73,8 +119,8 @@ RANGES = [
0x0951, # .. 0x0951 ; {'Beng', 'Deva', 'Gran', 'Gujr', 'Guru', 'Knda', 'Latn', 'Mlym', 'Orya', 'Shrd', 'Taml', 'Telu', 'Tirh'}
0x0952, # .. 0x0952 ; {'Beng', 'Deva', 'Gran', 'Gujr', 'Guru', 'Knda', 'Latn', 'Mlym', 'Orya', 'Taml', 'Telu', 'Tirh'}
0x0953, # .. 0x0963 ; None
0x0964, # .. 0x0964 ; {'Beng', 'Deva', 'Dogr', 'Gong', 'Gonm', 'Gran', 'Gujr', 'Guru', 'Knda', 'Mahj', 'Mlym', 'Nand', 'Orya', 'Sind', 'Sinh', 'Sylo', 'Takr', 'Taml', 'Telu', 'Tirh'}
0x0965, # .. 0x0965 ; {'Beng', 'Deva', 'Dogr', 'Gong', 'Gonm', 'Gran', 'Gujr', 'Guru', 'Knda', 'Limb', 'Mahj', 'Mlym', 'Nand', 'Orya', 'Sind', 'Sinh', 'Sylo', 'Takr', 'Taml', 'Telu', 'Tirh'}
0x0964, # .. 0x0964 ; {'Beng', 'Deva', 'Dogr', 'Gong', 'Gonm', 'Gran', 'Gujr', 'Guru', 'Knda', 'Mahj', 'Mlym', 'Nand', 'Onao', 'Orya', 'Sind', 'Sinh', 'Sylo', 'Takr', 'Taml', 'Telu', 'Tirh'}
0x0965, # .. 0x0965 ; {'Beng', 'Deva', 'Dogr', 'Gong', 'Gonm', 'Gran', 'Gujr', 'Gukh', 'Guru', 'Knda', 'Limb', 'Mahj', 'Mlym', 'Nand', 'Onao', 'Orya', 'Sind', 'Sinh', 'Sylo', 'Takr', 'Taml', 'Telu', 'Tirh'}
0x0966, # .. 0x096F ; {'Deva', 'Dogr', 'Kthi', 'Mahj'}
0x0970, # .. 0x09E5 ; None
0x09E6, # .. 0x09EF ; {'Beng', 'Cakm', 'Sylo'}
@ -85,12 +131,14 @@ RANGES = [
0x0AF0, # .. 0x0BE5 ; None
0x0BE6, # .. 0x0BF3 ; {'Gran', 'Taml'}
0x0BF4, # .. 0x0CE5 ; None
0x0CE6, # .. 0x0CEF ; {'Knda', 'Nand'}
0x0CE6, # .. 0x0CEF ; {'Knda', 'Nand', 'Tutg'}
0x0CF0, # .. 0x103F ; None
0x1040, # .. 0x1049 ; {'Cakm', 'Mymr', 'Tale'}
0x104A, # .. 0x10FA ; None
0x10FB, # .. 0x10FB ; {'Geor', 'Latn'}
0x10FC, # .. 0x1734 ; None
0x10FB, # .. 0x10FB ; {'Geor', 'Glag', 'Latn'}
0x10FC, # .. 0x16EA ; None
0x16EB, # .. 0x16ED ; {'Runr'}
0x16EE, # .. 0x1734 ; None
0x1735, # .. 0x1736 ; {'Buhd', 'Hano', 'Tagb', 'Tglg'}
0x1737, # .. 0x1801 ; None
0x1802, # .. 0x1803 ; {'Mong', 'Phag'}
@ -100,7 +148,7 @@ RANGES = [
0x1CD0, # .. 0x1CD0 ; {'Beng', 'Deva', 'Gran', 'Knda'}
0x1CD1, # .. 0x1CD1 ; {'Deva'}
0x1CD2, # .. 0x1CD2 ; {'Beng', 'Deva', 'Gran', 'Knda'}
0x1CD3, # .. 0x1CD3 ; {'Deva', 'Gran'}
0x1CD3, # .. 0x1CD3 ; {'Deva', 'Gran', 'Knda'}
0x1CD4, # .. 0x1CD4 ; {'Deva'}
0x1CD5, # .. 0x1CD6 ; {'Beng', 'Deva'}
0x1CD7, # .. 0x1CD7 ; {'Deva', 'Shrd'}
@ -118,9 +166,9 @@ RANGES = [
0x1CEB, # .. 0x1CEC ; {'Deva'}
0x1CED, # .. 0x1CED ; {'Beng', 'Deva'}
0x1CEE, # .. 0x1CF1 ; {'Deva'}
0x1CF2, # .. 0x1CF2 ; {'Beng', 'Deva', 'Gran', 'Knda', 'Nand', 'Orya', 'Telu', 'Tirh'}
0x1CF2, # .. 0x1CF2 ; {'Beng', 'Deva', 'Gran', 'Knda', 'Mlym', 'Nand', 'Orya', 'Sinh', 'Telu', 'Tirh', 'Tutg'}
0x1CF3, # .. 0x1CF3 ; {'Deva', 'Gran'}
0x1CF4, # .. 0x1CF4 ; {'Deva', 'Gran', 'Knda'}
0x1CF4, # .. 0x1CF4 ; {'Deva', 'Gran', 'Knda', 'Tutg'}
0x1CF5, # .. 0x1CF6 ; {'Beng', 'Deva'}
0x1CF7, # .. 0x1CF7 ; {'Beng'}
0x1CF8, # .. 0x1CF9 ; {'Deva', 'Gran'}
@ -128,22 +176,42 @@ RANGES = [
0x1CFB, # .. 0x1DBF ; None
0x1DC0, # .. 0x1DC1 ; {'Grek'}
0x1DC2, # .. 0x1DF7 ; None
0x1DF8, # .. 0x1DF8 ; {'Cyrl', 'Syrc'}
0x1DF8, # .. 0x1DF8 ; {'Cyrl', 'Latn', 'Syrc'}
0x1DF9, # .. 0x1DF9 ; None
0x1DFA, # .. 0x1DFA ; {'Syrc'}
0x1DFB, # .. 0x202E ; None
0x202F, # .. 0x202F ; {'Latn', 'Mong'}
0x2030, # .. 0x20EF ; None
0x202F, # .. 0x202F ; {'Latn', 'Mong', 'Phag'}
0x2030, # .. 0x204E ; None
0x204F, # .. 0x204F ; {'Adlm', 'Arab'}
0x2050, # .. 0x2059 ; None
0x205A, # .. 0x205A ; {'Cari', 'Geor', 'Glag', 'Hung', 'Lyci', 'Orkh'}
0x205B, # .. 0x205C ; None
0x205D, # .. 0x205D ; {'Cari', 'Grek', 'Hung', 'Mero'}
0x205E, # .. 0x20EF ; None
0x20F0, # .. 0x20F0 ; {'Deva', 'Gran', 'Latn'}
0x20F1, # .. 0x2E42 ; None
0x20F1, # .. 0x2E16 ; None
0x2E17, # .. 0x2E17 ; {'Copt', 'Latn'}
0x2E18, # .. 0x2E2F ; None
0x2E30, # .. 0x2E30 ; {'Avst', 'Orkh'}
0x2E31, # .. 0x2E31 ; {'Avst', 'Cari', 'Geor', 'Hung', 'Kthi', 'Lydi', 'Samr'}
0x2E32, # .. 0x2E3B ; None
0x2E3C, # .. 0x2E3C ; {'Dupl'}
0x2E3D, # .. 0x2E40 ; None
0x2E41, # .. 0x2E41 ; {'Adlm', 'Arab', 'Hung'}
0x2E42, # .. 0x2E42 ; None
0x2E43, # .. 0x2E43 ; {'Cyrl', 'Glag'}
0x2E44, # .. 0x3000 ; None
0x3001, # .. 0x3002 ; {'Bopo', 'Hang', 'Hani', 'Hira', 'Kana', 'Yiii'}
0x2E44, # .. 0x2FEF ; None
0x2FF0, # .. 0x2FFF ; {'Hani', 'Tang'}
0x3000, # .. 0x3000 ; None
0x3001, # .. 0x3001 ; {'Bopo', 'Hang', 'Hani', 'Hira', 'Kana', 'Mong', 'Yiii'}
0x3002, # .. 0x3002 ; {'Bopo', 'Hang', 'Hani', 'Hira', 'Kana', 'Mong', 'Phag', 'Yiii'}
0x3003, # .. 0x3003 ; {'Bopo', 'Hang', 'Hani', 'Hira', 'Kana'}
0x3004, # .. 0x3005 ; None
0x3006, # .. 0x3006 ; {'Hani'}
0x3007, # .. 0x3007 ; None
0x3008, # .. 0x3011 ; {'Bopo', 'Hang', 'Hani', 'Hira', 'Kana', 'Yiii'}
0x3008, # .. 0x3009 ; {'Bopo', 'Hang', 'Hani', 'Hira', 'Kana', 'Mong', 'Tibt', 'Yiii'}
0x300A, # .. 0x300B ; {'Bopo', 'Hang', 'Hani', 'Hira', 'Kana', 'Lisu', 'Mong', 'Tibt', 'Yiii'}
0x300C, # .. 0x3011 ; {'Bopo', 'Hang', 'Hani', 'Hira', 'Kana', 'Yiii'}
0x3012, # .. 0x3012 ; None
0x3013, # .. 0x3013 ; {'Bopo', 'Hang', 'Hani', 'Hira', 'Kana'}
0x3014, # .. 0x301B ; {'Bopo', 'Hang', 'Hani', 'Hira', 'Kana', 'Yiii'}
@ -168,8 +236,10 @@ RANGES = [
0x30FD, # .. 0x318F ; None
0x3190, # .. 0x319F ; {'Hani'}
0x31A0, # .. 0x31BF ; None
0x31C0, # .. 0x31E3 ; {'Hani'}
0x31E4, # .. 0x321F ; None
0x31C0, # .. 0x31E5 ; {'Hani'}
0x31E6, # .. 0x31EE ; None
0x31EF, # .. 0x31EF ; {'Hani', 'Tang'}
0x31F0, # .. 0x321F ; None
0x3220, # .. 0x3247 ; {'Hani'}
0x3248, # .. 0x327F ; None
0x3280, # .. 0x32B0 ; {'Hani'}
@ -188,11 +258,13 @@ RANGES = [
0xA670, # .. 0xA6FF ; None
0xA700, # .. 0xA707 ; {'Hani', 'Latn'}
0xA708, # .. 0xA82F ; None
0xA830, # .. 0xA832 ; {'Deva', 'Dogr', 'Gujr', 'Guru', 'Khoj', 'Knda', 'Kthi', 'Mahj', 'Mlym', 'Modi', 'Nand', 'Sind', 'Takr', 'Tirh'}
0xA833, # .. 0xA835 ; {'Deva', 'Dogr', 'Gujr', 'Guru', 'Khoj', 'Knda', 'Kthi', 'Mahj', 'Modi', 'Nand', 'Sind', 'Takr', 'Tirh'}
0xA836, # .. 0xA839 ; {'Deva', 'Dogr', 'Gujr', 'Guru', 'Khoj', 'Kthi', 'Mahj', 'Modi', 'Sind', 'Takr', 'Tirh'}
0xA830, # .. 0xA832 ; {'Deva', 'Dogr', 'Gujr', 'Guru', 'Khoj', 'Knda', 'Kthi', 'Mahj', 'Mlym', 'Modi', 'Nand', 'Shrd', 'Sind', 'Takr', 'Tirh', 'Tutg'}
0xA833, # .. 0xA835 ; {'Deva', 'Dogr', 'Gujr', 'Guru', 'Khoj', 'Knda', 'Kthi', 'Mahj', 'Modi', 'Nand', 'Shrd', 'Sind', 'Takr', 'Tirh', 'Tutg'}
0xA836, # .. 0xA837 ; {'Deva', 'Dogr', 'Gujr', 'Guru', 'Khoj', 'Kthi', 'Mahj', 'Modi', 'Sind', 'Takr', 'Tirh'}
0xA838, # .. 0xA838 ; {'Deva', 'Dogr', 'Gujr', 'Guru', 'Khoj', 'Kthi', 'Mahj', 'Modi', 'Shrd', 'Sind', 'Takr', 'Tirh'}
0xA839, # .. 0xA839 ; {'Deva', 'Dogr', 'Gujr', 'Guru', 'Khoj', 'Kthi', 'Mahj', 'Modi', 'Sind', 'Takr', 'Tirh'}
0xA83A, # .. 0xA8F0 ; None
0xA8F1, # .. 0xA8F1 ; {'Beng', 'Deva'}
0xA8F1, # .. 0xA8F1 ; {'Beng', 'Deva', 'Tutg'}
0xA8F2, # .. 0xA8F2 ; None
0xA8F3, # .. 0xA8F3 ; {'Deva', 'Taml'}
0xA8F4, # .. 0xA92D ; None
@ -244,24 +316,110 @@ RANGES = [
]
VALUES = [
None, # 0000..0341
None, # 0000..02BB
{"Beng", "Cyrl", "Deva", "Latn", "Lisu", "Thai", "Toto"}, # 02BC..02BC
None, # 02BD..02C6
{"Bopo", "Latn"}, # 02C7..02C7
None, # 02C8..02C8
{"Bopo", "Latn"}, # 02C9..02CB
None, # 02CC..02CC
{"Latn", "Lisu"}, # 02CD..02CD
None, # 02CE..02D6
{"Latn", "Thai"}, # 02D7..02D7
None, # 02D8..02D8
{"Bopo", "Latn"}, # 02D9..02D9
None, # 02DA..02FF
{"Cher", "Copt", "Cyrl", "Grek", "Latn", "Perm", "Sunu", "Tale"}, # 0300..0300
{"Cher", "Cyrl", "Grek", "Latn", "Osge", "Sunu", "Tale", "Todr"}, # 0301..0301
{"Cher", "Cyrl", "Latn", "Tfng"}, # 0302..0302
{"Glag", "Latn", "Sunu", "Syrc", "Thai"}, # 0303..0303
{
"Aghb",
"Cher",
"Copt",
"Cyrl",
"Goth",
"Grek",
"Latn",
"Osge",
"Syrc",
"Tfng",
"Todr",
}, # 0304..0304
{"Copt", "Elba", "Glag", "Goth", "Kana", "Latn"}, # 0305..0305
{"Cyrl", "Grek", "Latn", "Perm"}, # 0306..0306
{
"Copt",
"Dupl",
"Hebr",
"Latn",
"Perm",
"Syrc",
"Tale",
"Tfng",
"Todr",
}, # 0307..0307
{
"Armn",
"Cyrl",
"Dupl",
"Goth",
"Grek",
"Hebr",
"Latn",
"Perm",
"Syrc",
"Tale",
}, # 0308..0308
{"Latn", "Tfng"}, # 0309..0309
{"Dupl", "Latn", "Syrc"}, # 030A..030A
{"Cher", "Cyrl", "Latn", "Osge"}, # 030B..030B
{"Cher", "Latn", "Tale"}, # 030C..030C
{"Latn", "Sunu"}, # 030D..030D
{"Ethi", "Latn"}, # 030E..030E
None, # 030F..030F
{"Latn", "Sunu"}, # 0310..0310
{"Cyrl", "Latn", "Todr"}, # 0311..0311
None, # 0312..0312
{"Grek", "Latn", "Perm", "Todr"}, # 0313..0313
None, # 0314..031F
{"Latn", "Syrc"}, # 0320..0320
None, # 0321..0322
{"Cher", "Dupl", "Kana", "Latn", "Syrc"}, # 0323..0323
{"Cher", "Dupl", "Latn", "Syrc"}, # 0324..0324
{"Latn", "Syrc"}, # 0325..0325
None, # 0326..032C
{"Latn", "Sunu", "Syrc"}, # 032D..032D
{"Latn", "Syrc"}, # 032E..032E
None, # 032F..032F
{"Cher", "Latn", "Syrc"}, # 0330..0330
{"Aghb", "Cher", "Goth", "Latn", "Sunu", "Thai"}, # 0331..0331
None, # 0332..0341
{"Grek"}, # 0342..0342
None, # 0343..0344
{"Grek"}, # 0345..0345
None, # 0346..0362
None, # 0346..0357
{"Latn", "Osge"}, # 0358..0358
None, # 0359..035D
{"Aghb", "Latn", "Todr"}, # 035E..035E
None, # 035F..0362
{"Latn"}, # 0363..036F
None, # 0370..0482
None, # 0370..0373
{"Copt", "Grek"}, # 0374..0375
None, # 0376..0482
{"Cyrl", "Perm"}, # 0483..0483
{"Cyrl", "Glag"}, # 0484..0484
{"Cyrl", "Latn"}, # 0485..0486
{"Cyrl", "Glag"}, # 0487..0487
None, # 0488..060B
{"Arab", "Nkoo", "Rohg", "Syrc", "Thaa", "Yezi"}, # 060C..060C
None, # 0488..0588
{"Armn", "Geor", "Glag"}, # 0589..0589
None, # 058A..060B
{"Arab", "Gara", "Nkoo", "Rohg", "Syrc", "Thaa", "Yezi"}, # 060C..060C
None, # 060D..061A
{"Arab", "Nkoo", "Rohg", "Syrc", "Thaa", "Yezi"}, # 061B..061B
{"Arab", "Gara", "Nkoo", "Rohg", "Syrc", "Thaa", "Yezi"}, # 061B..061B
{"Arab", "Syrc", "Thaa"}, # 061C..061C
None, # 061D..061E
{"Adlm", "Arab", "Nkoo", "Rohg", "Syrc", "Thaa", "Yezi"}, # 061F..061F
{"Adlm", "Arab", "Gara", "Nkoo", "Rohg", "Syrc", "Thaa", "Yezi"}, # 061F..061F
None, # 0620..063F
{
"Adlm",
@ -326,6 +484,7 @@ VALUES = [
"Mahj",
"Mlym",
"Nand",
"Onao",
"Orya",
"Sind",
"Sinh",
@ -343,12 +502,14 @@ VALUES = [
"Gonm",
"Gran",
"Gujr",
"Gukh",
"Guru",
"Knda",
"Limb",
"Mahj",
"Mlym",
"Nand",
"Onao",
"Orya",
"Sind",
"Sinh",
@ -368,12 +529,14 @@ VALUES = [
None, # 0AF0..0BE5
{"Gran", "Taml"}, # 0BE6..0BF3
None, # 0BF4..0CE5
{"Knda", "Nand"}, # 0CE6..0CEF
{"Knda", "Nand", "Tutg"}, # 0CE6..0CEF
None, # 0CF0..103F
{"Cakm", "Mymr", "Tale"}, # 1040..1049
None, # 104A..10FA
{"Geor", "Latn"}, # 10FB..10FB
None, # 10FC..1734
{"Geor", "Glag", "Latn"}, # 10FB..10FB
None, # 10FC..16EA
{"Runr"}, # 16EB..16ED
None, # 16EE..1734
{"Buhd", "Hano", "Tagb", "Tglg"}, # 1735..1736
None, # 1737..1801
{"Mong", "Phag"}, # 1802..1803
@ -383,7 +546,7 @@ VALUES = [
{"Beng", "Deva", "Gran", "Knda"}, # 1CD0..1CD0
{"Deva"}, # 1CD1..1CD1
{"Beng", "Deva", "Gran", "Knda"}, # 1CD2..1CD2
{"Deva", "Gran"}, # 1CD3..1CD3
{"Deva", "Gran", "Knda"}, # 1CD3..1CD3
{"Deva"}, # 1CD4..1CD4
{"Beng", "Deva"}, # 1CD5..1CD6
{"Deva", "Shrd"}, # 1CD7..1CD7
@ -401,9 +564,21 @@ VALUES = [
{"Deva"}, # 1CEB..1CEC
{"Beng", "Deva"}, # 1CED..1CED
{"Deva"}, # 1CEE..1CF1
{"Beng", "Deva", "Gran", "Knda", "Nand", "Orya", "Telu", "Tirh"}, # 1CF2..1CF2
{
"Beng",
"Deva",
"Gran",
"Knda",
"Mlym",
"Nand",
"Orya",
"Sinh",
"Telu",
"Tirh",
"Tutg",
}, # 1CF2..1CF2
{"Deva", "Gran"}, # 1CF3..1CF3
{"Deva", "Gran", "Knda"}, # 1CF4..1CF4
{"Deva", "Gran", "Knda", "Tutg"}, # 1CF4..1CF4
{"Beng", "Deva"}, # 1CF5..1CF6
{"Beng"}, # 1CF7..1CF7
{"Deva", "Gran"}, # 1CF8..1CF9
@ -411,22 +586,52 @@ VALUES = [
None, # 1CFB..1DBF
{"Grek"}, # 1DC0..1DC1
None, # 1DC2..1DF7
{"Cyrl", "Syrc"}, # 1DF8..1DF8
{"Cyrl", "Latn", "Syrc"}, # 1DF8..1DF8
None, # 1DF9..1DF9
{"Syrc"}, # 1DFA..1DFA
None, # 1DFB..202E
{"Latn", "Mong"}, # 202F..202F
None, # 2030..20EF
{"Latn", "Mong", "Phag"}, # 202F..202F
None, # 2030..204E
{"Adlm", "Arab"}, # 204F..204F
None, # 2050..2059
{"Cari", "Geor", "Glag", "Hung", "Lyci", "Orkh"}, # 205A..205A
None, # 205B..205C
{"Cari", "Grek", "Hung", "Mero"}, # 205D..205D
None, # 205E..20EF
{"Deva", "Gran", "Latn"}, # 20F0..20F0
None, # 20F1..2E42
None, # 20F1..2E16
{"Copt", "Latn"}, # 2E17..2E17
None, # 2E18..2E2F
{"Avst", "Orkh"}, # 2E30..2E30
{"Avst", "Cari", "Geor", "Hung", "Kthi", "Lydi", "Samr"}, # 2E31..2E31
None, # 2E32..2E3B
{"Dupl"}, # 2E3C..2E3C
None, # 2E3D..2E40
{"Adlm", "Arab", "Hung"}, # 2E41..2E41
None, # 2E42..2E42
{"Cyrl", "Glag"}, # 2E43..2E43
None, # 2E44..3000
{"Bopo", "Hang", "Hani", "Hira", "Kana", "Yiii"}, # 3001..3002
None, # 2E44..2FEF
{"Hani", "Tang"}, # 2FF0..2FFF
None, # 3000..3000
{"Bopo", "Hang", "Hani", "Hira", "Kana", "Mong", "Yiii"}, # 3001..3001
{"Bopo", "Hang", "Hani", "Hira", "Kana", "Mong", "Phag", "Yiii"}, # 3002..3002
{"Bopo", "Hang", "Hani", "Hira", "Kana"}, # 3003..3003
None, # 3004..3005
{"Hani"}, # 3006..3006
None, # 3007..3007
{"Bopo", "Hang", "Hani", "Hira", "Kana", "Yiii"}, # 3008..3011
{"Bopo", "Hang", "Hani", "Hira", "Kana", "Mong", "Tibt", "Yiii"}, # 3008..3009
{
"Bopo",
"Hang",
"Hani",
"Hira",
"Kana",
"Lisu",
"Mong",
"Tibt",
"Yiii",
}, # 300A..300B
{"Bopo", "Hang", "Hani", "Hira", "Kana", "Yiii"}, # 300C..3011
None, # 3012..3012
{"Bopo", "Hang", "Hani", "Hira", "Kana"}, # 3013..3013
{"Bopo", "Hang", "Hani", "Hira", "Kana", "Yiii"}, # 3014..301B
@ -451,8 +656,10 @@ VALUES = [
None, # 30FD..318F
{"Hani"}, # 3190..319F
None, # 31A0..31BF
{"Hani"}, # 31C0..31E3
None, # 31E4..321F
{"Hani"}, # 31C0..31E5
None, # 31E6..31EE
{"Hani", "Tang"}, # 31EF..31EF
None, # 31F0..321F
{"Hani"}, # 3220..3247
None, # 3248..327F
{"Hani"}, # 3280..32B0
@ -483,9 +690,11 @@ VALUES = [
"Mlym",
"Modi",
"Nand",
"Shrd",
"Sind",
"Takr",
"Tirh",
"Tutg",
}, # A830..A832
{
"Deva",
@ -498,9 +707,11 @@ VALUES = [
"Mahj",
"Modi",
"Nand",
"Shrd",
"Sind",
"Takr",
"Tirh",
"Tutg",
}, # A833..A835
{
"Deva",
@ -514,9 +725,36 @@ VALUES = [
"Sind",
"Takr",
"Tirh",
}, # A836..A839
}, # A836..A837
{
"Deva",
"Dogr",
"Gujr",
"Guru",
"Khoj",
"Kthi",
"Mahj",
"Modi",
"Shrd",
"Sind",
"Takr",
"Tirh",
}, # A838..A838
{
"Deva",
"Dogr",
"Gujr",
"Guru",
"Khoj",
"Kthi",
"Mahj",
"Modi",
"Sind",
"Takr",
"Tirh",
}, # A839..A839
None, # A83A..A8F0
{"Beng", "Deva"}, # A8F1..A8F1
{"Beng", "Deva", "Tutg"}, # A8F1..A8F1
None, # A8F2..A8F2
{"Deva", "Taml"}, # A8F3..A8F3
None, # A8F4..A92D

View File

@ -4,11 +4,11 @@
# Source: https://unicode.org/Public/UNIDATA/Scripts.txt
# License: http://unicode.org/copyright.html#License
#
# Scripts-15.0.0.txt
# Date: 2022-04-26, 23:15:02 GMT
# © 2022 Unicode®, Inc.
# Scripts-16.0.0.txt
# Date: 2024-04-30, 21:48:40 GMT
# © 2024 Unicode®, Inc.
# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
# For terms of use, see https://www.unicode.org/terms_of_use.html
# For terms of use and license, see https://www.unicode.org/terms_of_use.html
#
# Unicode Character Database
# For documentation, see https://www.unicode.org/reports/tr44/
@ -119,8 +119,8 @@ RANGES = [
0x0870, # .. 0x088E ; Arabic
0x088F, # .. 0x088F ; Unknown
0x0890, # .. 0x0891 ; Arabic
0x0892, # .. 0x0897 ; Unknown
0x0898, # .. 0x08E1 ; Arabic
0x0892, # .. 0x0896 ; Unknown
0x0897, # .. 0x08E1 ; Arabic
0x08E2, # .. 0x08E2 ; Common
0x08E3, # .. 0x08FF ; Arabic
0x0900, # .. 0x0950 ; Devanagari
@ -533,9 +533,8 @@ RANGES = [
0x1AB0, # .. 0x1ACE ; Inherited
0x1ACF, # .. 0x1AFF ; Unknown
0x1B00, # .. 0x1B4C ; Balinese
0x1B4D, # .. 0x1B4F ; Unknown
0x1B50, # .. 0x1B7E ; Balinese
0x1B7F, # .. 0x1B7F ; Unknown
0x1B4D, # .. 0x1B4D ; Unknown
0x1B4E, # .. 0x1B7F ; Balinese
0x1B80, # .. 0x1BBF ; Sundanese
0x1BC0, # .. 0x1BF3 ; Batak
0x1BF4, # .. 0x1BFB ; Unknown
@ -546,8 +545,8 @@ RANGES = [
0x1C4A, # .. 0x1C4C ; Unknown
0x1C4D, # .. 0x1C4F ; Lepcha
0x1C50, # .. 0x1C7F ; Ol_Chiki
0x1C80, # .. 0x1C88 ; Cyrillic
0x1C89, # .. 0x1C8F ; Unknown
0x1C80, # .. 0x1C8A ; Cyrillic
0x1C8B, # .. 0x1C8F ; Unknown
0x1C90, # .. 0x1CBA ; Georgian
0x1CBB, # .. 0x1CBC ; Unknown
0x1CBD, # .. 0x1CBF ; Georgian
@ -640,8 +639,8 @@ RANGES = [
0x2160, # .. 0x2188 ; Latin
0x2189, # .. 0x218B ; Common
0x218C, # .. 0x218F ; Unknown
0x2190, # .. 0x2426 ; Common
0x2427, # .. 0x243F ; Unknown
0x2190, # .. 0x2429 ; Common
0x242A, # .. 0x243F ; Unknown
0x2440, # .. 0x244A ; Common
0x244B, # .. 0x245F ; Unknown
0x2460, # .. 0x27FF ; Common
@ -694,9 +693,7 @@ RANGES = [
0x2EF4, # .. 0x2EFF ; Unknown
0x2F00, # .. 0x2FD5 ; Han
0x2FD6, # .. 0x2FEF ; Unknown
0x2FF0, # .. 0x2FFB ; Common
0x2FFC, # .. 0x2FFF ; Unknown
0x3000, # .. 0x3004 ; Common
0x2FF0, # .. 0x3004 ; Common
0x3005, # .. 0x3005 ; Han
0x3006, # .. 0x3006 ; Common
0x3007, # .. 0x3007 ; Han
@ -724,8 +721,9 @@ RANGES = [
0x318F, # .. 0x318F ; Unknown
0x3190, # .. 0x319F ; Common
0x31A0, # .. 0x31BF ; Bopomofo
0x31C0, # .. 0x31E3 ; Common
0x31E4, # .. 0x31EF ; Unknown
0x31C0, # .. 0x31E5 ; Common
0x31E6, # .. 0x31EE ; Unknown
0x31EF, # .. 0x31EF ; Common
0x31F0, # .. 0x31FF ; Katakana
0x3200, # .. 0x321E ; Hangul
0x321F, # .. 0x321F ; Unknown
@ -752,14 +750,14 @@ RANGES = [
0xA700, # .. 0xA721 ; Common
0xA722, # .. 0xA787 ; Latin
0xA788, # .. 0xA78A ; Common
0xA78B, # .. 0xA7CA ; Latin
0xA7CB, # .. 0xA7CF ; Unknown
0xA78B, # .. 0xA7CD ; Latin
0xA7CE, # .. 0xA7CF ; Unknown
0xA7D0, # .. 0xA7D1 ; Latin
0xA7D2, # .. 0xA7D2 ; Unknown
0xA7D3, # .. 0xA7D3 ; Latin
0xA7D4, # .. 0xA7D4 ; Unknown
0xA7D5, # .. 0xA7D9 ; Latin
0xA7DA, # .. 0xA7F1 ; Unknown
0xA7D5, # .. 0xA7DC ; Latin
0xA7DD, # .. 0xA7F1 ; Unknown
0xA7F2, # .. 0xA7FF ; Latin
0xA800, # .. 0xA82C ; Syloti_Nagri
0xA82D, # .. 0xA82F ; Unknown
@ -980,7 +978,9 @@ RANGES = [
0x105B3, # .. 0x105B9 ; Vithkuqi
0x105BA, # .. 0x105BA ; Unknown
0x105BB, # .. 0x105BC ; Vithkuqi
0x105BD, # .. 0x105FF ; Unknown
0x105BD, # .. 0x105BF ; Unknown
0x105C0, # .. 0x105F3 ; Todhri
0x105F4, # .. 0x105FF ; Unknown
0x10600, # .. 0x10736 ; Linear_A
0x10737, # .. 0x1073F ; Unknown
0x10740, # .. 0x10755 ; Linear_A
@ -1078,7 +1078,13 @@ RANGES = [
0x10D00, # .. 0x10D27 ; Hanifi_Rohingya
0x10D28, # .. 0x10D2F ; Unknown
0x10D30, # .. 0x10D39 ; Hanifi_Rohingya
0x10D3A, # .. 0x10E5F ; Unknown
0x10D3A, # .. 0x10D3F ; Unknown
0x10D40, # .. 0x10D65 ; Garay
0x10D66, # .. 0x10D68 ; Unknown
0x10D69, # .. 0x10D85 ; Garay
0x10D86, # .. 0x10D8D ; Unknown
0x10D8E, # .. 0x10D8F ; Garay
0x10D90, # .. 0x10E5F ; Unknown
0x10E60, # .. 0x10E7E ; Arabic
0x10E7F, # .. 0x10E7F ; Unknown
0x10E80, # .. 0x10EA9 ; Yezidi
@ -1086,8 +1092,10 @@ RANGES = [
0x10EAB, # .. 0x10EAD ; Yezidi
0x10EAE, # .. 0x10EAF ; Unknown
0x10EB0, # .. 0x10EB1 ; Yezidi
0x10EB2, # .. 0x10EFC ; Unknown
0x10EFD, # .. 0x10EFF ; Arabic
0x10EB2, # .. 0x10EC1 ; Unknown
0x10EC2, # .. 0x10EC4 ; Arabic
0x10EC5, # .. 0x10EFB ; Unknown
0x10EFC, # .. 0x10EFF ; Arabic
0x10F00, # .. 0x10F27 ; Old_Sogdian
0x10F28, # .. 0x10F2F ; Unknown
0x10F30, # .. 0x10F59 ; Sogdian
@ -1169,7 +1177,29 @@ RANGES = [
0x11366, # .. 0x1136C ; Grantha
0x1136D, # .. 0x1136F ; Unknown
0x11370, # .. 0x11374 ; Grantha
0x11375, # .. 0x113FF ; Unknown
0x11375, # .. 0x1137F ; Unknown
0x11380, # .. 0x11389 ; Tulu_Tigalari
0x1138A, # .. 0x1138A ; Unknown
0x1138B, # .. 0x1138B ; Tulu_Tigalari
0x1138C, # .. 0x1138D ; Unknown
0x1138E, # .. 0x1138E ; Tulu_Tigalari
0x1138F, # .. 0x1138F ; Unknown
0x11390, # .. 0x113B5 ; Tulu_Tigalari
0x113B6, # .. 0x113B6 ; Unknown
0x113B7, # .. 0x113C0 ; Tulu_Tigalari
0x113C1, # .. 0x113C1 ; Unknown
0x113C2, # .. 0x113C2 ; Tulu_Tigalari
0x113C3, # .. 0x113C4 ; Unknown
0x113C5, # .. 0x113C5 ; Tulu_Tigalari
0x113C6, # .. 0x113C6 ; Unknown
0x113C7, # .. 0x113CA ; Tulu_Tigalari
0x113CB, # .. 0x113CB ; Unknown
0x113CC, # .. 0x113D5 ; Tulu_Tigalari
0x113D6, # .. 0x113D6 ; Unknown
0x113D7, # .. 0x113D8 ; Tulu_Tigalari
0x113D9, # .. 0x113E0 ; Unknown
0x113E1, # .. 0x113E2 ; Tulu_Tigalari
0x113E3, # .. 0x113FF ; Unknown
0x11400, # .. 0x1145B ; Newa
0x1145C, # .. 0x1145C ; Unknown
0x1145D, # .. 0x11461 ; Newa
@ -1191,7 +1221,9 @@ RANGES = [
0x11680, # .. 0x116B9 ; Takri
0x116BA, # .. 0x116BF ; Unknown
0x116C0, # .. 0x116C9 ; Takri
0x116CA, # .. 0x116FF ; Unknown
0x116CA, # .. 0x116CF ; Unknown
0x116D0, # .. 0x116E3 ; Myanmar
0x116E4, # .. 0x116FF ; Unknown
0x11700, # .. 0x1171A ; Ahom
0x1171B, # .. 0x1171C ; Unknown
0x1171D, # .. 0x1172B ; Ahom
@ -1233,7 +1265,11 @@ RANGES = [
0x11AC0, # .. 0x11AF8 ; Pau_Cin_Hau
0x11AF9, # .. 0x11AFF ; Unknown
0x11B00, # .. 0x11B09 ; Devanagari
0x11B0A, # .. 0x11BFF ; Unknown
0x11B0A, # .. 0x11BBF ; Unknown
0x11BC0, # .. 0x11BE1 ; Sunuwar
0x11BE2, # .. 0x11BEF ; Unknown
0x11BF0, # .. 0x11BF9 ; Sunuwar
0x11BFA, # .. 0x11BFF ; Unknown
0x11C00, # .. 0x11C08 ; Bhaiksuki
0x11C09, # .. 0x11C09 ; Unknown
0x11C0A, # .. 0x11C36 ; Bhaiksuki
@ -1280,8 +1316,8 @@ RANGES = [
0x11F11, # .. 0x11F11 ; Unknown
0x11F12, # .. 0x11F3A ; Kawi
0x11F3B, # .. 0x11F3D ; Unknown
0x11F3E, # .. 0x11F59 ; Kawi
0x11F5A, # .. 0x11FAF ; Unknown
0x11F3E, # .. 0x11F5A ; Kawi
0x11F5B, # .. 0x11FAF ; Unknown
0x11FB0, # .. 0x11FB0 ; Lisu
0x11FB1, # .. 0x11FBF ; Unknown
0x11FC0, # .. 0x11FF1 ; Tamil
@ -1298,9 +1334,13 @@ RANGES = [
0x12F90, # .. 0x12FF2 ; Cypro_Minoan
0x12FF3, # .. 0x12FFF ; Unknown
0x13000, # .. 0x13455 ; Egyptian_Hieroglyphs
0x13456, # .. 0x143FF ; Unknown
0x13456, # .. 0x1345F ; Unknown
0x13460, # .. 0x143FA ; Egyptian_Hieroglyphs
0x143FB, # .. 0x143FF ; Unknown
0x14400, # .. 0x14646 ; Anatolian_Hieroglyphs
0x14647, # .. 0x167FF ; Unknown
0x14647, # .. 0x160FF ; Unknown
0x16100, # .. 0x16139 ; Gurung_Khema
0x1613A, # .. 0x167FF ; Unknown
0x16800, # .. 0x16A38 ; Bamum
0x16A39, # .. 0x16A3F ; Unknown
0x16A40, # .. 0x16A5E ; Mro
@ -1325,7 +1365,9 @@ RANGES = [
0x16B63, # .. 0x16B77 ; Pahawh_Hmong
0x16B78, # .. 0x16B7C ; Unknown
0x16B7D, # .. 0x16B8F ; Pahawh_Hmong
0x16B90, # .. 0x16E3F ; Unknown
0x16B90, # .. 0x16D3F ; Unknown
0x16D40, # .. 0x16D79 ; Kirat_Rai
0x16D7A, # .. 0x16E3F ; Unknown
0x16E40, # .. 0x16E9A ; Medefaidrin
0x16E9B, # .. 0x16EFF ; Unknown
0x16F00, # .. 0x16F4A ; Miao
@ -1345,7 +1387,8 @@ RANGES = [
0x187F8, # .. 0x187FF ; Unknown
0x18800, # .. 0x18AFF ; Tangut
0x18B00, # .. 0x18CD5 ; Khitan_Small_Script
0x18CD6, # .. 0x18CFF ; Unknown
0x18CD6, # .. 0x18CFE ; Unknown
0x18CFF, # .. 0x18CFF ; Khitan_Small_Script
0x18D00, # .. 0x18D08 ; Tangut
0x18D09, # .. 0x1AFEF ; Unknown
0x1AFF0, # .. 0x1AFF3 ; Katakana
@ -1378,7 +1421,11 @@ RANGES = [
0x1BC9A, # .. 0x1BC9B ; Unknown
0x1BC9C, # .. 0x1BC9F ; Duployan
0x1BCA0, # .. 0x1BCA3 ; Common
0x1BCA4, # .. 0x1CEFF ; Unknown
0x1BCA4, # .. 0x1CBFF ; Unknown
0x1CC00, # .. 0x1CCF9 ; Common
0x1CCFA, # .. 0x1CCFF ; Unknown
0x1CD00, # .. 0x1CEB3 ; Common
0x1CEB4, # .. 0x1CEFF ; Unknown
0x1CF00, # .. 0x1CF2D ; Inherited
0x1CF2E, # .. 0x1CF2F ; Unknown
0x1CF30, # .. 0x1CF46 ; Inherited
@ -1489,7 +1536,11 @@ RANGES = [
0x1E2FF, # .. 0x1E2FF ; Wancho
0x1E300, # .. 0x1E4CF ; Unknown
0x1E4D0, # .. 0x1E4F9 ; Nag_Mundari
0x1E4FA, # .. 0x1E7DF ; Unknown
0x1E4FA, # .. 0x1E5CF ; Unknown
0x1E5D0, # .. 0x1E5FA ; Ol_Onal
0x1E5FB, # .. 0x1E5FE ; Unknown
0x1E5FF, # .. 0x1E5FF ; Ol_Onal
0x1E600, # .. 0x1E7DF ; Unknown
0x1E7E0, # .. 0x1E7E6 ; Ethiopic
0x1E7E7, # .. 0x1E7E7 ; Unknown
0x1E7E8, # .. 0x1E7EB ; Ethiopic
@ -1630,31 +1681,29 @@ RANGES = [
0x1F888, # .. 0x1F88F ; Unknown
0x1F890, # .. 0x1F8AD ; Common
0x1F8AE, # .. 0x1F8AF ; Unknown
0x1F8B0, # .. 0x1F8B1 ; Common
0x1F8B2, # .. 0x1F8FF ; Unknown
0x1F8B0, # .. 0x1F8BB ; Common
0x1F8BC, # .. 0x1F8BF ; Unknown
0x1F8C0, # .. 0x1F8C1 ; Common
0x1F8C2, # .. 0x1F8FF ; Unknown
0x1F900, # .. 0x1FA53 ; Common
0x1FA54, # .. 0x1FA5F ; Unknown
0x1FA60, # .. 0x1FA6D ; Common
0x1FA6E, # .. 0x1FA6F ; Unknown
0x1FA70, # .. 0x1FA7C ; Common
0x1FA7D, # .. 0x1FA7F ; Unknown
0x1FA80, # .. 0x1FA88 ; Common
0x1FA89, # .. 0x1FA8F ; Unknown
0x1FA90, # .. 0x1FABD ; Common
0x1FABE, # .. 0x1FABE ; Unknown
0x1FABF, # .. 0x1FAC5 ; Common
0x1FAC6, # .. 0x1FACD ; Unknown
0x1FACE, # .. 0x1FADB ; Common
0x1FADC, # .. 0x1FADF ; Unknown
0x1FAE0, # .. 0x1FAE8 ; Common
0x1FAE9, # .. 0x1FAEF ; Unknown
0x1FA80, # .. 0x1FA89 ; Common
0x1FA8A, # .. 0x1FA8E ; Unknown
0x1FA8F, # .. 0x1FAC6 ; Common
0x1FAC7, # .. 0x1FACD ; Unknown
0x1FACE, # .. 0x1FADC ; Common
0x1FADD, # .. 0x1FADE ; Unknown
0x1FADF, # .. 0x1FAE9 ; Common
0x1FAEA, # .. 0x1FAEF ; Unknown
0x1FAF0, # .. 0x1FAF8 ; Common
0x1FAF9, # .. 0x1FAFF ; Unknown
0x1FB00, # .. 0x1FB92 ; Common
0x1FB93, # .. 0x1FB93 ; Unknown
0x1FB94, # .. 0x1FBCA ; Common
0x1FBCB, # .. 0x1FBEF ; Unknown
0x1FBF0, # .. 0x1FBF9 ; Common
0x1FB94, # .. 0x1FBF9 ; Common
0x1FBFA, # .. 0x1FFFF ; Unknown
0x20000, # .. 0x2A6DF ; Han
0x2A6E0, # .. 0x2A6FF ; Unknown
@ -1665,7 +1714,9 @@ RANGES = [
0x2B820, # .. 0x2CEA1 ; Han
0x2CEA2, # .. 0x2CEAF ; Unknown
0x2CEB0, # .. 0x2EBE0 ; Han
0x2EBE1, # .. 0x2F7FF ; Unknown
0x2EBE1, # .. 0x2EBEF ; Unknown
0x2EBF0, # .. 0x2EE5D ; Han
0x2EE5E, # .. 0x2F7FF ; Unknown
0x2F800, # .. 0x2FA1D ; Han
0x2FA1E, # .. 0x2FFFF ; Unknown
0x30000, # .. 0x3134A ; Han
@ -1779,8 +1830,8 @@ VALUES = [
"Arab", # 0870..088E ; Arabic
"Zzzz", # 088F..088F ; Unknown
"Arab", # 0890..0891 ; Arabic
"Zzzz", # 0892..0897 ; Unknown
"Arab", # 0898..08E1 ; Arabic
"Zzzz", # 0892..0896 ; Unknown
"Arab", # 0897..08E1 ; Arabic
"Zyyy", # 08E2..08E2 ; Common
"Arab", # 08E3..08FF ; Arabic
"Deva", # 0900..0950 ; Devanagari
@ -2193,9 +2244,8 @@ VALUES = [
"Zinh", # 1AB0..1ACE ; Inherited
"Zzzz", # 1ACF..1AFF ; Unknown
"Bali", # 1B00..1B4C ; Balinese
"Zzzz", # 1B4D..1B4F ; Unknown
"Bali", # 1B50..1B7E ; Balinese
"Zzzz", # 1B7F..1B7F ; Unknown
"Zzzz", # 1B4D..1B4D ; Unknown
"Bali", # 1B4E..1B7F ; Balinese
"Sund", # 1B80..1BBF ; Sundanese
"Batk", # 1BC0..1BF3 ; Batak
"Zzzz", # 1BF4..1BFB ; Unknown
@ -2206,8 +2256,8 @@ VALUES = [
"Zzzz", # 1C4A..1C4C ; Unknown
"Lepc", # 1C4D..1C4F ; Lepcha
"Olck", # 1C50..1C7F ; Ol_Chiki
"Cyrl", # 1C80..1C88 ; Cyrillic
"Zzzz", # 1C89..1C8F ; Unknown
"Cyrl", # 1C80..1C8A ; Cyrillic
"Zzzz", # 1C8B..1C8F ; Unknown
"Geor", # 1C90..1CBA ; Georgian
"Zzzz", # 1CBB..1CBC ; Unknown
"Geor", # 1CBD..1CBF ; Georgian
@ -2300,8 +2350,8 @@ VALUES = [
"Latn", # 2160..2188 ; Latin
"Zyyy", # 2189..218B ; Common
"Zzzz", # 218C..218F ; Unknown
"Zyyy", # 2190..2426 ; Common
"Zzzz", # 2427..243F ; Unknown
"Zyyy", # 2190..2429 ; Common
"Zzzz", # 242A..243F ; Unknown
"Zyyy", # 2440..244A ; Common
"Zzzz", # 244B..245F ; Unknown
"Zyyy", # 2460..27FF ; Common
@ -2354,9 +2404,7 @@ VALUES = [
"Zzzz", # 2EF4..2EFF ; Unknown
"Hani", # 2F00..2FD5 ; Han
"Zzzz", # 2FD6..2FEF ; Unknown
"Zyyy", # 2FF0..2FFB ; Common
"Zzzz", # 2FFC..2FFF ; Unknown
"Zyyy", # 3000..3004 ; Common
"Zyyy", # 2FF0..3004 ; Common
"Hani", # 3005..3005 ; Han
"Zyyy", # 3006..3006 ; Common
"Hani", # 3007..3007 ; Han
@ -2384,8 +2432,9 @@ VALUES = [
"Zzzz", # 318F..318F ; Unknown
"Zyyy", # 3190..319F ; Common
"Bopo", # 31A0..31BF ; Bopomofo
"Zyyy", # 31C0..31E3 ; Common
"Zzzz", # 31E4..31EF ; Unknown
"Zyyy", # 31C0..31E5 ; Common
"Zzzz", # 31E6..31EE ; Unknown
"Zyyy", # 31EF..31EF ; Common
"Kana", # 31F0..31FF ; Katakana
"Hang", # 3200..321E ; Hangul
"Zzzz", # 321F..321F ; Unknown
@ -2412,14 +2461,14 @@ VALUES = [
"Zyyy", # A700..A721 ; Common
"Latn", # A722..A787 ; Latin
"Zyyy", # A788..A78A ; Common
"Latn", # A78B..A7CA ; Latin
"Zzzz", # A7CB..A7CF ; Unknown
"Latn", # A78B..A7CD ; Latin
"Zzzz", # A7CE..A7CF ; Unknown
"Latn", # A7D0..A7D1 ; Latin
"Zzzz", # A7D2..A7D2 ; Unknown
"Latn", # A7D3..A7D3 ; Latin
"Zzzz", # A7D4..A7D4 ; Unknown
"Latn", # A7D5..A7D9 ; Latin
"Zzzz", # A7DA..A7F1 ; Unknown
"Latn", # A7D5..A7DC ; Latin
"Zzzz", # A7DD..A7F1 ; Unknown
"Latn", # A7F2..A7FF ; Latin
"Sylo", # A800..A82C ; Syloti_Nagri
"Zzzz", # A82D..A82F ; Unknown
@ -2640,7 +2689,9 @@ VALUES = [
"Vith", # 105B3..105B9 ; Vithkuqi
"Zzzz", # 105BA..105BA ; Unknown
"Vith", # 105BB..105BC ; Vithkuqi
"Zzzz", # 105BD..105FF ; Unknown
"Zzzz", # 105BD..105BF ; Unknown
"Todr", # 105C0..105F3 ; Todhri
"Zzzz", # 105F4..105FF ; Unknown
"Lina", # 10600..10736 ; Linear_A
"Zzzz", # 10737..1073F ; Unknown
"Lina", # 10740..10755 ; Linear_A
@ -2738,7 +2789,13 @@ VALUES = [
"Rohg", # 10D00..10D27 ; Hanifi_Rohingya
"Zzzz", # 10D28..10D2F ; Unknown
"Rohg", # 10D30..10D39 ; Hanifi_Rohingya
"Zzzz", # 10D3A..10E5F ; Unknown
"Zzzz", # 10D3A..10D3F ; Unknown
"Gara", # 10D40..10D65 ; Garay
"Zzzz", # 10D66..10D68 ; Unknown
"Gara", # 10D69..10D85 ; Garay
"Zzzz", # 10D86..10D8D ; Unknown
"Gara", # 10D8E..10D8F ; Garay
"Zzzz", # 10D90..10E5F ; Unknown
"Arab", # 10E60..10E7E ; Arabic
"Zzzz", # 10E7F..10E7F ; Unknown
"Yezi", # 10E80..10EA9 ; Yezidi
@ -2746,8 +2803,10 @@ VALUES = [
"Yezi", # 10EAB..10EAD ; Yezidi
"Zzzz", # 10EAE..10EAF ; Unknown
"Yezi", # 10EB0..10EB1 ; Yezidi
"Zzzz", # 10EB2..10EFC ; Unknown
"Arab", # 10EFD..10EFF ; Arabic
"Zzzz", # 10EB2..10EC1 ; Unknown
"Arab", # 10EC2..10EC4 ; Arabic
"Zzzz", # 10EC5..10EFB ; Unknown
"Arab", # 10EFC..10EFF ; Arabic
"Sogo", # 10F00..10F27 ; Old_Sogdian
"Zzzz", # 10F28..10F2F ; Unknown
"Sogd", # 10F30..10F59 ; Sogdian
@ -2829,7 +2888,29 @@ VALUES = [
"Gran", # 11366..1136C ; Grantha
"Zzzz", # 1136D..1136F ; Unknown
"Gran", # 11370..11374 ; Grantha
"Zzzz", # 11375..113FF ; Unknown
"Zzzz", # 11375..1137F ; Unknown
"Tutg", # 11380..11389 ; Tulu_Tigalari
"Zzzz", # 1138A..1138A ; Unknown
"Tutg", # 1138B..1138B ; Tulu_Tigalari
"Zzzz", # 1138C..1138D ; Unknown
"Tutg", # 1138E..1138E ; Tulu_Tigalari
"Zzzz", # 1138F..1138F ; Unknown
"Tutg", # 11390..113B5 ; Tulu_Tigalari
"Zzzz", # 113B6..113B6 ; Unknown
"Tutg", # 113B7..113C0 ; Tulu_Tigalari
"Zzzz", # 113C1..113C1 ; Unknown
"Tutg", # 113C2..113C2 ; Tulu_Tigalari
"Zzzz", # 113C3..113C4 ; Unknown
"Tutg", # 113C5..113C5 ; Tulu_Tigalari
"Zzzz", # 113C6..113C6 ; Unknown
"Tutg", # 113C7..113CA ; Tulu_Tigalari
"Zzzz", # 113CB..113CB ; Unknown
"Tutg", # 113CC..113D5 ; Tulu_Tigalari
"Zzzz", # 113D6..113D6 ; Unknown
"Tutg", # 113D7..113D8 ; Tulu_Tigalari
"Zzzz", # 113D9..113E0 ; Unknown
"Tutg", # 113E1..113E2 ; Tulu_Tigalari
"Zzzz", # 113E3..113FF ; Unknown
"Newa", # 11400..1145B ; Newa
"Zzzz", # 1145C..1145C ; Unknown
"Newa", # 1145D..11461 ; Newa
@ -2851,7 +2932,9 @@ VALUES = [
"Takr", # 11680..116B9 ; Takri
"Zzzz", # 116BA..116BF ; Unknown
"Takr", # 116C0..116C9 ; Takri
"Zzzz", # 116CA..116FF ; Unknown
"Zzzz", # 116CA..116CF ; Unknown
"Mymr", # 116D0..116E3 ; Myanmar
"Zzzz", # 116E4..116FF ; Unknown
"Ahom", # 11700..1171A ; Ahom
"Zzzz", # 1171B..1171C ; Unknown
"Ahom", # 1171D..1172B ; Ahom
@ -2893,7 +2976,11 @@ VALUES = [
"Pauc", # 11AC0..11AF8 ; Pau_Cin_Hau
"Zzzz", # 11AF9..11AFF ; Unknown
"Deva", # 11B00..11B09 ; Devanagari
"Zzzz", # 11B0A..11BFF ; Unknown
"Zzzz", # 11B0A..11BBF ; Unknown
"Sunu", # 11BC0..11BE1 ; Sunuwar
"Zzzz", # 11BE2..11BEF ; Unknown
"Sunu", # 11BF0..11BF9 ; Sunuwar
"Zzzz", # 11BFA..11BFF ; Unknown
"Bhks", # 11C00..11C08 ; Bhaiksuki
"Zzzz", # 11C09..11C09 ; Unknown
"Bhks", # 11C0A..11C36 ; Bhaiksuki
@ -2940,8 +3027,8 @@ VALUES = [
"Zzzz", # 11F11..11F11 ; Unknown
"Kawi", # 11F12..11F3A ; Kawi
"Zzzz", # 11F3B..11F3D ; Unknown
"Kawi", # 11F3E..11F59 ; Kawi
"Zzzz", # 11F5A..11FAF ; Unknown
"Kawi", # 11F3E..11F5A ; Kawi
"Zzzz", # 11F5B..11FAF ; Unknown
"Lisu", # 11FB0..11FB0 ; Lisu
"Zzzz", # 11FB1..11FBF ; Unknown
"Taml", # 11FC0..11FF1 ; Tamil
@ -2958,9 +3045,13 @@ VALUES = [
"Cpmn", # 12F90..12FF2 ; Cypro_Minoan
"Zzzz", # 12FF3..12FFF ; Unknown
"Egyp", # 13000..13455 ; Egyptian_Hieroglyphs
"Zzzz", # 13456..143FF ; Unknown
"Zzzz", # 13456..1345F ; Unknown
"Egyp", # 13460..143FA ; Egyptian_Hieroglyphs
"Zzzz", # 143FB..143FF ; Unknown
"Hluw", # 14400..14646 ; Anatolian_Hieroglyphs
"Zzzz", # 14647..167FF ; Unknown
"Zzzz", # 14647..160FF ; Unknown
"Gukh", # 16100..16139 ; Gurung_Khema
"Zzzz", # 1613A..167FF ; Unknown
"Bamu", # 16800..16A38 ; Bamum
"Zzzz", # 16A39..16A3F ; Unknown
"Mroo", # 16A40..16A5E ; Mro
@ -2985,7 +3076,9 @@ VALUES = [
"Hmng", # 16B63..16B77 ; Pahawh_Hmong
"Zzzz", # 16B78..16B7C ; Unknown
"Hmng", # 16B7D..16B8F ; Pahawh_Hmong
"Zzzz", # 16B90..16E3F ; Unknown
"Zzzz", # 16B90..16D3F ; Unknown
"Krai", # 16D40..16D79 ; Kirat_Rai
"Zzzz", # 16D7A..16E3F ; Unknown
"Medf", # 16E40..16E9A ; Medefaidrin
"Zzzz", # 16E9B..16EFF ; Unknown
"Plrd", # 16F00..16F4A ; Miao
@ -3005,7 +3098,8 @@ VALUES = [
"Zzzz", # 187F8..187FF ; Unknown
"Tang", # 18800..18AFF ; Tangut
"Kits", # 18B00..18CD5 ; Khitan_Small_Script
"Zzzz", # 18CD6..18CFF ; Unknown
"Zzzz", # 18CD6..18CFE ; Unknown
"Kits", # 18CFF..18CFF ; Khitan_Small_Script
"Tang", # 18D00..18D08 ; Tangut
"Zzzz", # 18D09..1AFEF ; Unknown
"Kana", # 1AFF0..1AFF3 ; Katakana
@ -3038,7 +3132,11 @@ VALUES = [
"Zzzz", # 1BC9A..1BC9B ; Unknown
"Dupl", # 1BC9C..1BC9F ; Duployan
"Zyyy", # 1BCA0..1BCA3 ; Common
"Zzzz", # 1BCA4..1CEFF ; Unknown
"Zzzz", # 1BCA4..1CBFF ; Unknown
"Zyyy", # 1CC00..1CCF9 ; Common
"Zzzz", # 1CCFA..1CCFF ; Unknown
"Zyyy", # 1CD00..1CEB3 ; Common
"Zzzz", # 1CEB4..1CEFF ; Unknown
"Zinh", # 1CF00..1CF2D ; Inherited
"Zzzz", # 1CF2E..1CF2F ; Unknown
"Zinh", # 1CF30..1CF46 ; Inherited
@ -3149,7 +3247,11 @@ VALUES = [
"Wcho", # 1E2FF..1E2FF ; Wancho
"Zzzz", # 1E300..1E4CF ; Unknown
"Nagm", # 1E4D0..1E4F9 ; Nag_Mundari
"Zzzz", # 1E4FA..1E7DF ; Unknown
"Zzzz", # 1E4FA..1E5CF ; Unknown
"Onao", # 1E5D0..1E5FA ; Ol_Onal
"Zzzz", # 1E5FB..1E5FE ; Unknown
"Onao", # 1E5FF..1E5FF ; Ol_Onal
"Zzzz", # 1E600..1E7DF ; Unknown
"Ethi", # 1E7E0..1E7E6 ; Ethiopic
"Zzzz", # 1E7E7..1E7E7 ; Unknown
"Ethi", # 1E7E8..1E7EB ; Ethiopic
@ -3290,31 +3392,29 @@ VALUES = [
"Zzzz", # 1F888..1F88F ; Unknown
"Zyyy", # 1F890..1F8AD ; Common
"Zzzz", # 1F8AE..1F8AF ; Unknown
"Zyyy", # 1F8B0..1F8B1 ; Common
"Zzzz", # 1F8B2..1F8FF ; Unknown
"Zyyy", # 1F8B0..1F8BB ; Common
"Zzzz", # 1F8BC..1F8BF ; Unknown
"Zyyy", # 1F8C0..1F8C1 ; Common
"Zzzz", # 1F8C2..1F8FF ; Unknown
"Zyyy", # 1F900..1FA53 ; Common
"Zzzz", # 1FA54..1FA5F ; Unknown
"Zyyy", # 1FA60..1FA6D ; Common
"Zzzz", # 1FA6E..1FA6F ; Unknown
"Zyyy", # 1FA70..1FA7C ; Common
"Zzzz", # 1FA7D..1FA7F ; Unknown
"Zyyy", # 1FA80..1FA88 ; Common
"Zzzz", # 1FA89..1FA8F ; Unknown
"Zyyy", # 1FA90..1FABD ; Common
"Zzzz", # 1FABE..1FABE ; Unknown
"Zyyy", # 1FABF..1FAC5 ; Common
"Zzzz", # 1FAC6..1FACD ; Unknown
"Zyyy", # 1FACE..1FADB ; Common
"Zzzz", # 1FADC..1FADF ; Unknown
"Zyyy", # 1FAE0..1FAE8 ; Common
"Zzzz", # 1FAE9..1FAEF ; Unknown
"Zyyy", # 1FA80..1FA89 ; Common
"Zzzz", # 1FA8A..1FA8E ; Unknown
"Zyyy", # 1FA8F..1FAC6 ; Common
"Zzzz", # 1FAC7..1FACD ; Unknown
"Zyyy", # 1FACE..1FADC ; Common
"Zzzz", # 1FADD..1FADE ; Unknown
"Zyyy", # 1FADF..1FAE9 ; Common
"Zzzz", # 1FAEA..1FAEF ; Unknown
"Zyyy", # 1FAF0..1FAF8 ; Common
"Zzzz", # 1FAF9..1FAFF ; Unknown
"Zyyy", # 1FB00..1FB92 ; Common
"Zzzz", # 1FB93..1FB93 ; Unknown
"Zyyy", # 1FB94..1FBCA ; Common
"Zzzz", # 1FBCB..1FBEF ; Unknown
"Zyyy", # 1FBF0..1FBF9 ; Common
"Zyyy", # 1FB94..1FBF9 ; Common
"Zzzz", # 1FBFA..1FFFF ; Unknown
"Hani", # 20000..2A6DF ; Han
"Zzzz", # 2A6E0..2A6FF ; Unknown
@ -3325,7 +3425,9 @@ VALUES = [
"Hani", # 2B820..2CEA1 ; Han
"Zzzz", # 2CEA2..2CEAF ; Unknown
"Hani", # 2CEB0..2EBE0 ; Han
"Zzzz", # 2EBE1..2F7FF ; Unknown
"Zzzz", # 2EBE1..2EBEF ; Unknown
"Hani", # 2EBF0..2EE5D ; Han
"Zzzz", # 2EE5E..2F7FF ; Unknown
"Hani", # 2F800..2FA1D ; Han
"Zzzz", # 2FA1E..2FFFF ; Unknown
"Hani", # 30000..3134A ; Han
@ -3378,6 +3480,7 @@ NAMES = {
"Elba": "Elbasan",
"Elym": "Elymaic",
"Ethi": "Ethiopic",
"Gara": "Garay",
"Geor": "Georgian",
"Glag": "Glagolitic",
"Gong": "Gunjala_Gondi",
@ -3386,6 +3489,7 @@ NAMES = {
"Gran": "Grantha",
"Grek": "Greek",
"Gujr": "Gujarati",
"Gukh": "Gurung_Khema",
"Guru": "Gurmukhi",
"Hang": "Hangul",
"Hani": "Han",
@ -3408,6 +3512,7 @@ NAMES = {
"Khoj": "Khojki",
"Kits": "Khitan_Small_Script",
"Knda": "Kannada",
"Krai": "Kirat_Rai",
"Kthi": "Kaithi",
"Lana": "Tai_Tham",
"Laoo": "Lao",
@ -3444,6 +3549,7 @@ NAMES = {
"Nshu": "Nushu",
"Ogam": "Ogham",
"Olck": "Ol_Chiki",
"Onao": "Ol_Onal",
"Orkh": "Old_Turkic",
"Orya": "Oriya",
"Osge": "Osage",
@ -3475,6 +3581,7 @@ NAMES = {
"Sora": "Sora_Sompeng",
"Soyo": "Soyombo",
"Sund": "Sundanese",
"Sunu": "Sunuwar",
"Sylo": "Syloti_Nagri",
"Syrc": "Syriac",
"Tagb": "Tagbanwa",
@ -3492,7 +3599,9 @@ NAMES = {
"Tibt": "Tibetan",
"Tirh": "Tirhuta",
"Tnsa": "Tangsa",
"Todr": "Todhri",
"Toto": "Toto",
"Tutg": "Tulu_Tigalari",
"Ugar": "Ugaritic",
"Vaii": "Vai",
"Vith": "Vithkuqi",

View File

@ -77,7 +77,7 @@ def script_extension(char):
>>> script_extension("a") == {'Latn'}
True
>>> script_extension(chr(0x060C)) == {'Rohg', 'Syrc', 'Yezi', 'Arab', 'Thaa', 'Nkoo'}
>>> script_extension(chr(0x060C)) == {'Nkoo', 'Arab', 'Rohg', 'Thaa', 'Syrc', 'Gara', 'Yezi'}
True
>>> script_extension(chr(0x10FFFF)) == {'Zzzz'}
True

View File

@ -1,3 +1,19 @@
4.54.0 (released 2024-09-23)
----------------------------
- [Docs] Small docs cleanups by @n8willis (#3611)
- [Docs] cleanup code blocks by @n8willis (#3627)
- [Docs] fix Sphinx builds by @n8willis (#3625)
- [merge] Minor fixes to documentation for merge by @drj11 (#3588)
- [subset] Small tweaks to pyftsubset documentation by @RoelN (#3633)
- [Tests] Do not require fonttools command to be available by @behdad (#3612)
- [Tests] subset_test: add failing test to reproduce issue #3616 by @anthrotype (#3622)
- [ttLib] NameRecordVisitor: include whole sequence of character variants' UI labels, not just the first by @anthrotype (#3617)
- [varLib.avar] Reconstruct mappings from binary by @behdad (#3598)
- [varLib.instancer] Fix visual artefacts with partial L2 instancing by @Hoolean (#3635)
- [varLib.interpolatable] Support discrete axes in .designspace by @behdad (#3599)
- [varLib.models] By default, assume OpenType-like normalized space by @behdad (#3601)
4.53.1 (released 2024-07-05)
----------------------------

View File

@ -182,6 +182,7 @@ def test_script_extension():
"Taml",
"Telu",
"Tirh",
"Onao",
}

View File

@ -1,5 +1,5 @@
[bumpversion]
current_version = 4.53.2.dev0
current_version = 4.54.1.dev0
commit = True
tag = False
tag_name = {new_version}

View File

@ -481,7 +481,7 @@ if ext_modules:
setup_params = dict(
name="fonttools",
version="4.53.2.dev0",
version="4.54.1.dev0",
description="Tools to manipulate font files",
author="Just van Rossum",
author_email="just@letterror.com",