Module:User:Erutuon/script recognition/make
- The following documentation is located at Module:User:Erutuon/script recognition/make/documentation. [edit]
- Useful links: root page • root page’s subpages • links • transclusions • testcases • sandbox
- U+0041-005A: Latn
- U+0061-007A: Latn
- U+00AA-00AA: Latn
- U+00AC-00AC: Zmth
- U+00B1-00B1: Zmth
- U+00BA-00BA: Latn
- U+00C0-00D6: Latn
- U+00D7-00D7: Zmth
- U+00D8-00F6: Latn
- U+00F7-00F7: Zmth
- U+00F8-02B8: Latn
- U+02C0-02C1: Latn
- U+02E0-02E4: Latn
- U+02EA-02EB: Bopo
- U+0342-0342: Grek
- U+0345-0345: Grek
- U+0363-036F: Latn
- U+0370-0377: Grek
- U+037A-037F: Grek
- U+0384-038A: Grek
- U+038C-038C: Grek
- U+038E-03A1: Grek
- U+03A3-03CF: Grek
- U+03D0-03D2: Grek, Zmth
- U+03D3-03E1: Grek
- U+03D0-03D2: Zmth
- U+03D5-03D5: Zmth
- U+03E2-03EF: Copt
- U+03F0-03F1: Zmth, Grek
- U+03F0-03F3: Grek
- U+03F4-03F6: Grek, Zmth
- U+03F7-03FF: Grek
- U+03F4-03F6: Zmth
- U+0400-0482: Cyrl
- U+0483-0483: Cyrl, Perm
- U+0484-052F: Cyrl
- U+0483-0483: Perm
- U+0484-0484: Glag
- U+0485-0486: Latn
- U+0487-0487: Glag
- U+0531-0556: Armn
- U+0559-0588: Armn
- U+0589-0589: Armn, Glag
- U+058A-058A: Armn
- U+0589-0589: Glag, Geor
- U+0589-0589: Geor
- U+058D-058F: Armn
- U+0591-05C7: Hebr
- U+05D0-05EA: Hebr
- U+05EF-05F4: Hebr
- U+0600-0605: Arab
- U+0606-0608: Arab, Zmth
- U+0609-06FF: Arab
- U+0606-0608: Zmth
- U+060C-060C: Gara, Yezi
- U+060C-060C: Yezi, Syrc
- U+060C-060C: Syrc, Nkoo
- U+060C-060C: Nkoo, Rohg
- U+060C-060C: Rohg, Thaa
- U+060C-060C: Thaa
- U+061B-061B: Rohg, Gara
- U+061B-061B: Gara, Yezi
- U+061B-061B: Yezi, Nkoo
- U+061B-061B: Nkoo, Thaa
- U+061B-061C: Thaa, Syrc
- U+061B-061C: Syrc
- U+061F-061F: Gara, Nkoo
- U+061F-061F: Nkoo, Syrc
- U+061F-061F: Syrc, Rohg
- U+061F-061F: Rohg, Adlm
- U+061F-061F: Adlm, Yezi
- U+061F-061F: Yezi, Thaa
- U+061F-061F: Thaa
- U+0640-0640: Ougr, Mani
- U+0640-0640: Mani, Phlp
- U+0640-0640: Phlp, Adlm
- U+0640-0640: Adlm, Sogd
- U+0640-0640: Sogd, Syrc
- U+0640-0640: Syrc, Rohg
- U+0640-0640: Rohg, Mand
- U+0640-0640: Mand
- U+064B-0655: Syrc
- U+0660-0669: Thaa, Yezi
- U+0660-0669: Yezi
- U+0670-0670: Syrc
- U+06D4-06D4: Rohg
- U+0700-070D: Syrc
- U+070F-074A: Syrc
- U+074D-074F: Syrc
- U+0750-077F: Arab
- U+0780-07B1: Thaa
- U+07C0-07FA: Nkoo
- U+07FD-07FF: Nkoo
- U+0800-082D: Samr
- U+0830-083E: Samr
- U+0840-085B: Mand
- U+085E-085E: Mand
- U+0860-086A: Syrc
- U+0870-088E: Arab
- U+0890-0891: Arab
- U+0897-08E1: Arab
- U+08E3-08FF: Arab
- U+0900-0950: Deva
- U+0951-0951: Deva, Shrd
- U+0952-097F: Deva
- U+0951-0951: Shrd, Gran
- U+0951-0952: Gran, Mlym
- U+0951-0952: Mlym, Taml
- U+0951-0952: Taml, Gujr
- U+0951-0952: Gujr, Latn
- U+0951-0952: Latn, Knda
- U+0951-0952: Knda, Beng
- U+0951-0952: Beng, Telu
- U+0951-0952: Telu, Orya
- U+0951-0952: Orya, Guru
- U+0951-0952: Guru, Tirh
- U+0951-0952: Tirh
- U+0964-0965: Takr, Telu
- U+0964-0965: Telu, Orya
- U+0964-0965: Orya, Gran
- U+0964-0965: Gran, Nand
- U+0964-0965: Nand, Gong
- U+0964-0965: Gong, Onao
- U+0964-0965: Onao, Mlym
- U+0964-0965: Mlym, Sind
- U+0964-0965: Sind, Taml
- U+0964-0965: Taml, Tirh
- U+0964-0965: Tirh, Sylo
- U+0964-0965: Sylo, Gujr
- U+0964-0965: Gujr, Gonm
- U+0964-0965: Gonm, Sinh
- U+0964-0965: Sinh, Beng
- U+0964-0965: Beng, Guru
- U+0964-0965: Guru, Knda
- U+0964-0965: Knda, Mahj
- U+0964-096F: Mahj, Dogr
- U+0964-0964: Dogr
- U+0965-0965: Dogr, Gukh
- U+0966-096F: Dogr
- U+0965-0965: Gukh, Limb
- U+0965-0965: Limb
- U+0966-096F: Kthi
- U+0980-0983: Beng
- U+0985-098C: Beng
- U+098F-0990: Beng
- U+0993-09A8: Beng
- U+09AA-09B0: Beng
- U+09B2-09B2: Beng
- U+09B6-09B9: Beng
- U+09BC-09C4: Beng
- U+09C7-09C8: Beng
- U+09CB-09CE: Beng
- U+09D7-09D7: Beng
- U+09DC-09DD: Beng
- U+09DF-09E3: Beng
- U+09E6-09EF: Beng, Cakm
- U+09E6-09EF: Cakm, Sylo
- U+09E6-09EF: Sylo
- U+09F2-09FE: Beng
- U+0A01-0A03: Guru
- U+0A05-0A0A: Guru
- U+0A0F-0A10: Guru
- U+0A13-0A28: Guru
- U+0A2A-0A30: Guru
- U+0A32-0A33: Guru
- U+0A35-0A36: Guru
- U+0A38-0A39: Guru
- U+0A3C-0A3C: Guru
- U+0A3E-0A42: Guru
- U+0A47-0A48: Guru
- U+0A4B-0A4D: Guru
- U+0A51-0A51: Guru
- U+0A59-0A5C: Guru
- U+0A5E-0A5E: Guru
- U+0A66-0A6F: Mult, Guru
- U+0A66-0A76: Guru
- U+0A81-0A83: Gujr
- U+0A85-0A8D: Gujr
- U+0A8F-0A91: Gujr
- U+0A93-0AA8: Gujr
- U+0AAA-0AB0: Gujr
- U+0AB2-0AB3: Gujr
- U+0AB5-0AB9: Gujr
- U+0ABC-0AC5: Gujr
- U+0AC7-0AC9: Gujr
- U+0ACB-0ACD: Gujr
- U+0AD0-0AD0: Gujr
- U+0AE0-0AE3: Gujr
- U+0AE6-0AEF: Khoj, Gujr
- U+0AE6-0AF1: Gujr
- U+0AF9-0AFF: Gujr
- U+0B01-0B03: Orya
- U+0B05-0B0C: Orya
- U+0B0F-0B10: Orya
- U+0B13-0B28: Orya
- U+0B2A-0B30: Orya
- U+0B32-0B33: Orya
- U+0B35-0B39: Orya
- U+0B3C-0B44: Orya
- U+0B47-0B48: Orya
- U+0B4B-0B4D: Orya
- U+0B55-0B57: Orya
- U+0B5C-0B5D: Orya
- U+0B5F-0B63: Orya
- U+0B66-0B77: Orya
- U+0B82-0B83: Taml
- U+0B85-0B8A: Taml
- U+0B8E-0B90: Taml
- U+0B92-0B95: Taml
- U+0B99-0B9A: Taml
- U+0B9C-0B9C: Taml
- U+0B9E-0B9F: Taml
- U+0BA3-0BA4: Taml
- U+0BA8-0BAA: Taml
- U+0BAE-0BB9: Taml
- U+0BBE-0BC2: Taml
- U+0BC6-0BC8: Taml
- U+0BCA-0BCD: Taml
- U+0BD0-0BD0: Taml
- U+0BD7-0BD7: Taml
- U+0BE6-0BF3: Gran, Taml
- U+0BE6-0BFA: Taml
- U+0C00-0C0C: Telu
- U+0C0E-0C10: Telu
- U+0C12-0C28: Telu
- U+0C2A-0C39: Telu
- U+0C3C-0C44: Telu
- U+0C46-0C48: Telu
- U+0C4A-0C4D: Telu
- U+0C55-0C56: Telu
- U+0C58-0C5A: Telu
- U+0C5D-0C5D: Telu
- U+0C60-0C63: Telu
- U+0C66-0C6F: Telu
- U+0C77-0C7F: Telu
- U+0C80-0C8C: Knda
- U+0C8E-0C90: Knda
- U+0C92-0CA8: Knda
- U+0CAA-0CB3: Knda
- U+0CB5-0CB9: Knda
- U+0CBC-0CC4: Knda
- U+0CC6-0CC8: Knda
- U+0CCA-0CCD: Knda
- U+0CD5-0CD6: Knda
- U+0CDD-0CDE: Knda
- U+0CE0-0CE3: Knda
- U+0CE6-0CEF: Knda, Nand
- U+0CE6-0CEF: Nand
- U+0CF1-0CF3: Knda
- U+0D00-0D0C: Mlym
- U+0D0E-0D10: Mlym
- U+0D12-0D44: Mlym
- U+0D46-0D48: Mlym
- U+0D4A-0D4F: Mlym
- U+0D54-0D63: Mlym
- U+0D66-0D7F: Mlym
- U+0D81-0D83: Sinh
- U+0D85-0D96: Sinh
- U+0D9A-0DB1: Sinh
- U+0DB3-0DBB: Sinh
- U+0DBD-0DBD: Sinh
- U+0DC0-0DC6: Sinh
- U+0DCA-0DCA: Sinh
- U+0DCF-0DD4: Sinh
- U+0DD6-0DD6: Sinh
- U+0DD8-0DDF: Sinh
- U+0DE6-0DEF: Sinh
- U+0DF2-0DF4: Sinh
- U+0E01-0E3A: Thai
- U+0E40-0E5B: Thai
- U+0E81-0E82: Laoo
- U+0E84-0E84: Laoo
- U+0E86-0E8A: Laoo
- U+0E8C-0EA3: Laoo
- U+0EA5-0EA5: Laoo
- U+0EA7-0EBD: Laoo
- U+0EC0-0EC4: Laoo
- U+0EC6-0EC6: Laoo
- U+0EC8-0ECE: Laoo
- U+0ED0-0ED9: Laoo
- U+0EDC-0EDF: Laoo
- U+0F00-0F47: Tibt
- U+0F49-0F6C: Tibt
- U+0F71-0F97: Tibt
- U+0F99-0FBC: Tibt
- U+0FBE-0FCC: Tibt
- U+0FCE-0FD4: Tibt
- U+0FD9-0FDA: Tibt
- U+1000-103F: Mymr
- U+1040-1049: Mymr, Cakm
- U+104A-109F: Mymr
- U+1040-1049: Cakm, Tale
- U+1040-1049: Tale
- U+10A0-10C5: Geok
- U+10C7-10C7: Geok
- U+10CD-10CD: Geok
- U+10D0-10FA: Geor
- U+10FB-10FB: Geor, Glag
- U+10FC-10FF: Geor
- U+10FB-10FB: Glag, Geok
- U+10FB-10FB: Geok, Latn
- U+10FB-10FB: Latn
- U+1100-11FF: Hang
- U+1200-1248: Ethi
- U+124A-124D: Ethi
- U+1250-1256: Ethi
- U+1258-1258: Ethi
- U+125A-125D: Ethi
- U+1260-1288: Ethi
- U+128A-128D: Ethi
- U+1290-12B0: Ethi
- U+12B2-12B5: Ethi
- U+12B8-12BE: Ethi
- U+12C0-12C0: Ethi
- U+12C2-12C5: Ethi
- U+12C8-12D6: Ethi
- U+12D8-1310: Ethi
- U+1312-1315: Ethi
- U+1318-135A: Ethi
- U+135D-137C: Ethi
- U+1380-1399: Ethi
- U+13A0-13F5: Cher
- U+13F8-13FD: Cher
- U+1400-167F: Cans
- U+1680-169C: Ogam
- U+16A0-16EA: Runr
- U+16EE-16F8: Runr
- U+1700-1715: Tglg
- U+171F-171F: Tglg
- U+1720-1734: Hano
- U+1735-1736: Hano, Tagb
- U+1735-1736: Tagb, Tglg
- U+1735-1736: Tglg, Buhd
- U+1735-1736: Buhd
- U+1740-1751: Buhd
- U+1752-1753: Buhd
- U+1760-176C: Tagb
- U+176E-1770: Tagb
- U+1772-1773: Tagb
- U+1780-17DD: Khmr
- U+17E0-17E9: Khmr
- U+17F0-17F9: Khmr
- U+1800-1801: Mong
- U+1802-1803: Mong, Phag
- U+1804-1805: Mong
- U+1802-1803: Phag
- U+1805-1805: Phag
- U+180A-1819: Mong
- U+1820-1842: Mong
- U+1878-1878: Mong
- U+1880-1897: Mong
- U+18A6-18A6: Mong
- U+18A9-18A9: Mong
- U+18B0-18F5: Cans
- U+1900-191E: Limb
- U+1920-192B: Limb
- U+1930-193B: Limb
- U+1940-1940: Limb
- U+1944-194F: Limb
- U+1950-196D: Tale
- U+1970-1974: Tale
- U+1980-19AB: Talu
- U+19B0-19C9: Talu
- U+19D0-19DA: Talu
- U+19DE-19DF: Talu
- U+19E0-19FF: Khmr
- U+1A00-1A1B: Bugi
- U+1A1E-1A1F: Bugi
- U+1A20-1A5E: Lana
- U+1A60-1A7C: Lana
- U+1A7F-1A89: Lana
- U+1A90-1A99: Lana
- U+1AA0-1AAD: Lana
- U+1B00-1B4C: Bali
- U+1B4E-1B7F: Bali
- U+1B80-1BBF: Sund
- U+1BC0-1BF3: Batk
- U+1BFC-1BFF: Batk
- U+1C00-1C37: Lepc
- U+1C3B-1C49: Lepc
- U+1C4D-1C4F: Lepc
- U+1C50-1C7F: Olck
- U+1C80-1C8A: Cyrl
- U+1C90-1CBA: Geor
- U+1CBD-1CBF: Geor
- U+1CC0-1CC7: Sund
- U+1CD0-1CD0: Beng, Gran
- U+1CD0-1CD0: Gran, Knda
- U+1CD0-1CD0: Knda, Deva
- U+1CD0-1CD1: Deva
- U+1CD2-1CD2: Deva, Beng
- U+1CD3-1CF6: Deva
- U+1CD2-1CD2: Beng, Knda
- U+1CD2-1CD3: Knda, Gran
- U+1CD2-1CD3: Gran
- U+1CD5-1CD6: Beng
- U+1CD7-1CD7: Shrd
- U+1CD8-1CD8: Beng
- U+1CD9-1CD9: Shrd
- U+1CDA-1CDA: Orya, Knda
- U+1CDA-1CDA: Knda, Mlym
- U+1CDA-1CDA: Mlym, Taml
- U+1CDA-1CDA: Taml, Telu
- U+1CDA-1CDA: Telu
- U+1CDC-1CDD: Shrd
- U+1CE0-1CE0: Shrd
- U+1CE1-1CE1: Beng
- U+1CE9-1CE9: Nand
- U+1CEA-1CEA: Beng
- U+1CED-1CED: Beng
- U+1CF2-1CF2: Sinh, Beng
- U+1CF2-1CF2: Beng, Mlym
- U+1CF2-1CF2: Mlym, Telu
- U+1CF2-1CF2: Telu, Nand
- U+1CF2-1CF2: Nand, Tirh
- U+1CF2-1CF2: Tirh, Tutg
- U+1CF2-1CF2: Tutg, Knda
- U+1CF2-1CF2: Knda, Orya
- U+1CF2-1CF2: Orya, Gran
- U+1CF2-1CF3: Gran
- U+1CF4-1CF4: Gran, Knda
- U+1CF4-1CF4: Knda, Tutg
- U+1CF4-1CF4: Tutg
- U+1CF5-1CF7: Beng
- U+1CF8-1CF9: Deva, Gran
- U+1CF8-1CF9: Gran
- U+1CFA-1CFA: Nand
- U+1D00-1D25: Latn
- U+1D26-1D2A: Grek
- U+1D2B-1D2B: Cyrl
- U+1D2C-1D5C: Latn
- U+1D5D-1D61: Grek
- U+1D62-1D65: Latn
- U+1D66-1D6A: Grek
- U+1D6B-1D77: Latn
- U+1D78-1D78: Cyrl
- U+1D79-1DBE: Latn
- U+1DBF-1DBF: Grek
- U+1DF8-1DF8: Latn, Syrc
- U+1DF8-1DF8: Syrc, Cyrl
- U+1DF8-1DF8: Cyrl
- U+1DFA-1DFA: Syrc
- U+1E00-1EFF: Latn
- U+200C-200D: Phag, Mong
- U+200C-200D: Mong
- U+2016-2016: Zmth
- U+202F-202F: Mong, Phag
- U+202F-202F: Phag, Latn
- U+202F-202F: Latn
- U+2032-2034: Zmth
- U+2040-2040: Zmth
- U+2044-2044: Zmth
- U+2052-2052: Zmth
- U+205F-205F: Zmth
- U+2061-2064: Zmth
- U+2071-2071: Latn
- U+207A-207E: Zmth
- U+207F-207F: Latn
- U+208A-208E: Zmth
- U+2090-209C: Latn
- U+20D0-20DC: Zmth
- U+20DD-20E0: Zsym
- U+20E1-20E1: Zmth
- U+20E2-20E4: Zsym
- U+20E5-20E6: Zmth
- U+20E7-20EA: Zsym
- U+20EB-20EF: Zmth
- U+20F0-20F0: Deva, Latn
- U+20F0-20F0: Latn, Zsym
- U+20F0-20F0: Zsym, Gran
- U+20F0-20F0: Gran
- U+2100-2101: Zsym, Latn
- U+2100-2101: Latn
- U+2102-2102: Latn, Zmth
- U+2103-2125: Latn
- U+2102-2102: Zmth
- U+2103-2106: Zsym
- U+2107-2107: Zmth
- U+2108-2109: Zsym
- U+210A-2113: Zmth
- U+2114-2114: Zsym
- U+2115-2115: Zmth
- U+2116-2117: Zsym
- U+2118-211D: Zmth
- U+211E-2123: Zsym
- U+2124-2124: Zmth
- U+2125-2125: Zsym
- U+2126-2127: Zsym, Grek
- U+2126-2127: Grek
- U+2128-2128: Latn, Zmth
- U+2128-2128: Zmth
- U+2129-2129: Zmth, Grek
- U+2129-2129: Grek
- U+212A-212B: Zsym, Latn
- U+212A-212B: Latn
- U+212C-212D: Latn, Zmth
- U+212E-2134: Latn
- U+212C-212D: Zmth
- U+212E-212E: Zsym
- U+212F-2131: Zmth
- U+2132-2132: Zsym
- U+2133-2134: Zmth
- U+2135-2138: Zmth, Hebr
- U+2135-2138: Hebr
- U+2139-213B: Zsym, Latn
- U+2139-213B: Latn
- U+213C-2140: Grek, Zmth
- U+213C-2140: Zmth
- U+2141-2149: Zmth, Latn
- U+2141-2149: Latn
- U+214A-214A: Latn, Zsym
- U+214B-214E: Latn
- U+214A-214A: Zsym
- U+214B-214B: Zmth
- U+214C-214F: Zsym
- U+2160-2188: Latn
- U+2190-21A7: Zmth
- U+21A8-21A8: Zsym
- U+21A9-21AE: Zmth
- U+21AF-21AF: Zsym
- U+21B0-21B1: Zmth
- U+21B2-21B5: Zsym
- U+21B6-21B7: Zmth
- U+21B8-21BB: Zsym
- U+21BC-21DB: Zmth
- U+21DC-21DC: Zsym
- U+21DD-21DD: Zmth
- U+21DE-21E3: Zsym
- U+21E4-21E5: Zmth
- U+21E6-21F3: Zsym
- U+21F4-22FF: Zmth
- U+2300-2307: Zsym
- U+2308-230B: Zmth
- U+230C-231F: Zsym
- U+2320-2321: Zmth
- U+2322-237B: Zsym
- U+237C-237C: Zmth
- U+237D-239A: Zsym
- U+239B-23B5: Zmth
- U+23B6-23B6: Zsym
- U+23B7-23B7: Zmth
- U+23B8-23CF: Zsym
- U+23D0-23D0: Zmth
- U+23D1-23DB: Zsym
- U+23DC-23E2: Zmth
- U+23E3-23FF: Zsym
- U+2500-259F: Zsym
- U+25A0-25A1: Zmth
- U+25A2-25AD: Zsym
- U+25AE-25B7: Zmth
- U+25B8-25BB: Zsym
- U+25BC-25C1: Zmth
- U+25C2-25C5: Zsym
- U+25C6-25C7: Zmth
- U+25C8-25C9: Zsym
- U+25CA-25CB: Zmth
- U+25CC-25CE: Zsym
- U+25CF-25D3: Zmth
- U+25D4-25E1: Zsym
- U+25E2-25E2: Zmth
- U+25E3-25E3: Zsym
- U+25E4-25E4: Zmth
- U+25E5-25E6: Zsym
- U+25E7-25EC: Zmth
- U+25ED-25F7: Zsym
- U+25F8-25FF: Zmth
- U+2600-2604: Zsym
- U+2605-2606: Zmth
- U+2607-263F: Zsym
- U+2640-2640: Zmth
- U+2641-2641: Zsym
- U+2642-2642: Zmth
- U+2643-265F: Zsym
- U+2660-2663: Zmth
- U+2664-2668: Zsym
- U+2669-266C: Zsym, Music
- U+2669-266C: Music
- U+266D-266F: Music, Zmth
- U+266D-266F: Zmth
- U+2670-27BF: Zsym
- U+27C0-27FF: Zmth
- U+2800-28FF: Brai
- U+2900-2AFF: Zmth
- U+2B00-2B2F: Zsym
- U+2B30-2B44: Zmth
- U+2B45-2B46: Zsym
- U+2B47-2B4C: Zmth
- U+2B4D-2B73: Zsym
- U+2B76-2B95: Zsym
- U+2B97-2BFF: Zsym
- U+2C00-2C5F: Glag
- U+2C60-2C7F: Latn
- U+2C80-2CF3: Copt
- U+2CF9-2CFF: Copt
- U+2D00-2D25: Geok
- U+2D27-2D27: Geok
- U+2D2D-2D2D: Geok
- U+2D30-2D67: Tfng
- U+2D6F-2D70: Tfng
- U+2D7F-2D7F: Tfng
- U+2D80-2D96: Ethi
- U+2DA0-2DA6: Ethi
- U+2DA8-2DAE: Ethi
- U+2DB0-2DB6: Ethi
- U+2DB8-2DBE: Ethi
- U+2DC0-2DC6: Ethi
- U+2DC8-2DCE: Ethi
- U+2DD0-2DD6: Ethi
- U+2DD8-2DDE: Ethi
- U+2DE0-2DFF: Cyrl
- U+2E43-2E43: Glag, Cyrl
- U+2E43-2E43: Cyrl
- U+2E80-2E99: Hani
- U+2E9B-2EF3: Hani
- U+2F00-2FD5: Hani
- U+2FF0-2FFF: Hani
- U+3001-3002: Yiii, Mong
- U+3001-3002: Mong, Hang
- U+3001-3003: Hang, Bopo
- U+3001-3003: Bopo, Hira
- U+3001-3003: Hira, Hani
- U+3001-3003: Hani, Kana
- U+3001-3001: Kana
- U+3002-3002: Kana, Phag
- U+3003-3003: Kana
- U+3002-3002: Phag
- U+3005-3007: Hani
- U+3008-300B: Hani, Mong
- U+300C-3011: Hani
- U+3008-300B: Mong, Tibt
- U+3008-300B: Tibt, Hang
- U+3008-3011: Hang, Hira
- U+3008-3011: Hira, Bopo
- U+3008-3011: Bopo, Kana
- U+3008-3011: Kana, Yiii
- U+3008-3009: Yiii
- U+300A-300B: Yiii, Lisu
- U+300C-3011: Yiii
- U+300A-300B: Lisu
- U+3013-301F: Hang, Bopo
- U+3013-301F: Bopo, Hira
- U+3013-301F: Hira, Hani
- U+3013-301F: Hani, Kana
- U+3013-3013: Kana
- U+3014-301B: Kana, Yiii
- U+301C-301F: Kana
- U+3014-301B: Yiii
- U+3021-3029: Hani
- U+302A-302D: Hani, Bopo
- U+302A-302D: Bopo
- U+302E-302F: Hang
- U+3030-3030: Hang, Bopo
- U+3030-3030: Bopo, Hani
- U+3030-3030: Hani, Hira
- U+3030-3035: Hira, Kana
- U+3030-3035: Kana
- U+3037-3037: Hira, Hang
- U+3037-3037: Hang, Kana
- U+3037-3037: Kana, Bopo
- U+3037-3037: Bopo, Hani
- U+3037-303B: Hani
- U+303C-303D: Hani, Kana
- U+303E-303F: Hani
- U+303C-303D: Kana, Hira
- U+303C-303D: Hira
- U+3041-3096: Hira
- U+3099-309C: Kana, Hira
- U+3099-309F: Hira
- U+30A0-30A0: Hira, Kana
- U+30A0-30FA: Kana
- U+30FB-30FB: Kana, Hang
- U+30FC-30FF: Kana
- U+30FB-30FB: Hang, Hani
- U+30FB-30FB: Hani, Bopo
- U+30FB-30FB: Bopo, Yiii
- U+30FB-30FB: Yiii, Hira
- U+30FB-30FC: Hira
- U+3105-312F: Bopo
- U+3131-318E: Hang
- U+3190-319F: Hani
- U+31A0-31BF: Bopo
- U+31C0-31E5: Hani
- U+31EF-31EF: Tang, Hani
- U+31EF-31EF: Hani
- U+31F0-31FF: Kana
- U+3200-321E: Hang
- U+3220-3247: Hani
- U+3260-327E: Hang
- U+3280-32B0: Hani
- U+32C0-32CB: Hani
- U+32D0-32FE: Kana
- U+32FF-32FF: Hani
- U+3300-3357: Kana
- U+3358-3370: Hani
- U+337B-337F: Hani
- U+33E0-33FE: Hani
- U+3400-4DBF: Hani
- U+4DC0-4DFF: Zsym
- U+4E00-9FFF: Hani
- U+A000-A48C: Yiii
- U+A490-A4C6: Yiii
- U+A4D0-A4FF: Lisu
- U+A500-A62B: Vaii
- U+A640-A66E: Cyrl
- U+A66F-A66F: Cyrl, Glag
- U+A670-A69F: Cyrl
- U+A66F-A66F: Glag
- U+A6A0-A6F7: Bamu
- U+A700-A707: Latn, Hani
- U+A700-A707: Hani
- U+A722-A787: Latn
- U+A78B-A7CD: Latn
- U+A7D0-A7D1: Latn
- U+A7D3-A7D3: Latn
- U+A7D5-A7DC: Latn
- U+A7F2-A7FF: Latn
- U+A800-A82C: Sylo
- U+A830-A832: Mlym, Knda
- U+A830-A835: Knda, Shrd
- U+A830-A835: Shrd, Nand
- U+A830-A835: Nand, Sind
- U+A830-A839: Sind, Mahj
- U+A830-A839: Mahj, Modi
- U+A830-A839: Modi, Takr
- U+A830-A839: Takr, Khoj
- U+A830-A839: Khoj, Gujr
- U+A830-A839: Gujr, Deva
- U+A830-A839: Deva, Guru
- U+A830-A839: Guru, Dogr
- U+A830-A839: Dogr, Kthi
- U+A830-A839: Kthi, Tirh
- U+A830-A837: Tirh
- U+A838-A838: Tirh, Shrd
- U+A839-A839: Tirh
- U+A838-A838: Shrd
- U+A840-A877: Phag
- U+A880-A8C5: Saur
- U+A8CE-A8D9: Saur
- U+A8E0-A8F0: Deva
- U+A8F1-A8F1: Deva, Beng
- U+A8F2-A8FF: Deva
- U+A8F1-A8F1: Beng, Tutg
- U+A8F1-A8F1: Tutg
- U+A8F3-A8F3: Taml
- U+A900-A92D: Kali
- U+A92E-A92E: Kali, Latn
- U+A92F-A92F: Kali
- U+A92E-A92E: Latn, Mymr
- U+A92E-A92E: Mymr
- U+A930-A953: Rjng
- U+A95F-A95F: Rjng
- U+A960-A97C: Hang
- U+A980-A9CD: Java
- U+A9CF-A9CF: Bugi, Java
- U+A9CF-A9D9: Java
- U+A9DE-A9DF: Java
- U+A9E0-A9FE: Mymr
- U+AA00-AA36: Cham
- U+AA40-AA4D: Cham
- U+AA50-AA59: Cham
- U+AA5C-AA5F: Cham
- U+AA60-AA7F: Mymr
- U+AA80-AAC2: Tavt
- U+AADB-AADF: Tavt
- U+AAE0-AAF6: Mtei
- U+AB01-AB06: Ethi
- U+AB09-AB0E: Ethi
- U+AB11-AB16: Ethi
- U+AB20-AB26: Ethi
- U+AB28-AB2E: Ethi
- U+AB30-AB5A: Latn
- U+AB5C-AB64: Latn
- U+AB65-AB65: Grek
- U+AB66-AB69: Latn
- U+AB70-ABBF: Cher
- U+ABC0-ABED: Mtei
- U+ABF0-ABF9: Mtei
- U+AC00-D7A3: Hang
- U+D7B0-D7C6: Hang
- U+D7CB-D7FB: Hang
- U+F900-FA6D: Hani
- U+FA70-FAD9: Hani
- U+FB00-FB06: Latn
- U+FB13-FB17: Armn
- U+FB1D-FB28: Hebr
- U+FB29-FB29: Hebr, Zmth
- U+FB2A-FB36: Hebr
- U+FB29-FB29: Zmth
- U+FB38-FB3C: Hebr
- U+FB3E-FB3E: Hebr
- U+FB40-FB41: Hebr
- U+FB43-FB44: Hebr
- U+FB46-FB4F: Hebr
- U+FB50-FBC2: Arab
- U+FBD3-FD3D: Arab
- U+FD3E-FD3F: Arab, Nkoo
- U+FD40-FD8F: Arab
- U+FD3E-FD3F: Nkoo
- U+FD92-FDC7: Arab
- U+FDCF-FDCF: Arab
- U+FDF0-FDF1: Arab
- U+FDF2-FDF2: Arab, Thaa
- U+FDF3-FDFF: Arab
- U+FDF2-FDF2: Thaa
- U+FDFD-FDFD: Thaa
- U+FE2E-FE2F: Cyrl
- U+FE45-FE46: Hani, Bopo
- U+FE45-FE46: Bopo, Hira
- U+FE45-FE46: Hira, Hang
- U+FE45-FE46: Hang, Kana
- U+FE45-FE46: Kana
- U+FE61-FE66: Zmth
- U+FE68-FE68: Zmth
- U+FE70-FE74: Arab
- U+FE76-FEFC: Arab
- U+FF0B-FF0B: Zmth
- U+FF1C-FF1E: Zmth
- U+FF21-FF3A: Latn
- U+FF3C-FF3C: Zmth
- U+FF3E-FF3E: Zmth
- U+FF41-FF5A: Latn
- U+FF5C-FF5C: Zmth
- U+FF5E-FF5E: Zmth
- U+FF61-FF65: Hang, Hira
- U+FF61-FF65: Hira, Yiii
- U+FF61-FF65: Yiii, Bopo
- U+FF61-FF65: Bopo, Hani
- U+FF61-FF65: Hani, Kana
- U+FF61-FF6F: Kana
- U+FF70-FF70: Kana, Hira
- U+FF71-FF9F: Kana
- U+FF70-FF70: Hira
- U+FF9E-FF9F: Hira
- U+FFA0-FFBE: Hang
- U+FFC2-FFC7: Hang
- U+FFCA-FFCF: Hang
- U+FFD2-FFD7: Hang
- U+FFDA-FFDC: Hang
- U+FFE2-FFE2: Zmth
- U+FFE9-FFEC: Zmth
- U+10000-1000B: Linb
- U+1000D-10026: Linb
- U+10028-1003A: Linb
- U+1003C-1003D: Linb
- U+1003F-1004D: Linb
- U+10050-1005D: Linb
- U+10080-100FA: Linb
- U+10100-10101: Cpmn, Cprt
- U+10100-10102: Cprt, Linb
- U+10100-10102: Linb
- U+10107-10133: Cprt, Linb
- U+10107-10133: Linb, Lina
- U+10107-10133: Lina
- U+10137-1013F: Linb, Cprt
- U+10137-1013F: Cprt
- U+10140-1018E: Grek
- U+101A0-101A0: Grek
- U+10280-1029C: Lyci
- U+102A0-102D0: Cari
- U+102E0-102FB: Arab, Copt
- U+102E0-102FB: Copt
- U+10300-10323: Ital
- U+1032D-1032F: Ital
- U+10330-1034A: Goth
- U+10350-1037A: Perm
- U+10380-1039D: Ugar
- U+1039F-1039F: Ugar
- U+103A0-103C3: Xpeo
- U+103C8-103D5: Xpeo
- U+10400-1044F: Dsrt
- U+10450-1047F: Shaw
- U+10480-1049D: Osma
- U+104A0-104A9: Osma
- U+104B0-104D3: Osge
- U+104D8-104FB: Osge
- U+10500-10527: Elba
- U+10530-10563: Aghb
- U+1056F-1056F: Aghb
- U+10570-1057A: Vith
- U+1057C-1058A: Vith
- U+1058C-10592: Vith
- U+10594-10595: Vith
- U+10597-105A1: Vith
- U+105A3-105B1: Vith
- U+105B3-105B9: Vith
- U+105BB-105BC: Vith
- U+105C0-105F3: Todr
- U+10600-10736: Lina
- U+10740-10755: Lina
- U+10760-10767: Lina
- U+10780-10785: Latn
- U+10787-107B0: Latn
- U+107B2-107BA: Latn
- U+10800-10805: Cprt
- U+10808-10808: Cprt
- U+1080A-10835: Cprt
- U+10837-10838: Cprt
- U+1083C-1083C: Cprt
- U+1083F-1083F: Cprt
- U+10840-10855: Armi
- U+10857-1085F: Armi
- U+10860-1087F: Palm
- U+10880-1089E: Nbat
- U+108A7-108AF: Nbat
- U+108E0-108F2: Hatr
- U+108F4-108F5: Hatr
- U+108FB-108FF: Hatr
- U+10900-1091B: Phnx
- U+1091F-1091F: Phnx
- U+10920-10939: Lydi
- U+1093F-1093F: Lydi
- U+10980-1099F: Mero
- U+109A0-109B7: Merc
- U+109BC-109CF: Merc
- U+109D2-109FF: Merc
- U+10A00-10A03: Khar
- U+10A05-10A06: Khar
- U+10A0C-10A13: Khar
- U+10A15-10A17: Khar
- U+10A19-10A35: Khar
- U+10A38-10A3A: Khar
- U+10A3F-10A48: Khar
- U+10A50-10A58: Khar
- U+10A60-10A7F: Sarb
- U+10A80-10A9F: Narb
- U+10AC0-10AE6: Mani
- U+10AEB-10AF1: Mani
- U+10AF2-10AF2: Mani, Ougr
- U+10AF3-10AF6: Mani
- U+10AF2-10AF2: Ougr
- U+10B00-10B35: Avst
- U+10B39-10B3F: Avst
- U+10B40-10B55: Prti
- U+10B58-10B5F: Prti
- U+10B60-10B72: Phli
- U+10B78-10B7F: Phli
- U+10B80-10B91: Phlp
- U+10B99-10B9C: Phlp
- U+10BA9-10BAF: Phlp
- U+10C00-10C48: Orkh
- U+10C80-10CB2: Hung
- U+10CC0-10CF2: Hung
- U+10CFA-10CFF: Hung
- U+10D00-10D27: Rohg
- U+10D30-10D39: Rohg
- U+10D40-10D65: Gara
- U+10D69-10D85: Gara
- U+10D8E-10D8F: Gara
- U+10E60-10E7E: Arab, Rumin
- U+10E60-10E7E: Rumin
- U+10E80-10EA9: Yezi
- U+10EAB-10EAD: Yezi
- U+10EB0-10EB1: Yezi
- U+10EC2-10EC4: Arab
- U+10EFC-10EFF: Arab
- U+10F00-10F27: Sogo
- U+10F30-10F59: Sogd
- U+10F70-10F89: Ougr
- U+10FB0-10FCB: Chrs
- U+10FE0-10FF6: Elym
- U+11000-1104D: Brah
- U+11052-11075: Brah
- U+1107F-1107F: Brah
- U+11080-110C2: Kthi
- U+110CD-110CD: Kthi
- U+110D0-110E8: Sora
- U+110F0-110F9: Sora
- U+11100-11134: Cakm
- U+11136-11147: Cakm
- U+11150-11176: Mahj
- U+11180-111DF: Shrd
- U+111E1-111F4: Sinh
- U+11200-11211: Khoj
- U+11213-11241: Khoj
- U+11280-11286: Mult
- U+11288-11288: Mult
- U+1128A-1128D: Mult
- U+1128F-1129D: Mult
- U+1129F-112A9: Mult
- U+112B0-112EA: Sind
- U+112F0-112F9: Sind
- U+11300-11300: Gran
- U+11301-11301: Gran, Taml
- U+11302-11303: Gran
- U+11301-11301: Taml
- U+11303-11303: Taml
- U+11305-1130C: Gran
- U+1130F-11310: Gran
- U+11313-11328: Gran
- U+1132A-11330: Gran
- U+11332-11333: Gran
- U+11335-11339: Gran
- U+1133B-1133C: Taml, Gran
- U+1133B-11344: Gran
- U+11347-11348: Gran
- U+1134B-1134D: Gran
- U+11350-11350: Gran
- U+11357-11357: Gran
- U+1135D-11363: Gran
- U+11366-1136C: Gran
- U+11370-11374: Gran
- U+11380-11389: Tutg
- U+1138B-1138B: Tutg
- U+1138E-1138E: Tutg
- U+11390-113B5: Tutg
- U+113B7-113C0: Tutg
- U+113C2-113C2: Tutg
- U+113C5-113C5: Tutg
- U+113C7-113CA: Tutg
- U+113CC-113D5: Tutg
- U+113D7-113D8: Tutg
- U+113E1-113E2: Tutg
- U+11400-1145B: Newa
- U+1145D-11461: Newa
- U+11480-114C7: Tirh
- U+114D0-114D9: Tirh
- U+11580-115B5: Sidd
- U+115B8-115DD: Sidd
- U+11600-11644: Modi
- U+11650-11659: Modi
- U+11660-11668: Mong
- U+11680-116B9: Takr
- U+116C0-116C9: Takr
- U+116D0-116E3: Mymr
- U+11700-1171A: Ahom
- U+1171D-1172B: Ahom
- U+11730-11746: Ahom
- U+11800-1183B: Dogr
- U+118A0-118F2: Wara
- U+118FF-118FF: Wara
- U+11900-11906: Diak
- U+11909-11909: Diak
- U+1190C-11913: Diak
- U+11915-11916: Diak
- U+11918-11935: Diak
- U+11937-11938: Diak
- U+1193B-11946: Diak
- U+11950-11959: Diak
- U+119A0-119A7: Nand
- U+119AA-119D7: Nand
- U+119DA-119E4: Nand
- U+11A00-11A47: Zanb
- U+11A50-11AA2: Soyo
- U+11AB0-11ABF: Cans
- U+11AC0-11AF8: Pauc
- U+11B00-11B09: Deva
- U+11BC0-11BE1: Sunu
- U+11BF0-11BF9: Sunu
- U+11C00-11C08: Bhks
- U+11C0A-11C36: Bhks
- U+11C38-11C45: Bhks
- U+11C50-11C6C: Bhks
- U+11C70-11C8F: Marc
- U+11C92-11CA7: Marc
- U+11CA9-11CB6: Marc
- U+11D00-11D06: Gonm
- U+11D08-11D09: Gonm
- U+11D0B-11D36: Gonm
- U+11D3A-11D3A: Gonm
- U+11D3C-11D3D: Gonm
- U+11D3F-11D47: Gonm
- U+11D50-11D59: Gonm
- U+11D60-11D65: Gong
- U+11D67-11D68: Gong
- U+11D6A-11D8E: Gong
- U+11D90-11D91: Gong
- U+11D93-11D98: Gong
- U+11DA0-11DA9: Gong
- U+11EE0-11EF8: Maka
- U+11F00-11F10: Kawi
- U+11F12-11F3A: Kawi
- U+11F3E-11F5A: Kawi
- U+11FB0-11FB0: Lisu
- U+11FC0-11FCF: Taml
- U+11FD0-11FD1: Taml, Gran
- U+11FD2-11FF1: Taml
- U+11FD0-11FD1: Gran
- U+11FD3-11FD3: Gran
- U+11FFF-11FFF: Taml
- U+12000-12399: Xsux
- U+12400-1246E: Xsux
- U+12470-12474: Xsux
- U+12480-12543: Xsux
- U+12F90-12FF2: Cpmn
- U+13000-13455: Egyp
- U+13460-143FA: Egyp
- U+14400-14646: Hluw
- U+16100-16139: Gukh
- U+16800-16A38: Bamu
- U+16A40-16A5E: Mroo
- U+16A60-16A69: Mroo
- U+16A6E-16A6F: Mroo
- U+16A70-16ABE: Tnsa
- U+16AC0-16AC9: Tnsa
- U+16AD0-16AED: Bass
- U+16AF0-16AF5: Bass
- U+16B00-16B45: Hmng
- U+16B50-16B59: Hmng
- U+16B5B-16B61: Hmng
- U+16B63-16B77: Hmng
- U+16B7D-16B8F: Hmng
- U+16D40-16D79: Krai
- U+16E40-16E9A: Medf
- U+16F00-16F4A: Plrd
- U+16F4F-16F87: Plrd
- U+16F8F-16F9F: Plrd
- U+16FE0-16FE0: Tang
- U+16FE1-16FE1: Nshu
- U+16FE2-16FE3: Hani
- U+16FE4-16FE4: Kits
- U+16FF0-16FF1: Hani
- U+17000-187F7: Tang
- U+18800-18AFF: Tang
- U+18B00-18CD5: Kits
- U+18CFF-18CFF: Kits
- U+18D00-18D08: Tang
- U+1AFF0-1AFF3: Kana
- U+1AFF5-1AFFB: Kana
- U+1AFFD-1AFFE: Kana
- U+1B000-1B000: Kana
- U+1B001-1B11F: Hira
- U+1B120-1B122: Kana
- U+1B132-1B132: Hira
- U+1B150-1B152: Hira
- U+1B155-1B155: Kana
- U+1B164-1B167: Kana
- U+1B170-1B2FB: Nshu
- U+1BC00-1BC6A: Dupl
- U+1BC70-1BC7C: Dupl
- U+1BC80-1BC88: Dupl
- U+1BC90-1BC99: Dupl
- U+1BC9C-1BCA3: Dupl
- U+1D100-1D126: Music
- U+1D129-1D1EA: Music
- U+1D200-1D245: Grek
- U+1D2E0-1D2F3: Maya
- U+1D360-1D371: Hani
- U+1D400-1D454: Zmth
- U+1D456-1D49C: Zmth
- U+1D49E-1D49F: Zmth
- U+1D4A2-1D4A2: Zmth
- U+1D4A5-1D4A6: Zmth
- U+1D4A9-1D4AC: Zmth
- U+1D4AE-1D4B9: Zmth
- U+1D4BB-1D4BB: Zmth
- U+1D4BD-1D4C3: Zmth
- U+1D4C5-1D505: Zmth
- U+1D507-1D50A: Zmth
- U+1D50D-1D514: Zmth
- U+1D516-1D51C: Zmth
- U+1D51E-1D539: Zmth
- U+1D53B-1D53E: Zmth
- U+1D540-1D544: Zmth
- U+1D546-1D546: Zmth
- U+1D54A-1D550: Zmth
- U+1D552-1D6A5: Zmth
- U+1D6A8-1D7CB: Zmth
- U+1D7CE-1D7FF: Zmth
- U+1D800-1DA8B: Sgnw
- U+1DA9B-1DA9F: Sgnw
- U+1DAA1-1DAAF: Sgnw
- U+1DF00-1DF1E: Latn
- U+1DF25-1DF2A: Latn
- U+1E000-1E006: Glag
- U+1E008-1E018: Glag
- U+1E01B-1E021: Glag
- U+1E023-1E024: Glag
- U+1E026-1E02A: Glag
- U+1E030-1E06D: Cyrl
- U+1E08F-1E08F: Cyrl
- U+1E100-1E12C: Hmnp
- U+1E130-1E13D: Hmnp
- U+1E140-1E149: Hmnp
- U+1E14E-1E14F: Hmnp
- U+1E290-1E2AE: Toto
- U+1E2C0-1E2F9: Wcho
- U+1E2FF-1E2FF: Wcho
- U+1E4D0-1E4F9: Nagm
- U+1E5D0-1E5FA: Onao
- U+1E5FF-1E5FF: Onao
- U+1E7E0-1E7E6: Ethi
- U+1E7E8-1E7EB: Ethi
- U+1E7ED-1E7EE: Ethi
- U+1E7F0-1E7FE: Ethi
- U+1E800-1E8C4: Mend
- U+1E8C7-1E8D6: Mend
- U+1E900-1E94B: Adlm
- U+1E950-1E959: Adlm
- U+1E95E-1E95F: Adlm
- U+1EE00-1EE03: Arab, Zmth
- U+1EE00-1EE03: Zmth
- U+1EE05-1EE1F: Arab, Zmth
- U+1EE05-1EE1F: Zmth
- U+1EE21-1EE22: Zmth, Arab
- U+1EE21-1EE22: Arab
- U+1EE24-1EE24: Zmth, Arab
- U+1EE24-1EE24: Arab
- U+1EE27-1EE27: Zmth, Arab
- U+1EE27-1EE27: Arab
- U+1EE29-1EE32: Zmth, Arab
- U+1EE29-1EE32: Arab
- U+1EE34-1EE37: Zmth, Arab
- U+1EE34-1EE37: Arab
- U+1EE39-1EE39: Zmth, Arab
- U+1EE39-1EE39: Arab
- U+1EE3B-1EE3B: Zmth, Arab
- U+1EE3B-1EE3B: Arab
- U+1EE42-1EE42: Arab, Zmth
- U+1EE42-1EE42: Zmth
- U+1EE47-1EE47: Zmth, Arab
- U+1EE47-1EE47: Arab
- U+1EE49-1EE49: Arab, Zmth
- U+1EE49-1EE49: Zmth
- U+1EE4B-1EE4B: Zmth, Arab
- U+1EE4B-1EE4B: Arab
- U+1EE4D-1EE4F: Arab, Zmth
- U+1EE4D-1EE4F: Zmth
- U+1EE51-1EE52: Zmth, Arab
- U+1EE51-1EE52: Arab
- U+1EE54-1EE54: Arab, Zmth
- U+1EE54-1EE54: Zmth
- U+1EE57-1EE57: Zmth, Arab
- U+1EE57-1EE57: Arab
- U+1EE59-1EE59: Arab, Zmth
- U+1EE59-1EE59: Zmth
- U+1EE5B-1EE5B: Zmth, Arab
- U+1EE5B-1EE5B: Arab
- U+1EE5D-1EE5D: Arab, Zmth
- U+1EE5D-1EE5D: Zmth
- U+1EE5F-1EE5F: Zmth, Arab
- U+1EE5F-1EE5F: Arab
- U+1EE61-1EE62: Arab, Zmth
- U+1EE61-1EE62: Zmth
- U+1EE64-1EE64: Arab, Zmth
- U+1EE64-1EE64: Zmth
- U+1EE67-1EE6A: Zmth, Arab
- U+1EE67-1EE6A: Arab
- U+1EE6C-1EE72: Zmth, Arab
- U+1EE6C-1EE72: Arab
- U+1EE74-1EE77: Zmth, Arab
- U+1EE74-1EE77: Arab
- U+1EE79-1EE7C: Zmth, Arab
- U+1EE79-1EE7C: Arab
- U+1EE7E-1EE7E: Arab, Zmth
- U+1EE7E-1EE7E: Zmth
- U+1EE80-1EE89: Zmth, Arab
- U+1EE80-1EE89: Arab
- U+1EE8B-1EE9B: Zmth, Arab
- U+1EE8B-1EE9B: Arab
- U+1EEA1-1EEA3: Zmth, Arab
- U+1EEA1-1EEA3: Arab
- U+1EEA5-1EEA9: Zmth, Arab
- U+1EEA5-1EEA9: Arab
- U+1EEAB-1EEBB: Arab, Zmth
- U+1EEAB-1EEBB: Zmth
- U+1EEF0-1EEF1: Zmth, Arab
- U+1EEF0-1EEF1: Arab
- U+1F000-1F02B: Zsym
- U+1F030-1F093: Zsym
- U+1F0A0-1F0AE: Zsym
- U+1F0B1-1F0BF: Zsym
- U+1F0C1-1F0CF: Zsym
- U+1F0D1-1F0F5: Zsym
- U+1F200-1F200: Hira
- U+1F250-1F251: Hani
- U+1F300-1F6D7: Zsym
- U+1F6DC-1F6EC: Zsym
- U+1F6F0-1F6FC: Zsym
- U+1F700-1F776: Zsym
- U+1F77B-1F7D9: Zsym
- U+1F7E0-1F7EB: Zsym
- U+1F7F0-1F7F0: Zsym
- U+1F800-1F80B: Zsym
- U+1F810-1F847: Zsym
- U+1F850-1F859: Zsym
- U+1F860-1F887: Zsym
- U+1F890-1F8AD: Zsym
- U+1F8B0-1F8B1: Zsym
- U+1F900-1FA53: Zsym
- U+1FA60-1FA6D: Zsym
- U+1FA70-1FA7C: Zsym
- U+1FA80-1FA88: Zsym
- U+1FA90-1FABD: Zsym
- U+1FABF-1FAC5: Zsym
- U+1FACE-1FADB: Zsym
- U+1FAE0-1FAE8: Zsym
- U+1FAF0-1FAF8: Zsym
- U+1FB00-1FB92: Zsym
- U+1FB94-1FBCA: Zsym
- U+1FBF0-1FBF9: Zsym
- U+20000-2A6DF: Hani
- U+2A700-2B739: Hani
- U+2B740-2B81D: Hani
- U+2B820-2CEA1: Hani
- U+2CEB0-2EBE0: Hani
- U+2EBF0-2EE5D: Hani
- U+2F800-2FA1D: Hani
- U+30000-3134A: Hani
- U+31350-323AF: Hani
local export = {}
local excluded_scripts = {
["Latf"] = true;
["Latg"] = true;
["Hans"] = true;
["Hant"] = true;
["Kore"] = true;
["Jpan"] = true;
["Zyyy"] = true;
}
local function get_script_ranges(module_text)
local script_to_ranges = {}
for index, data_literal in module_text:gmatch("m(%b[])%s*=%s*process_ranges(%b{})") do
local script_code = index:sub(3, -3)
if not (script_code:find("-", 1, true) or excluded_scripts[script_code]) then
local range_literal = data_literal:match("ranges%s*=%s*(%b{})")
if range_literal then
-- mw.log(script_code, range_literal)
local ranges = {}
local hex_iter = range_literal:gmatch("0x(%x+)")
local function iter_code_point()
local hex = hex_iter()
if not hex then return end
return tonumber(hex, 16)
end
while true do
local a, b = iter_code_point(), iter_code_point()
if a and b then
table.insert(ranges, {a, b})
else break end
end
-- mw.logObject(ranges, script_code)
script_to_ranges[script_code] = ranges
else
mw.log("no range_literal for " .. script_code)
end
end
end
return script_to_ranges
end
function export.make_sorted_range_script_list(script_to_ranges)
local list = {}
local i = 0
for script, ranges in pairs(script_to_ranges) do
for _, range in ipairs(ranges) do
i = i + 1
local a, b = unpack(range)
list[i] = { a, b, script }
end
end
table.sort(list, function(range1, range2)
if range1[1] == range2[1] then
return range1[2] < range2[2]
else
return range1[1] < range2[1]
end
end)
return list
end
function export.merge_sorted_range_script_list(orig_ranges)
local ranges = mw.clone(orig_ranges)
local i = 0
while true do
i = i + 1
local range1, range2 = ranges[i], ranges[i + 1]
if not range2 then break end
assert(range1[1] <= range2[1])
if range1[1] == range2[1] then
assert(range1[2] <= range2[2])
end
-- Types of intersection:
-- {1, 2, a}, {1, 2, b} -> {1, 2, a, b} (should not happen because we try to eliminate scripts with identical ranges)
-- {1, 2, a}, {1, 3, b} -> {1, 2, a, b}, {3, 3, b}
-- {1, 3, a}, {2, 2, b} -> {1, 1, a}, {2, 2, b}, {3, 3, a}
-- {1, 3, a}, {2, 3, b} -> {1, 1, a}, {2, 3, a, b}
-- {1, 3, a}, {2, 4, b} -> {1, 1, a}, {2, 3, a, b}, {4, 4, b}
if range2[1] <= range1[2] then
local intersection = { range2[1], math.min(range1[2], range2[2]), unpack(range1, 3) }
for j = 3, #range2 do
table.insert(intersection, range2[j])
end
if range1[1] < range2[1] then
local below_range2 = { range1[1], range2[1] - 1, unpack(range1, 3) }
ranges[i] = below_range2
table.insert(ranges, i + 1, intersection)
i = i + 1
else
ranges[i] = intersection
end
end
if range2[2] < range1[2] then
local above_range2 = { range2[2] + 1, range1[2], unpack(range1, 3) }
table.insert(ranges, i + 1, above_range2)
i = i + 1
end
end
return ranges
end
function export.log_ranges(ranges, log_function)
for _, range in ipairs(ranges) do
local a, b = unpack(range)
local s = ("U+%04X-%04X: "):format(a, b)
for i = 3, #range do
if i > 3 then
s = s .. ", "
end
s = s .. range[i]
end
log_function(s)
end
end
function export.make_script_recognition_data()
local script_to_ranges = get_script_ranges(mw.title.new("Module:scripts/data"):getContent())
local range_list = export.make_sorted_range_script_list(script_to_ranges)
return export.merge_sorted_range_script_list(range_list)
end
function export.log_script_recognition_data()
return export.log_ranges(export.make_script_recognition_data(), mw.log)
end
function export.show()
local output = require "Module:array"()
export.log_ranges(export.make_script_recognition_data(), function(val) output:insert("*" .. val) end)
return output:concat("\n")
end
return export