# encoding: utf-8

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

language_code "gu"
identifier "gu"
display_name "Gujarati"
author "Rohit Bansal"

$nukta = "\u{0ABC}"
$virama = "\u{0ACD}"

virama "~" => "\u{0ACD}"
visarga "H" => "\u{0A83}"

vowels "a" => "અ",
       ["aa", "A", ["a"]]  => ["આ", "ા"],
       ["AA", ["aa"]] => ["આઽઽ", "ાઽઽ"],
       ["i", ["y"]] => ["ઇ", "િ"],
       ["ii", "I", "ee", ["i"]] => ["ઈ", "ી"],
       "u" => ["ઉ","ુ"],
       ["uu", "oo", "U", ["u"]] => ["ઊ", "ૂ"],

       ["R", ["r"]] => ["ઋ", "\u{0AC3}"],
       ["RR", ["R"]] => ["ૠ", "\u{0AC4}"],
       ["Lr", ["lr"]] => ["ઌ", "\u{0AE2}"],
       ["LLr", ["Lr"]] => ["ૡ", "\u{0AE3}"],

       "e" => ["ઍ", "\u{0AC5}"],
       ["E", ["e"]] => ["એ", "ે"],
       "ea" => ["એઽ", "ેઽ"],
       ["eA", ["ea"]] => ["એઽઽ", "ેઽઽ"],
       ["ai", "ei"] => ["ઐ", "ૈ"],
       "o" => ["ઑ", "\u{0AC9}"],
       ["O", ["o"]] => ["ઓ", "ો"],
       "oa" => ["ઓઽ", "ોઽ"],
       ["au", "ow", "ou"]  => ["ઔ", "ૌ"],
       ["N", "M"] => ["અં", "\u{0A82}"],
       ["AN"] => ["આ\u{0A81}", "ા\u{0A81}"],
       ["IN"] => ["ઈ\u{0A81}", "ી\u{0A81}"],
       ["UN"] => ["ઊ\u{0A81}", "ૂ\u{0A81}"],
       ["H"] => ["અઃ", "\u{0A83}"]

list :can_make_cluster do
consonants "k" => "ક",
           ["kh", ["k"]] => "ખ",
           "g"  => "ગ",
           ["gh", ["g"]] => "ઘ",
           ["NG", ["ng"]] => "ઙ",

           "ch" => "ચ",
           ["Ch", ["ch"]] => "છ",
           "j" => "જ",
           ["jh" ["j"]] => "ઝ",
           ["NJ", ["nj"]] => "ઞ",

           "T" => "ટ",
           ["TH", ["T"]] => "ઠ",
           "D" => "ડ",
           ["DH",["D"]] => "ઢ",
           "NN" => "ણ",

           "t" => "ત",
           ["th", ["t"]] => "થ",
           "d" => "દ",
           ["dh", ["d"]] => "ધ",
           "n" => "ન",
           
           "p" => "પ",
           ["ph", "f", ["p"]] => "ફ",
           "b" => "બ",
           ["bh", ["b"]] => "ભ",
           "m" => "મ",
           
           "y" => "ય",
           "r" => "ર",
           "l" => "ળ",
           ["L", ["l"]] => "લ",
           ["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

# following are the consonants clusters, having more than 2 consonants
consonants "kTr" => "ક્ટ્ર",
           "kty" => "ક્ત્ય",
           "ktr" => "ક્ત્ર",
           ["ktv", "ktw"] => "ક્ત્વ",
           "kry" => "ક્ર્ય",
           "kShm" => "ક્ષ્મ",
           "kShy" => "ક્ષ્ય",
           ["kShv", "kShw"] => "ક્ષ્વ",
           ["gdhv", "gdhw"] => "ગ્ધ્વ",
           "gry" => "ગ્ર્ય",
           "ghry" => "ઘ્ર્ય",
           "NGkSh" => "ઙ્ક્ષ",
           "chChr" => "ચ્છ્ર",
           ["chChv", "chChw"] => "ચ્છ્વ",
           "jjNJ" => "જ્જ્ઞ",
           ["jjv", "jjw"] => "જ્જ્વ",
           "jNJy" => "જ્ઞ્ય",
           "NJchy" => "ઞ્ચ્ય",
           "NJjNJ" => "ઞ્જ્ઞ",
           "NJjy" => "ઞ્જ્ય",
           ["NJjv", "NJjw"] => "ઞ્જ્વ",
           "Try" => "ટ્ર્ય",
           "THry" => "ઠ્ર્ય",
           "Dry" => "ડ્ર્ય",
           "DHry" => "ઢ્ર્ય",
           "NNtr" => "ણ્ત્ર",
           "NNDr" => "ણ્ડ્ર",
           "tty" => "ત્ત્ય",
           "ttr" => "ત્ત્ર",
           ["ttv", "ttw"] => "ત્ત્વ",
           "tny" => "ત્ન્ય",
           "try" => "ત્ર્ય",
           ["trv", "trw"] => "ત્ર્વ",
           "thry" => "થ્ર્ય",
           "dgr" => "દ્ગ્ર",
           "dghr" => "દ્ઘ્ર",
           "ddr" => "દ્દ્ર",
           ["ddv", "ddw"] => "દ્દ્વ",
           "ddhr" => "દ્ધ્ર",
           ["ddhv", "ddhw"] => "દ્ધ્વ",
           "dbr" => "દ્્ર",
           "dbhr" => "દ્ભ્ર",
           "dmy" => "દ્મ્ય",
           "dry" => "દ્ર્ય",
           "dhry" => "ધ્ર્ય",
           "ntr" => "ન્ત્ર",
           ["ntv", "ntw"] => "ન્ત્વ",
           "nddh" => "ન્દ્ધ",
           "ndy" => "ન્દ્ય",
           "ndr" => "ન્દ્ર",
           ["ndv", "ndw"] => "ન્દ્વ",
           "ndhr" => "ન્ધ્ર",
           ["ndhv", "ndhw"] => "ન્ધ્વ",
           "nny" => "ન્ન્ય",
           "pty" => "પ્ત્ય",
           "ptr" => "પ્ત્ર",
           ["ptv", "ptw"] => "પ્ત્વ",
           ["bdhv", "bdhw"] => "બ્ધ્વ",
           "rty" => "ર્ત્ય",
           "rtr" => "ર્ત્ર",
           "rts" => "ર્ત્સ",
           "lTr" => "લ્ટ્ર",
           "lDr" => "લ્ડ્ર",
           "shchy" => "શ્ચ્ય",
           "shny" => "શ્ન્ય",
           "shry" => "શ્ર્ય",
           ["shrv", "shrw"] => "શ્ર્વ",
           "shly" => "શ્લ્ય",
           ["shvy", "shwy"] => "શ્વ્ય",
           "Shkr" => "ષ્ક્ર",
           "ShTr" => "ષ્ટ્ર",
           ["ShTv", "ShTw"] => "ષ્ટ્વ",
           "skr" => "સ્ક્ર",
           "sTr" => "સ્ટ્ર",
           "str" => "સ્ત્ર",
           ["stv", "stw"] => "સ્ત્વ",
           "sry" => "સ્ર્ય",
           ["srv", "srw"] => "સ્ર્વ"

generate_cv

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

symbols "om" => "ૐ"

numbers "0" => "૦",
        "1" => "૧",
        "2" => "૨",
        "3" => "૩",
        "4" => "૪",
        "5" => "૫",
        "6" => "૬",
        "7" => "૭",
        "8" => "૮",
        "9" => "૯"
