blob: 5a1a322c8e3484e23b77b9f1aabd083333378dfd [file] [log] [blame]
# © 2016 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html#License
#
# File: und_FONIPA_fa.txt
# Generated from CLDR
#
# Vowels
# ------
# In these rules, we produce ی و ا both for short and for long vowels.
# This would be wrong for writing Farsi or Arabic, but when transliterating
# foreign words and names, it is strongly preferred to vowel marks.
# Short schwa [ə] and a few other, schwa-like vowels get omitted entirely
# unless at the end of the word, in which case we emit ه whose Farsi
# word-final pronunciation comes close to [ə]. At the beginning of words,
# Farsi speakers prefer to see آ for [ɑ] and a few other similar-sounding
# dark vowels; note that this use of آ is quite different from Arabic.
$IVowel = [i ɪ e {e\u031E}];
$UVowel = [y {ɨ} {ʉ} ɯ u ʏ \u0308} \u0308} \u033D} {ʊ} ø ɤ o \u031E} \u031E} {o\u031E} ɔ w {w\u0325} ʍ ʷ];
$AVowel = œ ɜ æ ɶ];
$DarkAVowel = a ɑ ɒ ɐ ɞ {ä} \u0308}]; # آ instead of ا at beginning of words
$SchwaVowel = ɵ ə \u031E}];
$Click = ɋ ǀ ʇ ǃ ʗ ǂ ʄ ǁ ʖ];
$Boundary = [^[:L:][:M:][:N:]];
::NFD;
ʱ ʼ \u0303 \u0330 \u030B \u0301 \u0304 \u0300 \u030F \u030C \u0302 ˥ ˦ ˧ ˨ ˩ \u0361 \u035C \u032F] ;
ʲ j;
m;
n;
ŋ;
::NFC;
# 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 آیاگیوز not آیاگووز
yʉ iu;
::NULL;
# Vowels
$Boundary {$SchwaVowel ː?} ای;
$SchwaVowel ː ی;
{[$SchwaVowel e {e\u031E}]} [^[:L:][:M:][:N:][\.]] ه;
$SchwaVowel ;
$Boundary {$IVowel ː?} ای;
$IVowel ː? j? ی;
$Boundary {$UVowel ː?} او;
$UVowel ː? و;
$Boundary {$AVowel ː?} ا;
$AVowel ː? ا;
$Boundary {$DarkAVowel ː?} آ;
$DarkAVowel ː? ا;
# Shadda for long (geminated) consonants
ː \u0651;
# Affricates
[{t\u0361ʃ} ʧ] چ;
# Clicks
g ɠ k] $Click کچ;
[n ɲ]? $Click نچ;
# Nasal stops
[{m\u0325} m ɱ] م;
[{n\u033C\u030A} {n\u033C} {n\u0325} n \u030A} ɳ \u030A} \u0325} ɲ] ن;
[{ŋ\u030A} ŋ \u0325} ɴ] k نک;
[{ŋ\u030A} ŋ \u0325} ɴ] g]? نگ;
# Non-nasal stops
[p {p\u032A}] پ;
[b {b\u032A} ɓ] ب;
[{d\u033C} d ɗ ᶑ] د;
[{t\u033C} t] ت;
[ʈ] ط;
[ɖ] ض;
c چ;
ɟ دج;
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
ɬ شل;
ɮ ژل;
{[{ʎ\u0325} ʎ]} [^ $IVowel j ʝ] لی;
[{l\u033C} {l\u0325} l \u030A} ɭ \u0325} ʎ] ل;
\u0320}] غ;
# Independent pass for misc cleanup.
::NULL;
# Strip off syllable markers
\. ;
# Sequences of three or more ووو look very confusing; we shorten them.
# Polish Darłowo [darwɔvɔ] → داروو → داروووو
ووو+ وو;