// Marathi Language.
// This mr_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

// conditional rules
// ?2   use diphthong for "ai"
// ?3   use diphthong for "au"


.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:
        आं          a~

.group इ
        इ          I
//       इँ        i~
        इं        i~

.group ई
        ई          i:
        ई (_       i

.group उ
        उ          U

.group ऊ
        ऊ          u
        ऊं          u~        // + anusvara
        ऊँ (_       u~        // + candrabinbu

.group ऋ
        ऋ          rU

.group ऌ
        ऌ          l-        // vocalic l

.group ऍ
        ऍ          E         // candra e

.group ऎ
        ऎ          e
        ऎं          e~
        ऎँ (_       e~

.group ए
        ए          e:
        एँ          e~:
        एं          e~:
    ा) एँ (_       j

.group ऐ
        ऐ          aI        // ?? [aI] [E:] [&:]
        ऐं          aI~
        ऐँ (_       aI~



.group ऑ
        ऑ          O         // candra O

.group ऒ
        ऒ          o
        ऒं          o~
        ऒँ (_       o~

.group ओ
        ओ          o:
        ओं          o~        // +anusvara
        ओँ (_       o~        // +candrabindu
    ा) ओं (_       w        // +anusvara
    ा) ओँ (_       w
    

.group औ
        औ          aU        // ?? [aU] [O:]
        औं          aU~        // +anusvara
        औँ (_       aU~        // +candrabindu



// Vowel Signs

.group ा
ा	#X2a:
   C) ा      a:
C)        ा (ँ       a~
C)        ाँ (_      a~
C)        ां         a~


.group ि
ि	#X1I
C)        ि          I
C)//      िँ       i~
C)        िं       i~

.group ी
ी	#X2i:
C)        ी          i:
C)        ी (_       i
C)        ी (ँ       i~
C)        ीँ (_      i~
C)        ीं         i~

.group ु
ु	#X1U
C)        ु          U
C)        ु (ँ       u~
C)        ुं         u~
C)        ुँ (_      u~

.group ू
ू	#X2u:
C)        ू          u:
C)        ू (ँ       u~
C)        ूं         u~        // or O~   ??
C)        ूँ (_      u~

.group ृ
ृ	#X1rU
C)        ृ          rU

.group ॄ
ॄ	#X1ru
C)        ॄ          ru

.group ॅ
ॅ	#X1E
C)        ॅ          E

.group ॆ
ॆ	#X1e
C)        ॆ          e
C)        ॆ (ँ       e~
C)        ॆं         e~
C)        ॆँ (_      e~

.group े
े	#X2e:
C)        े          e:
C)        े (ँ       e~
C)        ें         e~:
C)        ेँ (_      e~:

.group ै
ै	#X2aI
C)        ै          aI        // ?? [aI] [E:] [&:]
C)        ैं         aI~ 
C)        ै (ँ       aI~ 
C)        ैं         aI~
C)        ैँ (_      aI~

.group ॉ
ॉ	#X1O
C)        ॉ          O

.group ॊ
ॊ	#X1o
C)        ॊ          o
C)        ॊ (ँ       o~
C)        ॊं         o~
C)        ॊँ (_      o~

.group ो
ो	#X2o:
C)        ो          o:
C)        ो (ँ       o~
C)        ों         o~
C)        ोँ (_      o~

.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

//new
        ग्ग         g:V   // GG -> g:
        ग्ग (B      g:

.group घ
        घ          g#V
        घ (B       g#

.group ङ
        ङ          NV
        ङ (B       N
     ्) ङ (_       N@

.group च
        च          cV
        च (B       c
        च (्य      c:

//New
        च्च          c:V   // cc -> c:
        च्च (B       c:

//new
        च्छ          c#:V    // c#c# -> c#:
        च्छ (B       c#:
      
.group छ
        छ          c#V
        छ (B       c#

.group ज
        ज          zV
        ज (B       z
        ज़         zV
        ज़ (B      z

//new
        ज्ज         J:V   // JJ -> J:
        ज्ज (B      J:
       


//New
        ज (य            JV     //  If followed by ( य ) then(JV     )

//testing with choti and badi i
        ज (ि            JI     //  If followed by ( य ) then(JV     )
        ज (ी             Ji     //  If followed by ( य ) then(JV     )


//         ज्ञ           gjV
//        ज्ञ (B       gj


        ज्ञ          dn.j'@
        ज्ञ (B       dn.j



.group झ
        झ          J#V
        झ (B       J#


.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.#
        
        ठ्ठ          t.#:V   // t.#t.# -> t.#:
        ठ्ठ (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:

//new
        त्थ          t#:V    // t#:t#: -> t#:
        त्थ (B       t#:
        
.group थ
        थ          t#V
        थ (B       t#

.group द
        द          dV
        द (B       d

//new
        द्द         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 ऩ
        ऩ          n:        // should this be a long [n] ?

.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 य
        य          jV
        य (B       j
     C) य (_       Ej     // [Ej] not [@j]
     ्) य (_       j@

.group र
        र          rV
        र (B       r
        र (_       r
     ्) र (_       r@

.group ऱ             // rra
        ऱ          rV        // (temporary) same as [r]  should this be [r.] or perhaps [z.] ?
        ऱ (B       r
     ्) ऱ (_       r@

.group ल
        ल          lV
        ल (B       l
     ्) ल (_       l@

.group ळ
        ळ          l.V
        ळ (B       l.
     ्) ळ (_       l.@

.group ऴ
        ऴ          l.V       // (temporary) same as [l.]
        ऴ (B       l.
     ्) ऴ (_       l.@

.group व
        व          vV
        व (B       v
//     _) व          wV
//     _) व (B       w
//     _) व (्       v         // +virma
//        व (_       w
//    ्) व (_       w@

.group श
        श          SV
        श (B       S

.group ष
        ष          s.V 
        ष (B       s.

.group स
        स          sV
        स (B       s

.group ह
        ह          HV
        ह (B       H


                        // 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
्	H@l'Vnt
C)	् 

// Extra consonants

.group क़   // qa
        क़          qV
        क़ (B       q

.group ख़   // khha
        ख़          xV
        ख़ (B       x

.group ग़    // ghha
        ग़          QV
        ग़ (B       Q

//.group ज़    // za
//        ज़          zV
//        ज़ (B       z

.group ड़    // dddha   (should retroflex flap ?)
        ड़          r.V
        ड़ (B       r.

.group ढ़    // rha  (aspirated version of dddha)
        ढ़          r.hV
        ढ़ (B       r.h

.group फ़    // fa
        फ़          fV
        फ़ (B       f

.group य़    // yya
        य़          jV
        य़ (B       j

.group ॠ    // rr
        ॠ          V-rr

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

.group

=	bVr'a:bVr
*	ta:r'a:NkVn


// 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      p'aIki




