cec4d76254
Update transrt.cpp to exclude 0970 from roundtrip tests; it was now included because Unicode 6.1 moved it from Common to Devanagari, but it has no mapping from InterIndic to anything else. X-SVN-Rev: 31074
208 lines
6.5 KiB
Plaintext
208 lines
6.5 KiB
Plaintext
# ***************************************************************************
|
||
# *
|
||
# * Copyright (C) 2004-2011, International Business Machines
|
||
# * Corporation; Unicode, Inc.; and others. All Rights Reserved.
|
||
# *
|
||
# ***************************************************************************
|
||
# File: Greek_Latin.txt
|
||
# Generated from CLDR
|
||
#
|
||
:: [;µ·ÄËÏÖÜäëïöüÿ-āĒ-ēĪ-īŌ-ōŪ-ūŸǕ-ǜǞ-ǣǬ-ǭȪ-ȭȰ-ȳ\u0304\u0308\u0313-\u0314\u0342-\u0345ͺ;Ά-ΊΌΎ-ΡΣ-ώϐ-ϗϛϝϟϡϣϥϧϩϫϭϯ-ϵϷ-\u07FBЁЇёїӒ-ӓӚ-ӟӢ-ӧӪ-ӱӴ-ӵӸ-ӹḔ-ḗḠ-ḡḦ-ḧḮ-ḯḸ-ḹṎ-ṓṜ-ṝṺ-ṻẄ-ẅẌ-ẍẗἀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼι῁-ῄῆ-ῌ῏-ΐῖ-Ί῟-Ῥῲ-ῴῶ-ῼΩϹ] ;
|
||
:: NFD (NFC) ;
|
||
$lower = [[:latin:][:greek:] & [:Ll:]];
|
||
$glower = [[:greek:] & [:Ll:]];
|
||
$upper = [[:latin:][:greek:] & [:Lu:]] ;
|
||
$accent = [:M:] ;
|
||
$accentMinus = [ [\u0300-\u0345] & [:M:] - [\u0338]] ;
|
||
$macron = \u0304 ;
|
||
$ddot = \u0308 ;
|
||
$ddotmac = [$ddot$macron];
|
||
$lcgvowel = [αεηιουω] ;
|
||
$ucgvowel = [ΑΕΗΙΟΥΩ] ;
|
||
$gvowel = [$lcgvowel $ucgvowel] ;
|
||
$lcgvowelC = [$lcgvowel $accent] ;
|
||
$evowel = [aeiouyAEIOUY];
|
||
$evowel2 = [iuyIUY];
|
||
$vowel = [ $evowel $gvowel] ;
|
||
$gammaLike = [ΓΚΞΧγκξχϰ] ;
|
||
$egammaLike = [GKXCgkxc] ;
|
||
$smooth = \u0313 ;
|
||
$rough = \u0314 ;
|
||
$iotasub = \u0345 ;
|
||
$evowel_i = [$evowel-[iI]] ;
|
||
$evowel2_i = [uyUY];
|
||
$underbar = \u0331;
|
||
$afterLetter = [:L:] [[:M:]\']* ;
|
||
$beforeLetter = [[:M:]\']* [:L:] ;
|
||
$beforeLower = $accent * $lower ;
|
||
$notLetter = [^[:L:][:M:]] ;
|
||
$under = \u0331;
|
||
\: ↔ \: $under ;
|
||
\? ↔ \? $under ;
|
||
\; ↔ \? ;
|
||
· ↔ \: ;
|
||
\u0342 ↔ \u0302 ;
|
||
$accent_minus = [[$accent]-[$iotasub$macron]];
|
||
Α } $accent_minus * $iotasub → | Α $macron ;
|
||
α } $accent_minus * $iotasub → | α $macron ;
|
||
$upper $accent * { $iotasub → I ;
|
||
$iotasub → i ;
|
||
| $1 $iotasub ← ($evowel $macron $accentMinus *) i ;
|
||
| $1 $iotasub ← ($evowel $macron $accentMinus *) I ;
|
||
Α ($macron?) $rough } $beforeLower → H | α $1;
|
||
Ε $rough } $beforeLower → H | ε;
|
||
Η $rough } $beforeLower → H | η ;
|
||
Ι ($ddot?) $rough } $beforeLower → H | ι $1;
|
||
Ο $rough } $beforeLower → H | ο ;
|
||
Υ $rough } $beforeLower → H | υ ;
|
||
Ω ($ddot?) $rough } $beforeLower → H | ω $1;
|
||
Α ($glower $macron?) $rough → H | α $1 ;
|
||
Ε ($glower) $rough → H | ε $1 ;
|
||
Η ($glower) $rough → H | η $1 ;
|
||
Ι ($glower $ddot?) $rough → H | ι $1 ;
|
||
Ο ($glower) $rough → H | ο $1 ;
|
||
Υ ($glower) $rough → H | υ $1 ;
|
||
Ω ($glower $ddot?) $rough → H | ω $1 ;
|
||
($lcgvowel + $ddotmac? ) $rough → h | $1 ;
|
||
($gvowel + $ddotmac? ) $rough → H | $1 ;
|
||
| $1 $rough ← h ($evowel $macron $ddot? $evowel2_i $macron?) ;
|
||
| $1 $rough ← h ($evowel $ddot? $evowel2 $macron?) ;
|
||
| $1 $rough ← h ($evowel $macron? $ddot?) ;
|
||
| $1 $rough ← H ([AEIOUY] $macron $ddot? $evowel2_i $macron?) ;
|
||
| $1 $rough ← H ([AEIOUY] $ddot? $evowel2 $macron?) ;
|
||
| $1 $rough ← H ([AEIOUY] $macron? $ddot?) ;
|
||
| A $1 $rough ← H a ($macron $ddot? $evowel2_i $macron?) ;
|
||
| E $1 $rough ← H e ($macron $ddot? $evowel2_i $macron?) ;
|
||
| I $1 $rough ← H i ($macron $ddot? $evowel2_i $macron?) ;
|
||
| O $1 $rough ← H o ($macron $ddot? $evowel2_i $macron?) ;
|
||
| U $1 $rough ← H u ($macron $ddot? $evowel2_i $macron?) ;
|
||
| Y $1 $rough ← H y ($macron $ddot? $evowel2_i $macron?) ;
|
||
| A $1 $rough ← H a ($ddot? $evowel2 $macron?) ;
|
||
| E $1 $rough ← H e ($ddot? $evowel2 $macron?) ;
|
||
| I $1 $rough ← H i ($ddot? $evowel2 $macron?) ;
|
||
| O $1 $rough ← H o ($ddot? $evowel2 $macron?) ;
|
||
| U $1 $rough ← H u ($ddot? $evowel2 $macron?) ;
|
||
| Y $1 $rough ← H y ($ddot? $evowel2 $macron?) ;
|
||
| A $1 $rough ← H a ($macron? $ddot? ) ;
|
||
| E $1 $rough ← H e ($macron? $ddot? ) ;
|
||
| I $1 $rough ← H i ($macron? $ddot? ) ;
|
||
| O $1 $rough ← H o ($macron? $ddot? ) ;
|
||
| U $1 $rough ← H u ($macron? $ddot? ) ;
|
||
| Y $1 $rough ← H y ($macron? $ddot? ) ;
|
||
$smooth → ;
|
||
| $1 $smooth ← $notLetter { ([rR]) } [^hH$smooth$rough] ;
|
||
| $1 $smooth ← $notLetter { ($evowel $macron? $evowel2 $macron?) } [^$smooth$rough] ;
|
||
| $1 $smooth ← $notLetter { ($evowel $macron?) } [^$evowel2$smooth$rough] ;
|
||
Α ← A $macron ;
|
||
α ← a $macron ;
|
||
η ↔ e $macron ;
|
||
Η ↔ E $macron ;
|
||
φ ↔ ph ;
|
||
Ψ } $beforeLower ↔ Ps ;
|
||
Ψ ↔ PS ;
|
||
Φ } $beforeLower ↔ Ph ;
|
||
Φ ↔ PH ;
|
||
ψ ↔ ps ;
|
||
ω ↔ o $macron ;
|
||
Ω ↔ O $macron;
|
||
α ↔ a ;
|
||
Α ↔ A ;
|
||
β ↔ b ;
|
||
Β ↔ B ;
|
||
γ } $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 ;
|
||
ρ $rough ↔ rh;
|
||
Ρ $rough } $beforeLower ↔ Rh ;
|
||
Ρ $rough ↔ RH ;
|
||
ρ ↔ r ;
|
||
Ρ ↔ R ;
|
||
[Pp] { } [ςσΣϷϸϺϻ] → \' ;
|
||
Ϸ ↔ S\u030C ; # Ϸ GREEK CAPITAL LETTER SHO Uppercase_Letter Grek - L
|
||
ϸ ↔ s\u030C ; #ϸ GREEK SMALL LETTER SHO Lowercase_Letter Grek - L
|
||
Ϻ ↔ S\u0302 ; # Ϻ GREEK CAPITAL LETTER SAN Uppercase_Letter Grek - L
|
||
ϻ ↔ s\u0302 ; # ϻ GREEK SMALL LETTER SAN Lowercase_Letter Grek - L
|
||
ς } $beforeLetter ↔ s $underbar } $beforeLetter;
|
||
σ } $beforeLetter ↔ s } $beforeLetter;
|
||
$afterLetter { σ ↔ $afterLetter { s $underbar;
|
||
$afterLetter { ς ↔ $afterLetter { s ;
|
||
ς ↔ s $underbar;
|
||
σ ↔ s ;
|
||
Σ ↔ S ;
|
||
τ ↔ t ;
|
||
Τ ↔ T ;
|
||
$vowel {υ } ↔ u ;
|
||
υ ↔ y ;
|
||
$vowel { Υ ↔ U ;
|
||
Υ ↔ Y ;
|
||
χ ↔ ch ;
|
||
Χ } $beforeLower ↔ Ch ;
|
||
Χ ↔ CH ;
|
||
$ignore = [[:Mark:]''] * ;
|
||
| k ← c ;
|
||
| ph ← f ;
|
||
| i ← j ;
|
||
| k ← q ;
|
||
| b ← v } $vowel ;
|
||
| b ← w } $vowel;
|
||
| u ← v ;
|
||
| u ← w;
|
||
| K ← C ;
|
||
| Ph ← F ;
|
||
| I ← J ;
|
||
| K ← Q ;
|
||
| B ← V } $vowel ;
|
||
| B ← W } $vowel ;
|
||
| U ← V ;
|
||
| U ← W ;
|
||
$rough } $ignore [:UppercaseLetter:] → H ;
|
||
$ignore [:UppercaseLetter:] { $rough → H ;
|
||
$rough ← H ;
|
||
$rough ↔ h ;
|
||
ϐ → | β ;
|
||
ϑ → | θ ;
|
||
ϒ → | Υ ;
|
||
ϕ → | φ ;
|
||
ϖ → | π ;
|
||
ϰ → | κ ;
|
||
ϱ → | ρ ;
|
||
ϲ → | σ ;
|
||
Ϲ → | Σ; #U+03F9 GREEK CAPITAL LUNATE SIGMA SYMBOL
|
||
ϳ → j ;
|
||
ϴ → | Θ ;
|
||
ϵ → | ε ;
|
||
µ → | μ ;
|
||
ͺ → i;
|
||
← [Ππ] { \' } [Ss] ;
|
||
← [Νν] { \' } $egammaLike ;
|
||
::NFC (NFD) ;
|
||
:: ( [':?A-Za-zÀ-ÅÇ-ÏÑ-ÖÙ-Ýà-åç-ïñ-öù-ýÿ-ďĒ-ĥĨ-İĴ-ķĹ-ľŃ-ňŌ-őŔ-ťŨ-žƠ-ơƯ-ưǍ-ǜǞ-ǣǦ-ǰǴ-ǵǸ-țȞ-ȟȦ-ȳ\u0300-\u0337\u0339-\u0345΅-ΆΈ-ΊΌΎ-ΐΪ-ΰϊ-ώϓ-ϔЀ-ЁЃЇЌ-ЎЙйѐ-ёѓїќ-ўѶ-ѷӁ-ӂӐ-ӓӖ-ӗӚ-ӟӢ-ӧӪ-ӵӸ-ӹḀ-ẙẛẠ-ỹἀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼ῁-ῄῆ-ΐῖ-Ί῝-΅ῲ-ῴῶ-ῼK-Å] ) ;
|