﻿# © 2016 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html
# Generated using tools/cldr/cldr-to-icu/build-icu-data.xml
#
# File: mn_mn_Latn_BGN.txt
# Generated from CLDR
#

########################################################################
# BGN/PCGN 1964 System
#
# The BGN/PCGN system for Mongolian was adopted by the BGN in 1957
# and by the PCGN in 1964 for use in romanizing names written in
# the Mongolian Cyrillic alphabet. The Mongolian Cyrillic alphabet
# contains two letters not present in the Russian alphabet, Өө
# and Үү. Names written in the indigenous Mongolian alphabet, which
# is still utilized in the Inner Mongolia Autonomous Region of China,
# are not romanized by BGN and PCGN. Instead, for such names,
# BGN and PCGN utilize the Roman-script spellings appearing in
# official sources published by the People's Republic of China
#
# The Mongolian Alphabet as defined by the BGN (Page 73):
#
#   АБВГДЕЁЖЗИЙКЛМНОӨПРСТУҮФХЦЧШЩЪЫЬЭЮЯ
#   абвгдеёжзийклмноөпрстуүфхцчшщъыьэюя
#
# Originally prepared by Michael Everson <everson@evertype.com>
########################################################################
#
# MINIMAL FILTER: Mongolian-Latin, works both in NFC and NFD
::[АБВГДЕЁЖЗИЙКЛМНОӨПРСТУҮФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмноөпрстуүфхцчшщъыьэюя\u0308];
::NFC;
########################################################################
#
# Define All Transformation Variables
#
########################################################################
#
$prime  = ʹ ;
$upperConsonants = [БВГДЖЙКЛМНПРСТФХЦЧШЩЭ] ;
$lowerConsonants = [бвгджйклмнпрстфхцчшщэ] ;
$consonants = [$upperConsonants $lowerConsonants] ;
$upperVowels = [АЕЁЭИОУЫЮЯ] ;
$lowerVowels = [аеёэиоуыюя] ;
$vowels = [$upperVowels $lowerVowels] ;
$lower = [$lowerConsonants $lowerVowels] ;
# Use this $wordBoundary until bug 2034 is fixed in ICU:
# http://bugs.icu-project.org/cgi-bin/icu-bugs/transliterate?id=2034;expression=boundary;user=guest
$wordBoundary =  [^[:L:][:M:][:N:]] ;
########################################################################
# Start of Alphabetic Transformations
########################################################################
А → A ; # CYRILLIC CAPITAL LETTER A
а → a ; # CYRILLIC SMALL LETTER A
Б → B ; # CYRILLIC CAPITAL LETTER BE
б → b ; # CYRILLIC SMALL LETTER BE
В → V ; # CYRILLIC CAPITAL LETTER VE
в → v ; # CYRILLIC SMALL LETTER VE
Г → G ; # CYRILLIC CAPITAL LETTER GHE
г → g ; # CYRILLIC SMALL LETTER GHE
Д → D ; # CYRILLIC CAPITAL LETTER DE
д → d ; # CYRILLIC SMALL LETTER DE
Е} $lower → Yö ; # CYRILLIC CAPITAL LETTER IE
Е → YÖ ; # CYRILLIC CAPITAL LETTER IE
е → yö ; # CYRILLIC SMALL LETTER IE
Ё} $lower → Yo ; # CYRILLIC CAPITAL LETTER IO
Ё → YO ; # CYRILLIC CAPITAL LETTER IO
ё → yo ; # CYRILLIC SMALL LETTER IO
Ж → J ; # CYRILLIC CAPITAL LETTER ZHE
ж → j ; # CYRILLIC SMALL LETTER ZHE
З} $lower → Dz ; # CYRILLIC CAPITAL LETTER ZE
З → DZ ; # CYRILLIC CAPITAL LETTER ZE
з → dz ; # CYRILLIC SMALL LETTER ZE
И → I ; # CYRILLIC CAPITAL LETTER I
и → i ; # CYRILLIC SMALL LETTER I
Й → Y ; # CYRILLIC CAPITAL LETTER I
й → y ; # CYRILLIC SMALL LETTER I
К → K ; # CYRILLIC CAPITAL LETTER KA
к → k ; # CYRILLIC SMALL LETTER KA
Л → L ; # CYRILLIC CAPITAL LETTER EL
л → l ; # CYRILLIC SMALL LETTER EL
М → M ; # CYRILLIC CAPITAL LETTER EM
м → m ; # CYRILLIC SMALL LETTER EM
Н → N ; # CYRILLIC CAPITAL LETTER EN
н → n ; # CYRILLIC SMALL LETTER EN
О → O ; # CYRILLIC CAPITAL LETTER O
о → o ; # CYRILLIC SMALL LETTER O
Ө → Ö ; # CYRILLIC CAPITAL LETTER BARRED O
ө → ö ; # CYRILLIC SMALL LETTER BARRED O
П → P ; # CYRILLIC CAPITAL LETTER PE
п → p ; # CYRILLIC SMALL LETTER PE
Р → R ; # CYRILLIC CAPITAL LETTER ER
р → r ; # CYRILLIC SMALL LETTER ER
С → S ; # CYRILLIC CAPITAL LETTER ES
с → s ; # CYRILLIC SMALL LETTER ES
Т → T ; # CYRILLIC CAPITAL LETTER TE
т → t ; # CYRILLIC SMALL LETTER TE
У → U ; # CYRILLIC CAPITAL LETTER U
у → u ; # CYRILLIC SMALL LETTER U
Ү → Ü ; # CYRILLIC CAPITAL LETTER STRAIGHT U
ү → ü ; # CYRILLIC SMALL LETTER STRAIGHT U
Ф → F ; # CYRILLIC CAPITAL LETTER EF
ф → f ; # CYRILLIC SMALL LETTER EF
Х → H ; # CYRILLIC CAPITAL LETTER HA
х → h ; # CYRILLIC SMALL LETTER HA
Ц} $lower → Ts ; # CYRILLIC CAPITAL LETTER TSE
Ц → TS ; # CYRILLIC CAPITAL LETTER TSE
ц → ts ; # CYRILLIC SMALL LETTER TSE
Ч} $lower → Ch ; # CYRILLIC CAPITAL LETTER CHE
Ч → CH ; # CYRILLIC CAPITAL LETTER CHE
ч → ch ; # CYRILLIC SMALL LETTER CHE
########################################################################
# Implied rule from BGN Russian-Latin transliteration (Page 94 Note 3.6).
# шч becomes sh·ch
########################################################################
ШЧ → SH·CH ; # CYRILLIC CAPITAL LETTER SHA
Шч → Sh·ch ; # CYRILLIC CAPITAL LETTER SHA
шч → sh·ch ; # CYRILLIC SMALL LETTER SHA
Ш} $lower → Sh ; # CYRILLIC CAPITAL LETTER SHA
Ш → SH ; # CYRILLIC CAPITAL LETTER SHA
ш → sh ; # CYRILLIC SMALL LETTER SHA
Щ} $lower → Shch ; # CYRILLIC CAPITAL LETTER SHCHA
Щ → SHCH ; # CYRILLIC CAPITAL LETTER SHCHA
щ → shch ; # CYRILLIC SMALL LETTER SHCHA
########################################################################
# End Implied rule
########################################################################
Ъ → $prime ; # CYRILLIC CAPITAL LETTER HARD SIGN
ъ → $prime ; # CYRILLIC SMALL LETTER HARD SIGN
Ы → Ï ; # CYRILLIC CAPITAL LETTER YERU
ы → ï ; # CYRILLIC SMALL LETTER YERU
Ь → Ĭ ; # CYRILLIC CAPITAL LETTER SOFT SIGN
ь → ĭ ; # CYRILLIC SMALL LETTER SOFT SIGN
Э → E ; # CYRILLIC CAPITAL LETTER E
э → e ; # CYRILLIC SMALL LETTER E
########################################################################
#
# BGN Page 74 Rule 7
#
# In monosyllables, the character ю is romanized yu or yü depending on
# pronunciation; in polysyllables, it is romanized yu when followed by
# a, o, or u, buy yü when followed by i, e, ö, or ü.
#
# This rule is lexical and has not been implemented in this file.
#
########################################################################
Ю} $lower → Yu ; # CYRILLIC CAPITAL LETTER YU
Ю → YU ; # CYRILLIC CAPITAL LETTER YU
ю → yu ; # CYRILLIC SMALL LETTER YU
########################################################################
#
# End Rule 7
#
########################################################################
Я} $lower → Ya ; # CYRILLIC CAPITAL LETTER YA
Я → YA ; # CYRILLIC CAPITAL LETTER YA
я → ya ; # CYRILLIC SMALL LETTER YA

