| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348 | // replace combining (tone) accents with single characters
.replace
à	à
á	á
ả	ả
ã	ã
ạ	ạ
ằ	ằ
ắ	ắ
ẳ	ẳ
ẵ	ẵ
ặ	ặ
ầ	ầ
ấ	ấ
ẩ	ẩ
ẫ	ẫ
ậ	ậ
è	è
é	é
ẻ	ẻ
ẽ	ẽ
ẹ	ẹ
ề	ề
ế	ế
ể	ể
ễ	ễ
ệ	ệ
ì	ì
í	í
ỉ	ỉ
ĩ	ĩ
ị	ị
ò	ò
ó	ó
ỏ	ỏ
õ	õ
ọ	ọ
ồ	ồ
ố	ố
ổ	ổ
ỗ	ỗ
ộ	ộ
ờ	ờ
ớ	ớ
ở	ở
ỡ	ỡ
ợ	ợ
ù	ù
ú	ú
ủ	ủ
ũ	ũ
ụ	ụ
ừ	ừ
ứ	ứ
ử	ử
ữ	ữ
ự	ự
ỳ	ỳ
ý	ý
ỷ	ỷ
ỹ	ỹ
ỵ	ỵ
ð	đ  // Ð U+0d0
ɖ	đ  // Ɖ U+189
//================================
//  Consonants
//================================
.L01 t c ne nd k x s nt ch th me te le ce ny ry e o u re nch de p pe ph sh v ve ge r
.L02 n a
.L03 ch nh
.L04 a u ă â o ô á à ả ã ạ ù ú ủ ũ ụ ắ ằ ẳ ẵ ặ ấ ầ ẩ ẫ ậ ó ò ỏ õ ọ ố ồ ổ ỗ ộ ư ứ ừ ử ữ ự ơ ớ ờ ở ỡ ợ
.L05 o ó ò ỏ õ ọ ô ố ồ ộ ỗ ổ
.group b
        b          b
     _) b          _b
//b($w_alt2 _^_EN
        
 
.group c
        c          k         //k
        c (C       _^_EN
        c (_       c
     _) ch         tS       // try [tS;] [tS] [c] c     
?2   _) ch         c
?1   _) ch         c         
        ch (_      c         
        ce (_      _^_EN
     _) cl         _^_EN
	    // c (L05			kh
    		
 
 
.group d
        d          z         // try [z] [J] [dZ] [dZ;] [J^]
?2      d          J^
?1      d          J^
        
 
        d (_       _^_EN
        
 
        
 
        
 
.group đ
      //  đ          d
     _) đ          d_
        
 
        
 
        
 
.group f
        //f          f
     _) f          _^_EN
        f (_       _^_EN
        
 
        
 
.group g
        g (L04     Q         // try [g] [Q]
        gh         Q         // or [g]  [Q]
        gi         z         // try [D] [z] [j] [J^] [z;] [J] [dZ]
        g (ì       z
        g (í       z
        g (ỉ       z
        g (ĩ       z
        g (ị       z
     _) g          _^_EN
?1      g (ì       J^
?1      g (í       J^
?1      g (ỉ       J^
?1      g (ĩ       J^
?1      g (ị       J^        
        
 
?2      g (ì       J^
?2      g (í       J^
?2      g (ỉ       J^
?2      g (ĩ       J^
?2      g (ị       J^        
        
 
?1      gi         J^
?2      gi         J^        
?1      giết       J^'iE3g
?2      giết       J^'iE3g
?1      giếng      J^'iE3N
?1      giềng      J^'iE2N
?2      giếng      J^'iE3N
?1      giêng      J^'iE1N
?2      giêng      J^'iE1N
?2      giềng      J^'iE2N
        giết       z'iE3t[
        giếc       z'iE3kh
        giêng      z'iE1N
        giềng      z'iE2N
        giếng      z'iE3N
        giểng      z'iE4N
        giễng      z'iE5N
        giệng      z'iE6N
        
 
?1      giệt       J^'iE6g
        giệt       z'iE6t[
        giệc       z'iE6kh
     _) gol        _^_EN
     _) gat        _^_EN     
        ght (_     _^_EN     
        
 
        
 
.group h
        h          h
?2      hu         w         
        
 
.group j
        j          Z
        
 
        
 
.group k
     _) k          k
     _) kh         x
        //kh         x
        k (_       _^_EN
        
 
        
 
.group l
        l          l
        l (_       _^_EN
     C) le         _^_EN
	   //le (A      _^_EN 
        
 
        
 
.group m
        m          m
        
 
        
 
.group n
        n          n
?1      n (_       N         //n
?2      n (_       N
        ng         N
        ngh        N
        nh         n^
?2 L02) nh         n         
        nd (_      _^_EN
        
 
        
 
.group ñ
        ñ          n^
        
 
        
 
.group p
        p (C       _^_EN
        p          p         
        ph         f
        
 
        
 
.group q
        q          k
        q (_       k
        qu         kw         //kw
        
 
        
 
.group r
        r          z         // try [z] [z.] [r] [z;]
?2      r          Q         
?1      r          z.        
        r (_       _^_EN
        rm (_      _^_EN
        
 
        
 
.group s
        s          s       // try [s.] [s] [S]
        
 
     _) sh         _^_EN
        s (_       _^_EN
        st (_      _^_EN
        
 
        
 
.group t
        t          t[
?1      t (_       kh
?2      t (_       kh        
        th         t
        tr         tS        //cr        // try [cr] [tr] [tS;] [tS] [c] [dZ] [dz;]
?1      tr         cr        
?2      tr         c         
        ts (_      _^_EN
        th (_      _^_EN
        tt (_      _^_EN
        
 
        
 
.group v
        v          v
?2      v          J^        
        ve (A      _^_EN     
        
 
        
 
.group w
        w          w
     _) w          _^_EN
        w (_       _^_EN
        
 
        
 
.group x
        x          s
        x (_       _^_EN
        
 
        
 
.group z
        z          z
        z (_       _^_EN
        
 
        
 
//================================
//  Vowels
//================================
        
 
        
 
        
 
.group a
        a          a:
        ai         a:I
        aì         a:I2
        aí         a:I3
        aỉ         a:I4
        aĩ         a:I5
        aị         a:I6
        ay         aI
?2      ay         a:I       
        
 
        
 
        aý         aI3
        aỷ         aI4
        aỹ         aI5
        aỵ         aI6
        ao         a:U
        aò         a:U2
        aó         a:U3
        aỏ         a:U4
        aõ         a:U5
        aọ         a:U6
        au         aU
?2      au         a:U
        aù         aU2
        aú         aU3
        aủ         aU4
        aũ         aU5
        aụ         aU6
        a (L01     _^_EN
        ai (L02    _^_EN
        a (@       _^_EN
        a (L03     a
 
.group à
        à          a:2
        ài         a:I2
        ày         aI2
?2      ày         a:I2
        
 
        
 
        
 
        
 
        ào         a:U2
        àu         aU2
?2      àu         a:U2
        
 
.group á
        á          a:3
        ái         a:I3
        áy         aI3
        áo         a:U3
        áu         aU3
?2      áu         a:U3      
?2      áy         a:I3
.group ả
        ả          a:4
        ải         a:I4
        ảy         aI4
        ảo         a:U4
        ảu         aU4
?2      ảu         a:U4      
?2      ảy         a:I4      
.group ã
        ã          a:5
        ãi         a:I5
        ãy         aI5
        ão         a:U5
        ãu         aU5
?2      ãu         a:U5      
?2      ãy         a:I5
.group ạ
        ạ          a:6
        ại         a:I6
        ạy         aI6
        ạo         a:U6
        ạu         aU6
?2      ạu         a:U6      
?2      ạy         a:I6      
        
 
//================================
.group ă
        ă          a
        
 
        
 
        
 
.group ằ
        ằ          a2
        
 
        
 
        
 
.group ắ
        ắ          a3
        ắk          a3c
 
        
 
        
 
.group ẳ
        ẳ          a4
        
 
        
 
        
 
.group ẵ
        ẵ          a5
        
 
        
 
        
 
.group ặ
        ặ          a6
        
 
        
 
//=================================
.group â
        â          @
        ây         @I
        âu         @U1       
?2      â (L03     a         
?1      â (L03     a         
        
 
        
 
.group ầ
        ầ          @2
        ầy         @I2
        ầu         @U2
?2      ầ (L03     a2        
?1      ầ (L03     a2        
        
 
        
 
.group ấ
        ấ          @3
        ấy         @I3
        ấu         @U3
?2      ấ (L03     a3        
?1      ấ (L03     a3        
        
 
        
 
.group ẩ
        ẩ          @4
        ẩy         @I4
        ẩu         @U4
        
 
        
 
        
 
.group ẫ
        ẫ          @5
        ẫy         @I5
        ẫu         @U5
        
 
        
 
        
 
.group ậ
        ậ          @6
        ậy         @I6
        ậu         @U6
?2      ậ (L03     a6        
?1      ậ (L03     a6        
        
 
//===========================
.group e
        e          E
        eo         EU
        eò         EU2
        eó         EU3
        eỏ         EU4
        eỗ         EU5
        eọ         EU6
        e (L01     _^_EN
        ey (_      _^_EN
        e (@       _^_EN     
        
 
.group è
        è          E2
        èo         EU2
        
 
        
 
        
 
.group é
        é          E3
        éo         EU3
        
 
        
 
        
 
.group ẻ
        ẻ          E4
        ẻo         EU4
        
 
        
 
        
 
.group ẽ
        ẽ          E5
        ẽo         EU5
        
 
        
 
        
 
.group ẹ
        ẹ          E6
        ẹo         EU6
        
 
        
 
//============================
        
 
.group ê
        ê          e
        êu         eU1
?2      ê (L03     @:        
?2      ê (L02     @:        
        
 
.group ề
        ề          e2
        ều         eU2
?2      ề (L03     @:2       
?2      ề (L02     @:2
        
 
.group ế
        ế          e3
        ếu         eU3
        
 
?2      ế (L03     @:3
?2      ế (L02     @:3
.group ể
        ể          e4
        ểu         eU4
?2      ể (L03     @:4       
?2      ể (L02     @:4       
        
 
.group ễ
        ễ          e5
        ễu         eU5
?2      ễ (L03     @:5       
?2      ễ (L02     @:5
        
 
.group ệ
        ệ          e6
        ệu         eU6
?2      ệ (L03     @:6
?2      ệ (L02     @:6
        
 
//============================
        
 
.group i
        i          i
        //i (A       j
        ia         i@
        ià         i@2
        iá         i@3
        iả         i@4
        iã         i@5
        iạ         i@6
        iê         iE
        iề         iE2
        iế         iE3
        iể         iE4
        iễ         iE5
        iệ         iE6
        iu         iU
        iù         iU2
        iú         iU3
        iủ         iU4
        iũ         iU5
        iụ         iU6
        iêu        iU
        iều        iU2
        iếu        iU3
        iểu        iU4
        iễu        iU5
        iệu        iU6
        i (L01     _^_EN
        i (@       _^_EN
?2      i (L03     @         
?1      i (L03     @
?2      i (L02     @         
.group ì
        ì          i2
        ì (A       j2
        ìa         i@2
        ìu         iU2
?2      ì (L03     @2        
?1      ì (L03     @2        
?2      ì (L02     @2
.group í
        í          i3
        í (A       j3
        ía         i@3
        íu         iU3
?2      í (L03     @3        
?1      í (L03     @3
?2      í (L02     @3
.group ỉ
        ỉ          i4
        ỉ (A       j4
        ỉa         i@4
        ỉu         iU4
?2      ỉ (L03     @4        
?1      ỉ (L03     @4
?2      ỉ (L02     @4        
        
 
.group ĩ
        ĩ          i5
        ĩ (A       j5
        ĩa         i@5
        ĩu         iU5
?2      ĩ (L03     @5        
?1      ĩ (L03     @5
?2      ĩ (L02     @5        
        
 
.group ị
        ị          i6
        ị (A       j6
        ịa         i@6
        ịu         iU6
?2      ị (L03     @6        
?1      ị (L03     @6
?2      ị (L02     @6
        
 
//=========================
        
 
.group o
        o          O
        oa         o@        // modify oa sound  example: hoa,khoa // o (A       w
        oà         o@2
        oá         o@3
        oả         o@4
        oã         o@5
        oạ         o@6
        oo         O
        oi         OI
        oì         OI2
        oí         OI3
        oỉ         OI4
        oĩ         OI5
        oị         OI6
        ong        O#
        oe         o&        // Adding  oe sound  example: lóe sáng,toét mắt
        oai        Oi        // oai sound
        o (@       _^_EN
        oại        Oi6
        oài        Oi2
        oái        Oi3
        oải        Oi4
        oãi        Oi5
        oă         o@1
        oằ         o@2
        oắ         o@3
        oẳ         o@4
        oẵ         o@5
        oặ         o@6
		oc		   O#k
.group ò
        ò          O2
        òi         OI2
        òa         o@2       //ò (A       w2
        òng        O#2
        òe         o&2
        
 
        
 
        
 
.group ó
        ó          O3
        ói         OI3
        óa         o@3       //ó (A       w3
        óng        O#3
        óe         o&3
        óc		   O#3k
 
        
 
        
 
.group ỏ
        ỏ          O4
        ỏi         OI4
        ỏa         o@4       //ỏ (A       w4
        ỏng        O#4
        ỏe         o&4
        
 
        
 
        
 
.group õ
        õ          O5
        õi         OI5
        õa         o@5       //õ (A       w5
        õng        O#5
        õe         o&5
        
 
        
 
        
 
.group ọ
        ọ          O6
        ọi         OI6
        ọa         o@6       //ọ (A       w6
        ọng        O#6
        ọe         o&6
        ọc		   O#6k
 
        
 
        
 
//=============================
        
 
.group ô
        ô          o
        ôi         oI
        ông        o#        // ông sound
?2      ôi         O-        //south dialect 
        
 
.group ồ
        ồ          o2
        ồi         oI2
        ồng        o#2
?2      ồi         O-2       
        
 
        
 
.group ố
        ố          o3
        ối         oI3
        ống        o#3
?2      ối         O-3       
        
 
        
 
.group ổ
        ổ          o4
        ổi         oI4
        ổng        o#4
?2      ổi         O-4       
        
 
        
 
.group ỗ
        ỗ          o5
        ỗi         oI5
        ỗng        o#5
        
 
?2      ỗi         O-5
        
 
.group ộ
        ộ          o6
        ội         oI6
   //     ộng        o#6
?2      ội         O-6       
        
 
        
 
//=============================
        
 
.group ơ
        ơ          @:
        ơi         @:I
        ơu         @:U
?2      ơi         @-        //south dialect 
        
 
        
 
.group ờ
        ờ          @:2
        ời         @:I2
        ờu         @:U2
?2      ời         @-2       
        
 
        
 
.group ớ
        ớ          @:3
        ới         @:I3
        ớu         @:U3
?2      ới         @-3       
        
 
        
 
.group ở
        ở          @:4
        ởi         @:I4
        ởu         @:U4
?2      ởi         @-4       
        
 
        
 
.group ỡ
        ỡ          @:5
        ỡi         @:I5
        ỡu         @:U5
?2      ỡi         @-5       
        
 
        
 
.group ợ
        ợ          @:6
        ợi         @:I6
        ợu         @:U6
?2      ợi         @-6       
        
 
        
 
//=============================
        
 
.group u
        u          u
        u (A       u
     A) u          w
        ui         uI
        uì         uI2
        uí         uI3
        uỉ         uI4
        uĩ         uI5
        uị         uI6
        ua         u@
        uà         u@2
        uá         u@3
        uả         u@4
        uã         u@5
        uạ         u@6
        uô         u@
        uồ         u@2
        uố         u@3
        uổ         u@4
        uỗ         u@5
        uộ         u@6
        uôi        u@j
        uồi        u@j2
        uối        u@j3
        uổi        u@j4
        uỗi        u@j5
        uội        u@j6
        //ung        u#
        u (L01     _^_EN
        u (@       _^_EN
       // ua (L01    _^_EN
?2      u          u-        
        
 
.group ù
        ù          u2
        ù (A       u2
		ùy         ui2
        ùi         uI2
        ùa         u@2
		//ùng        u#2
        
 
?2      ù          u-2       
        
 
.group ú
        ú          u3
        ú (A       u3
		úy		   ui3
        úi         uI3
        úa         u@3
		//úng        u#3
?2      ú          u-3       
        
 
        
 
.group ủ
        ủ          u4
        ủ (A       u4
		ủy  	   ui4
        ủi         uI4
        ủa         u@4
		//ủng        u#4
        
 
?2      ủ          u-4       
        
 
.group ũ
        ũ          u5
        ũ (A       u5
		ũy         ui5
        ũi         uI5
        ũa         u@5
		//ũng        u#5
?2      ũ          u-5       
        
 
        
 
.group ụ
        ụ          u6
        ụ (A       u6
		ụy         ui6
        ụi         uI6
        ụa         u@6
		//ụng        u#6
?2      ụ          u-6       
        
 
//=============================
        
 
.group ư
        ư          y
        ưi         yI
        ưa         y@
        ươ         y@
        ườ         y@2
        ướ         y@3
        ưở         y@4
        ưỡ         y@5
        ượ         y@6
        ưu         yw
        ươi        y@j
        ười        y@j2
        ưới        y@j3
        ưởi        y@j4
        ưỡi        y@j5
        ượi        y@j6
        ươu        y@w
        ườu        y@w2
        ướu        y@w3
        ưởu        y@w4
        ưỡu        y@w5
        ượu        y@w6
        
 
        
 
        
 
.group ừ
        ừ          y2
        ừi         yI2
        ừa         y@2
        ừu         y2w2
        
 
        
 
        
 
.group ứ
        ứ          y3
        ứi         yI3
        ứa         y@3
        ứu         y3w3
        
 
        
 
        
 
.group ử
        ử          y4
        ửi         yI4
        ửa         y@4
        ửu         y4w4
        
 
        
 
        
 
.group ữ
        ữ          y5
        ữi         yI5
        ữa         y@5
        ữu         y5w5
        
 
        
 
        
 
.group ự
        ự          y6
        ựi         yI6
        ựa         y@6
        ựu         y6w6
        
 
        
 
//=============================
        
 
.group y
        y          i
       // y (A       j
        ya         i@
        yà         i@2
        yá         i@3
        yả         i@4
        yã         i@5
        yạ         i@6
        yê         i@
        yề         i@2
        yế         i@3
        yể         i@4
        yễ         i@5
        yệ         i@6
      //  yêu        i@U        
        y (L01     _^_EN
    bu) y          _^_EN
.group ỳ
        ỳ          i2
        ỳ (A       j2
        ỳa         i@2
        
 
        
 
        
 
.group ý
        ý          i3
        ý (A       j3
        ýa         i@3
        
 
        
 
        
 
.group ỷ
        ỷ          i4
        ỷ (A       j4
        ỷa         i@4
        
 
        
 
        
 
.group ỹ
        ỹ          i5
        ỹ (A       j5
        ỹa         i@5
        
 
        
 
        
 
.group ỵ
        ỵ          i6
        ỵ (A       j6
        ỵa         i@6
        
 
        
 
//=============================
        
 
.group 0xce   // Greek letters
// 0xce is the first byte of the utf-8 code for these characters
        
 
        
 
        α          a:1n_|f'a:1
        ά          a:1n_|f'a:1
        β          b'e1_|t['a:1
        γ          Q'a:1_|m'a:1
        δ          J'E1n_|t['a:1
        ε          E1p_|s'i1_|l'O1n
        έ          E1p_|s'i1_|l'O1n
        ζ          D'e1_|t['a:1
        η          e1_|t['a:1
        ή          e1_|t['a:1
        θ          t'e1_|t['a:1
        ι          i1_|'o1_|t['a:1
        ί          i1_|'o1_|t['a:1
        κ          k'a:1p_|p'a:1
        λ          l'a1m_|_d'a:1
        μ          mw'i1
        ν          nw'i1
        ξ          s'i7
        ο          o1_|m'i1_|kz.'O7n
        
 
        
 
        
 
.group 0xcf   // Greek letters
        
 
        
 
        π          p'i1
        ρ          z.'o1
        σ          s'i3c_|m'a:1
        ς          s'i3c_|m'a:1
        τ          t['o1
        υ          u1p_|s'i1_|l'O1n
        ύ          u1p_|s'i1_|l'O1n
        φ          f'i1
        χ          c'i1
        ψ          ps'i1
        ω          o1_|m'e1_|Q'a:7
        ώ          o1_|m'e1_|Q'a:7
        ό          o1_|m'i1_|kz.'O7n
        
 
        
 
        
 
        
 
        
 
.group
        %          f'@2n||tS'am
        !          _:tS'@3m_|t'a:7n_:
        ! (\!      
//            :            koUl@n
    D_) h (_DD_    D'@:2     // omit colon in time, eg: 2:30
        $          d'o||l'a
        !=         x'o#_|_b'a2N_
        >=         l'@:3n_|h'@:1n_|hw,a6kh_b'a2N
        <=         n^'O4_|h'@:1n_|hw,a6kh_b'a2N
        
 
        
 
    __) - (_D      tS'y2
    A_) - (_D      _
    C_) - (_D      _
        
 
        .          tS'@3m_
        . (.       _:
    \.) .          
        
 
 |