
// Gujarati Language.
// This gu_rules file is prepared by Maheshinder Singh Khosla< mahesh.khosla@gmail.com >.

// This file is UTF8 encoded

// letter groups:
// A   vowel letters and vowel signs
// B   vowel signs and virama ्
// C   consonants
// Y   vowel letters and vowel signs

.replace
 ૦	0
 ૧	1
 ૨	2
 ૩	3
 ૪	4
 ૫	5
 ૬	6
 ૭	7
 ૮	8
 ૯	9

// combine dot consonants into a single character
ક઼	ક઼
ખ઼	ख़
ગ઼	ग़
જ઼	ज़
ડ઼	ड़
ઢ઼	ढ़
ફ઼	फ़
ય઼	य़	

// Vowels


.group અ
        અ          V
        અ (હ       E         //  (h
    અહ) અ          E

.group આ
        આ          a:
        આં          V~

.group ઇ
        ઇ          I
//       ઇઁ        In
       ઇં        In

.group ઈ
        ઈ          i:
        ઈ (_       i

.group ઉ
        ઉ          U

.group ઊ
        ઊ          u
        ઊં         un        // + anusvara
        ઊઁ (_       un        // + candrabinbu

.group ઋ
        ઋ          ru

.group ઌ
        ઌ          l-        // vocalic l

.group ઍ
        ઍ          E         // candra e

.group એ
        એ          e:
        એઁ          e~:
        એં          e~:
    ા) એઁ (_       j

.group ઐ
        ઐ          aI        // ?? [aI] [E:] [&:]
        ઐં          aI~
        ઐઁ (_       aI~

	

.group ઑ
        ઑ          O         // candra O

.group ઓ
        ઓ          o:
        ઓં         on        // +anusvara
        ઓઁ (_       on        // +candrabindu
    ા) ઓં (_       w        // +anusvara
    ા) ઓઁ (_       w
 
.group ઔ
        ઔ          aU        // ?? [aU] [O:]
        ઔં          aU~       // +anusvara
        ઔઁ (_       aU~        // +candrabindu



// Vowel Signs

.group ા
ા	#X2a:
C)        ા          a:
C)        ા (ઁ       V~
C)        ાઁ (_      V~
C)        ાં         V~

.group િ
િ	#X1I
C)        િ          I
C)//      િઁ       In
C)      િં        In
C)      િં (_     I~

.group ી
ી	#X2i:
C)        ી          i:
C)        ી (_       i
C)        ી (ઁ       in
C)        ીઁ (_      in
C)        ીં         in
C)        ીં (_      i~

.group ુ
ુ	#X1U
C)        ુ          u
C)        ુ (ઁ       un
C)        ુઁ (_      un
C)        ું         un
C)        ું (_      u~

.group ૂ
ૂ	#X2u:
C)        ૂ          u:
C)        ૂ (ઁ       un
C)        ૂઁ (_      un
C)        ૂં         un
C)        ૂં (_      u~        // or O~   ??

.group ૃ
ૃ	#X1ru
C)        ૃ          ru

.group ૄ
ૄ	#X1ru
C)        ૄ          ru

.group ૅ
ૅ	#X1E
C)        ૅ          E

.group ે
ે	#X2e:
C)        ે          e:
C)        ે (ઁ       e~
C)        ેં         e~:
C)        ેઁ (_      e~:

.group ૈ
ૈ	#X2aI
C)        ૈ           aI        // ?? [aI] [E:] [&:]
C)        ૈં         aI~
C)        ૈ (ઁ       aI~ 
C)        ૈઁ (_      aI~


.group ૉ
ૉ	#X1O
C)        ૉ          O

.group ો
ો	#X2o:
C)        ો          o:
C)        ોં         on
C)        ોં (_      o~
C)        ો (ઁ       on
C)        ોઁ (_      on

.group ૌ
ૌ	#X2aU
C)        ૌ          aU        //  [O:] or [aU] ??
C)        ૌ (ઁ       aU~        //  [O:] or [aU] ??
C)        ૌં         aU~
C)        ૌઁ (_      aU~


.group ૢ     // vowel sign l
ૢ 	#X1l-
C)        ૢ          l-

.group ૣ    // vowel sign ll
ૣ	#X2l-:
C)        ૣ          l-:

.group ૐ
        ૐ          o~m

// Consonants

.group ક
        ક          kV
        ક (B       k
        ક (્ય      k:
        ક઼         qV
        ક઼ (B      q

        ક્ક         k:V   // kk -> k:
        ક્ક (B      k:
        ક્ષ          kSV
        ક્ષ (B       kS
        
.group ખ
        ખ          k#V
        ખ (B       k#
        ખ઼         xV
        ખ઼ (B      x

.group ગ
        ગ          gV
        ગ (B       g
        ગ઼         QV
        ગ઼ (B      Q

        ગ્ગ         g:V   // GG -> g:
        ગ્ગ (B      g:

.group ઘ
        ઘ          g#V
        ઘ (B       g#

.group ઙ
        ઙ          NV
        ઙ (B       N
     ્) ઙ (_       N@

.group ચ
        ચ          cV
        ચ (B       c
        ચ (્ય      c:

        ચ્ચ          c:V   // cc -> c:
        ચ્ચ (B       c:


        ચ્છ          c#:V    // c#c# -> c#:
        ચ્છ (B       c#:

       
.group છ
        છ          c#V
        છ (B       c#

.group જ
        જ          JV
        જ (B       J
        જ઼         zV
        જ઼ (B      z

        જ્જ         J:V   // JJ -> J:
        જ્જ (B      J:

        જ્ઞ          gn.V
        જ્ઞ (B       gn.

.group ઝ  // According to chart this is jha ( ઝ 0A9D)but it is told that it looks like za ( જ઼ 0A9C + 0ABC) 
        ઝ          zV
        ઝ (B       z

.group ઞ
        ઞ          n^V
        ઞ (B       n^
     ્) ઞ (_       n^

.group ટ
        ટ          t.V
        ટ (B       t.
        ટ (્ય      t.:

        ટ્ટ          t.:V    // t.t. -> t.:
        ટ્ટ (B       t.:

        ટ્ઠ          t.#:V    // t.t.# -> t.#:
        ટ્ઠ (B       t.#:

.group ઠ
        ઠ          t.#V
        ઠ (B       t.#


.group ડ
        ડ          d.V
        ડ (B       d.

        ડ્ડ         d.:V   // d. d. -> d.:
        ડ્ડ (B      d.:

        ડ્ઢ          d.#:V    // d#d# -> d#:
        ડ્ઢ (B       d.#:

        ડ઼         r.V
        ડ઼ (B      r.

.group ઢ
        ઢ          d.#V
        ઢ (B       d.#

        ઢ઼         r.hV      // nukta  (should retroflex flap)
        ઢ઼ (B      r.h       // nukta

.group ણ
        ણ          n.V      
        ણ (B       n.
     ્) ણ (_       n.@

.group ત
        ત          tV
        ત (B       t
        ત (્ય      t:

        ત્ત          t:V   // tt -> t:
        ત્ત (B       t:

        ત્થ          t#:V    // t#:t#: -> t#:
        ત્થ (B       t#:


.group થ
        થ          t#V
        થ (B       t#


.group દ
        દ          dV
        દ (B       d

        દ્દ         d:V   // dd -> d:
        દ્દ (B      d:

        દ્ધ          d#:V    // d#d# -> d#:
        દ્ધ (B       d#:

.group ધ
        ધ          d#V
        ધ (B       d#

.group ન
        ન          nV
        ન (B       n
     ્) ન (_       n@
    ર્) ન (_       n         // r +virama

.group પ
        પ          pV
        પ (B       p
        પ (્ય      p:

        પ્પ         p:V      // pp -> p:
        પ્પ (B      p:

.group ફ
        ફ          p#V
        ફ (B       p#
        ફ઼         fV
        ફ઼ (B      f

.group બ
        બ          bV
        બ (B       b

.group ભ
        ભ          b#V
        ભ (B       b#

.group મ
        મ          mV
        મ (B       m
     ્) મ (_       m@
    ર્) મ (_       m         // r +virama
    ન્) મ (_       m         // n +virama

.group ય
        ય          j@
        ય (B       j
     ્) ય (_       j@
     C) ય (_       Ej     // [Ej] not [@j]

.group ર
        ર          rV
        ર (B       r
        ર (_       r
     ્) ર (_       r@


.group લ
        લ          lV
        લ (B       l
     ્) લ (_       l@

.group ળ    // According to chart this is lla ( ળ 0AB3)but it is told that it looks like adda ( ડ઼ 0AA1 + 0ABC) 
        ળ          r.V
        ળ (B       r.
     ્) ળ (_       r.@

.group વ
        વ          vV
        વ (B       v
     _) વ          wV
     _) વ (B       w
     _) વ (્       v         // +virma


.group શ
        શ          SV
        શ (B       S

.group ષ
        ષ          s.V
        ષ (B       s. 

.group સ
        સ          sV
        સ (B       s

.group હ
        હ          HV
        હ (B       H


.group ઼
     ઼                   // nukta,  modifies a consonant

.group ઽ                // avagraha, lengthens a vowel ??
        ઽ          :

.group ઁ
        ઁ          n         // candrabindu

.group ં
        ં          n         // anusvara
        ં (પ       m
        ં (ફ       m
        ં (બ       m
        ં (ભ       m
        ં (મ       m

        ં (ટ       n.
        ં (ઠ       n.
        ં (ડ       n.
        ં (ઢ       n.
        ં (ણ       n.

        ં (ચ       n^
        ં (છ       n^
        ં (જ       n^
        ં (ઝ       n^
        ં (ઞ       n^
        ં (ય       n^

        ં (ક       N
        ં (ખ       N
        ં (ગ       N
        ં (ઘ       N
        ં (ઙ       N
       

.group ઃ
        ઃ          H         //  visarga

.group ્		// virama
્	k#'o:d.
C)	્ 


// Extra consonants

.group ક઼   // qa
        ક઼          qV

.group ખ઼   // khha
        ખ઼          xV

.group ગ઼    // ghha
        ગ઼          QV

.group જ઼    // za
        જ઼          zV

.group ફ઼    // fa
        ફ઼          fV

.group ૠ    // rr
        ૠ          V-rr

.group ૡ    // ll
        ૡ          l-:       // long syllabic l


// If we find a Latin letter a-z, then translate as English
// (This is now done automatically by the eSpeak program)

.group o
        o          _^_EN
   D__) of (__D    me




.group
        $          dOlV
        %          pVsEnt

