metadata {

authority_id: alalc
id: 2012
language: iso-639-2:san
source_script: Deva
destination_script: Latn
name: Romanization Table -- Sanskrit (2012)
url: https://www.loc.gov/catdir/cpso/romanization/sanskrit.pdf
creation_date: 2012
description: |
  ALA-LC Romanization table for Sanskrit

notes:

  - Only the vowel forms that appear at the beginning of a syllable are listed; the forms used for
    vowels following a consonant can be found in grammars; no distinction between the two is
    made in transliteration.

  - |
    The vowel a is implicit after all consonants and consonant clusters and is supplied in
    transliteration, with the following exceptions:

    a) when another vowel is indicated by its appropriate sign; and
    b) when the absence of any vowel is indicated by the subscript sign ( ् ) called halanta or
       virāma.

  - |
    Exception: Anusvāra is transliterated by:

    a) ṅ before gutturals,
    b) ñ before palatals,
    c) ṇ before cerebrals,
    d) n before dentals, and
    e) m before labials.
    In other circumstances it is transliterated by a tilde (~) over the vowel.

  - When doubled, avagraha is transliterated by two apostrophes ( ’’ ).

}

tests {

test "पूर्णमदः पूर्णमिदं पूर्णात् पूर्ण्मुदच्यते", "pūrṇamadaḥ pūrṇamidaṃ pūrṇāt pūrṇmudacyate"
test "पूर्णस्य पूर्णमादाय पूर्णमेवावशिष्यते", "pūrṇasya pūrṇamādāya pūrṇamevāvaśiṣyate"
test "यथा चतुर्भिः कनकं परीक्ष्यते निर्घषणच्छेदन तापताडनैः", "yathā caturbhiḥ kanakaṃ parīkṣyate nirghaṣaṇacchedana tāpatāḍanaiḥ"
test "तथा चतुर्भिः पुरुषः परीक्ष्यते त्यागेन शीलेन गुणेन कर्मणा", "tathā caturbhiḥ puruṣaḥ parīkṣyate tyāgena śīlena guṇena karmaṇā"
test "यो न हृष्यति न द्वेष्टि न शोचति न काङ्‍क्षति", "yo na hṛṣyati na dveṣṭi na śocati na kāṅkṣati"
test "शुभाशुभपरित्यागी भक्तिमान्यः स मे प्रियः", "śubhāśubhaparityāgī bhaktimānyaḥ sa me priyaḥ"
test "सत्य -सत्यमेवेश्वरो लोके सत्ये धर्मः सदाश्रितः", "satya -satyameveśvaro loke satye dharmaḥ sadāśritaḥ"
test "सत्यमूलनि सर्वाणि सत्यान्नास्ति परं पदम्", "satyamūlani sarvāṇi satyānnāsti paraṃ padam"
test "पिता माताग्निरात्मा च गुरुश्च भरतर्षभ", "pitā mātāgnirātmā ca guruśca bharatarṣabha"

}

aliases {

def_alias deva_chars_1, any("\u093e\u093f\u0940\u0941\u0942\u0943\u0944\u0947\u0948\u094b\u094c\u094d")

}

stage {

# RULES
# note [2]
  sub "क", "k", after: deva_chars_1
  sub "ख", "kh", after: deva_chars_1
  sub "ग", "g", after: deva_chars_1
  sub "घ", "gh", after: deva_chars_1
  sub "ङ", "ṅ", after: deva_chars_1
  sub "च", "c", after: deva_chars_1
  sub "छ", "ch", after: deva_chars_1
  sub "ज", "j", after: deva_chars_1
  sub "झ", "jh", after: deva_chars_1
  sub "ञ", "ñ", after: deva_chars_1
  sub "ट", "ṭ", after: deva_chars_1
  sub "ठ", "ṭh", after: deva_chars_1
  sub "ड", "ḍ", after: deva_chars_1
  sub "ढ", "ḍh", after: deva_chars_1
  sub "ण", "ṇ", after: deva_chars_1
  sub "त", "t", after: deva_chars_1
  sub "थ", "th", after: deva_chars_1
  sub "द", "d", after: deva_chars_1
  sub "ध", "dh", after: deva_chars_1
  sub "न", "n", after: deva_chars_1
  sub "प", "p", after: deva_chars_1
  sub "फ", "ph", after: deva_chars_1
  sub "ब", "b", after: deva_chars_1
  sub "भ", "bh", after: deva_chars_1
  sub "म", "m", after: deva_chars_1
  sub "य", "y", after: deva_chars_1
  sub "र", "r", after: deva_chars_1
  sub "ल", "l", after: deva_chars_1
  sub "ळ", "ḻ", after: deva_chars_1
  sub "व", "v", after: deva_chars_1
  sub "श", "ś", after: deva_chars_1
  sub "ष", "ṣ", after: deva_chars_1
  sub "स", "s", after: deva_chars_1
  sub "ह", "h", after: deva_chars_1
# note[3]
  sub "\u0902", "ṅ", after: any("कखगघङ")
  sub "\u0902", "ñ", after: any("चछजझञ")
  sub "\u0902", "ṇ", after: any("टठडढण")
  sub "\u0902", "n", after: any("तथदधन")

# CHARACTERS
parallel {

  # I. Vowels and Diphthongs (see Note 1)

  sub "अ", "a"
  sub "आ", "ā"
  sub "इ", "i"
  sub "ई", "ī"
  sub "उ", "u"
  sub "ऊ", "ū"
  sub "ऋ", "ṛ"
  sub "ॠ", "ṝ"
  sub "ऌ", "ḷ"
  sub "ए", "e"
  sub "ऐ", "ai"
  sub "ओ", "o"
  sub "औ", "au"

  # II. Consonants (see Note 2)
  # Gutturals
  sub "क", "ka"
  sub "ख", "kha"
  sub "ग", "ga"
  sub "घ", "gha"
  sub "ङ", "ṅa"

  # Palatals
  sub "च", "ca"
  sub "छ", "cha"
  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 "श", "śa"
  sub "ष", "ṣa"
  sub "स", "sa"

  # Aspirate
  sub "ह", "ha"

  # Anusvāra
  sub "ं", "ṃ"

  # Bisarga
  sub "ः", "ḥ"

  # Anunāsika
  sub "ँ", "m̐"

  # Abagraha
  sub "ऽ", "’" # (apostrophe)

  #Jihvāmūlīya
  sub "\u0CF1", "ẖ"

  #Upadhmānīya
  sub "\u0CF2", "ḫ"

  # Medials # Needed for connecting constants
  sub "ा", "ā"
  sub "ि", "i"
  sub "ी", "ī"
  sub "ु", "u"
  sub "ू", "ū"
  sub "ृ", "ṛ"
  sub "ॄ", "ṝ"
  sub "े", "e"
  sub "ै", "ai"
  sub "ो", "o"
  sub "ौ", "au"
  sub "्", ""
  sub "‍", "" # Used for joining
}

compose

}