﻿# ***************************************************************************
# *
# *  Copyright (C) 2004-2014, International Business Machines
# *  Corporation; Unicode, Inc.; and others.  All Rights Reserved.
# *
# ***************************************************************************
# File: Belarusian_Latin_BGN.txt
# Generated from CLDR 
#
:: [АБВГДЕЁЖЗІЙКЛМНОПРСТУЎФХЦЧШЩЪЫЬЭЮЯҐабвгдеёжзійклмнопрстуўфхцчшщъыьэюя’ґ] ;
:: NFD (NFC) ;
$prime  = ʹ ;
$doublePrime = ʺ ;
$upperConsonants = [БВГДЖЗЙКЛМНПРСТЎФХЦЧШЬҐ] ;
$lowerConsonants = [бвгджзйклмнпрстўфхцчшь’ґ] ;
$consonants = [$upperConsonants $lowerConsonants] ;
$upperVowels = [АЕЁІОУЫЭЮЯ] ;
$lowerVowels = [аеёіоуыэюя] ;
$vowels = [$upperVowels $lowerVowels] ;
$lower = [$lowerConsonants $lowerVowels] ;
$wordBoundary =  [^[:L:][:M:][:N:]] ;
А → 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
ЗГ → 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
І → I ; # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
і → i ; # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
Й → Y ; # CYRILLIC CAPITAL LETTER I
й → y ; # CYRILLIC SMALL LETTER I
КГ → 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
Л → 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
СГ → 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
ТС → 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
У → 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
ЦГ → 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
Ч} $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
Ґ → G ; # CYRILLIC CAPITAL LETTER GHE WITH UPTURN
ґ → g ; # CYRILLIC SMALL LETTER GHE WITH UPTURN
