# encoding: utf-8

##
# Copyright (C) Manish C Pillewar
#
# This is part of libvarnam. See LICENSE.txt for the license
##

language_code "mr"
identifier "mr"
display_name "Marathi"
author "Manish C Pillewar"
#stable true

#
# since Marathi uses Devnagri script, this file is very similar to Hindi mapping file
# except some specific vowel sounds
#

ignore_duplicates false

$virama = "\u{094D}"
$am = "\u{0902}"
$an = "\u{0901}"
$nukta = "\u{093c}"

virama "~" => "\u{094d}"

visarga "H" => "\u{0903}"

vowels "a" => "अ",
       ["aa", "A"] => ["आ", "ा"],
       ["AAA", ["aaa", "a"]] => ["आऽऽ", "ाऽऽ"],
       ["ae", ["a"]] => "ॲ",
       ["i",["e"]] => ["इ", "ि"],
       ["ee", "I", "ii"] => ["ई", "ी"],
       "u" => ["उ", "ु"],
       ["uu", "U", ["u"]] => ["ऊ", "ू"],
       ["RR", "Ru", ["ru", "ri"]] => ["ऋ", "\u{0943}"],
       ["RRu", ["RR", "Ru"]] => ["ॠ", "\u{0944}"],
       ["LR", ["Lr", "lR"]] => ["ऌ", "\u{0962}"],
       ["LLR", ["LR"]] => ["ॡ", "\u{0963}"],
       ["Ae"] => ["ऍ", "\u{0945}"],
       ["e", ["Ae"]] => ["ए", "े"],
       "ea" => ["एऽ", "ेऽ"],
       ["ai", "ei","E", ["e"]] => ["ऐ", "ै"],
       ["ay",["ai"]] => ["\u{090E}","\u{0946}"],
       "o" => ["ऒ", "\u{094A}"],
       "oa" => ["ओऽ", "ोऽ"],
       ["O", ["o"]] => ["ओ", "\u{094B}"],
       ["ou", "au", ["ow"]] => ["औ", "ौ"],
       ["aw", ["ou", "au"]] => ["ऑ", "ॉ"],
       ["N", "M"] => ["अं" ,"ं"],
       "aH" => ["अः", "ः"]

list :can_make_cluster do
consonants "k" => "क",
           ["q", ["k"]] => ["\u{0958}", "क#{$nukta}"],
           "kh" => "ख",
           ["Kh", ["kh"]] => ["\u{0959}", "ख#{$nukta}"],
 	         "g" => "ग",
           ["G"] => ["\u{095A}", "ग#{$nukta}"],
           ["gh",["g"]] => "घ",
	         "ng" =>  "ङ",

           "ch" => "च",
           ["Ch", ["ch"]] => "छ",
           "j"  => "ज",
           "z" => "ज#{$nukta}",
           ["jh", ["j"]] => "झ",
           "nj" => "ञ",

           "T" => "ट",
           ["Th", ["T"]] => "ठ",
           "D" => "ड",
           ["dd", ["D"]] => ["\u{095C}", "ड#{$nukta}"],
           "Dh" => "ढ",
           ["DH", ["Dh"]] => ["\u{095D}", "ढ#{$nukta}"],
           ["NN", ["n"]] => "ण",

           "t" => "त",
           ["th", ["t"]] => "थ",
           "d" => "द",
           ["dh", ["d"]] => "ध",
           "n" => "न",
           ["NNN", ["n"]] => ["ऩ", "न#{$nukta}"],

           ["p"] => "प",
           ["ph",["f"]] => "फ",
           [["ph"], "f"] => ["\u{095E}", "फ#{$nukta}"],
           "b" => "ब",
           ["bh", ["b"]] => "भ",
           "m" => "म",

           "y" => "य",
           ["Y", ["y"]] => ["\u{095F}", "य#{$nukta}"],
           "r" => ["र", "र#{$virama}"],
           ["R", ["r"]] => ["ऱ","र#{$nukta}"],
           "l" => ["ल", "ल#{$virama}"],
           ["L"] => "ळ",
           ["LL", ["L"]] => ["\u0934","ळ#{$nukta}"],
           ["v", "w"] => "व",
           "s" => "स",
           ["sh", ["s"]]  => "श",
           ["Sh", ["sh"]] => "ष",
           "h" => "ह"
end

ignore_duplicates true
can_make_cluster.each do |c1|
   can_make_cluster.each do |c2|
     if c1.match_type == 1
        consonants ["#{c1.pattern}#{c2.pattern}"] => ["#{c1.value1}#{$virama}#{c2.value1}"]
     else
        consonants [["#{c1.pattern}#{c2.pattern}"]] => ["#{c1.value1}#{$virama}#{c2.value1}"]
     end
   end
end


# conjuncts for more than 2 consonants
consonants "kkN" => "क्क्ण",
           "kky" => "क्क्य",
           "kty" => "क्त्य",
           "ktr" => "क्त्र",
           ["ktv", "ktw"] => "क्त्व",
           "kpr" => "क्प्र",
           "kthn" => "क्थ्न",
           "kny" => "क्न्य",
           "kShN" => "क्ष्ण",
           "kShm" => "क्ष्म",
           "kShy" => "क्ष्य",
           ["kShv", "kShw"] => "क्ष्व",
           ["ksv", "ksw"] => "क्स्व",
           "gjy" => "ग्ज्य",
           ["gdhv", "gdhw"] => "ग्ध्व",
           "gny" => "ग्न्य",
           "gbhy" => "ग्ब्य",
           "gry" => "ग्र्य",
           ["ghny", ["gny"]] => "घ्न्य",
           "ngkt" => "ङ्क्त",
           "ngkSh" => "ङ्क्ष",
           "ngkhy" => "ङ्ख्य",
           "nggy" => "ङ्ग्य",
           "nggr" => "ङ्ग्र",
           "ngghy" => "ङ्घ्य",
           "ngghr" => "ङ्घ्र",
           "chchy" => "च्च्य",
           "chChr" => "च्छ्र",
           ["chChv", "chChw"] => "च्छ्व",
           "jjny" => "ज्ज्ञ",
           "jjy" => "ज्ज्य",
           ["jjv", "jjw"] => "ज्ज्व",
           "jnyy" => "ज्ञ्य",
           "nyjny" => "ञ्ज्ञ",
           "nyshr" => "ञ्श्र",
           ["nyshv", "nyshw"] => "ञ्श्व",
           "NDy" => "ण्ड्य",
           "NDr" => "ण्ड्र",
           "tkr" => "त्क्र",
           "tkSh" => "त्क्ष",
           "tty" => "त्त्य",
           "ttr" => "त्त्र",
           ["ttv", "ttw"] => "त्त्व",
           "tny" => "त्न्य",
           "tpr" => "त्प्र",
           "tmy" => "त्म्य",
           "try" => "त्र्य",
           ["tvy", "twy"] => "त्व्य",
           "tst" => "त्स्त",
           "tsth" => "त्स्थ",
           "tsn" => "त्स्न",
           "tsm" => "त्स्म",
           "tsy" => "त्स्य",
           "tsr" => "त्स्र",
           ["tsv", "tsw"] => "त्स्व",
           "dgr" => "द्ग्र",
           "ddy" => "द्द्य",
           "ddr" => "द्द्र",
           ["ddv", "ddw"] => "द्द्व",
           "ddhy" => "द्ध्य",
           "ddhr" => "द्ध्र",
           ["ddhv", "ddhw"] => "द्ध्व",
           "dbr" => "द्ब्र",
           "dbh" => "द्ब्ह",
           "dbhy" => "द्ब्य",
           "dbhr" => "द्ब्र",
           "dry" => "द्र्य",
           ["dvy", "dwy"] => "द्व्य",
           ["dvr", "dwr"] => "द्व्र",
           "dhny" => "ध्न्य",
           "dhry" => "ध्र्य",
           "nkr" => "न्क्र",
           "nkl" => "न्क्ल",
           "nkSh" => "न्क्ष",
           "nty" => "न्त्य",
           "ntr" => "न्त्र",
           ["ntv", "ntw"] => "न्त्व",
           "ndy" => "न्द्य",
           "ndr" => "न्द्र",
           ["ndv", "ndw"] => "न्द्व",
           "ndhy" => "न्ध्य",
           "ndhr" => "न्ध्र",
           "nny" => "न्न्य",
           ["nnv", "nnw"] => "न्न्व",
           "npr" => "न्प्र",
           "nbr" => "न्ब्र",
           "nbhr" => "न्भ्र",
           ["nvy", "nwy"] => "न्व्य",
           "nsth" => "न्स्थ",
           "nsm" => "न्स्म",
           ["nsv", "nsw"] => "न्स्व",
           "pty" => "प्त्य",
           ["ptv", "ptw"] => "प्त्व",
           "psy" => "प्स्य",
           ["psv", "psw"] => "प्स्व",
           "bdhv" => "ब्ध्व",
           "mby" => "म्ब्य",
           "mpr" => "म्प्र",
           "rkSh" => "र्क्ष",
           "rgy" => "र्ग्य",
           "rgr" => "र्ग्र",
           "rghy" => "र्घ्य",
           "rngg" => "र्ङ्ग",
           "rchCh" => "र्च्छ",
           "rchy" => "र्च्य",
           "rjny" => "र्ज्ञ",
           ["rjv", "rjw"] => "र्ज्व",
           "rNy" => "र्ण्य",
           "rtm" => "र्त्म",
           "rty" => "र्त्य",
           "rtr" => "र्त्र",
           ["rtv", "rtw"] => "र्त्व",
           "rts" => "र्त्स",
           "rtt" => "र्त्त",
           "rthy" => "र्थ्य",
           "rddh" => "र्द्ध",
           "rdy" => "र्द्य",
           "rdr" => "र्द्र",
           ["rdv", "rdw"] => "र्द्व",
           "rdhn" => "र्ध्न",
           "rdhm" => "र्ध्म",
           "rdhy" => "र्ध्य",
           "rdhr" => "र्ध्र",
           ["rdhv", "rdhw"] => "र्ध्व",
           "rny" => "र्न्य",
           "rbr" => "र्ब्र",
           "rbhy" => "र्भ्य",
           "rbhr" => "र्भ्र",
           "rmy" => "र्म्य",
           ["rvy", "rwy"] => "र्व्य",
           ["rShv", "rShw"] => "र्ष्व",
           "rShT" => "र्ष्ट",
           "rShN" => "र्ष्ण",
           "rShy" => "र्ष्य",
           "rhy" => "र्ह्य",
           "rhr" => "र्ह्र",
           "lky" => "ल्क्य",
           ["shchy", "shcy"] => "श्च्य",
           "shry" => "श्र्य",
           ["shvy", "shwy"] => "श्व्य",
           "Shkr" => "ष्क्र",
           "ShTy" => "ष्ट्य",
           "ShTr" => "ष्ट्र",
           ["ShTv", "ShTw"] => "ष्ट्व",
           "ShThy" => "ष्ठ्य",
           "Shthr" => "ष्थ्र",
           "Shthy" => "ष्थ्य",
           "ShNy" => "ष्ण्य",
           "Shpr" => "ष्प्र",
           "sty" => "स्त्य",
           "str" => "स्त्र",
           ["stv", "stw"] => "स्त्व",
           "sthy" => "स्थ्य",
           "smy" => "स्म्य",
           "sny" => "स्न्य",
           ["ssv", "ssw"] => "स्स्व"

generate_cv

consonants(combine get_consonants, ["*a"] => ["*1"])


symbols ["om"] => "ॐ"

symbols({:priority => :low}, [["aan", "aam"]] => $an)

numbers "0" => "०",
        "1" => "१",
        "2" => "२",
        "3" => "३",
        "4" => "४",
        "5" => "५",
        "6" => "६",
        "7" => "७",
        "8" => "८",
        "9" => "९"
