blob: 1e79833c4943ee34f2f89d3c58cd2c94b01c8342 [file] [log] [blame]
# © 2016 and later: Unicode, Inc. and others.
# License & terms of use:
# File: und_FONIPA_ar.txt
# Generated from CLDR
# Vowels
# ------
# In these rules, we produce ي و ا both for short and for long vowels.
# This would be wrong for writing Arabic, but when transliterating
# foreign words and names, it is strongly preferred to vowel marks.
# However, we emit short schwa [ə] and a few other, schwa-like vowels.
$IVowel = [i ɪ e {e\u031E}];
$UVowel = [y {ɨ} {ʉ} ɯ u ʏ \u0308} \u0308} \u033D} {ʊ} ø ɤ o \u031E} \u031E} {o\u031E} ɞ ɔ w {w\u0325} ʍ ʷ];
$AVowel = œ ɜ ʌ æ ɐ a ɶ {ä} \u0308} ɑ ɒ];
$SchwaVowel = ɵ ə \u031E}];
$Vowel = [$IVowel $UVowel $AVowel $SchwaVowel];
$Click = ɋ ǀ ʇ ǃ ʗ ǂ ʄ ǁ ʖ];
$Boundary = [^[:L:][:M:][:N:]];
ʱ ʼ \u0303 \u0330 \u030B \u0301 \u0304 \u0300 \u030F \u030C \u0302 ˥ ˦ ˧ ˨ ˩ \u0361 \u035C \u032F] ;
ʲ j;
# TODO: Diphthongs probably need more work.
# Romanian [sekujesk] → [sekujask], for emitting سيكوياسك not سيكويسك
$UVowel [j $IVowel] [e {e\u031E} $SchwaVowel] uia;
# Kazakh Аягөз [ɑjɑɡy\u032Fʉz] → [ɑjɑɡiuz], to emit TODO
yʉ iu;
# Vowels
$Boundary {ʔ? $IVowel ː} إ\u0650ي;
$Boundary {ʔ? $IVowel} إ\u0650;
{$IVowel ʔ} $Boundary ئ;
{$IVowel ː ʔ} $Boundary يء;
{$IVowel ː ʔ} [$Vowel] ئ;
$IVowel ː? ي;
$Boundary {ʔ? $UVowel ː} أو;
$Boundary {ʔ? $UVowel} أ;
{$UVowel ʔ} $Boundary ؤ;
{$UVowel ː ʔ} $Boundary وء;
$UVowel ː? و;
$Boundary {ʔ? $AVowel ː} آ;
$Boundary {ʔ? $AVowel} أ;
{$AVowel ʔ} $Boundary أ;
{$AVowel ː ʔ} $Boundary اء;
$AVowel ː? ʔ $AVowel ː? اءا;
$AVowel ː? ا;
$Boundary {ʔ? $SchwaVowel ː} إ\u0650ي;
$Boundary {ʔ? $SchwaVowel} أ;
$SchwaVowel ː ي;
$SchwaVowel ;
# TODO: Handle glottal stop.
ʔ ;
# Shadda for long (geminated) consonants
ː \u0651;
# Affricates
[{t\u0361ʃ} ʧ] ت\u0652ش;
# Clicks
g ɠ k] $Click ك\u0652ش;
$Click ت\u0652ش;
# Nasal stops
[{m\u0325} m ɱ] م;
[{n\u033C\u030A} {n\u033C} {n\u0325} n \u030A} ɳ \u030A} \u0325} ɲ] ن;
[{ŋ\u030A} ŋ \u0325} ɴ] k نك;
[{ŋ\u030A} ŋ \u0325} ɴ] g ɠ]? ن\u0652غ;
# Non-nasal stops
[p b {p\u032A} {b\u032A} ɓ] ب;
[{d\u033C} d ɗ ᶑ] د;
[{t\u033C} t] ت;
[ʈ] ط;
[ɖ] ض;
c ت\u0652ش;
ɟ دج;
k ك;
g ɠ] غ;
[q ɢ ʡ ʛ] ق;
# Sibilant fricatives
s س;
z ز;
ʂ ɕ ʄ] ش;
ʐ ʑ] ج;
# Non-sibilant fricatives
f v] ف;
β ب;
[{θ\u033C} θ \u0331}] ث;
[{ð\u033C} ð \u0320}] ذ;
ç ش;
ʝ $IVowel? ː? ي;
[x χ] خ;
ʁ] غ;
ħ ح;
ʕ ع;
[h ɦ \u031E}] ه;
# Approximants, trills, flaps
ʋ و;
ʙ بر;
{r\u031D} رش;
[{ɹ\u0325} {ɹ} \u030A} {ɻ} \u0325} ɾ \u030A} ɽ {r\u033C} {r\u0325} r] ر;
[{ʀ\u0325} ʀ] غ;
ʜ ح;
ʢ ع;
j $IVowel? ː? ي;
# Laterals
ɬ ش\u0652ل;
ɮ ج\u0652ل;
{[{ʎ\u0325} ʎ]} [^ $IVowel j ʝ] لي;
[{l\u033C} {l\u0325} l \u030A} ɭ \u0325} ʎ] ل;
\u0320}] غ;
# Independent pass for misc cleanup.
# Strip off syllable markers
\. ;
# Sequences of three or more ووو look very confusing; we shorten them.
# Polish Darłowo [darwɔvɔ] → داروو → داروووو
ووو+ وو;