1<?xml version="1.0" encoding="UTF-8" ?> 2<!DOCTYPE supplementalData SYSTEM "../../common/dtd/ldmlSupplemental.dtd"> 3<!-- 4Copyright © 1991-2013 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$"/> 10 <transforms> 11 <transform source="Grek" target="Latn" variant="UNGEGN" direction="both" alias="Greek-Latin/UNGEGN und-Latn-t-und-grek-m0-ungegn" backwardAlias="Latin-Greek/UNGEGN und-Grek-t-und-latn-m0-ungegn"> 12 <tRule><![CDATA[ 13# For modern Greek, based on UNGEGN rules. 14# Rules are predicated on running NFD first, and NFC afterwards 15# MINIMAL FILTER GENERATED FOR: Greek-Latin/UNGEGN 16# WARNING: need to add accents to both filters ### 17# :: [́̄̆̈;µ·ÀÂÈÊÌÎÒÔÙÛàâèêìîòôùûĈ-ĉĜ-ĝĤ-ĥĴ-ĵŜ-ŝŴ-ŷǛ-ǜǸ-ǹ̀̂̓-̔̀͂-̓ͅͺ;Ά-ΊΌΎ-ΡΣ-ώϐ-ϖϰ-ϵЀЍѐѝḔ-ḕṐ-ṑẀ-ẁẐ-ẑẤ-ậẰ-ằẾ-ệỐ-ộỜ-ờỪ-ừỲ-ỳἀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼι῁-ῄῆ-῍῏-ΐῖ-Ί῝῟-῭ῲ-ῴῶ-ῼΩϷ-\u07FBϹ] ; 18:: [[[:Greek:][:Mn:][:Me:]] [\:-;?·;·]] ; 19::NFD (NFC) ; 20# Useful variables 21$lower = [[:latin:][:greek:] & [:Ll:]] ; 22$upper = [[:latin:][:greek:] & [:Lu:]] ; 23$accent = [[:Mn:][:Me:]] ; 24$macron = ̄ ; 25$ddot = ̈ ; 26$lcgvowel = [αεηιουω] ; 27$ucgvowel = [ΑΕΗΙΟΥΩ] ; 28$gvowel = [$lcgvowel $ucgvowel] ; 29$lcgvowelC = [$lcgvowel $accent] ; 30$evowel = [aeiouyAEIOUY]; 31$vowel = [ $evowel $gvowel] ; 32$beforeLower = $accent * $lower ; 33$gammaLike = [ΓΚΞΧγκξχϰ] ; 34$egammaLike = [GKXCgkxc] ; 35$smooth = ̓ ; 36$rough = ̔ ; 37$iotasub = ͅ ; 38$softener = [βΒγΓδΔζΖλΛμΜνΝρΡ$gvowel] ; 39$under = ̱; 40$caron = ̌; 41$afterLetter = [:L:] [\'$accent]* ; 42$beforeLetter = [\'$accent]* [:L:] ; 43# Fix punctuation 44# preserve original 45\: ↔ \: $under ; 46\? ↔ \? $under ; 47\; ↔ \? ; 48· ↔ \: ; 49# Fix any ancient characters that creep in 50͂ → ́ ; 51̂ → ́ ; 52̀ → ́ ; 53$smooth → ; 54$rough → ; 55$iotasub → ; 56ͺ → ; 57# need to have these up here so the rules don't mask 58η ↔ i $under ; 59Η ↔ I $under ; 60Ψ } $beforeLower ↔ Ps ; 61Ψ ↔ PS ; 62ψ ↔ ps ; 63ω ↔ o $under ; 64Ω ↔ O $under; 65# at begining or end of word, convert mp to b 66[^[:L:]$accent] { μπ → b ; 67μπ } [^[:L:]$accent] → b ; 68[^[:L:]$accent] { [Μμ][Ππ] → B ; 69[Μμ][Ππ] } [^[:L:]$accent] → B ; 70μπ ← b ; 71Μπ ← B } $beforeLower ; 72ΜΠ ← B ; 73# handle diphthongs ending with upsilon 74ου ↔ ou ; 75ΟΥ ↔ OU ; 76Ου ↔ Ou ; 77οΥ ↔ oU ; 78$fmaker = [aeiAEI] $under ? ; 79$shiftForwardVowels = [[:Mn:]-[̈]]; # note: a diaeresis keeps the items separate 80$fmaker { υ ( $shiftForwardVowels )* } $softener → $1 v $under ; 81υ $1 ← ( $shiftForwardVowels )* v $under ; 82$fmaker { υ ( $shiftForwardVowels )* } → $1 f $under; 83υ $1 ← ( $shiftForwardVowels )* f $under ; 84$fmaker { Υ } $softener ↔ V $under ; 85$fmaker { Υ ↔ U $under ; 86υ ↔ y ; 87Υ ↔ Y ; 88# NORMAL 89α ↔ a ; 90Α ↔ A ; 91β ↔ v ; 92Β ↔ V ; 93γ } $gammaLike ↔ n } $egammaLike ; 94γ ↔ g ; 95Γ } $gammaLike ↔ N } $egammaLike ; 96Γ ↔ G ; 97δ ↔ d ; 98Δ ↔ D ; 99ε ↔ e ; 100Ε ↔ E ; 101ζ ↔ z ; 102Ζ ↔ Z ; 103θ ↔ th ; 104Θ } $beforeLower ↔ Th ; 105Θ ↔ TH ; 106ι ↔ i ; 107Ι ↔ I ; 108κ ↔ k ; 109Κ ↔ K ; 110λ ↔ l ; 111Λ ↔ L ; 112μ ↔ m ; 113Μ ↔ M ; 114ν } $gammaLike → n\' ; 115ν ↔ n ; 116Ν } $gammaLike ↔ N\' ; 117Ν ↔ N ; 118ξ ↔ x ; 119Ξ ↔ X ; 120ο ↔ o ; 121Ο ↔ O ; 122π ↔ p ; 123Π ↔ P ; 124ρ ↔ r ; 125Ρ ↔ R ; 126# insert separator before things that turn into s 127[Pp] { } [ςσΣϷϸϺϻ] → \' ; 128# special S variants 129Ϸ ↔ Š ; # Ϸ GREEK CAPITAL LETTER SHO Uppercase_Letter Grek - L 130ϸ ↔ š ; #ϸ GREEK SMALL LETTER SHO Lowercase_Letter Grek - L 131Ϻ ↔ Ŝ ; # Ϻ GREEK CAPITAL LETTER SAN Uppercase_Letter Grek - L 132ϻ ↔ ŝ ; # ϻ GREEK SMALL LETTER SAN Lowercase_Letter Grek - L 133# Caron means exception 134# before a letter, initial 135ς } $beforeLetter ↔ s $under } $beforeLetter; 136σ } $beforeLetter ↔ s } $beforeLetter; 137# otherwise, after a letter = final 138$afterLetter { σ ↔ $afterLetter { s $under; 139$afterLetter { ς ↔ $afterLetter { s ; 140# otherwise (isolated) = initial 141ς ↔ s $under; 142σ ↔ s ; 143# [Pp] { Σ ↔ \'S ; 144Σ ↔ S ; 145τ ↔ t ; 146Τ ↔ T ; 147φ ↔ f ; 148Φ ↔ F ; 149χ ↔ ch ; 150Χ } $beforeLower ↔ Ch ; 151Χ ↔ CH ; 152# Completeness for ASCII 153# $ignore = [[:Mark:]''] * ; 154| ch ← h ; 155| k ← c ; 156| i ← j ; 157| k ← q ; 158| b ← u } $vowel ; 159| b ← w } $vowel ; 160| y ← u ; 161| y ← w ; 162| Ch ← H ; 163| K ← C ; 164| I ← J ; 165| K ← Q ; 166| B ← W } $vowel ; 167| B ← U } $vowel ; 168| Y ← W ; 169| Y ← U ; 170# Completeness for Greek 171ϐ → | β ; 172ϑ → | θ ; 173ϒ → | Υ ; 174ϕ → | φ ; 175ϖ → | π ; 176ϰ → | κ ; 177ϱ → | ρ ; 178ϲ → | σ ; 179Ϲ → | Σ; #U+03F9 GREEK CAPITAL LUNATE SIGMA SYMBOL 180ϳ → j ; 181ϴ → | Θ ; 182ϵ → | ε ; 183µ → | μ ; 184# delete any trailing ' marks used for roundtripping 185← [Ππ] { \' } [Ss] ; 186← [Νν] { \' } $egammaLike ; 187::NFC (NFD) ; 188# MINIMAL FILTER GENERATED FOR: Latin-Greek/UNGEGN BACKWARD 189:: ([[[:Latin:][:Mn:][:Me:]] ['\:?]]) ; 190 191 ]]></tRule> 192 </transform> 193 </transforms> 194</supplementalData> 195