1<?xml version="1.0" encoding="UTF-8" ?> 2<!DOCTYPE supplementalData SYSTEM "../../common/dtd/ldmlSupplemental.dtd"> 3<!-- Copyright © 1991-2017 Unicode, Inc. 4CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/) 5For terms of use, see http://www.unicode.org/copyright.html --> 6<supplementalData> 7 <version number="$Revision: 13680 $" /> 8 <transforms> 9 <transform source="cy" target="cy_FONIPA" direction="forward" draft="contributed" alias="cy-fonipa-t-cy"> 10 <tRule> 11# Transformation from Welsh (cy) to its IPA transcription (cy_FONIPA). 12# Based on description of Northern Welsh in: 13# 14# http://en.wikipedia.org/wiki/Welsh_orthography 15# http://en.wikipedia.org/wiki/Welsh_phonology 16# 17# Note that these rules are NOT complete: to be complete we would have to know 18# the morphological analysis of the word. For example, final ‹au› is pronounced 19# /a/ if it is the noun plural marker, otherwise it is /aɨ/. Similarly in 20# “llongyfarch” (‘congratulating’), the morphological decomposition — “llon + 21# cyfarch” — is needed to know that the ‹ng› is pronounced as /ŋg/, not as 22# /ŋ/. 23# 24# Author: Richard Sproat 25 26::Lower; 27::NFC; 28[’ [:P:]] → ; 29 30# Class definitions 31 32$end = [$ ]; 33# Both orthographic and phonetic vowels 34$vowel = [aeiouwyâêîôûŵŷɑɨəɛɪɔʊ]; 35# W is a placeholder for the glide -- see below 36$cons = [ 37 m {m̥} n {n̥} ŋ {ŋ̊} 38 p b t d k ɡ 39 f v θ ð s ʃ h χ 40 l ɬ r {r̥} 41 {d͡ʒ} g W w j 42]; 43 44# Preprocessing of letters that sometimes occur 45 46k → c; 47v → f; 48x → s; 49z → s; 50 51::Null; 52 53# Consonant transductions: 54 55# Trigraphs 56 57ngh → ŋ̊; 58 59# Digraphs 60 61ch → χ; 62dd → ð; 63ff → f; 64ll → ɬ; 65mh → m̥; 66nh → n̥; 67ng → ŋ; 68ph → f; 69rh → r̥; 70th → θ; 71 72# Monographs 73 74b → b; 75c → k; 76d → d; 77f → v; 78g → ɡ; 79h → h; 80j → d͡ʒ; # Loan words 81l → l; 82m → m; 83n → n; 84p → p; 85r → r; 86s → s; 87t → t; 88 89::Null; 90 91# Transduce ‹si› to /ʃ/ before vowels 92 93si} $vowel → ʃ; 94 95::Null; 96 97# Treatment of glides. 98 99# First transduce ‹i›, ‹w› to glides prior to vowels. With ‹w› we want to 100# do this also before /r,l/ after /ɡ/ (from Proto-Celtic *w) e.g. “gwlad”, 101# “gwraig”. However the “after g” environment must allow for the following 102# possibilities: 103# 104# ɡ → ŋ via nasal mutation 105# ɡ → 0 via soft mutation 106 107{i} $vowel → j; 108{w} $vowel → W; # Temporary register 109[ɡŋ] {w} [rl] $vowel → W; # Plain or nasal mutation environment 110^ {w} [rl] $vowel → W; # Soft mutation at the beginning of a word 111 112# Transduce accented ‹ẃ› to ‹w›: this is used to indicate when a ‹w› that would 113# normally be expected to be a glide, is instead a vowel: 114 115ẃ → w; 116 117::Null; 118 119# Stress placement, needed for vowel quality/quantity prediction 120# Basic rule of stress in Welsh is to place it on the penult, 121# except of course in monosyllables. 122 123{($vowel+ $cons+ $vowel+ $cons*)} $end → ˈ $1; ## Polysyllabic words 124$end $cons* {($vowel+ $cons*)} $end → ˈ $1; ## Monosyllabic words 125 126::Null; 127 128# Transduction of vowels 129 130# The first rule above overgenerates streams of stress marks. The rule below 131# cleans that up. 132 133ˈ+ → ˈ; 134 135# Diphthongs 136 137# Deal with ‹y› first since we also need to lengthen the /ɨ/ if that is in the 138# correct environment for lengthening. 139 140# ‹y› is /ɨ/ in final syllable, otherwise /ə/ 141 142yw } $cons* $end → ɨu; 143yw → əu; 144 145y} $cons* $end → ɨ; 146y → ə; 147 148::Null; 149 150# Diphthongs in long environment 151 152# Final, or before word-final s 153 154ˈ { ɨu } s? $end → ɨːu; 155ˈ { aw } s? $end → ɑːu; 156ˈ { ew } s? $end → eːu; 157ˈ { oe } s? $end → ɔːɨ; 158ˈ { ou } s? $end → ɔːɨ; 159ˈ { wy } s? $end → uːɨ; 160 161# before b, ch, d, dd, g, f, ff, th followed by the end of a word 162# or a vowel 163 164ˈ { ɨu } [bχdðɡvfθ] $end → ɨːu; 165ˈ { aw } [bχdðɡvfθ] $end → ɑːu; 166ˈ { ew } [bχdðɡvfθ] $end → eːu; 167ˈ { oe } [bχdðɡvfθ] $end → ɔːɨ; 168ˈ { ou } [bχdðɡvfθ] $end → ɔːɨ; 169ˈ { wy } [bχdðɡvfθ] $end → uːɨ; 170 171ˈ { ɨu } [bχdðɡvfθ] $vowel → ɨːu; 172ˈ { aw } [bχdðɡvfθ] $vowel → ɑːu; 173ˈ { ew } [bχdðɡvfθ] $vowel → eːu; 174ˈ { oe } [bχdðɡvfθ] $vowel → ɔːɨ; 175ˈ { ou } [bχdðɡvfθ] $vowel → ɔːɨ; 176ˈ { wy } [bχdðɡvfθ] $vowel → uːɨ; 177 178# Diphthongs in other environments 179 180ae → ɑːɨ; 181ai → ai; 182au → aɨ; ## As plural ending /a/, but we can't predict this 183aw → au; 184ei → əi; 185eu → əɨ; 186ew → ɛu; 187ey → əɨ; 188iw → ɪu; 189oe → ɔɨ; 190oi → ɔi; 191ou → ɔɨ; 192uw → ɨu; 193wy → ʊɨ; 194 195# Long environments 196 197# Final, or before word-final s 198 199ˈ { ɨ } s? $end → ɨː; 200ˈ { a } s? $end → ɑː; 201ˈ { e } s? $end → eː; 202ˈ { i } s? $end → iː; 203ˈ { o } s? $end → oː; 204ˈ { u } s? $end → ɨː; 205ˈ { w } s? $end → uː; 206 207# before b, ch, d, dd, g, f, ff, th followed by the end of a word 208# or a vowel 209 210ˈ { ɨ } [bχdðɡvfθ] $end → ɨː; 211ˈ { a } [bχdðɡvfθ] $end → ɑː; 212ˈ { e } [bχdðɡvfθ] $end → eː; 213ˈ { i } [bχdðɡvfθ] $end → iː; 214ˈ { o } [bχdðɡvfθ] $end → oː; 215ˈ { u } [bχdðɡvfθ] $end → ɨː; 216ˈ { w } [bχdðɡvfθ] $end → uː; 217 218ˈ { ɨ } [bχdðɡvfθ] $vowel → ɨː; 219ˈ { a } [bχdðɡvfθ] $vowel → ɑː; 220ˈ { e } [bχdðɡvfθ] $vowel → eː; 221ˈ { i } [bχdðɡvfθ] $vowel → iː; 222ˈ { o } [bχdðɡvfθ] $vowel → oː; 223ˈ { u } [bχdðɡvfθ] $vowel → ɨː; 224ˈ { w } [bχdðɡvfθ] $vowel → uː; 225 226# Short environments 227 228a → a; 229e → ɛ; 230i → ɪ; 231o → ɔ; 232u → ɨ̞; 233w → ʊ; 234 235::Null; 236 237W → w; 238 239# Finally, deal with vowels that are marked as long with a circumflex 240# (“to bach”). Do this last because we don't want the other vowel 241# changes messing this up. 242 243â → ɑː; 244ê → eː; 245î → iː; 246ô → oː; 247û → ɨː; 248ŵ → uː; 249ŷ → ɨː; 250 251::Null; 252 253# Move IPA stress marker to start of syllable. 254([$cons w] [l ɬ r {r̥}]? j? w?) ˈ → ˈ $1; 255 </tRule> 256 </transform> 257 </transforms> 258</supplementalData> 259