]> git.saurik.com Git - apple/icu.git/blob - icuSources/data/translit/cy_cy_FONIPA.txt
ICU-66108.tar.gz
[apple/icu.git] / icuSources / data / translit / cy_cy_FONIPA.txt
1 # © 2016 and later: Unicode, Inc. and others.
2 # License & terms of use: http://www.unicode.org/copyright.html#License
3 #
4 # File: cy_cy_FONIPA.txt
5 # Generated from CLDR
6 #
7
8 # Transformation from Welsh (cy) to its IPA transcription (cy_FONIPA).
9 # Based on description of Northern Welsh in:
10 #
11 # http://en.wikipedia.org/wiki/Welsh_orthography
12 # http://en.wikipedia.org/wiki/Welsh_phonology
13 #
14 # Note that these rules are NOT complete: to be complete we would have to know
15 # the morphological analysis of the word. For example, final ‹au› is pronounced
16 # /a/ if it is the noun plural marker, otherwise it is /aɨ/. Similarly in
17 # “llongyfarch” (‘congratulating’), the morphological decomposition — “llon +
18 # cyfarch” — is needed to know that the ‹ng› is pronounced as /ŋg/, not as
19 # /ŋ/.
20 #
21 # Author: Richard Sproat
22 ::Lower;
23 ::NFC;
24 [’ [:P:]] → ;
25 # Class definitions
26 $end = [$ ];
27 # Both orthographic and phonetic vowels
28 $vowel = [aeiouwyâêîôûŵŷɑɨəɛɪɔʊ];
29 # W is a placeholder for the glide -- see below
30 $cons = [
31 m {m\u0325} n {n\u0325} ŋ {ŋ\u030A}
32 p b t d k ɡ
33 f v θ ð s ʃ h χ
34 l ɬ r {r\u0325}
35 {d\u0361ʒ} g W w j
36 ];
37 # Preprocessing of letters that sometimes occur
38 k → c;
39 v → f;
40 x → s;
41 z → s;
42 ::Null;
43 # Consonant transductions:
44 # Trigraphs
45 ngh → ŋ\u030A;
46 # Digraphs
47 ch → χ;
48 dd → ð;
49 ff → f;
50 ll → ɬ;
51 mh → m\u0325;
52 nh → n\u0325;
53 ng → ŋ;
54 ph → f;
55 rh → r\u0325;
56 th → θ;
57 # Monographs
58 b → b;
59 c → k;
60 d → d;
61 f → v;
62 g → ɡ;
63 h → h;
64 j → d\u0361ʒ; # Loan words
65 l → l;
66 m → m;
67 n → n;
68 p → p;
69 r → r;
70 s → s;
71 t → t;
72 ::Null;
73 # Transduce ‹si› to /ʃ/ before vowels
74 si} $vowel → ʃ;
75 ::Null;
76 # Treatment of glides.
77 # First transduce ‹i›, ‹w› to glides prior to vowels. With ‹w› we want to
78 # do this also before /r,l/ after /ɡ/ (from Proto-Celtic *w) e.g. “gwlad”,
79 # “gwraig”. However the “after g” environment must allow for the following
80 # possibilities:
81 #
82 # ɡ → ŋ via nasal mutation
83 # ɡ → 0 via soft mutation
84 {i} $vowel → j;
85 {w} $vowel → W; # Temporary register
86 [ɡŋ] {w} [rl] $vowel → W; # Plain or nasal mutation environment
87 ^ {w} [rl] $vowel → W; # Soft mutation at the beginning of a word
88 # Transduce accented ‹ẃ› to ‹w›: this is used to indicate when a ‹w› that would
89 # normally be expected to be a glide, is instead a vowel:
90 ẃ → w;
91 ::Null;
92 # Stress placement, needed for vowel quality/quantity prediction
93 # Basic rule of stress in Welsh is to place it on the penult,
94 # except of course in monosyllables.
95 {($vowel+ $cons+ $vowel+ $cons*)} $end → ˈ $1; ## Polysyllabic words
96 $end $cons* {($vowel+ $cons*)} $end → ˈ $1; ## Monosyllabic words
97 ::Null;
98 # Transduction of vowels
99 # The first rule above overgenerates streams of stress marks. The rule below
100 # cleans that up.
101 ˈ+ → ˈ;
102 # Diphthongs
103 # Deal with ‹y› first since we also need to lengthen the /ɨ/ if that is in the
104 # correct environment for lengthening.
105 # ‹y› is /ɨ/ in final syllable, otherwise /ə/
106 yw } $cons* $end → ɨu;
107 yw → əu;
108 y} $cons* $end → ɨ;
109 y → ə;
110 ::Null;
111 # Diphthongs in long environment
112 # Final, or before word-final s
113 ˈ { ɨu } s? $end → ɨːu;
114 ˈ { aw } s? $end → ɑːu;
115 ˈ { ew } s? $end → eːu;
116 ˈ { oe } s? $end → ɔːɨ;
117 ˈ { ou } s? $end → ɔːɨ;
118 ˈ { wy } s? $end → uːɨ;
119 # before b, ch, d, dd, g, f, ff, th followed by the end of a word
120 # or a vowel
121 ˈ { ɨu } [bχdðɡvfθ] $end → ɨːu;
122 ˈ { aw } [bχdðɡvfθ] $end → ɑːu;
123 ˈ { ew } [bχdðɡvfθ] $end → eːu;
124 ˈ { oe } [bχdðɡvfθ] $end → ɔːɨ;
125 ˈ { ou } [bχdðɡvfθ] $end → ɔːɨ;
126 ˈ { wy } [bχdðɡvfθ] $end → uːɨ;
127 ˈ { ɨu } [bχdðɡvfθ] $vowel → ɨːu;
128 ˈ { aw } [bχdðɡvfθ] $vowel → ɑːu;
129 ˈ { ew } [bχdðɡvfθ] $vowel → eːu;
130 ˈ { oe } [bχdðɡvfθ] $vowel → ɔːɨ;
131 ˈ { ou } [bχdðɡvfθ] $vowel → ɔːɨ;
132 ˈ { wy } [bχdðɡvfθ] $vowel → uːɨ;
133 # Diphthongs in other environments
134 ae → ɑːɨ;
135 ai → ai;
136 au → aɨ; ## As plural ending /a/, but we can't predict this
137 aw → au;
138 ei → əi;
139 eu → əɨ;
140 ew → ɛu;
141 ey → əɨ;
142 iw → ɪu;
143 oe → ɔɨ;
144 oi → ɔi;
145 ou → ɔɨ;
146 uw → ɨu;
147 wy → ʊɨ;
148 # Long environments
149 # Final, or before word-final s
150 ˈ { ɨ } s? $end → ɨː;
151 ˈ { a } s? $end → ɑː;
152 ˈ { e } s? $end → eː;
153 ˈ { i } s? $end → iː;
154 ˈ { o } s? $end → oː;
155 ˈ { u } s? $end → ɨː;
156 ˈ { w } s? $end → uː;
157 # before b, ch, d, dd, g, f, ff, th followed by the end of a word
158 # or a vowel
159 ˈ { ɨ } [bχdðɡvfθ] $end → ɨː;
160 ˈ { a } [bχdðɡvfθ] $end → ɑː;
161 ˈ { e } [bχdðɡvfθ] $end → eː;
162 ˈ { i } [bχdðɡvfθ] $end → iː;
163 ˈ { o } [bχdðɡvfθ] $end → oː;
164 ˈ { u } [bχdðɡvfθ] $end → ɨː;
165 ˈ { w } [bχdðɡvfθ] $end → uː;
166 ˈ { ɨ } [bχdðɡvfθ] $vowel → ɨː;
167 ˈ { a } [bχdðɡvfθ] $vowel → ɑː;
168 ˈ { e } [bχdðɡvfθ] $vowel → eː;
169 ˈ { i } [bχdðɡvfθ] $vowel → iː;
170 ˈ { o } [bχdðɡvfθ] $vowel → oː;
171 ˈ { u } [bχdðɡvfθ] $vowel → ɨː;
172 ˈ { w } [bχdðɡvfθ] $vowel → uː;
173 # Short environments
174 a → a;
175 e → ɛ;
176 i → ɪ;
177 o → ɔ;
178 u → ɨ\u031E;
179 w → ʊ;
180 ::Null;
181 W → w;
182 # Finally, deal with vowels that are marked as long with a circumflex
183 # (“to bach”). Do this last because we don't want the other vowel
184 # changes messing this up.
185 â → ɑː;
186 ê → eː;
187 î → iː;
188 ô → oː;
189 û → ɨː;
190 ŵ → uː;
191 ŷ → ɨː;
192 ::Null;
193 # Move IPA stress marker to start of syllable.
194 ([$cons w] [l ɬ r {r\u0325}]? j? w?) ˈ → ˈ $1;
195