﻿# © 2016 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html#License
#
# File: az_Cyrl_az_BGN.txt
# Generated from CLDR
#

#
########################################################################
# BGN/PCGN 1993 Agreement
#
# Azerbaijani is the official language of Azerbaijan. In 1991, the
# Azerbaijani government adopted a Roman alphabet to replace the
# existing Cyrillic alphabet. The Azerbaijani Cyrillic alphabet
# contains nine letters not present in the Russian alphabet:
# Ғғ, Әә, Јј, Ҝҝ, Өө, Үү, Һһ, Ҹҹ, and ’. Four obsolete letters
# Йй, Ээ, Юю and Яя are also given.
#
# The Azerbaijani Alphabet as defined by the BGN (Page 13):
#
#   АБВГҒДЕӘЖЗИЫЈКҜЛМНОӨПРСТУҮФХҺЧҸШЙЭЮЯ
#   абвгғдеәжзиыјкҝлмноөпрстуүфхһчҹш’йэюя
#
# Originally prepared by Michael Everson <everson@evertype.com>
########################################################################
#
# MINIMAL FILTER: AzerbaijaniCyrl-Latin
#
:: [АБВГҒДЕӘЖЗИЫКҜЛМНОӨПРСТУҮФХҺЧҸШЙЭЮЯабвгғдеәжзиыкҝлмноөпрстуүфхһчҹш’йэюя] ;
:: NFD (NFC) ;
#
#
########################################################################
#
########################################################################
#
# Define All Transformation Variables
#
########################################################################
#
$prime  = ’ ;
$wordBoundary =  [^[:L:][:M:][:N:]] ;
$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
#
#
#
########################################################################
#
########################################################################
#
# 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
Г → Q ; # CYRILLIC CAPITAL LETTER GHE
г → q ; # CYRILLIC SMALL LETTER GHE
Ғ → Ğ ; # CYRILLIC CAPITAL LETTER GHE WITH STROKE
ғ → ğ ; # CYRILLIC SMALL LETTER GHE WITH STROKE
Д → D ; # CYRILLIC CAPITAL LETTER DE
д → d ; # CYRILLIC SMALL LETTER DE
Е → E ; # CYRILLIC CAPITAL LETTER DE
е → e ; # CYRILLIC SMALL LETTER DE
#
########################################################################
#
# BGN Page 14 Note 1
#
# The special letter Ə ə, known as schwa, should be reproduced in that
# form whenever encountered. In those instances when it cannot be
# reproduced, however, the letter Ä ä may be substituted for it.
#
########################################################################
#
Ә → Ə; # CYRILLIC CAPITAL LETTER SCHWA
ә → ə; # CYRILLIC SMALL LETTER SCHWA
#
#
# Alternative rule when schwa is not available. To apply uncomment the
# following by removing the '#' mark at the start of the line and insert
# before the two rule lines above.
#
# Ә → Ä; # CYRILLIC CAPITAL LETTER SCHWA
# ә → ä; # CYRILLIC SMALL LETTER SCHWA
#
########################################################################
#
# End BGN Page 14 Note 1
#
########################################################################
Ж → J ; # CYRILLIC CAPITAL LETTER ZHE
ж → j ; # CYRILLIC SMALL LETTER ZHE
З → Z ; # CYRILLIC CAPITAL LETTER ZE
з → z ; # CYRILLIC SMALL LETTER ZE
И → İ ; # CYRILLIC CAPITAL LETTER I
и → i ; # CYRILLIC SMALL LETTER I
Ы → I ; # CYRILLIC CAPITAL LETTER YERU
ы → ı ; # CYRILLIC SMALL LETTER YERU
Ј → Y ; # CYRILLIC CAPITAL LETTER JE
ј → y ; # CYRILLIC SMALL LETTER JE
К → K ; # CYRILLIC CAPITAL LETTER KA
к → k ; # CYRILLIC SMALL LETTER KA
Ҝ → G ; # CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
ҝ → g ; # CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
Л → 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
Х → X ; # CYRILLIC CAPITAL LETTER HA
х → x ; # CYRILLIC SMALL LETTER HA
Һ → H ; # CYRILLIC CAPITAL LETTER SHHA
һ → h ; # CYRILLIC SMALL LETTER SHHA
Ч → Ç ; # CYRILLIC CAPITAL LETTER CHE
ч → ç ; # CYRILLIC SMALL LETTER CHE
Ҹ → C ; # CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
ҹ → c ; # CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
Ш → Ş ; # CYRILLIC CAPITAL LETTER SHA
ш → ş ; # CYRILLIC SMALL LETTER SHA
#
########################################################################
#
# BGN Page 13 Rule 33, maps the symbol onto itself and
# is ignored here for computational efficiency.
#
# $prime → $prime ; # RIGHT SINGLE QUOTATION MARK
#
########################################################################
#
########################################################################
#
# BGN Page 14 Note 2:
#
# The obsolete characters й, э, ю, and я should be romanized ẏ, ė,
# yu\u0307, and yȧ.
#
########################################################################
#
Й → Ẏ ; # CYRILLIC CAPITAL LETTER HARD SIGN
й → ẏ ; # CYRILLIC SMALL LETTER HARD SIGN
Э → Ė ; # CYRILLIC CAPITAL LETTER SOFT SIGN
э → ė ; # CYRILLIC SMALL LETTER SOFT SIGN
Ю} $lower → Yu\u0307 ; # CYRILLIC CAPITAL LETTER YU
Ю → YU\u0307 ; # CYRILLIC CAPITAL LETTER YU
ю → yu\u0307 ;  # CYRILLIC SMALL LETTER YU
Я} $lower → Yȧ ; # CYRILLIC CAPITAL LETTER YA
Я → YȦ ; # CYRILLIC CAPITAL LETTER YA
я → yȧ ; # CYRILLIC SMALL LETTER YA
#
#
########################################################################
#
# End BGN Page 14 Note 2.
#
########################################################################

