<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE supplementalData SYSTEM "../../common/dtd/ldmlSupplemental.dtd"> <!-- Copyright © 1991-2013 Unicode, Inc. CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/) For terms of use, see http://www.unicode.org/copyright.html --> <supplementalData> <version number="$Revision: 12263 $"/> <transforms> <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"> <tRule><![CDATA[ # For modern Greek, based on UNGEGN rules. # Rules are predicated on running NFD first, and NFC afterwards # MINIMAL FILTER GENERATED FOR: Greek-Latin/UNGEGN # WARNING: need to add accents to both filters ### # :: [́̄̆̈;µ·ÀÂÈÊÌÎÒÔÙÛàâèêìîòôùûĈ-ĉĜ-ĝĤ-ĥĴ-ĵŜ-ŝŴ-ŷǛ-ǜǸ-ǹ̀̂̓-̔̀͂-̓ͅͺ;Ά-ΊΌΎ-ΡΣ-ώϐ-ϖϰ-ϵЀЍѐѝḔ-ḕṐ-ṑẀ-ẁẐ-ẑẤ-ậẰ-ằẾ-ệỐ-ộỜ-ờỪ-ừỲ-ỳἀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼι῁-ῄῆ-῍῏-ΐῖ-Ί῝῟-῭ῲ-ῴῶ-ῼΩϷ-\u07FBϹ] ; :: [[[:Greek:][:Mn:][:Me:]] [\:-;?·;·]] ; ::NFD (NFC) ; # Useful variables $lower = [[:latin:][:greek:] & [:Ll:]] ; $upper = [[:latin:][:greek:] & [:Lu:]] ; $accent = [[:Mn:][:Me:]] ; $macron = ̄ ; $ddot = ̈ ; $lcgvowel = [αεηιουω] ; $ucgvowel = [ΑΕΗΙΟΥΩ] ; $gvowel = [$lcgvowel $ucgvowel] ; $lcgvowelC = [$lcgvowel $accent] ; $evowel = [aeiouyAEIOUY]; $vowel = [ $evowel $gvowel] ; $beforeLower = $accent * $lower ; $gammaLike = [ΓΚΞΧγκξχϰ] ; $egammaLike = [GKXCgkxc] ; $smooth = ̓ ; $rough = ̔ ; $iotasub = ͅ ; $softener = [βΒγΓδΔζΖλΛμΜνΝρΡ$gvowel] ; $under = ̱; $caron = ̌; $afterLetter = [:L:] [\'$accent]* ; $beforeLetter = [\'$accent]* [:L:] ; # Fix punctuation # preserve orginal \: ↔ \: $under ; \? ↔ \? $under ; \; ↔ \? ; · ↔ \: ; # Fix any ancient characters that creep in ͂ → ́ ; ̂ → ́ ; ̀ → ́ ; $smooth → ; $rough → ; $iotasub → ; ͺ → ; # need to have these up here so the rules don't mask η ↔ i $under ; Η ↔ I $under ; Ψ } $beforeLower ↔ Ps ; Ψ ↔ PS ; ψ ↔ ps ; ω ↔ o $under ; Ω ↔ O $under; # at begining or end of word, convert mp to b [^[:L:]$accent] { μπ → b ; μπ } [^[:L:]$accent] → b ; [^[:L:]$accent] { [Μμ][Ππ] → B ; [Μμ][Ππ] } [^[:L:]$accent] → B ; μπ ← b ; Μπ ← B } $beforeLower ; ΜΠ ← B ; # handle diphthongs ending with upsilon ου ↔ ou ; ΟΥ ↔ OU ; Ου ↔ Ou ; οΥ ↔ oU ; $fmaker = [aeiAEI] $under ? ; $shiftForwardVowels = [[:Mn:]-[̈]]; # note: a diaeresis keeps the items separate $fmaker { υ ( $shiftForwardVowels )* } $softener → $1 v $under ; υ $1 ← ( $shiftForwardVowels )* v $under ; $fmaker { υ ( $shiftForwardVowels )* } → $1 f $under; υ $1 ← ( $shiftForwardVowels )* f $under ; $fmaker { Υ } $softener ↔ V $under ; $fmaker { Υ ↔ U $under ; υ ↔ y ; Υ ↔ Y ; # NORMAL α ↔ a ; Α ↔ A ; β ↔ v ; Β ↔ V ; γ } $gammaLike ↔ n } $egammaLike ; γ ↔ g ; Γ } $gammaLike ↔ N } $egammaLike ; Γ ↔ G ; δ ↔ d ; Δ ↔ D ; ε ↔ e ; Ε ↔ E ; ζ ↔ z ; Ζ ↔ Z ; θ ↔ th ; Θ } $beforeLower ↔ Th ; Θ ↔ TH ; ι ↔ i ; Ι ↔ I ; κ ↔ k ; Κ ↔ K ; λ ↔ l ; Λ ↔ L ; μ ↔ m ; Μ ↔ M ; ν } $gammaLike → n\' ; ν ↔ n ; Ν } $gammaLike ↔ N\' ; Ν ↔ N ; ξ ↔ x ; Ξ ↔ X ; ο ↔ o ; Ο ↔ O ; π ↔ p ; Π ↔ P ; ρ ↔ r ; Ρ ↔ R ; # insert separator before things that turn into s [Pp] { } [ςσΣϷϸϺϻ] → \' ; # special S variants Ϸ ↔ Š ; # Ϸ GREEK CAPITAL LETTER SHO Uppercase_Letter Grek - L ϸ ↔ š ; #ϸ GREEK SMALL LETTER SHO Lowercase_Letter Grek - L Ϻ ↔ Ŝ ; # Ϻ GREEK CAPITAL LETTER SAN Uppercase_Letter Grek - L ϻ ↔ ŝ ; # ϻ GREEK SMALL LETTER SAN Lowercase_Letter Grek - L # Caron means exception # before a letter, initial ς } $beforeLetter ↔ s $under } $beforeLetter; σ } $beforeLetter ↔ s } $beforeLetter; # otherwise, after a letter = final $afterLetter { σ ↔ $afterLetter { s $under; $afterLetter { ς ↔ $afterLetter { s ; # otherwise (isolated) = initial ς ↔ s $under; σ ↔ s ; # [Pp] { Σ ↔ \'S ; Σ ↔ S ; τ ↔ t ; Τ ↔ T ; φ ↔ f ; Φ ↔ F ; χ ↔ ch ; Χ } $beforeLower ↔ Ch ; Χ ↔ CH ; # Completeness for ASCII # $ignore = [[:Mark:]''] * ; | ch ← h ; | k ← c ; | i ← j ; | k ← q ; | b ← u } $vowel ; | b ← w } $vowel ; | y ← u ; | y ← w ; | Ch ← H ; | K ← C ; | I ← J ; | K ← Q ; | B ← W } $vowel ; | B ← U } $vowel ; | Y ← W ; | Y ← U ; # Completeness for Greek ϐ → | β ; ϑ → | θ ; ϒ → | Υ ; ϕ → | φ ; ϖ → | π ; ϰ → | κ ; ϱ → | ρ ; ϲ → | σ ; Ϲ → | Σ; #U+03F9 GREEK CAPITAL LUNATE SIGMA SYMBOL ϳ → j ; ϴ → | Θ ; ϵ → | ε ; µ → | μ ; # delete any trailing ' marks used for roundtripping ← [Ππ] { \' } [Ss] ; ← [Νν] { \' } $egammaLike ; ::NFC (NFD) ; # MINIMAL FILTER GENERATED FOR: Latin-Greek/UNGEGN BACKWARD :: ([[[:Latin:][:Mn:][:Me:]] ['\:?]]) ; ]]></tRule> </transform> </transforms> </supplementalData>