Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
111 changes: 111 additions & 0 deletions scriptshifter/tables/data/tamashek.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
---
general:
name: Tamashek
case_sensitive: false
description: Tamashek language in the Tifinagh script.
version: 1.0.0
date: 2026-04-02
parents:
- tifinagh_generic

# COMMON COMBINING AND SPECIAL CHARACTERS
# comma \u002C
# degree sign \u00B0
# latin capital letter schwa \u018F
# latin small letter schwa \u0259
# latin capital letter open e \u0190
# latin small letter open e \u025B
# latin capital letter gamma \u0194
# latin small letter gamma \u0263
# combining circumflex \u0302
# combining macron \u0304
# combining breve \u0306
# combining dot above \u0307
# combining caron \u030C
# combining dot below \u0323
# combining low line \u0332
# combining double low line \u0333
# prime \u02B9
# zero width joiner \u200D

roman_to_script:
map:

"\u002C": "\u2D70"
"\u00B0": "\u2D6F"
"\u0259": "\u2D53"
"\u0263": "\u2D58"
"\u02B9": "\u2D7F"
"a\u0302": "\u2D30\u0302"
"a\u0306": "\u2D30\u0306"
"b": "\u2D40"
"c": "\u2D4F\u2D7F\u2D5C"
"d\u0323": "\u2D39\u0323"
"d": "\u2D39"
"e\u0302": "\u2D66\u0302"
"e\u0333": "\u2D53"
"e": "\u2D66"
"g\u0333": "\u2D58"
"g": "\u2D36"
"h": "\u2D42"
"i\u0302": "\u2D62\u0302"
"i": "\u2D62"
"j": "\u2D4C"
"k": "\u2D3E"
"ll": "\u2D4D\u2D7F\u2D4D"
"l\u0323": "\u2D4D\u0323"
"nn": "\u2D4F\u2D7F\u2D4F"
"\u014B": "\u2D50"
"n\u0333": "\u2D50"
"o\u0302": "\u2D67\u0302"
"q": "\u2D57"
"r\u0323": "\u2D55"
"s\u0306": "\u2D5B"
"s\u0323": "\u2D59\u0323"
"t\u0323": "\u2D5C\u0323"
"t": "\u2D5C"
"u": "\u2D6F"
"v": "\u2D60"
"w\u0302": "\u2D61\u0302"
"x": "\u2D46"
"z\u0323": "\u2D63\u0323"
"\u200D": "\u2D7F"

script_to_roman:
map:

"\u2D30\u0302": "a\u0302"
"\u2D30\u0306": "a\u0306"
"\u2D36": "g"
"\u2D39\u0323": "d\u0323"
"\u2D39": "d"
"\u2D3E": "k"
"\u2D40": "b"
"\u2D42": "h"
"\u2D46": "x"
"\u2D4C": "j"
"\u2D4D\u2D7F\u2D4D": "ll"
"\u2D4D\u0323": "l\u0323"
"\u2D4F\u2D7F\u2D4F": "nn"
"\u2D4F\u2D7F\u2D5C": "c"
"\u2D50": "\u014B"
"\u2D53": "\u0259"
"\u2D55": "r\u0323"
"\u2D57": "q"
"\u2D58": "\u0263"
"\u2D59\u0323": "s\u0323"
"\u2D5B": "s\u0306"
"\u2D5C\u0323": "t\u0323"
"\u2D5C": "t"
"\u2D60": "v"
"\u2D61\u0302": "w\u0302"
"\u2D62\u0302": "i\u0302"
"\u2D62": "i"
"\u2D63\u0323": "z\u0323"
"\u2D66\u0302": "e\u0302"
"\u2D66": "e"
"\u2D67\u0302": "o\u0302"
"\u2D6F": "u"
"\u2D70": "\u002C"
"\u2D7F": "\u200D"
"\u2D7F": "\u02B9"
170 changes: 170 additions & 0 deletions scriptshifter/tables/data/tifinagh_generic.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,170 @@
---
general:
name: Tifinagh (Generic)
case_sensitive: false
description: Tifinagh script generic conversion mapping.
version: 1.0.0
date: 2026-04-05
parents:
- _ignore_base

# COMMON COMBINING AND SPECIAL CHARACTERS
# comma \u002C
# degree sign \u00B0
# latin capital letter schwa \u018F
# latin small letter schwa \u0259
# latin capital letter open e \u0190
# latin small letter open e \u025B
# latin capital letter gamma \u0194
# latin small letter gamma \u0263
# combining circumflex \u0302
# combining macron \u0304
# combining breve \u0306
# combining dot above \u0307
# combining caron \u030C
# combining dot below \u0323
# combining low line \u0332
# combining double low line \u0333
# prime \u02B9
# zero width joiner \u200D

roman_to_script:
map:

"\u002C\u0332": "\u2D70"
"\u00B0": "\u2D6F"
"\u0259": "\uF007"
"\u025B": "\u2D44"
"\u0263\u0307": "\u2D58"
"\u0263": "\u2D56"
"\u02B9": "\u2D7F"
"a\u0302": "\u2D30\u0302"
"a\u0306": "\u2D30\u0306"
"a": "\u2D30"
"b\u0332": "\u2D32"
"b": "\u2D31"
"c\u030C": "\u2D5E"
"c": "\u2D5B"
"d\u0323\u0332": "\u2D3A"
"d\u0323": "\u2D39"
"d\u0332": "\u2D38"
"d": "\u2D37"
"e\u0302": "\u2D66\u0302"
"e\u0307": "\u2D66"
"e\u0333": "\u2D44"
"e": "\u2D3B"
"f": "\u2D3C"
"g\u0333\u0307": "\u2D58"
"g\u0307\u0333": "\u2D58"
"g\u0333": "\u2D56"
"g\u0332": "\u2D34"
"g\u030C": "\u2D35"
"g\u0307": "\u2D36"
"g": "\u2D33"
"h\u0332": "\u2D41"
"h\u0323": "\u2D43"
"h\u0333": "\u2D42"
"h": "\u2D40"
"i": "\u2D49"
"j\u030C": "\u2D4B"
"j\u0304": "\u2D4C"
"j": "\u2D4A"
"k\u0323": "\u2D3E"
"k\u0332": "\u2D3F"
"k": "\u2D3D"
"l": "\u2D4D"
"m": "\u2D4E"
"n": "\u2D4F"
"\u014B": "\u2D50"
"n\u0333": "\u2D50"
"n\u0323": "\u2D51"
"\u025B": "\u2D44"
"o": "\u2D67"
"p": "\u2D52"
"q\u0304": "\u2D57"
"q\u0307": "\u2D48"
"q": "\u2D47"
"r\u0323": "\u2D55"
"r": "\u2D54"
"s\u0323": "\u2D5A"
"s": "\u2D59"
"t\u0323": "\u2D5F"
"t\u0332": "\u2D5D"
"t": "\u2D5C"
"u": "\u2D53"
"v": "\u2D60"
"w": "\u2D61"
"x\u0332": "\u2D46"
"x": "\u2D45"
"y": "\u2D62"
"z\u030C": "\u2D64"
"z\u0323": "\u2D65"
"z": "\u2D63"
"\u200D": "\u2D7F"

script_to_roman:
map:

"\u2D30\u0302": "a\u0302"
"\u2D30\u0306": "a\u0306"
"\u2D30": "a"
"\u2D31": "b"
"\u2D32": "b\u0332"
"\u2D33": "g"
"\u2D34": "g\u0332"
"\u2D35": "g\u030C"
"\u2D36": "g\u0307"
"\u2D37": "d"
"\u2D38": "d\u0332"
"\u2D39": "d\u0323"
"\u2D3A": "d\u0323\u0332"
"\u2D3B": "e"
"\u2D3C": "f"
"\u2D3D": "k"
"\u2D3E": "k\u0323"
"\u2D3F": "k\u0332"
"\u2D40": "h"
"\u2D41": "h\u0332"
"\u2D42": "h\u0333"
"\u2D43": "h\u0323"
"\u2D44": "\u025B"
"\u2D45": "x"
"\u2D46": "x\u0332"
"\u2D47": "q"
"\u2D48": "q\u0307"
"\u2D49": "i"
"\u2D4A": "j"
"\u2D4B": "j\u030C"
"\u2D4C": "j\u0304"
"\u2D4D": "l"
"\u2D4E": "m"
"\u2D4F": "n"
"\u2D50": "\u014B"
"\u2D51": "n\u0323"
"\u2D52": "p"
"\u2D53": "u"
"\u2D54": "r"
"\u2D55": "r\u0323"
"\u2D56": "\u0263"
"\u2D57": "q\u0304"
"\u2D58": "\u0263\u0307"
"\u2D59": "s"
"\u2D5A": "s\u0323"
"\u2D5B": "c"
"\u2D5C": "t"
"\u2D5D": "t\u0332"
"\u2D5E": "c\u030C"
"\u2D5F": "t\u0323"
"\u2D60": "v"
"\u2D61": "w"
"\u2D62": "y"
"\u2D63": "z"
"\u2D64": "z\u030C"
"\u2D65": "z\u0323"
"\u2D66\u0302": "e\u0302"
"\u2D66": "e\u0307"
"\u2D67": "o"
"\u2D6F": "\u00B0"
"\u2D70": "\u002C\u0332"
"\u2D7F": "\u200D"
"\uF007": "\u0259"
18 changes: 16 additions & 2 deletions scriptshifter/tables/index.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Map index file
# version: 1.0.4
# date: 2026-02-04
# version: 1.0.5
# date: 2026-04-02
#
# Configurations not listed here will not show in the UI drop-down menu or
# in the `/languages` endpoint, but can still be used in the `trans` endpoint.
Expand Down Expand Up @@ -330,6 +330,10 @@ montenegrin_cyrillic:
mordvin_cyrillic:
marc_code: fiu
name: Mordvin (Cyrillic)
moroccan_tamazight:
alias_of: tifinagh_generic
marc_code: ber
name: Moroccan Tamazight
nanai_cyrillic:
alias_of: cyrillic_generic
marc_code: tut
Expand Down Expand Up @@ -443,6 +447,13 @@ tabasaran_cyrillic:
tajik_cyrillic:
marc_code: tgk
name: Tajik (Cyrillic)
tamashek:
marc_code: tmh
name: Tamashek
tamazight_moroccan:
alias_of: tifinagh_generic
marc_code: ber
name: Tamazight (Moroccan)
tamil:
marc_code: tam
name: Tamil
Expand Down Expand Up @@ -474,6 +485,9 @@ tibetan:
tibetan_2015_r2r:
marc_code: tib
name: Tibetan (ñ,ṅ,ś,ź to ny,ng,sh,zh only)
tifinagh_generic:
marc_code: ber
name: Tifinagh (Generic)
tigre_ethiopic:
alias_of: ethiopic_generic
marc_code: tig
Expand Down
1 change: 1 addition & 0 deletions test/data/script_samples/tamashek.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
tamashek,ⴰ ⴰ̆ ⴰ̂ ⵀ ⵛ ⴹ ⴹ̣ ⵦ ⵦ̂ ⵓ (ⵓ) ⴼ ⴶ ⵐ (ⵐ) ⵂ ⵢ ⵢ̂ ⵌ ⴾ ⵍ ⵍ̣ ⵍ⵿ⵍ ⵎ ⵏ ⵏ⵿ⵏ ⵧ ⵧ̂ ⵒ ⵗ ⵆ ⵘ (ⵘ) ⵔ ⵙ ⵙ̣ ⵜ ⵜ̣ ⵏ⵿ⵜ ⵯ ⵯ̂ ⵠ ⵡ ⵣ ⵣ̣ ⵋ ⵤ,a ă â b s̆ d ḍ e ê ə (e̳) f g ŋ (n̳) h i î j k l ḷ ll m n nn o ô p q x ɣ (g̳) r s ṣ t ṭ c u û v w z ẓ ǰ ž
2 changes: 2 additions & 0 deletions test/data/script_samples/tamazight_moroccan.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
tamazight_moroccan,ⴰ ⴱ ⴲ ⴳ ⴳⵯ ⴴ ⴵ ⴶ ⴷ ⴸ ⴹ ⴺ ⴻ ⴼ ⴽ ⴾ ⴽⵯ ⴿ ⵀ ⵁ ⵂ ⵃ ⵄ ⵄ ⵅ ⵆ ⵇ ⵈ ⵉ ⵊ ⵋ ⵌ ⵍ ⵍⵍ ⵎ ⵏ ⵏⵏ ⵏ ⵐ ⵐ ⵑ ⵒ ⵓ ⵔ ⵕ ⵖ ⵖ ⵗ ⵘ ⵘ ⵙ ⵚ ⵛ ⵜ ⵝ ⵞ ⵟ ⵠ ⵡ ⵢ ⵣ ⵤ ⵥ ⵦ ⵯ,a b b̲ g g° g̲ ǧ ġ d d̲ ḍ ḍ̲ e f k ḳ k° k̲ h h̲ h̳ ḥ ɛ e̳ x x̲ q q̇ i j ǰ j̄ l ll m n nn n ŋ n̳ ṇ p u r ṛ ɣ g̳ q̄ ɣ̇ ġ̳ s ṣ c t t̲ č ṭ v w y z ž ẓ ė °
tamazight_moroccan,"ⴰⵎⴰⴳⵔⴰⴷ 2 ⴽⵓ ⵢⴰⵏ ⵉⵥⴹⴰⵕ ⴰⴷ ⵉⵟⵟⴼ ⴽⵓⵍⵍⵓ ⵉⵣⵔⴼⴰⵏ ⴷ ⵜⴷⵔⴼⵉⵢⵉⵏ ⵍⵍⵉ ⵉⵍⵍⴰⵏ ⵖ ⵓⵍⵖⵓ ⴰⴷ, ⴰⴷ ⵓⵔ ⵢⵉⵍⵉ ⵓⵙⵏⵓⵃⵢⵓ, ⵣⵓⵏⴷ ⵡⵉⵏ ⵓⵥⵓⵕ, ⵏⵖ ⴰⴽⵍⵓ, ⵏⵖ ⴰⵏⴰⵡ, ⵏⵖ ⵜⵓⵜⵍⴰⵢⵜ, ⵏⵖ ⴰⵙⴳⴷ, ⵏⵖ ⵜⴰⵏⵏⴰⵢⵜ ⵜⴰⵙⵔⵜⴰⵏⵜ ⵏⵖ ⵜⴰⵏⵏⴰⵢⵜ ⵢⴰⴹⵏ,","Amagrad 2 ku yan iẓḍaṛ ad iṭṭf kullu izrfan d tdrfiyin lli illan ɣ ulɣu ad, ad ur yili usnuḥyu, zund win uẓuṛ, nɣ aklu, nɣ anaw, nɣ tutlayt, nɣ asgd, nɣ tannayt tasrtant nɣ tannayt yaḍn,",,"{""capitalize"": ""first""}"
5 changes: 5 additions & 0 deletions test/data/script_samples/tifinagh_generic.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
tifinagh_generic,ⴰ ⴱ ⴲ ⴳ ⴳⵯ ⴴ ⴵ ⴶ ⴷ ⴸ ⴹ ⴺ ⴻ ⴼ ⴽ ⴾ ⴽⵯ ⴿ ⵀ ⵁ ⵂ ⵃ ⵄ ⵄ ⵅ ⵆ ⵇ ⵈ ⵉ ⵊ ⵋ ⵌ ⵍ ⵍⵍ ⵎ ⵏ ⵏⵏ ⵏ ⵐ ⵐ ⵑ ⵒ ⵓ ⵔ ⵕ ⵖ ⵖ ⵗ ⵘ ⵘ ⵙ ⵚ ⵛ ⵜ ⵝ ⵞ ⵟ ⵠ ⵡ ⵢ ⵣ ⵤ ⵥ ⵦ ⵯ ⵰ ,"a b b̲ g g° g̲ ǧ ġ d d̲ ḍ ḍ̲ e f k ḳ k° k̲ h h̲ h̳ ḥ ɛ e̳ x x̲ q q̇ i j ǰ j̄ l ll m n nn n ŋ n̳ ṇ p u r ṛ ɣ g̳ q̄ ɣ̇ ġ̳ s ṣ c t t̲ č ṭ v w y z ž ẓ ė ° ,̲"
tifinagh_generic,"ⴰⵎⴰⴳⵔⴰⴷ 2 ⴽⵓ ⵢⴰⵏ ⵉⵥⴹⴰⵕ ⴰⴷ ⵉⵟⵟⴼ ⴽⵓⵍⵍⵓ ⵉⵣⵔⴼⴰⵏ ⴷ ⵜⴷⵔⴼⵉⵢⵉⵏ ⵍⵍⵉ ⵉⵍⵍⴰⵏ ⵖ ⵓⵍⵖⵓ ⴰⴷ, ⴰⴷ ⵓⵔ ⵢⵉⵍⵉ ⵓⵙⵏⵓⵃⵢⵓ, ⵣⵓⵏⴷ ⵡⵉⵏ ⵓⵥⵓⵕ, ⵏⵖ ⴰⴽⵍⵓ, ⵏⵖ ⴰⵏⴰⵡ, ⵏⵖ ⵜⵓⵜⵍⴰⵢⵜ, ⵏⵖ ⴰⵙⴳⴷ, ⵏⵖ ⵜⴰⵏⵏⴰⵢⵜ ⵜⴰⵙⵔⵜⴰⵏⵜ ⵏⵖ ⵜⴰⵏⵏⴰⵢⵜ ⵢⴰⴹⵏ,","Amagrad 2 ku yan iẓḍaṛ ad iṭṭf kullu izrfan d tdrfiyin lli illan ɣ ulɣu ad, ad ur yili usnuḥyu, zund win uẓuṛ, nɣ aklu, nɣ anaw, nɣ tutlayt, nɣ asgd, nɣ tannayt tasrtant nɣ tannayt yaḍn,",,"{""capitalize"": ""first""}"
tifinagh_generic,"ⵏⵖ ⵎⴰⴷ ⵉⵥⵍⵉⵏ ⵙ ⴰⵙⵓⵔⵙ ⴰⵎⴰⴷⴰⵏ, ⵏⵖ ⵡⵉⵏ ⴰⵢⴷⴰ ⵏⵖ ⵡⵉⵏ ⵜⵍⴰⵍⵉⵜ ⵏⵖ ⴰⵙⵓⵔⵙ ⵢⴰⴹⵏ. ⴰⵎⵔ ⴰⵙⵏⵓⵃⵢⵓ ⵏⴳⵔ ⵉⵔⴳⴰⵣⵏ ⵜⵉⵎⵖⴰⵔⵉⵏ. ⵓⵔ ⴷ ⵉⵇⵇⴰⵏ ⴰⴷ ⵢⵉⵍⵉ ⵓⵙⵏⵓⵃⵢⵓ ⵉⵟⵟⴼⵏ ⵙ ⵡⴰⴷⴷⴰⴷ ⴰⵙⵔⵜⴰⵏ, ⵏⵖ ⴰⵣⵔⴼⴰⵏ ⵏⵖ ⴰⵎⴰⴹⵍⴰⵏ ⵏ ⵜⴰⵎⵓⵔⵜ","nɣ mad iẓlin s asurs amadan, nɣ win ayda nɣ win tlalit nɣ asurs yaḍn. amr asnuḥyu ngr irgazn timɣarin. ur d iqqan ad yili usnuḥyu iṭṭfn s waddad asrtan, nɣ azrfan nɣ amaḍlan n tamurt"
tifinagh_generic,"ⵏⵖ ⴰⴽⴰⵍ ⵖ ⵉⴷⴷⵔ ⵓⴼⴳⴰⵏ, ⴰⴷ ⵜⴳ ⵜⵎⵓⵔⵜ ⴰⴷ ⵏⵖ ⴰⴽⴰⵍ ⴰⴷ ⴰⴷⵔⴼⵉ, ⵏⵖ ⴰⵎⵙⵏⴰⵍ ⵏⵖ ⵡⴰⵔⴰⵙⵉⵎⴰⵏ ⵏⵖ ⴰⵙ ⵉⵜⵜⵓⴳⴰ ⴽⵔⴰ ⵏ ⵓⵡⵜⵜⵓ.","Nɣ akal ɣ iddr ufgan, ad tg tmurt ad nɣ akal ad adrfi, nɣ amsnal nɣ warasiman nɣ as ittuga kra n uwttu.",,"{""capitalize"": ""first""}"
tifinagh_generic,ⵉⵎⴷⴰⵏⴻⵏ⵰ ⴰⴽⴽⴻⵏ ⵎⴰ ⵍⵍⴰⵏ ⵜⵜⵍⴰⵍⴻⵏ ⴷ ⵉⵍⴻⵍⵍⵉⵢⴻⵏ ⵎⵙⴰⵡⴰⵏ ⴷⵉ ⵍⵃⵡⴻⵕⵎⴰ ⴷ ⵢⵉⵣⴻⵔⴼⴰⵏ-ⴳⵀⵓⵔ ⵙⴻⵏ ⵜⴰⵎⵙⴰⴽⵡⵉⵜ ⴷ ⵍⴰ̂ⵇⵓⴻⵍ ⵓ ⵢⴻⵙⵙⴻⴼⴽ ⴰⴷ-ⵜⵉⵍⵉ ⵜⴻⴳⵎⴰⵜⵜ ⴳⴰⵔ ⴰⵙⴻⵏ.,"Imdanen, akken ma llan ttlalen d ilelliyen msawan di lḥweṛma d yizerfan-ghur sen tamsakwit d lâquel u yessefk ad-tili tegmatt gar asen.",,"{""capitalize"": ""first""}"