]>
Commit | Line | Data |
---|---|---|
1 | # *************************************************************************** | |
2 | # * | |
3 | # * Copyright (C) 2004-2016, International Business Machines | |
4 | # * Corporation; Unicode, Inc.; and others. All Rights Reserved. | |
5 | # * | |
6 | # *************************************************************************** | |
7 | # File: und_FONIPA_fa.txt | |
8 | # Generated from CLDR | |
9 | # | |
10 | ||
11 | # Vowels | |
12 | # ------ | |
13 | # In these rules, we produce ی و ا both for short and for long vowels. | |
14 | # This would be wrong for writing Farsi or Arabic, but when transliterating | |
15 | # foreign words and names, it is strongly preferred to vowel marks. | |
16 | # Short schwa [ə] and a few other, schwa-like vowels get omitted entirely | |
17 | # unless at the end of the word, in which case we emit ه whose Farsi | |
18 | # word-final pronunciation comes close to [ə]. At the beginning of words, | |
19 | # Farsi speakers prefer to see آ for [ɑ] and a few other similar-sounding | |
20 | # dark vowels; note that this use of آ is quite different from Arabic. | |
21 | $IVowel = [i ɪ e {e\u031E}]; | |
22 | $UVowel = [y {ɨ} {ʉ} ɯ u ʏ {ɪ\u0308} {ʊ\u0308} {ɯ\u033D} {ʊ} ø ɤ o {ø\u031E} {ɤ\u031E} {o\u031E} ɔ w {w\u0325} ʍ ʷ]; | |
23 | $AVowel = [ɛ œ ɜ æ ɶ]; | |
24 | $DarkAVowel = [ʌ a ɑ ɒ ɐ ɞ {ä} {ɒ\u0308}]; # آ instead of ا at beginning of words | |
25 | $SchwaVowel = [ɘ ɵ ə {ɵ\u031E}]; | |
26 | $Click = [ʘ ɋ ǀ ʇ ǃ ʗ ǂ ʄ ǁ ʖ]; | |
27 | $Boundary = [^[:L:][:M:][:N:]]; | |
28 | ::NFD; | |
29 | [ʰ ʱ ʼ \u0303 \u0330 \u030B \u0301 \u0304 \u0300 \u030F \u030C \u0302 ˥ ˦ ˧ ˨ ˩ ꜜ ꜛ ↗ ↘ \u0361 \u035C \u032F] → ; | |
30 | ʲ → j; | |
31 | ᵐ → m; | |
32 | ⁿ → n; | |
33 | ᵑ → ŋ; | |
34 | ::NFC; | |
35 | # TODO: Diphthongs probably need more work. | |
36 | # Romanian [sekujesk] → [sekujask], for emitting سیکویاسک not سیکویسک | |
37 | $UVowel [j $IVowel] [e {e\u031E} $SchwaVowel] → uia; | |
38 | # Kazakh Аягөз [ɑjɑɡy\u032Fʉz] → [ɑjɑɡiuz], to emit آیاگیوز not آیاگووز | |
39 | yʉ → iu; | |
40 | ::NULL; | |
41 | # Vowels | |
42 | $Boundary {$SchwaVowel ː?} → ای; | |
43 | $SchwaVowel ː → ی; | |
44 | {[$SchwaVowel e {e\u031E}]} [^[:L:][:M:][:N:][\.]] → ه; | |
45 | $SchwaVowel → ; | |
46 | $Boundary {$IVowel ː?} → ای; | |
47 | $IVowel ː? j? → ی; | |
48 | $Boundary {$UVowel ː?} → او; | |
49 | $UVowel ː? → و; | |
50 | $Boundary {$AVowel ː?} → ا; | |
51 | $AVowel ː? → ا; | |
52 | $Boundary {$DarkAVowel ː?} → آ; | |
53 | $DarkAVowel ː? → ا; | |
54 | # Shadda for long (geminated) consonants | |
55 | ː → \u0651; | |
56 | # Affricates | |
57 | [{t\u0361ʃ} ʧ] → چ; | |
58 | # Clicks | |
59 | [ɡ g ɠ k] $Click → کچ; | |
60 | [n ɲ]? $Click → نچ; | |
61 | # Nasal stops | |
62 | [{m\u0325} m ɱ] → م; | |
63 | [{n\u033C\u030A} {n\u033C} {n\u0325} n {ɳ\u030A} ɳ {ɲ\u030A} {ɲ\u0325} ɲ] → ن; | |
64 | [{ŋ\u030A} ŋ {ɴ\u0325} ɴ] k → نک; | |
65 | [{ŋ\u030A} ŋ {ɴ\u0325} ɴ] [ɡ g]? → نگ; | |
66 | # Non-nasal stops | |
67 | [p {p\u032A}] → پ; | |
68 | [b {b\u032A} ɓ] → ب; | |
69 | [{d\u033C} d ɗ ᶑ] → د; | |
70 | [{t\u033C} t] → ت; | |
71 | [ʈ] → ط; | |
72 | [ɖ] → ض; | |
73 | c → چ; | |
74 | ɟ → دج; | |
75 | k → ک; | |
76 | [ɡ g ɠ] → گ; | |
77 | [q ɢ ʡ ʛ] → ق; | |
78 | ʔ → ; | |
79 | # Sibilant fricatives | |
80 | s → س; | |
81 | z → ز; | |
82 | [ʃ ʂ ɕ ʄ] → ش; | |
83 | [ʒ ʐ ʑ] → ژ; | |
84 | # Non-sibilant fricatives | |
85 | [ɸ f] → ف; | |
86 | [β v] → و; | |
87 | [{θ\u033C} θ {θ\u0331}] → ث; | |
88 | [{ð\u033C} ð {ð\u0320}] → ذ; | |
89 | ç → ش; | |
90 | ʝ $IVowel? ː? → ی; | |
91 | [x χ] → خ; | |
92 | [ɣ ʁ] → غ; | |
93 | ħ → ح; | |
94 | ʕ → ع; | |
95 | [h ɦ {ʔ\u031E}] → ه; | |
96 | # Approximants, trills, flaps | |
97 | ʋ → و; | |
98 | ʙ → بر; | |
99 | {r\u031D} → رژ; | |
100 | [{ɹ\u0325} {ɹ} {ɻ\u030A} {ɻ} {ɾ\u0325} ɾ {ɽ\u030A} ɽ {r\u033C} {r\u0325} r] → ر; | |
101 | [{ʀ\u0325} ʀ] → غ; | |
102 | ʜ → ح; | |
103 | ʢ → ع; | |
104 | j $IVowel? ː? → ی; | |
105 | # Laterals | |
106 | ɬ → شل; | |
107 | ɮ → ژل; | |
108 | {[{ʎ\u0325} ʎ]} [^ $IVowel j ʝ] → لی; | |
109 | [{l\u033C} {l\u0325} l {ɭ\u030A} ɭ {ʎ\u0325} ʎ] → ل; | |
110 | [ʟ {ʟ\u0320}] → غ; | |
111 | # Independent pass for misc cleanup. | |
112 | ::NULL; | |
113 | # Strip off syllable markers | |
114 | \. → ; | |
115 | # Sequences of three or more ووو look very confusing; we shorten them. | |
116 | # Polish Darłowo [darwɔvɔ] → داروو → داروووو | |
117 | ووو+ → وو; | |
118 |