]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/data/translit/ru_ru_Latn_BGN.txt
ICU-62107.0.1.tar.gz
[apple/icu.git] / icuSources / data / translit / ru_ru_Latn_BGN.txt
index 8c751391c4c494be43a1082ae13b1d1cd72eb2bf..be3a4e87664d62dda4489a7df08776148f416c7c 100644 (file)
@@ -1,11 +1,8 @@
-# ***************************************************************************
-# *
-# *  Copyright (C) 2004-2016, International Business Machines
-# *  Corporation; Unicode, Inc.; and others.  All Rights Reserved.
-# *
-# ***************************************************************************
+# © 2016 and later: Unicode, Inc. and others.
+# License & terms of use: http://www.unicode.org/copyright.html#License
+#
 # File: ru_ru_Latn_BGN.txt
-# Generated from CLDR 
+# Generated from CLDR
 #
 
 # BGN/PCGN 1947 System
 ########################################################################
 # MINIMAL FILTER: Russian-Latin
 ::[АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя];
-# BUG(ftang) remove the following line. Otherwise the rule for
-# Й й Ё ё will break since the rule is written in NFC but
-# the line decomposes the text.
-# :: NFD (NFC) ;
+::NFC;
 ########################################################################
 # Define All Transformation Variables
 ########################################################################
 $prime = ʹ ;
 $doublePrime = ʺ ;
 $wordBoundary = [^[:L:][:M:][:N:]] ;
-$upperConsonants = [БВГДЖЙКЛМНПРСТФХЦЧШЩЭ] ;
-$lowerConsonants = [бвгджйклмнпрстфхцчшщэ] ;
-$consonants = [$upperConsonants $lowerConsonants] ;
 $upperVowels = [АЕЁЭИОУЫЮЯ] ;
 $lowerVowels = [аеёэиоуыюя] ;
 $vowels = [$upperVowels $lowerVowels] ;
-$lower = [$lowerConsonants $lowerVowels] ;
-$upper = [$upperConsonants $upperVowels] ;
+$upperConsonants = [[:Uppercase:]-$vowels] ;
+$lowerConsonants = [[:Lowercase:]-$vowels] ;
+$consonants = [$upperConsonants $lowerConsonants] ;
+$upper = [:Uppercase:];
+$lower = [:Lowercase:];
 ########################################################################
 # Rules moved to front to avoid masking
 ########################################################################
 $lowerVowels { ы → ·y ;
-$upperVowels { [Ыы] → ·Y ;
+$upperVowels { [Ыы] } $lower → ·y ;
+$upperVowels { [Ыы] } → ·Y ;
 [$consonants - [Йй]]{Э → ·E ;
 [$consonants - [Йй]]{э → ·e ;
 [$upperVowels [ЙЪЬ]] { Е } $upper → YE ; # CYRILLIC CAPITAL LETTER IE
@@ -56,9 +51,9 @@ $upperVowels { [Ыы] → ·Y ;
 [$upperVowels [ЙЪЬ]] { Ё } $upper → YË ; # CYRILLIC CAPITAL LETTER IO
 [$upperVowels [ЙЪЬ]] { Ё → Yë ; # CYRILLIC CAPITAL LETTER IO
 [$upperVowels $lowerVowels [ЙйЪъЬь]] { ё → yë ; # CYRILLIC SMALL LETTER IO
-# Since in the above rule we look use the context before the characters,
-# we have to perform them in a separate pass before we change the vowels
-# the ::Null forces a separate pass.
+# Since in the above rule we look at the Cyrillic context before the E/Ё/ё,
+# we have to transform these in a separate pass before we change the vowels.
+# The ::Null forces a separate pass.
 ::Null;
 ########################################################################
 # Start of Alphabetic Transformations
@@ -110,8 +105,8 @@ $wordBoundary{е → ye ; # CYRILLIC SMALL LETTER IE
 # BUG(ftang)- the following two lines said BEFORE the vowels, instead of AFTER
 # Ё}[$upperVowels [ЙЪЬ]] → YË ; # CYRILLIC CAPITAL LETTER IO
 # Ё}[$lowerVowels [йъь]] → Yë ; # CYRILLIC CAPITAL LETTER IO
-$wordBoundary {Ё} $upper → YË ; # CYRILLIC CAPITAL LETTER IO
-$wordBoundary {Ё} $lower → Yë ; # CYRILLIC CAPITAL LETTER IO
+$wordBoundary {Ё} [·]? $upper → YË ; # CYRILLIC CAPITAL LETTER IO
+$wordBoundary {Ё} [·]? $lower → Yë ; # CYRILLIC CAPITAL LETTER IO
 Ё → Ë ; # CYRILLIC CAPITAL LETTER IO
 # BUG(ftang)- the following line said BEFORE the vowels, instead of AFTER
 # ё}[$upperVowels $lowerVowels [ЙйЪъЬь]] → yë ; # CYRILLIC SMALL LETTER IO