metadata {

authority_id: un
id: 2016
language: iso-639-2:kan
source_script: Kana
destination_script: Latn
name: Romanization of Kannada -- UNGEGN 4.0
url: https://www.eki.ee/wgrs/rom1_kn.pdf
creation_date: 1972
confirmation_date: 2016
description: |
  The United Nations recommended system was approved in 1972 (II/11) and amended in 1977
  (III/12), based on a report prepared by D. N. Sharma. The tables and their corrections were
  published in volume II of the conference reports

  There is no evidence of the use of the system either in India or in international cartographic
  products.

  Kannada uses an alphasyllabic script whereby each character represents a syllable rather than
  one sound. Vowels and diphthongs are marked in two ways: as independent characters (used
  syllable-initially) and in an abbreviated form, to denote vowels after consonants. The
  romanization table is unambiguous. The system is mostly reversible but there may exist some
  ambiguities in the romanization of vowels (independent vs. abbreviated characters) and
  consonants (combinations with subscript consonants vs. character sequences).

notes:
  - |
    While most consonants have a diacritic in the upper right corner of the character (like ಕ),
    some do not, e.g. ಖ kha, ಜ ja, ನ na, ಬ ba, ಲ la.
  - |
    Combinations with r as the first component are written by adding a special symbol after the
    second consonant: ರ್ಗ rga.

}

tests {

test "ಕರ್ಣಾಟಕ", "karṇāṭaka"
test "ಬೆಂಗಳೂರು", "bĕṁgaḷūru"
test "ಮಹಾರಾಷ್ಟ್ರದ ಯಾವುದೇ ಪ್ರಕರಣದ ತನಿಖೆಗೆ ಇನ್ನು ಸಿಬಿಐ ಪಡೆಯಬೇಕು ಅನುಮತಿ", "mahārāṣhṭrada yāvude prakaraṇada tanikhĕgĕ innu sibiai paḍĕyabeku anumati"
test "ಹರಕು ಬಾಯಿ: ಈಶ್ವರಪ್ಪಗೆ ಶಾಸಕ ಯತ್ನಾಳ ತಿರುಗೇಟು", "haraku bāyi: īshvarappagĕ shāsaka yatnāḷa tirugeṭu"
test "ಹಾಥರಸ್‌ ಪ್ರಕರಣ: ೨೯ರಂದು ರಾಷ್ಟ್ರವ್ಯಾಪಿ ಪ್ರತಿಭಟನೆಗೆ ಮಹಿಳಾ ಸಂಘಟನೆಗಳ ಕರೆ", "hātharas prakaraṇa: 29raṁdu rāṣhṭravyāpi pratibhaṭanĕgĕ mahiḷā saṁghaṭanĕgaḷa karĕ"
test "ಪೊಲೀಸ್‌ ಮಕ್ಕಳ ಶಾಲೆ ಮುಚ್ಚುವ ಯತ್ನಕ್ಕೆ ಹೊರಟ್ಟಿ ತೀವ್ರ ವಿರೋಧ", "pŏlīs makkaḷa shālĕ muchchuva yatnakkĕ hŏraṭṭi tīvra virodha"
test "ಅಮೆರಿಕ ಅಧ್ಯಕ್ಷೀಯ ಚುನಾವಣೆ: ಟ್ರಂಪ್‌–ಬೈಡನ್‌ ಅಂತಿಮ ಮುಖಾಮುಖಿಗೆ ವೇದಿಕೆ ಸಿದ್ಧ", "amĕrika adhyakṣhīya chunāvaṇĕ: ṭraṁp–baiḍan aṁtima mukhāmukhigĕ vedikĕ siddha"
test "ಅಂಜನಾದ್ರಿ ಆಂಜನೇಯನ ದರ್ಶನ ಪಡೆದ ಪವರ್ ಸ್ಟಾರ್ ಪುನೀತ್ ರಾಜ್ ಕುಮಾರ್", "aṁjanādri āṁjaneyana darshana paḍĕda pavar sṭār punīt rāj kumār"
test "ಇನ್ನು ಹಿಂದೂ ದೇವಸ್ಥಾನದ ಧಾರ್ಮಿಕ ಕಾರ್ಯದಲ್ಲಿ ಭಾಗಿಯಾಗಿದ್ದಕ್ಕೆ ಮೋಯಿದ್ದೀನ್ ಬಾವಾಗೆ ಬೆದರಿಕೆ ಒಡ್ಡಲಾಗಿದೆ", "innu hiṁdū devasthānada dhārmika kāryadalli bhāgiyāgiddakkĕ moyiddīn bāvāgĕ bĕdarikĕ ŏḍḍalāgidĕ"
test "ಇದು ಮೋದಿ ದೇಶ - ದನ ತಿಂದು ಹೋದ್ರೆ ಹುಷಾರ್ : ದೇಗುಲಕ್ಕೆ ಹೋಗಿದ್ದ ಬಾವಾಗೆ ಬೆದರಿಕೆ", "idu modi desha - dana tiṁdu hodrĕ huṣhār : degulakkĕ hogidda bāvāgĕ bĕdarikĕ"

}

aliases {

def_alias characters_set1,   any("\u0cbe\u0cbf\u0cc0\u0cc1\u0cc2\u0cc3\u0cc6\u0cc7\u0cc8\u0cca\u0ccb\u0ccc\u0ccd")

}

stage {

# RULES
# to cover diacritic and vowel less consonants
sub "ಕ", "k", after: characters_set1
sub "ಖ", "kh", after: characters_set1
sub "ಗ", "g", after: characters_set1
sub "ಘ", "gh", after: characters_set1
sub "ಙ", "ṅ", after: characters_set1
sub "ಚ", "ch", after: characters_set1
sub "ಛ", "chh", after: characters_set1
sub "ಜ", "j", after: characters_set1
sub "ಝ", "jh", after: characters_set1
sub "ಞ", "ñ", after: characters_set1
sub "ಟ", "ṭ", after: characters_set1
sub "ಠ", "ṭh", after: characters_set1
sub "ಡ", "ḍ", after: characters_set1
sub "ಢ", "ḍh", after: characters_set1
sub "ಣ", "ṇ", after: characters_set1
sub "ತ", "t", after: characters_set1
sub "ಥ", "th", after: characters_set1
sub "ದ", "d", after: characters_set1
sub "ಧ", "dh", after: characters_set1
sub "ನ", "n", after: characters_set1
sub "ಪ", "p", after: characters_set1
sub "ಫ", "ph", after: characters_set1
sub "ಬ", "b", after: characters_set1
sub "ಭ", "bh", after: characters_set1
sub "ಮ", "m", after: characters_set1
sub "ಯ", "y", after: characters_set1
sub "ರ", "r", after: characters_set1
sub "ಲ", "l", after: characters_set1
sub "ಳ", "ḷ", after: characters_set1
sub "ವ", "v", after: characters_set1
sub "ಶ", "sh", after: characters_set1
sub "ಷ", "ṣh", after: characters_set1
sub "ಸ", "s", after: characters_set1
sub "ಹ", "h", after: characters_set1

# CHARACTERS
parallel {
  sub "ಅ", "a"
  sub "ಆ", "ā"
  sub "ಇ", "i"
  sub "ಈ", "ī"
  sub "ಉ", "u"
  sub "ಊ", "ū"
  sub "ಋ", "ṛ"

  sub "ಎ", "ĕ"
  sub "ಏ", "e"
  sub "ಐ", "ai"

  sub "ಒ", "ŏ"
  sub "ಓ", "o"
  sub "ಔ", "au"

  # Gutturals
  sub "ಕ", "ka"
  sub "ಖ", "kha"
  sub "ಗ", "ga"
  sub "ಘ", "gha"
  sub "ಙ", "ṅa"

  # Palatals
  sub "ಚ", "cha"
  sub "ಛ", "chha"
  sub "ಜ", "ja"
  sub "ಝ", "jha"
  sub "ಞ", "ña"

  # Cerebrals
  sub "ಟ", "ṭa"
  sub "ಠ", "ṭha"
  sub "ಡ", "ḍa"
  sub "ಢ", "ḍha"
  sub "ಣ", "ṇa"

  # Dentals
  sub "ತ", "ta"
  sub "ಥ", "tha"
  sub "ದ", "da"
  sub "ಧ", "dha"
  sub "ನ", "na"

  # Labials
  sub "ಪ", "pa"
  sub "ಫ", "pha"
  sub "ಬ", "ba"
  sub "ಭ", "bha"
  sub "ಮ", "ma"

  # Semivowels
  sub "ಯ", "ya"
  sub "ರ", "ra"
  sub "ಲ", "la"
  sub "ಳ", "ḷa"

  sub "ವ", "va"

  # Sibilants
  sub "ಶ", "sha"
  sub "ಷ", "ṣha"
  sub "ಸ", "sa"

  # Aspirate
  sub "ಹ", "ha"

  # Bisarga
  sub "ಃ", "ḥ"

  # Anusvāra
  sub "ಂ", "ṁ"

  sub "\u0cbc", "" #nukta

  # Medials # Needed for connecting constants
  sub "ಾ", "ā"
  sub "ಿ", "i"
  sub "ೀ", "ī"
  sub "ು", "u"
  sub "ೂ", "ū"
  sub "ೃ", "ṛ"

  sub "ೆ", "ĕ"
  sub "ೇ", "e"
  sub "ೈ", "ai"

  sub "ೊ", "ŏ"
  sub "ೋ", "o"
  sub "ೌ", "au"

  sub "्", ""
  sub "़", ""
  sub "್", "" # used for pronounciation without vowel
  sub "‍", "" # no need for zero with joiner
  sub "‌", "" # no need for zero with non joiner

  # Digits

  sub "೦", "0"
  sub "೧", "1"
  sub "೨", "2"
  sub "೩", "3"
  sub "೪", "4"
  sub "೫", "5"
  sub "೬", "6"
  sub "೭", "7"
  sub "೮", "8"
  sub "೯", "9"
}

compose

}