1 # © 2016 and later: Unicode, Inc. and others.
2 # License & terms of use: http://www.unicode.org/copyright.html#License
8 # Japanese (Rōmaji) to Russian (Cyrillic) Polivanov transliteration for ICU.
9 # Can be run in sequence after e.g. Katakana-Latin.
11 # These rules cannot be used to target Bulgarian, Serbian, Tajik, or Ukrainian.
13 # TODO: Cyrillization needs to respect morpheme/Kanji boundaries.
14 # 中井 becomes Накаи, but 北海道 becomes Хоккайдо. We need boundary
15 # markup in the input in order to do that properly.
21 $lengthMarker = [\u0302\u0304];
24 # Delete apostrophes. Apostrophes after "n" are consumed below.
28 # Turn long /e:/ into diphthong /ei/.
29 # Note that /ei/ across a morpheme boundary (e.g. 武井 Takei) becomes эи.
30 e $lengthMarker → эй ;
33 # Turn long /i:/ into two vowels /ii/.
34 i $lengthMarker → | i i ;
37 # Ignore vowel length everywhere else.
43 # TODO(mjansche): Enable diphthongs once we have Kanji boundaries.
69 tsu\~ → | ts ; # ツァ, ツィ, etc.
77 n } [bpm] → м ; # 群馬 → Гумма
91 yi → и ; # Added for convenience, after sh, ch, j.
93 ye → е ; # ?? unobserved
112 dji\~ → | z ; # ヂャ, ヂュ, etc.
115 dzu\~ → | z ; # ヅァ, ヅィ, etc.
121 vu\~ → | v ; # ヴァ, etc.
122 v → в ; # ?? unobserved