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

# BGN/PCGN 1979 System
#
# The BGN/PCGN system for Belarusian (formerly Byelorussian) was
# designed for use in romanizing names written in the Belarusian
# Cyrillic alphabet. The Belarusian alphabet contains three
# letters not present in the Russian alphabet: Іі, Ўў, ’.
# One obsolete letter Ґґ is included.
#
# The Belarusian Alphabet as defined by the BGN (Page 23):
#
#   АБВГДЕЁЖЗІЙКЛМНОПРСТУЎФХЦЧШЫЬЭЮЯҐ
#   абвгдеёжзійклмнопрстуўфхцчшыьэюя’ґ
#
# Originally prepared by Michael Everson <everson@evertype.com>
########################################################################
::[АБВГДЕЁЖЗІЙКЛМНОПРСТУЎФХЦЧШЩЪЫЬЭЮЯҐабвгдеёжзійклмнопрстуўфхцчшщъыьэюя’ґ] ;
::NFC;
$prime  = ʹ ;
$doublePrime = ʺ ;
$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
Г → H ; # CYRILLIC CAPITAL LETTER GHE
г → h ; # CYRILLIC SMALL LETTER GHE
Д → D ; # CYRILLIC CAPITAL LETTER DE
д → d ; # CYRILLIC SMALL LETTER DE
Е} $lower → Ye ; # CYRILLIC CAPITAL LETTER IE
Е → YE ; # CYRILLIC CAPITAL LETTER IE
е → ye ; # CYRILLIC SMALL LETTER IE
Ё} $lower → Yo ; # CYRILLIC CAPITAL LETTER IO
Ё → YO ; # CYRILLIC CAPITAL LETTER IO
ё → yo ; # CYRILLIC SMALL LETTER IO
Ж} $lower → Zh ; # CYRILLIC CAPITAL LETTER ZHE
Ж → ZH ; # CYRILLIC CAPITAL LETTER ZHE
ж → zh ; # CYRILLIC SMALL LETTER ZHE
Ш} $lower → Sh;
Ш → SH;
ш → sh;
########################################################################
#
# BGN Page 23 Note 1
#
# The character sequences зг, цг, сг, тс, and кг may be romanized z·h,
# k·h, s·h, t·s and ts·h in order to differentiate those romanizations
# from the digraphs zh, kh, sh, ts, and the letter sequence tsh, which
# are used to render characters ж, х, ш, ц, and the character sequence тш.
#
########################################################################
ЗГ → Z·H ; # CYRILLIC CAPITAL LETTER ZE
Зг → Z·h ; # CYRILLIC CAPITAL LETTER ZE
зг → z·h ; # CYRILLIC SMALL LETTER ZE
З → Z ; # CYRILLIC CAPITAL LETTER ZE
з → z ; # CYRILLIC SMALL LETTER ZE
########################################################################
#
# End Rule 1
#
########################################################################
І → I ; # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
і → i ; # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
Й → Y ; # CYRILLIC CAPITAL LETTER I
й → y ; # CYRILLIC SMALL LETTER I
########################################################################
#
# BGN Page 23 Rule 1
#
# кг becomes k·h
#
########################################################################
КГ → K·H ; # CYRILLIC CAPITAL LETTER KA
Кг → K·h ; # CYRILLIC CAPITAL LETTER KA
кг → k·h ; # CYRILLIC SMALL LETTER KA
К → K ; # CYRILLIC CAPITAL LETTER KA
к → k ; # CYRILLIC SMALL LETTER KA
########################################################################
#
# End Rule 1
#
########################################################################
Л → 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
П → P ; # CYRILLIC CAPITAL LETTER PE
п → p ; # CYRILLIC SMALL LETTER PE
Р → R ; # CYRILLIC CAPITAL LETTER ER
р → r ; # CYRILLIC SMALL LETTER ER
########################################################################
#
# BGN Page 23 Rule 1
#
# сг becomes s·h
#
########################################################################
СГ → S·H ; # CYRILLIC CAPITAL LETTER ES
Сг → S·h ; # CYRILLIC CAPITAL LETTER ES
сг → s·h ; # CYRILLIC SMALL LETTER ES
С → S ; # CYRILLIC CAPITAL LETTER ES
с → s ; # CYRILLIC SMALL LETTER ES
########################################################################
#
# End Rule 1
#
########################################################################
#
########################################################################
#
# BGN Page 23 Rule 1
#
# тс becomes t·s
#
########################################################################
ТС → T·S ; # CYRILLIC CAPITAL LETTER TE
Тс → T·s ; # CYRILLIC CAPITAL LETTER TE
тс → t·s ; # CYRILLIC SMALL LETTER TE
Т → T ; # CYRILLIC CAPITAL LETTER TE
т → t ; # CYRILLIC SMALL LETTER TE
########################################################################
#
# End Rule 1
#
########################################################################
У → U ; # CYRILLIC CAPITAL LETTER U
у → u ; # CYRILLIC SMALL LETTER U
Ў → W ; # CYRILLIC CAPITAL LETTER SHORT U
ў → w ; # CYRILLIC SMALL LETTER SHORT U
Ф → F ; # CYRILLIC CAPITAL LETTER EF
ф → f ; # CYRILLIC SMALL LETTER EF
Х} $lower → Kh ; # CYRILLIC CAPITAL LETTER HA
Х → KH ; # CYRILLIC CAPITAL LETTER HA
х → kh ; # CYRILLIC SMALL LETTER HA
########################################################################
#
# BGN Page 23 Rule 1
#
# цг becomes ts·h
#
########################################################################
ЦГ → TS·H ; # CYRILLIC CAPITAL LETTER TSE
Цг → Ts·h ; # CYRILLIC CAPITAL LETTER TSE
цг → ts·h ; # CYRILLIC SMALL LETTER TSE
Ц} $lower → Ts ; # CYRILLIC CAPITAL LETTER TSE
Ц → TS ; # CYRILLIC CAPITAL LETTER TSE
ц → ts ; # CYRILLIC SMALL LETTER TSE
########################################################################
#
# End Rule 1
#
########################################################################
Ч} $lower → Ch ; # CYRILLIC CAPITAL LETTER CHE
Ч → CH ; # CYRILLIC CAPITAL LETTER CHE
ч → ch ; # CYRILLIC SMALL LETTER CHE
Ы → Y ; # CYRILLIC CAPITAL LETTER YERU
ы → y ; # CYRILLIC SMALL LETTER YERU
Ь → $prime ; # CYRILLIC CAPITAL LETTER SOFT SIGN
ь → $prime ; # CYRILLIC SMALL LETTER SOFT SIGN
Э → E ; # CYRILLIC CAPITAL LETTER E
э → e ; # CYRILLIC SMALL LETTER E
Ю} $lower → Yu ; # CYRILLIC CAPITAL LETTER YU
Ю → YU ; # CYRILLIC CAPITAL LETTER YU
ю → yu ; # CYRILLIC SMALL LETTER YU
Я} $lower → Ya ; # CYRILLIC CAPITAL LETTER YA
Я → YA ; # CYRILLIC CAPITAL LETTER YA
я → ya ; # CYRILLIC SMALL LETTER YA
’ → $doublePrime ; # LEFT SINGLE QUOTATION MARK
########################################################################
#
# BGN Page 23 Note 2
#
# The obsolete character ґ should be romanized g.
#
########################################################################
Ґ → G ; # CYRILLIC CAPITAL LETTER GHE WITH UPTURN
ґ → g ; # CYRILLIC SMALL LETTER GHE WITH UPTURN

