-
-
Notifications
You must be signed in to change notification settings - Fork 19
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[wip] breaking text into bidi runs. Extract script info from unicode …
…character database.
- Loading branch information
1 parent
b981751
commit 0d5788c
Showing
8 changed files
with
4,493 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,118 @@ | ||
#!/usr/bin/env python3 | ||
|
||
import os | ||
import re | ||
import csv | ||
from argparse import ArgumentParser | ||
|
||
parser = ArgumentParser(prog='gen_unicode_scripts_tables.py') | ||
parser.add_argument('--scripts', required=True) | ||
parser.add_argument('--iso', required=True) | ||
parser.add_argument('--out', required=True) | ||
|
||
args = parser.parse_args() | ||
|
||
with open(args.iso, "r") as f: | ||
reader = csv.reader(f, delimiter=';') | ||
iso = list(reader) | ||
|
||
iso = [line for line in iso if len(line) > 0 and not line[0].startswith('#') ] | ||
|
||
with open(args.scripts, "r") as f: | ||
data = f.read() | ||
|
||
entries = re.findall(r'^([0-9A-Fa-f]{3,5})(\.\.([0-9A-Fa-f]{3,5}))?[ ]*; ([^ ]*) \#.*', data, re.MULTILINE) | ||
|
||
table = [] | ||
|
||
for entry in entries: | ||
s = entry[0] | ||
e = entry[0] if entry[2] == '' else entry[2] | ||
name = entry[3] | ||
spaceName = name.replace('_', ' ') | ||
hyphenName = name.replace('_', '-') | ||
|
||
tag = '' | ||
for line in iso: | ||
if name == line[4] or name == line[2] or spaceName == line[4] or spaceName == line[2] or hyphenName == line[4] or hyphenName == line[2]: | ||
tag = line[0] | ||
|
||
if tag == '': | ||
print(f"Couldn't find iso15924 for unicode script {name}") | ||
exit(-1) | ||
|
||
table.append((int(s, 16), int(e, 16), name, tag)) | ||
|
||
# sort the table by range start and collate ranges | ||
table.sort() | ||
|
||
newTable = [] | ||
currentStart = table[0][0] | ||
currentName = table[0][2] | ||
currentScript = table[0][3] | ||
|
||
for line in table: | ||
if line[3] != currentScript: | ||
newTable.append((currentStart, line[0]-1, currentName, currentScript)) | ||
currentStart = line[0] | ||
currentName = line[2] | ||
currentScript = line[3] | ||
|
||
newTable.append((currentStart, table[len(table)-1][1], currentName, currentScript)) | ||
|
||
table = newTable | ||
|
||
with open(args.out, "w") as f: | ||
inputName = os.path.basename(args.out) | ||
|
||
print("/*********************************************************************", file=f) | ||
print("*", file=f) | ||
print("* Orca", file=f) | ||
print("* Copyright 2023 Martin Fouilleul and the Orca project contributors", file=f) | ||
print("* See LICENSE.txt for licensing information", file=f) | ||
print("*", file=f) | ||
print(f"* Unicode script tables generated by gen_unicode_scripts_tables.py from {inputName}", file=f) | ||
print("*", file=f) | ||
print("**********************************************************************/", file=f) | ||
print("#ifndef __UNICODE_SCRIPTS_TABLE_H_", file=f) | ||
print("#define __UNICODE_SCRIPTS_TABLE_H_", file=f) | ||
print("", file=f) | ||
|
||
print("#include \"util/typedefs.h\"", file=f) | ||
print("#include \"util/macros.h\"", file=f) | ||
print("", file=f) | ||
|
||
print("#define OC_UNICODE_SCRIPTS(_) \\", file=f) | ||
for line in table: | ||
print(f" _({line[2].upper()}, {hex(line[0])}, {hex(line[1])}, {line[3]}) \\", file=f) | ||
print("", file=f) | ||
|
||
print("typedef enum {", file=f) | ||
print("#define X(name, ...) OC_CAT2(OC_UNICODE_SCRIPT_, name),", file=f) | ||
print(" OC_UNICODE_SCRIPTS(X)", file=f) | ||
print("#undef X", file=f) | ||
print("} oc_unicode_script;", file=f) | ||
print("", file=f); | ||
|
||
print("typedef struct oc_unicode_script_range {", file=f) | ||
print(" u64 start;", file=f) | ||
print(" u64 end;", file=f) | ||
print(" oc_unicode_script script;", file=f) | ||
print(" oc_str8 tag;", file=f) | ||
print("} oc_unicode_script_range;", file=f) | ||
print("", file=f) | ||
|
||
print("static const oc_unicode_script_range OC_UNICODE_SCRIPT_RANGES[] = {", file=f) | ||
|
||
for line in table: | ||
print(f" {{ {hex(line[0])}, {hex(line[1])}, OC_UNICODE_SCRIPT_{line[2].upper()}, OC_STR8_LIT(\"{line[3]}\") }},", file=f) | ||
|
||
print("};", file=f) | ||
|
||
print("", file=f) | ||
print("enum {", file=f) | ||
print(f" OC_UNICODE_SCRIPT_RANGE_COUNT = {len(table)},", file=f) | ||
print("};", file=f) | ||
print("", file=f) | ||
|
||
print("#endif // __UNICODE_SCRIPTS_TABLE_H_", file=f) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,230 @@ | ||
# | ||
# ISO 15924 - Codes for the representation of names of scripts | ||
# Codes pour la représentation des noms d’écritures | ||
# Format: | ||
# Code;N°;English Name;Nom français;PVA;Unicode Version;Date | ||
# | ||
|
||
Adlm;166;Adlam;adlam;Adlam;9.0;2016-12-05 | ||
Afak;439;Afaka;afaka;;;2010-12-21 | ||
Aghb;239;Caucasian Albanian;aghbanien;Caucasian_Albanian;7.0;2014-11-15 | ||
Ahom;338;Ahom, Tai Ahom;âhom;Ahom;8.0;2015-07-07 | ||
Arab;160;Arabic;arabe;Arabic;1.1;2004-05-01 | ||
Aran;161;Arabic (Nastaliq variant);arabe (variante nastalique);;1.1;2014-11-15 | ||
Armi;124;Imperial Aramaic;araméen impérial;Imperial_Aramaic;5.2;2009-06-01 | ||
Armn;230;Armenian;arménien;Armenian;1.1;2004-05-01 | ||
Avst;134;Avestan;avestique;Avestan;5.2;2009-06-01 | ||
Bali;360;Balinese;balinais;Balinese;5.0;2006-10-10 | ||
Bamu;435;Bamum;bamoum;Bamum;5.2;2009-06-01 | ||
Bass;259;Bassa Vah;bassa;Bassa_Vah;7.0;2014-11-15 | ||
Batk;365;Batak;batak;Batak;6.0;2010-07-23 | ||
Beng;325;Bengali (Bangla);bengalî (bangla);Bengali;1.1;2016-12-05 | ||
Bhks;334;Bhaiksuki;bhaïksukî;Bhaiksuki;9.0;2016-12-05 | ||
Blis;550;Blissymbols;symboles Bliss;;;2004-05-01 | ||
Bopo;285;Bopomofo;bopomofo;Bopomofo;1.1;2004-05-01 | ||
Brah;300;Brahmi;brahma;Brahmi;6.0;2010-07-23 | ||
Brai;570;Braille;braille;Braille;3.0;2004-05-01 | ||
Bugi;367;Buginese;bouguis;Buginese;4.1;2006-06-21 | ||
Buhd;372;Buhid;bouhide;Buhid;3.2;2004-05-01 | ||
Cakm;349;Chakma;chakma;Chakma;6.1;2012-02-06 | ||
Cans;440;Unified Canadian Aboriginal Syllabics;syllabaire autochtone canadien unifié;Canadian_Aboriginal;3.0;2004-05-29 | ||
Cari;201;Carian;carien;Carian;5.1;2007-07-02 | ||
Cham;358;Cham;cham (čam, tcham);Cham;5.1;2009-11-11 | ||
Cher;445;Cherokee;tchérokî;Cherokee;3.0;2004-05-01 | ||
Chis;298;Chisoi;chisoi;;;2023-09-12 | ||
Chrs;109;Chorasmian;chorasmien;Chorasmian;13.0;2019-08-19 | ||
Cirt;291;Cirth;cirth;;;2004-05-01 | ||
Copt;204;Coptic;copte;Coptic;4.1;2006-06-21 | ||
Cpmn;402;Cypro-Minoan;syllabaire chypro-minoen;Cypro_Minoan;14.0;2017-07-26 | ||
Cprt;403;Cypriot syllabary;syllabaire chypriote;Cypriot;4.0;2017-07-26 | ||
Cyrl;220;Cyrillic;cyrillique;Cyrillic;1.1;2004-05-01 | ||
Cyrs;221;Cyrillic (Old Church Slavonic variant);cyrillique (variante slavonne);;1.1;2004-05-01 | ||
Deva;315;Devanagari (Nagari);dévanâgarî;Devanagari;1.1;2004-05-01 | ||
Diak;342;Dives Akuru;dives akuru;Dives_Akuru;13.0;2019-08-19 | ||
Dogr;328;Dogra;dogra;Dogra;11.0;2016-12-05 | ||
Dsrt;250;Deseret (Mormon);déseret (mormon);Deseret;3.1;2004-05-01 | ||
Dupl;755;Duployan shorthand, Duployan stenography;sténographie Duployé;Duployan;7.0;2014-11-15 | ||
Egyd;070;Egyptian demotic;démotique égyptien;;;2004-05-01 | ||
Egyh;060;Egyptian hieratic;hiératique égyptien;;5.2;2004-05-01 | ||
Egyp;050;Egyptian hieroglyphs;hiéroglyphes égyptiens;Egyptian_Hieroglyphs;5.2;2009-06-01 | ||
Elba;226;Elbasan;elbasan;Elbasan;7.0;2014-11-15 | ||
Elym;128;Elymaic;élymaïque;Elymaic;12.0;2018-08-26 | ||
Ethi;430;Ethiopic (Geʻez);éthiopien (geʻez, guèze);Ethiopic;3.0;2004-10-25 | ||
Gara;164;Garay;garay;;;2023-09-12 | ||
Geok;241;Khutsuri (Asomtavruli and Nuskhuri);khoutsouri (assomtavrouli et nouskhouri);Georgian;1.1;2012-10-16 | ||
Geor;240;Georgian (Mkhedruli and Mtavruli);géorgien (mkhédrouli et mtavrouli);Georgian;1.1;2016-12-05 | ||
Glag;225;Glagolitic;glagolitique;Glagolitic;4.1;2006-06-21 | ||
Gong;312;Gunjala Gondi;gunjala gondî;Gunjala_Gondi;11.0;2016-12-05 | ||
Gonm;313;Masaram Gondi;masaram gondî;Masaram_Gondi;10.0;2017-07-26 | ||
Goth;206;Gothic;gotique;Gothic;3.1;2004-05-01 | ||
Gran;343;Grantha;grantha;Grantha;7.0;2014-11-15 | ||
Grek;200;Greek;grec;Greek;1.1;2004-05-01 | ||
Gujr;320;Gujarati;goudjarâtî (gujrâtî);Gujarati;1.1;2004-05-01 | ||
Gukh;397;Gurung Khema;gurung khema;;;2023-09-12 | ||
Guru;310;Gurmukhi;gourmoukhî;Gurmukhi;1.1;2004-05-01 | ||
Hanb;503;Han with Bopomofo (alias for Han + Bopomofo);han avec bopomofo (alias pour han + bopomofo);;1.1;2016-01-19 | ||
Hang;286;Hangul (Hangŭl, Hangeul);hangûl (hangŭl, hangeul);Hangul;1.1;2004-05-29 | ||
Hani;500;Han (Hanzi, Kanji, Hanja);idéogrammes han (sinogrammes);Han;1.1;2009-02-23 | ||
Hano;371;Hanunoo (Hanunóo);hanounóo;Hanunoo;3.2;2004-05-29 | ||
Hans;501;Han (Simplified variant);idéogrammes han (variante simplifiée);;1.1;2004-05-29 | ||
Hant;502;Han (Traditional variant);idéogrammes han (variante traditionnelle);;1.1;2004-05-29 | ||
Hatr;127;Hatran;hatrénien;Hatran;8.0;2015-07-07 | ||
Hebr;125;Hebrew;hébreu;Hebrew;1.1;2004-05-01 | ||
Hira;410;Hiragana;hiragana;Hiragana;1.1;2004-05-01 | ||
Hluw;080;Anatolian Hieroglyphs (Luwian Hieroglyphs, Hittite Hieroglyphs);hiéroglyphes anatoliens (hiéroglyphes louvites, hiéroglyphes hittites);Anatolian_Hieroglyphs;8.0;2015-07-07 | ||
Hmng;450;Pahawh Hmong;pahawh hmong;Pahawh_Hmong;7.0;2014-11-15 | ||
Hmnp;451;Nyiakeng Puachue Hmong;nyiakeng puachue hmong;Nyiakeng_Puachue_Hmong;12.0;2017-07-26 | ||
Hrkt;412;Japanese syllabaries (alias for Hiragana + Katakana);syllabaires japonais (alias pour hiragana + katakana);Katakana_Or_Hiragana;1.1;2011-06-21 | ||
Hung;176;Old Hungarian (Hungarian Runic);runes hongroises (ancien hongrois);Old_Hungarian;8.0;2015-07-07 | ||
Inds;610;Indus (Harappan);indus;;;2004-05-01 | ||
Ital;210;Old Italic (Etruscan, Oscan, etc.);ancien italique (étrusque, osque, etc.);Old_Italic;3.1;2004-05-29 | ||
Jamo;284;Jamo (alias for Jamo subset of Hangul);jamo (alias pour le sous-ensemble jamo du hangûl);;1.1;2016-01-19 | ||
Java;361;Javanese;javanais;Javanese;5.2;2009-06-01 | ||
Jpan;413;Japanese (alias for Han + Hiragana + Katakana);japonais (alias pour han + hiragana + katakana);;1.1;2006-06-21 | ||
Jurc;510;Jurchen;jurchen;;;2010-12-21 | ||
Kali;357;Kayah Li;kayah li;Kayah_Li;5.1;2007-07-02 | ||
Kana;411;Katakana;katakana;Katakana;1.1;2004-05-01 | ||
Kawi;368;Kawi;kawi;Kawi;15.0;2021-12-03 | ||
Khar;305;Kharoshthi;kharochthî;Kharoshthi;4.1;2006-06-21 | ||
Khmr;355;Khmer;khmer;Khmer;3.0;2004-05-29 | ||
Khoj;322;Khojki;khojkî;Khojki;7.0;2014-11-15 | ||
Kitl;505;Khitan large script;grande écriture khitan;;;2015-07-15 | ||
Kits;288;Khitan small script;petite écriture khitan;Khitan_Small_Script;13.0;2015-07-15 | ||
Knda;345;Kannada;kannara (canara);Kannada;1.1;2004-05-29 | ||
Kore;287;Korean (alias for Hangul + Han);coréen (alias pour hangûl + han);;1.1;2007-06-13 | ||
Kpel;436;Kpelle;kpèllé;;;2010-03-26 | ||
Krai;396;Kirat Rai;kirat rai;;;2023-09-12 | ||
Kthi;317;Kaithi;kaithî;Kaithi;5.2;2009-06-01 | ||
Lana;351;Tai Tham (Lanna);taï tham (lanna);Tai_Tham;5.2;2009-06-01 | ||
Laoo;356;Lao;laotien;Lao;1.1;2004-05-01 | ||
Latf;217;Latin (Fraktur variant);latin (variante brisée);;1.1;2004-05-01 | ||
Latg;216;Latin (Gaelic variant);latin (variante gaélique);;1.1;2004-05-01 | ||
Latn;215;Latin;latin;Latin;1.1;2004-05-01 | ||
Leke;364;Leke;léké;;;2015-07-07 | ||
Lepc;335;Lepcha (Róng);lepcha (róng);Lepcha;5.1;2007-07-02 | ||
Limb;336;Limbu;limbou;Limbu;4.0;2004-05-29 | ||
Lina;400;Linear A;linéaire A;Linear_A;7.0;2014-11-15 | ||
Linb;401;Linear B;linéaire B;Linear_B;4.0;2004-05-29 | ||
Lisu;399;Lisu (Fraser);lisu (Fraser);Lisu;5.2;2009-06-01 | ||
Loma;437;Loma;loma;;;2010-03-26 | ||
Lyci;202;Lycian;lycien;Lycian;5.1;2007-07-02 | ||
Lydi;116;Lydian;lydien;Lydian;5.1;2007-07-02 | ||
Mahj;314;Mahajani;mahâjanî;Mahajani;7.0;2014-11-15 | ||
Maka;366;Makasar;makassar;Makasar;11.0;2016-12-05 | ||
Mand;140;Mandaic, Mandaean;mandéen;Mandaic;6.0;2010-07-23 | ||
Mani;139;Manichaean;manichéen;Manichaean;7.0;2014-11-15 | ||
Marc;332;Marchen;marchen;Marchen;9.0;2016-12-05 | ||
Maya;090;Mayan hieroglyphs;hiéroglyphes mayas;;;2004-05-01 | ||
Medf;265;Medefaidrin (Oberi Okaime, Oberi Ɔkaimɛ);médéfaïdrine;Medefaidrin;11.0;2016-12-05 | ||
Mend;438;Mende Kikakui;mendé kikakui;Mende_Kikakui;7.0;2014-11-15 | ||
Merc;101;Meroitic Cursive;cursif méroïtique;Meroitic_Cursive;6.1;2012-02-06 | ||
Mero;100;Meroitic Hieroglyphs;hiéroglyphes méroïtiques;Meroitic_Hieroglyphs;6.1;2012-02-06 | ||
Mlym;347;Malayalam;malayâlam;Malayalam;1.1;2004-05-01 | ||
Modi;324;Modi, Moḍī;modî;Modi;7.0;2014-11-15 | ||
Mong;145;Mongolian;mongol;Mongolian;3.0;2004-05-01 | ||
Moon;218;Moon (Moon code, Moon script, Moon type);écriture Moon;;;2006-12-11 | ||
Mroo;264;Mro, Mru;mro;Mro;7.0;2016-12-05 | ||
Mtei;337;Meitei Mayek (Meithei, Meetei);meitei mayek;Meetei_Mayek;5.2;2009-06-01 | ||
Mult;323;Multani;multanî;Multani;8.0;2015-07-07 | ||
Mymr;350;Myanmar (Burmese);birman;Myanmar;3.0;2004-05-01 | ||
Nagm;295;Nag Mundari;nag mundari;Nag_Mundari;15.0;2021-12-03 | ||
Nand;311;Nandinagari;nandinâgarî;Nandinagari;12.0;2018-08-26 | ||
Narb;106;Old North Arabian (Ancient North Arabian);nord-arabique;Old_North_Arabian;7.0;2014-11-15 | ||
Nbat;159;Nabataean;nabatéen;Nabataean;7.0;2014-11-15 | ||
Newa;333;Newa, Newar, Newari, Nepāla lipi;néwa, néwar, néwari, nepāla lipi;Newa;9.0;2016-12-05 | ||
Nkdb;085;Naxi Dongba (na²¹ɕi³³ to³³ba²¹, Nakhi Tomba);naxi dongba;;;2017-07-26 | ||
Nkgb;420;Naxi Geba (na²¹ɕi³³ gʌ²¹ba²¹, 'Na-'Khi ²Ggŏ-¹baw, Nakhi Geba);naxi geba, nakhi geba;;;2017-07-26 | ||
Nkoo;165;N’Ko;n’ko;Nko;5.0;2006-10-10 | ||
Nshu;499;Nüshu;nüshu;Nushu;10.0;2017-07-26 | ||
Ogam;212;Ogham;ogam;Ogham;3.0;2004-05-01 | ||
Olck;261;Ol Chiki (Ol Cemet’, Ol, Santali);ol tchiki;Ol_Chiki;5.1;2007-07-02 | ||
Onao;296;Ol Onal;ol onal;;;2023-09-12 | ||
Orkh;175;Old Turkic, Orkhon Runic;orkhon;Old_Turkic;5.2;2009-06-01 | ||
Orya;327;Oriya (Odia);oriyâ (odia);Oriya;1.1;2016-12-05 | ||
Osge;219;Osage;osage;Osage;9.0;2016-12-05 | ||
Osma;260;Osmanya;osmanais;Osmanya;4.0;2004-05-01 | ||
Ougr;143;Old Uyghur;ancien ouïgour;Old_Uyghur;14.0;2021-01-25 | ||
Palm;126;Palmyrene;palmyrénien;Palmyrene;7.0;2014-11-15 | ||
Pauc;263;Pau Cin Hau;paou chin haou;Pau_Cin_Hau;7.0;2014-11-15 | ||
Pcun;015;Proto-Cuneiform;proto-cunéiforme;;;2021-01-25 | ||
Pelm;016;Proto-Elamite;proto-élamite;;;2021-01-25 | ||
Perm;227;Old Permic;ancien permien;Old_Permic;7.0;2014-11-15 | ||
Phag;331;Phags-pa;’phags pa;Phags_Pa;5.0;2006-10-10 | ||
Phli;131;Inscriptional Pahlavi;pehlevi des inscriptions;Inscriptional_Pahlavi;5.2;2009-06-01 | ||
Phlp;132;Psalter Pahlavi;pehlevi des psautiers;Psalter_Pahlavi;7.0;2014-11-15 | ||
Phlv;133;Book Pahlavi;pehlevi des livres;;;2007-07-15 | ||
Phnx;115;Phoenician;phénicien;Phoenician;5.0;2006-10-10 | ||
Plrd;282;Miao (Pollard);miao (Pollard);Miao;6.1;2012-02-06 | ||
Piqd;293;Klingon (KLI pIqaD);klingon (pIqaD du KLI);;;2015-12-16 | ||
Prti;130;Inscriptional Parthian;parthe des inscriptions;Inscriptional_Parthian;5.2;2009-06-01 | ||
Psin;103;Proto-Sinaitic;proto-sinaïtique;;;2021-01-25 | ||
Qaaa;900;Reserved for private use (start);réservé à l’usage privé (début);;;2004-05-29 | ||
Qabx;949;Reserved for private use (end);réservé à l’usage privé (fin);;;2004-05-29 | ||
Ranj;303;Ranjana;ranjana;;;2021-01-25 | ||
Rjng;363;Rejang (Redjang, Kaganga);redjang (kaganga);Rejang;5.1;2009-02-23 | ||
Rohg;167;Hanifi Rohingya;hanifi rohingya;Hanifi_Rohingya;11.0;2017-11-21 | ||
Roro;620;Rongorongo;rongorongo;;;2004-05-01 | ||
Runr;211;Runic;runique;Runic;3.0;2004-05-01 | ||
Samr;123;Samaritan;samaritain;Samaritan;5.2;2009-06-01 | ||
Sara;292;Sarati;sarati;;;2004-05-29 | ||
Sarb;105;Old South Arabian;sud-arabique, himyarite;Old_South_Arabian;5.2;2009-06-01 | ||
Saur;344;Saurashtra;saurachtra;Saurashtra;5.1;2007-07-02 | ||
Sgnw;095;SignWriting;SignÉcriture, SignWriting;SignWriting;8.0;2015-07-07 | ||
Shaw;281;Shavian (Shaw);shavien (Shaw);Shavian;4.0;2004-05-01 | ||
Shrd;319;Sharada, Śāradā;charada, shard;Sharada;6.1;2012-02-06 | ||
Shui;530;Shuishu;shuishu;;;2017-07-26 | ||
Sidd;302;Siddham, Siddhaṃ, Siddhamātṛkā;siddham;Siddham;7.0;2014-11-15 | ||
Sidt;180;Sidetic;sidétique;;;2023-09-12 | ||
Sind;318;Khudawadi, Sindhi;khoudawadî, sindhî;Khudawadi;7.0;2014-11-15 | ||
Sinh;348;Sinhala;singhalais;Sinhala;3.0;2004-05-01 | ||
Sogd;141;Sogdian;sogdien;Sogdian;11.0;2017-11-21 | ||
Sogo;142;Old Sogdian;ancien sogdien;Old_Sogdian;11.0;2017-11-21 | ||
Sora;398;Sora Sompeng;sora sompeng;Sora_Sompeng;6.1;2012-02-06 | ||
Soyo;329;Soyombo;soyombo;Soyombo;10.0;2017-07-26 | ||
Sund;362;Sundanese;sundanais;Sundanese;5.1;2007-07-02 | ||
Sunu;274;Sunuwar;sunuwar;;;2021-12-03 | ||
Sylo;316;Syloti Nagri;sylotî nâgrî;Syloti_Nagri;4.1;2006-06-21 | ||
Syrc;135;Syriac;syriaque;Syriac;3.0;2004-05-01 | ||
Syre;138;Syriac (Estrangelo variant);syriaque (variante estranghélo);;3.0;2004-05-01 | ||
Syrj;137;Syriac (Western variant);syriaque (variante occidentale);;3.0;2004-05-01 | ||
Syrn;136;Syriac (Eastern variant);syriaque (variante orientale);;3.0;2004-05-01 | ||
Tagb;373;Tagbanwa;tagbanoua;Tagbanwa;3.2;2004-05-01 | ||
Takr;321;Takri, Ṭākrī, Ṭāṅkrī;tâkrî;Takri;6.1;2012-02-06 | ||
Tale;353;Tai Le;taï-le;Tai_Le;4.0;2004-10-25 | ||
Talu;354;New Tai Lue;nouveau taï-lue;New_Tai_Lue;4.1;2006-06-21 | ||
Taml;346;Tamil;tamoul;Tamil;1.1;2004-05-01 | ||
Tang;520;Tangut;tangoute;Tangut;9.0;2016-12-05 | ||
Tavt;359;Tai Viet;taï viêt;Tai_Viet;5.2;2009-06-01 | ||
Tayo;380;Tai Yo;taï yo;;;2023-09-12 | ||
Telu;340;Telugu;télougou;Telugu;1.1;2004-05-01 | ||
Teng;290;Tengwar;tengwar;;;2004-05-01 | ||
Tfng;120;Tifinagh (Berber);tifinagh (berbère);Tifinagh;4.1;2006-06-21 | ||
Tglg;370;Tagalog (Baybayin, Alibata);tagal (baybayin, alibata);Tagalog;3.2;2009-02-23 | ||
Thaa;170;Thaana;thâna;Thaana;3.0;2004-05-01 | ||
Thai;352;Thai;thaï;Thai;1.1;2004-05-01 | ||
Tibt;330;Tibetan;tibétain;Tibetan;2.0;2004-05-01 | ||
Tirh;326;Tirhuta;tirhouta;Tirhuta;7.0;2014-11-15 | ||
Tnsa;275;Tangsa;tangsa;Tangsa;14.0;2021-02-17 | ||
Todr;229;Todhri;todhri;;;2023-09-12 | ||
Tols;299;Tolong Siki;tolong siki;;;2023-09-12 | ||
Toto;294;Toto;toto;Toto;14.0;2020-04-16 | ||
Tutg;341;Tulu-Tigalari;tulu-tigalari;;;2023-09-12 | ||
Ugar;040;Ugaritic;ougaritique;Ugaritic;4.0;2004-05-01 | ||
Vaii;470;Vai;vaï;Vai;5.1;2007-07-02 | ||
Visp;280;Visible Speech;parole visible;;;2004-05-01 | ||
Vith;228;Vithkuqi;vithkuqi;Vithkuqi;14.0;2021-02-17 | ||
Wara;262;Warang Citi (Varang Kshiti);warang citi;Warang_Citi;7.0;2014-11-15 | ||
Wcho;283;Wancho;wantcho;Wancho;12.0;2017-07-26 | ||
Wole;480;Woleai;woléaï;;;2010-12-21 | ||
Xpeo;030;Old Persian;cunéiforme persépolitain;Old_Persian;4.1;2006-06-21 | ||
Xsux;020;Cuneiform, Sumero-Akkadian;cunéiforme suméro-akkadien;Cuneiform;5.0;2006-10-10 | ||
Yezi;192;Yezidi;yézidi;Yezidi;13.0;2019-08-19 | ||
Yiii;460;Yi;yi;Yi;3.0;2004-05-01 | ||
Zanb;339;Zanabazar Square (Zanabazarin Dörböljin Useg, Xewtee Dörböljin Bicig, Horizontal Square Script);zanabazar quadratique;Zanabazar_Square;10.0;2017-07-26 | ||
Zinh;994;Code for inherited script;codet pour écriture héritée;Inherited;;2009-02-23 | ||
Zmth;995;Mathematical notation;notation mathématique;;3.2;2007-11-26 | ||
Zsye;993;Symbols (Emoji variant);symboles (variante émoji);;6.0;2015-12-16 | ||
Zsym;996;Symbols;symboles;;1.1;2007-11-26 | ||
Zxxx;997;Code for unwritten documents;codet pour les documents non écrits;;;2011-06-21 | ||
Zyyy;998;Code for undetermined script;codet pour écriture indéterminée;Common;;2004-05-29 | ||
Zzzz;999;Code for uncoded script;codet pour écriture non codée;Unknown;;2006-10-10 |
Oops, something went wrong.