• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version="1.0" encoding="UTF-8" ?>
2<!DOCTYPE supplementalData SYSTEM "../../common/dtd/ldmlSupplemental.dtd">
3<!--
4Copyright © 1991-2016 Unicode, Inc.
5CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
6For terms of use, see http://www.unicode.org/copyright.html
7-->
8<supplementalData>
9	<version number="$Revision: 12352 $"/>
10	<transforms>
11		<transform source="und_FONIPA" target="fa" direction="forward" alias="fa-t-und-fonipa">
12		  <tRule><![CDATA[
13# Vowels
14# ------
15# In these rules, we produce ی و ا both for short and for long vowels.
16# This would be wrong for writing Farsi or Arabic, but when transliterating
17# foreign words and names, it is strongly preferred to vowel marks.
18# Short schwa [ə] and a few other, schwa-like vowels get omitted entirely
19# unless at the end of the word, in which case we emit ه whose Farsi
20# word-final pronunciation comes close to [ə]. At the beginning of words,
21# Farsi speakers prefer to see آ for [ɑ] and a few other similar-sounding
22# dark vowels; note that this use of آ is quite different from Arabic.
23
24$IVowel = [i ɪ e {e̞}];
25$UVowel = [y {ɨ} {ʉ} ɯ u ʏ {ɪ̈} {ʊ̈} {ɯ̽} {ʊ} ø ɤ o {ø̞} {ɤ̞} {o̞} ɔ w {w̥} ʍ ʷ];
26$AVowel = [ɛ œ ɜ æ ɶ];
27$DarkAVowel = [ʌ a ɑ ɒ ɐ ɞ {ä} {ɒ̈}];  # آ instead of ا at beginning of words
28$SchwaVowel = [ɘ ɵ ə {ɵ̞}];
29$Click = [ʘ ɋ ǀ ʇ ǃ ʗ ǂ ʄ ǁ ʖ];
30$Boundary =  [^[:L:][:M:][:N:]];
31
32::NFD;
33[ʰ ʱ ʼ  ̃  ̰  ̋  ́  ̄  ̀  ̏  ̌  ̂ ˥ ˦ ˧ ˨ ˩ ꜜ ꜛ ↗ ↘  ͡  ͜  ̯] → ;
34ʲ → j;
35ᵐ → m;
36ⁿ → n;
37ᵑ → ŋ;
38::NFC;
39
40# TODO: Diphthongs probably need more work.
41
42# Romanian [sekujesk] → [sekujask], for emitting سیکویاسک not سیکویسک
43$UVowel [j $IVowel] [e {e̞} $SchwaVowel] → uia;
44
45# Kazakh Аягөз [ɑjɑɡy̯ʉz] → [ɑjɑɡiuz], to emit آیاگیوز not آیاگووز
46yʉ → iu;
47
48::NULL;
49
50# Vowels
51$Boundary {$SchwaVowel ː?} → ای;
52$SchwaVowel ː → ی;
53{[$SchwaVowel e {e̞}]} [^[:L:][:M:][:N:][\.]] → ه;
54$SchwaVowel → ;
55
56$Boundary {$IVowel ː?} → ای;
57$IVowel ː? j? → ی;
58
59$Boundary {$UVowel ː?} → او;
60$UVowel ː? → و;
61
62$Boundary {$AVowel ː?} → ا;
63$AVowel ː? → ا;
64
65$Boundary {$DarkAVowel ː?} → آ;
66$DarkAVowel ː? → ا;
67
68# Shadda for long (geminated) consonants
69ː → ّ;
70
71# Affricates
72[{t͡ʃ} ʧ] → چ;
73
74# Clicks
75[ɡ g ɠ k] $Click → کچ;
76[n ɲ]? $Click → نچ;
77
78# Nasal stops
79[{m̥} m ɱ] → م;
80[{n̼̊} {n̼} {n̥} n {ɳ̊} ɳ {ɲ̊} {ɲ̥} ɲ] → ن;
81[{ŋ̊} ŋ {ɴ̥} ɴ] k → نک;
82[{ŋ̊} ŋ {ɴ̥} ɴ] [ɡ g]? → نگ;
83
84# Non-nasal stops
85[p {p̪}] → پ;
86[b {b̪} ɓ] → ب;
87[{d̼} d ɗ ᶑ] → د;
88[{t̼} t] → ت;
89[ʈ] → ط;
90[ɖ] → ض;
91c → چ;
92ɟ → دج;
93k → ک;
94[ɡ g ɠ] → گ;
95[q ɢ ʡ ʛ] → ق;
96ʔ → ;
97
98# Sibilant fricatives
99s → س;
100z → ز;
101[ʃ ʂ ɕ ʄ] → ش;
102[ʒ ʐ ʑ] → ژ;
103
104# Non-sibilant fricatives
105[ɸ f] → ف;
106[β v] → و;
107[{θ̼} θ {θ̱}] → ث;
108[{ð̼} ð {ð̠}] → ذ;
109ç → ش;
110ʝ $IVowel? ː? → ی;
111[x χ] → خ;
112[ɣ ʁ] → غ;
113ħ → ح;
114ʕ → ع;
115[h ɦ {ʔ̞}] → ه;
116
117# Approximants, trills, flaps
118ʋ → و;
119ʙ → بر;
120{r̝} → رژ;
121[{ɹ̥} {ɹ} {ɻ̊} {ɻ} {ɾ̥} ɾ {ɽ̊} ɽ {r̼} {r̥} r] → ر;
122[{ʀ̥} ʀ] → غ;
123ʜ → ح;
124ʢ → ع;
125j $IVowel? ː? → ی;
126
127# Laterals
128ɬ → شل;
129ɮ → ژل;
130{[{ʎ̥} ʎ]} [^ $IVowel j ʝ] → لی;
131[{l̼} {l̥} l {ɭ̊} ɭ {ʎ̥} ʎ] → ل;
132[ʟ {ʟ̠}] → غ;
133
134# Independent pass for misc cleanup.
135::NULL;
136
137# Strip off syllable markers
138\. → ;
139
140# Sequences of three or more ووو look very confusing; we shorten them.
141# Polish Darłowo [darwɔvɔ] → داروو → داروووو
142ووو+ → وو;
143
144			]]></tRule>
145		</transform>
146	</transforms>
147</supplementalData>
148