metadata {

authority_id: alalc
id: 2013
language: iso-639-2:srp
source_script: Cyrl
destination_script: Latn
name: Romanization Table -- Serbian (2013)
url: https://www.loc.gov/catdir/cpso/romanization/serbian.pdf
creation_date: 2013
description: |
  Serbian uses the Cyrillic and Roman alphabets. When the Roman alphabet is used it is the same as Croatian.

}

tests {

test "Шупља Стена", "Šuplja Stena"
test "Чукарица", "Čukarica"
test "Црна Трава", "Crna Trava"
test "Херцег Нови", "Herceg Novi"
test "Улцињ", "Ulcinj"
test "Ужице", "Užice"
test "Тресаначка Река", "Tresanačka Reka"
test "Сјеница", "Sjenica"
test "Рожаје", "Rožaje"
test "Пљевља", "Pljevlja"
test "Оџаци", "Odžaci"
test "Никшић", "Nikšić"
test "Медвеђа", "Medveđa"
test "Лозница", "Loznica"
test "Књажевац", "Knjaževac"
test "Зрењанин", "Zrenjanin"
test "Житорађа", "Žitorađa"
test "Ервеник", "Ervenik"
test "Доње Љупче", "Donje Ljupče"
test "Гусиње", "Gusinje"
test "ГУСИЊЕ", "GUSINJE"
test "Врњачка Бања", "Vrnjačka Banja"
test "Бијело Поље", "Bijelo Polje"
test "Алибунар", "Alibunar"

}

aliases {

def_alias srp_multichar, any(["Lj", "Nj", "Dž"])
def_alias srp_latupper, any("A".."Z")

}

stage {

# CHARACTERS
parallel {
  sub "А", "A"
  sub "Б", "B"
  sub "В", "V"
  sub "Г", "G"
  sub "Д", "D"
  sub "Ђ", "Đ" # Đ
  sub "Е", "E"
  sub "Ж", "Ž" # Ž
  sub "З", "Z"
  sub "И", "I"
  sub "Ј", "J"
  sub "К", "K"
  sub "Л", "L"
  sub "Љ", "Lj"
  sub "М", "M"
  sub "Н", "N"
  sub "Њ", "Nj"
  sub "О", "O"
  sub "П", "P"
  sub "Р", "R"
  sub "С", "S"
  sub "Т", "T"
  sub "Ћ", "Ć" # Ć
  sub "У", "U"
  sub "Ф", "F"
  sub "Х", "H"
  sub "Ц", "C"
  sub "Ч", "Č" # Č
  sub "Џ", "Dž" # Dž
  sub "Ш", "Š" # Š
  sub "а", "a"
  sub "б", "b"
  sub "в", "v"
  sub "г", "g"
  sub "д", "d"
  sub "ђ", "đ" # đ
  sub "е", "e"
  sub "ж", "ž" # ž
  sub "з", "z"
  sub "и", "i"
  sub "ј", "j"
  sub "к", "k"
  sub "л", "l"
  sub "љ", "lj"
  sub "м", "m"
  sub "н", "n"
  sub "њ", "nj"
  sub "о", "o"
  sub "п", "p"
  sub "р", "r"
  sub "с", "s"
  sub "т", "t"
  sub "ћ", "ć" # ć́
  sub "у", "u"
  sub "ф", "f"
  sub "х", "h"
  sub "ц", "c"
  sub "ч", "č" # č
  sub "џ", "dž" # dž
  sub "ш", "š" # š
}

# POSTRULES
sub srp_multichar, upcase, before: srp_latupper
sub srp_multichar, upcase, after: srp_latupper
compose

}