# *************************************************************************** # * # * Copyright (C) 2007-2012 Apple, Inc.All Rights Reserved. # * # *************************************************************************** # $bs = \u005C; $ZWNJ = \u200C; $kssa = \u0BBD; #independent vowel $A = \u0B85; $AA = \u0B86; $I = \u0B87; $II = \u0B88; $U = \u0B89; $UU = \u0B8A; $E = \u0B8E; $EE = \u0B8F; $AI = \u0B90; $O = \u0B92; $OO = \u0B93; $AU = \u0B94; # matras $aa = \u0BBE; $i = \u0BBF; $ii = \u0BC0; $u = \u0BC1; $uu = \u0BC2; $e = \u0BC6; $ee = \u0BC7; $ai = \u0BC8; $o = \u0BCA; $oo = \u0BCB; $au = \u0BCC; $pulli=\u0BCD; $consonant = [க-ஹ $kssa]; $matra = [\u0BBE-\u0BCC]; $baseVowel = [\u0B85-\u0B94]; $noPulli = [^$pulli]; # # consonant-consonant rules # $noPulli{ க க > க $pulli க; $noPulli{ $kssa $kssa > | $kssa $pulli $kssa; # kssa must still be converted $noPulli{ ங ங > ங $pulli ங; $noPulli{ ங க > ங $pulli க; $noPulli{ ச ச > ச $pulli ச; $noPulli{ ஜ ஜ > ஜ $pulli ஜ; $noPulli{ ஞ ஞ > ஞ $pulli ஞ; $noPulli{ ஞ ச > ஞ $pulli ச; $noPulli{ ட ட > ட $pulli ட; $noPulli{ ண ண > ண $pulli ண; $noPulli{ ண ட > ண $pulli ட; $noPulli{ த த > த $pulli த; $noPulli{ ந ந > ந $pulli ந; $noPulli{ ந த > ந $pulli த; $noPulli{ ன ன > ன $pulli ன; $noPulli{ ன ற > ன $pulli ற; $noPulli{ ப ப > ப $pulli ப; $noPulli{ ம ம > ம $pulli ம; $noPulli{ ம ப > ம $pulli ப; $noPulli{ ய ய > ய $pulli ய; $noPulli{ ர ர > ர $pulli ர; $noPulli{ ற ற > ற $pulli ற; $noPulli{ ல ல > ல $pulli ல; $noPulli{ ள ள > ள $pulli ள; $noPulli{ ழ ழ > ழ $pulli ழ; $noPulli{ வ வ > வ $pulli வ; $noPulli{ ஶ ஶ > ஶ $pulli ஶ; #sha $noPulli{ ஷ ஷ > ஷ $pulli ஷ; $noPulli{ ஸ ஸ > ஸ $pulli ஸ; $noPulli{ ஹ ஹ > ஹ $pulli ஹ; $kssa <> க $pulli ஷ; க $pulli ஷ <> க $pulli $ZWNJ ஷ; # # base vowel to matra # $consonant { $A ($baseVowel) > $1; $consonant { $A <> $consonant { } [$consonant $baseVowel]; $consonant { $AA <> $consonant { $aa; $consonant { $AI <> $consonant { $ai; $consonant { $AU <> $consonant { $au; $consonant { $I <> $consonant { $i; $consonant { $II <> $consonant { $ii; $consonant { $U <> $consonant { $u; $consonant { $UU <> $consonant { $uu; $consonant { $E <> $consonant { $e; $consonant { $EE <> $consonant { $ee; $consonant { $O <> $consonant { $o; $consonant { $OO <> $consonant { $oo; # stand alone matra rules # preceeding a vowel with backslash # forces matra form $bs $AA <> $aa; $bs $AI <> $ai; $bs $AU <> $au; $bs $II <> $ii; $bs $I <> $i; $bs $UU <> $uu; $bs $U <> $u; $bs $EE <> $ee; $bs $E <> $e; $bs $OO <> $oo; $bs $O <> $o;