#!/usr/bin/perl -w %consonants = ( "k" => "0x0c15", "kh" => "0x0c16", "g" => "0x0c17", "gh" => "0x0c18", "N^" => "0x0c19", "~N" => "0x0c19", "c" => "0x0c1a", "ch" => "0x0c1a", "chh" => "0x0c1b", "Ch" => "0x0c1b", "j" => "0x0c1c", "jh" => "0x0c1d", "~n" => "0x0c1e", "JN" => "0x0c1e", "T" => "0x0c1f", "Th" => "0x0c20", "D" => "0x0c21", "Dh" => "0x0c22", "N" => "0x0c23", "t" => "0x0c24", "th" => "0x0c25", "d" => "0x0c26", "dh" => "0x0c27", "n" => "0x0c28", "p" => "0x0c2a", "ph" => "0x0c2b", "b" => "0x0c2c", "bh" => "0x0c2d", "m" => "0x0c2e", "y" => "0x0c2f", "r" => "0x0c30", "R" => "0x0c31", "l" => "0x0c32", "L" => "0x0c33", "v" => "0x0c35", "w" => "0x0c35", "sh" => "0x0c36", "shh" => "0x0c37", "Sh" => "0x0c37", "s" => "0x0c38", "h" => "0x0c39", "x" => "0x0c15 0x0c4d 0x0c37", "GY" => "0x0c1c 0x0c4d 0x0c1e", "dny" => "0x0c1c 0x0c4d 0x0c1e", ); %vowels = ( "" => " 0x0c4d", "a" => "", "A" => " 0x0c3e", "aa" => " 0x0c3e", "i" => " 0x0c3f", "I" => " 0x0c40", "ii" => " 0x0c40", "u" => " 0x0c41", "U" => " 0x0c42", "uu" => " 0x0c42", "R^i" => " 0x0c43", "RRi" => " 0x0c43", "R^I" => " 0x0c44", "RRI" => " 0x0c44", "e" => " 0x0c46", "E" => " 0x0c47", "ai" => " 0x0c48", "o" => " 0x0c4a", "O" => " 0x0c4b", "au" => " 0x0c4c", ".h" => " 0x0c4d 0x200c", ); print "// Telugu kmap according to Itrans transliteration\n"; print "// by Miikka-Markus Alhonen 2002-02-17\n\n"; print "// Consonant + vowel/virama\n"; foreach $cons (sort keys %consonants) { foreach $vowel (sort keys %vowels) { printf ("\"%s%s=%s%s\",\n",$cons,$vowel,$consonants{$cons},$vowels{$vowel}); } } print <<EOF; // Independent vowels "a=0x0c05", "A=0x0c06", "aa=0x0c06", "i=0x0c07", "I=0x0c08", "ii=0x0c08", "u=0x0c09", "U=0x0c0a", "uu=0x0c0a", "R^i=0x0c0b", "RRi=0x0c0b", "L^i=0x0c0c", "LLi=0x0c0c", "e=0x0c0e", "E=0x0c0f", "ai=0x0c10", "o=0x0c12", "O=0x0c13", "au=0x0c14", "R^I=0x0c60", "RRI=0x0c60", "L^I=0x0c61", "LLI=0x0c61", // Numbers "0x30=0x0c66", "0x31=0x0c67", "0x32=0x0c68", "0x33=0x0c69", "0x34=0x0c6a", "0x35=0x0c6b", "0x36=0x0c6c", "0x37=0x0c6d", "0x38=0x0c6e", "0x39=0x0c6f", // Other marks ".N=0x0c01", ".n=0x0c02", "M=0x0c02", "H=0x0c03", ".h=0x0c4d 0x200c", ".=0x0964", "..=0x0965", "|=0x0964", "||=0x0965", ";=0x0965", "{\\\\rm 0x20 .}=0x002e", "{}=0x200d", EOF