diff --git a/map/mktelex.py b/map/mktelex.py index d020518..86494c5 100755 --- a/map/mktelex.py +++ b/map/mktelex.py @@ -55,11 +55,15 @@ def vowel2(): tab = [ ("oa", "oa", "a"), ("oe", "oe", "e"), ("ai", "ai", "a"), ("ao", "ao", "a"), ("au", "au", "a"), ("ay", "ay", "a"), - ("eu", "eu", "e"), ("iu", "iu", "i"), ("oi", "oi", "o"), + ("eo", "eo", "e"), ("eu", "eu", "e"), ("ia", "ia", "i"), + ("iu", "iu", "i"), ("oi", "oi", "o"), ("ua", "ua", "u"), ("ui", "ui", "u"), ("uy", "uy", "y"), + ("aau", "âu", "â"), ("aay", "ây", "â"), ("eeu", "êu", "ê"), + ("ooi", "ôi", "ô"), ("owi", "ơi", "ơ"), ("uwi", "ưi", "ư"), + ("uwu", "ưu", "ư"), ("uwa", "ưa", "ư"), ("uee", "uê", "ê"), ("iee", "iê", "ê"), ("yee", "yê", "ê"), ("uoo", "uô", "ô"), ("uow", "ươ", "ơ"), ("uaa", "uâ", "â"), ("oaw", "oă", "ă"), - ("uwa", "ưa", "a"), ("uwow", "ươ", "ơ"), + ("uwow", "ươ", "ơ"), ] for i, o, v in tab: emit(i, o) @@ -68,21 +72,21 @@ def vowel2(): emit("ie", "ie") emit("ye", "ye") emit("uo", "uo") - emit("ua", "ua") def vowel3(): # input, output, vowel tab = [ ("ieeu", "iêu", "ê"), ("yeeu", "yêu", "ê"), ("uooi", "uôi", "ô"), ("uowi", "ươi", "ơ"), - ("oai", "oai", "a"), ("oay", "oay", "a"), - ("uyee", "uyê", "ê"), + ("uowu", "ươu", "ơ"), ("uwowi", "ươi", "ơ"), + ("uwowu", "ươu", "ơ"), ("uaay", "uây", "â"), + ("oai", "oai", "a"), ("oay", "oay", "a"), ("oeo", "oeo", "e"), + ("uya", "uya", "y"), ("uyu", "uyu", "y"), ("uyee", "uyê", "ê"), ] for i, o, v in tab: emit(i, o) for t in tone: emit(i+t, o.replace(v, addtone(v, t), 1)) - emit("uya", "uya") def modvowels(): for i, o in modvowel: @@ -132,10 +136,11 @@ def final(): ("aw", "ă", "ă"), ("aa", "â", "â"), ("ee", "ê", "ê"), ("oo", "ô", "ô"), ("ow", "ơ", "ơ"), ("uw", "ư", "ư"), ("iee", "iê", "ê"), ("yee", "yê", "ê"), ("uoo", "uô", "ô"), - ("uow", "ươ", "ơ"), ("uaa", "uâ", "â"), ("oaw", "oă", "ă"), + ("uow", "ươ", "ơ"), ("uwow", "ươ", "ơ"), ("uyee", "uyê", "ê"), + ("uaa", "uâ", "â"), ("uee", "uê", "ê"), ("oaw", "oă", "ă"), ("ai", "ai", "a"), ("ao", "ao", "a"), ("au", "au", "a"), - ("ay", "ay", "a"), ("oa", "oa", "a"), ("oi", "oi", "o"), - ("ui", "ui", "u"), ("uy", "uy", "y"), + ("ay", "ay", "a"), ("oa", "oa", "a"), ("oe", "oe", "e"), + ("oi", "oi", "o"), ("ui", "ui", "u"), ("uy", "uy", "y"), ] for i, o, v in tab: for c in coda: diff --git a/map/telex.map b/map/telex.map index 4d18a0e..822bcfb 100644 --- a/map/telex.map +++ b/map/telex.map @@ -142,6 +142,18 @@ ayx ãy Ayx Ãy ayj ạy Ayj Ạy +eo eo +Eo Eo +eos éo +Eos Éo +eof èo +Eof Èo +eor ẻo +Eor Ẻo +eox ẽo +Eox Ẽo +eoj ẹo +Eoj Ẹo eu eu Eu Eu eus éu @@ -154,6 +166,18 @@ eux ẽu Eux Ẽu euj ẹu Euj Ẹu +ia ia +Ia Ia +ias ía +Ias Ía +iaf ìa +Iaf Ìa +iar ỉa +Iar Ỉa +iax ĩa +Iax Ĩa +iaj ịa +Iaj Ịa iu iu Iu Iu ius íu @@ -178,6 +202,18 @@ oix õi Oix Õi oij ọi Oij Ọi +ua ua +Ua Ua +uas úa +Uas Úa +uaf ùa +Uaf Ùa +uar ủa +Uar Ủa +uax ũa +Uax Ũa +uaj ụa +Uaj Ụa ui ui Ui Ui uis úi @@ -202,6 +238,114 @@ uyx uỹ Uyx Uỹ uyj uỵ Uyj Uỵ +aau âu +Aau Âu +aaus ấu +Aaus Ấu +aauf ầu +Aauf Ầu +aaur ẩu +Aaur Ẩu +aaux ẫu +Aaux Ẫu +aauj ậu +Aauj Ậu +aay ây +Aay Ây +aays ấy +Aays Ấy +aayf ầy +Aayf Ầy +aayr ẩy +Aayr Ẩy +aayx ẫy +Aayx Ẫy +aayj ậy +Aayj Ậy +eeu êu +Eeu Êu +eeus ếu +Eeus Ếu +eeuf ều +Eeuf Ều +eeur ểu +Eeur Ểu +eeux ễu +Eeux Ễu +eeuj ệu +Eeuj Ệu +ooi ôi +Ooi Ôi +oois ối +Oois Ối +ooif ồi +Ooif Ồi +ooir ổi +Ooir Ổi +ooix ỗi +Ooix Ỗi +ooij ội +Ooij Ội +owi ơi +Owi Ơi +owis ới +Owis Ới +owif ời +Owif Ời +owir ởi +Owir Ởi +owix ỡi +Owix Ỡi +owij ợi +Owij Ợi +uwi ưi +Uwi Ưi +uwis ứi +Uwis Ứi +uwif ừi +Uwif Ừi +uwir ửi +Uwir Ửi +uwix ữi +Uwix Ữi +uwij ựi +Uwij Ựi +uwu ưu +Uwu Ưu +uwus ứu +Uwus Ứu +uwuf ừu +Uwuf Ừu +uwur ửu +Uwur Ửu +uwux ữu +Uwux Ữu +uwuj ựu +Uwuj Ựu +uwa ưa +Uwa Ưa +uwas ứa +Uwas Ứa +uwaf ừa +Uwaf Ừa +uwar ửa +Uwar Ửa +uwax ữa +Uwax Ữa +uwaj ựa +Uwaj Ựa +uee uê +Uee Uê +uees uế +Uees Uế +ueef uề +Ueef Uề +ueer uể +Ueer Uể +ueex uễ +Ueex Uễ +ueej uệ +Ueej Uệ iee iê Iee Iê iees iế @@ -274,18 +418,6 @@ oawx oẵ Oawx Oẵ oawj oặ Oawj Oặ -uwa ưa -Uwa Ưa -uwas ưá -Uwas Ưá -uwaf ưà -Uwaf Ưà -uwar ưả -Uwar Ưả -uwax ưã -Uwax Ưã -uwaj ưạ -Uwaj Ưạ uwow ươ Uwow Ươ uwows ướ @@ -304,8 +436,6 @@ ye ye Ye Ye uo uo Uo Uo -ua ua -Ua Ua ieeu iêu Ieeu Iêu ieeus iếu @@ -354,6 +484,54 @@ uowix ưỡi Uowix Ưỡi uowij ượi Uowij Ượi +uowu ươu +Uowu Ươu +uowus ướu +Uowus Ướu +uowuf ườu +Uowuf Ườu +uowur ưởu +Uowur Ưởu +uowux ưỡu +Uowux Ưỡu +uowuj ượu +Uowuj Ượu +uwowi ươi +Uwowi Ươi +uwowis ưới +Uwowis Ưới +uwowif ười +Uwowif Ười +uwowir ưởi +Uwowir Ưởi +uwowix ưỡi +Uwowix Ưỡi +uwowij ượi +Uwowij Ượi +uwowu ươu +Uwowu Ươu +uwowus ướu +Uwowus Ướu +uwowuf ườu +Uwowuf Ườu +uwowur ưởu +Uwowur Ưởu +uwowux ưỡu +Uwowux Ưỡu +uwowuj ượu +Uwowuj Ượu +uaay uây +Uaay Uây +uaays uấy +Uaays Uấy +uaayf uầy +Uaayf Uầy +uaayr uẩy +Uaayr Uẩy +uaayx uẫy +Uaayx Uẫy +uaayj uậy +Uaayj Uậy oai oai Oai Oai oais oái @@ -378,6 +556,42 @@ oayx oãy Oayx Oãy oayj oạy Oayj Oạy +oeo oeo +Oeo Oeo +oeos oéo +Oeos Oéo +oeof oèo +Oeof Oèo +oeor oẻo +Oeor Oẻo +oeox oẽo +Oeox Oẽo +oeoj oẹo +Oeoj Oẹo +uya uya +Uya Uya +uyas uýa +Uyas Uýa +uyaf uỳa +Uyaf Uỳa +uyar uỷa +Uyar Uỷa +uyax uỹa +Uyax Uỹa +uyaj uỵa +Uyaj Uỵa +uyu uyu +Uyu Uyu +uyus uýu +Uyus Uýu +uyuf uỳu +Uyuf Uỳu +uyur uỷu +Uyur Uỷu +uyux uỹu +Uyux Uỹu +uyuj uỵu +Uyuj Uỵu uyee uyê Uyee Uyê uyees uyế @@ -390,8 +604,6 @@ uyeex uyễ Uyeex Uyễ uyeej uyệ Uyeej Uyệ -uya uya -Uya Uya aw ă Aw Ă aa â @@ -2146,6 +2358,198 @@ uownhx ưỡnh Uownhx Ưỡnh uownhj ượnh Uownhj Ượnh +uwowc ươc +Uwowc Ươc +uwowcs ước +Uwowcs Ước +uwowcf ườc +Uwowcf Ườc +uwowcr ưởc +Uwowcr Ưởc +uwowcx ưỡc +Uwowcx Ưỡc +uwowcj ược +Uwowcj Ược +uwowm ươm +Uwowm Ươm +uwowms ướm +Uwowms Ướm +uwowmf ườm +Uwowmf Ườm +uwowmr ưởm +Uwowmr Ưởm +uwowmx ưỡm +Uwowmx Ưỡm +uwowmj ượm +Uwowmj Ượm +uwown ươn +Uwown Ươn +uwowns ướn +Uwowns Ướn +uwownf ườn +Uwownf Ườn +uwownr ưởn +Uwownr Ưởn +uwownx ưỡn +Uwownx Ưỡn +uwownj ượn +Uwownj Ượn +uwowp ươp +Uwowp Ươp +uwowps ướp +Uwowps Ướp +uwowpf ườp +Uwowpf Ườp +uwowpr ưởp +Uwowpr Ưởp +uwowpx ưỡp +Uwowpx Ưỡp +uwowpj ượp +Uwowpj Ượp +uwowt ươt +Uwowt Ươt +uwowts ướt +Uwowts Ướt +uwowtf ườt +Uwowtf Ườt +uwowtr ưởt +Uwowtr Ưởt +uwowtx ưỡt +Uwowtx Ưỡt +uwowtj ượt +Uwowtj Ượt +uwowch ươch +Uwowch Ươch +uwowchs ướch +Uwowchs Ướch +uwowchf ườch +Uwowchf Ườch +uwowchr ưởch +Uwowchr Ưởch +uwowchx ưỡch +Uwowchx Ưỡch +uwowchj ượch +Uwowchj Ượch +uwowng ương +Uwowng Ương +uwowngs ướng +Uwowngs Ướng +uwowngf ường +Uwowngf Ường +uwowngr ưởng +Uwowngr Ưởng +uwowngx ưỡng +Uwowngx Ưỡng +uwowngj ượng +Uwowngj Ượng +uwownh ươnh +Uwownh Ươnh +uwownhs ướnh +Uwownhs Ướnh +uwownhf ườnh +Uwownhf Ườnh +uwownhr ưởnh +Uwownhr Ưởnh +uwownhx ưỡnh +Uwownhx Ưỡnh +uwownhj ượnh +Uwownhj Ượnh +uyeec uyêc +Uyeec Uyêc +uyeecs uyếc +Uyeecs Uyếc +uyeecf uyềc +Uyeecf Uyềc +uyeecr uyểc +Uyeecr Uyểc +uyeecx uyễc +Uyeecx Uyễc +uyeecj uyệc +Uyeecj Uyệc +uyeem uyêm +Uyeem Uyêm +uyeems uyếm +Uyeems Uyếm +uyeemf uyềm +Uyeemf Uyềm +uyeemr uyểm +Uyeemr Uyểm +uyeemx uyễm +Uyeemx Uyễm +uyeemj uyệm +Uyeemj Uyệm +uyeen uyên +Uyeen Uyên +uyeens uyến +Uyeens Uyến +uyeenf uyền +Uyeenf Uyền +uyeenr uyển +Uyeenr Uyển +uyeenx uyễn +Uyeenx Uyễn +uyeenj uyện +Uyeenj Uyện +uyeep uyêp +Uyeep Uyêp +uyeeps uyếp +Uyeeps Uyếp +uyeepf uyềp +Uyeepf Uyềp +uyeepr uyểp +Uyeepr Uyểp +uyeepx uyễp +Uyeepx Uyễp +uyeepj uyệp +Uyeepj Uyệp +uyeet uyêt +Uyeet Uyêt +uyeets uyết +Uyeets Uyết +uyeetf uyềt +Uyeetf Uyềt +uyeetr uyểt +Uyeetr Uyểt +uyeetx uyễt +Uyeetx Uyễt +uyeetj uyệt +Uyeetj Uyệt +uyeech uyêch +Uyeech Uyêch +uyeechs uyếch +Uyeechs Uyếch +uyeechf uyềch +Uyeechf Uyềch +uyeechr uyểch +Uyeechr Uyểch +uyeechx uyễch +Uyeechx Uyễch +uyeechj uyệch +Uyeechj Uyệch +uyeeng uyêng +Uyeeng Uyêng +uyeengs uyếng +Uyeengs Uyếng +uyeengf uyềng +Uyeengf Uyềng +uyeengr uyểng +Uyeengr Uyểng +uyeengx uyễng +Uyeengx Uyễng +uyeengj uyệng +Uyeengj Uyệng +uyeenh uyênh +Uyeenh Uyênh +uyeenhs uyếnh +Uyeenhs Uyếnh +uyeenhf uyềnh +Uyeenhf Uyềnh +uyeenhr uyểnh +Uyeenhr Uyểnh +uyeenhx uyễnh +Uyeenhx Uyễnh +uyeenhj uyệnh +Uyeenhj Uyệnh uaac uâc Uaac Uâc uaacs uấc @@ -2242,6 +2646,102 @@ uaanhx uẫnh Uaanhx Uẫnh uaanhj uậnh Uaanhj Uậnh +ueec uêc +Ueec Uêc +ueecs uếc +Ueecs Uếc +ueecf uềc +Ueecf Uềc +ueecr uểc +Ueecr Uểc +ueecx uễc +Ueecx Uễc +ueecj uệc +Ueecj Uệc +ueem uêm +Ueem Uêm +ueems uếm +Ueems Uếm +ueemf uềm +Ueemf Uềm +ueemr uểm +Ueemr Uểm +ueemx uễm +Ueemx Uễm +ueemj uệm +Ueemj Uệm +ueen uên +Ueen Uên +ueens uến +Ueens Uến +ueenf uền +Ueenf Uền +ueenr uển +Ueenr Uển +ueenx uễn +Ueenx Uễn +ueenj uện +Ueenj Uện +ueep uêp +Ueep Uêp +ueeps uếp +Ueeps Uếp +ueepf uềp +Ueepf Uềp +ueepr uểp +Ueepr Uểp +ueepx uễp +Ueepx Uễp +ueepj uệp +Ueepj Uệp +ueet uêt +Ueet Uêt +ueets uết +Ueets Uết +ueetf uềt +Ueetf Uềt +ueetr uểt +Ueetr Uểt +ueetx uễt +Ueetx Uễt +ueetj uệt +Ueetj Uệt +ueech uêch +Ueech Uêch +ueechs uếch +Ueechs Uếch +ueechf uềch +Ueechf Uềch +ueechr uểch +Ueechr Uểch +ueechx uễch +Ueechx Uễch +ueechj uệch +Ueechj Uệch +ueeng uêng +Ueeng Uêng +ueengs uếng +Ueengs Uếng +ueengf uềng +Ueengf Uềng +ueengr uểng +Ueengr Uểng +ueengx uễng +Ueengx Uễng +ueengj uệng +Ueengj Uệng +ueenh uênh +Ueenh Uênh +ueenhs uếnh +Ueenhs Uếnh +ueenhf uềnh +Ueenhf Uềnh +ueenhr uểnh +Ueenhr Uểnh +ueenhx uễnh +Ueenhx Uễnh +ueenhj uệnh +Ueenhj Uệnh oawc oăc Oawc Oăc oawcs oắc @@ -2818,6 +3318,102 @@ oanhx oãnh Oanhx Oãnh oanhj oạnh Oanhj Oạnh +oec oec +Oec Oec +oecs oéc +Oecs Oéc +oecf oèc +Oecf Oèc +oecr oẻc +Oecr Oẻc +oecx oẽc +Oecx Oẽc +oecj oẹc +Oecj Oẹc +oem oem +Oem Oem +oems oém +Oems Oém +oemf oèm +Oemf Oèm +oemr oẻm +Oemr Oẻm +oemx oẽm +Oemx Oẽm +oemj oẹm +Oemj Oẹm +oen oen +Oen Oen +oens oén +Oens Oén +oenf oèn +Oenf Oèn +oenr oẻn +Oenr Oẻn +oenx oẽn +Oenx Oẽn +oenj oẹn +Oenj Oẹn +oep oep +Oep Oep +oeps oép +Oeps Oép +oepf oèp +Oepf Oèp +oepr oẻp +Oepr Oẻp +oepx oẽp +Oepx Oẽp +oepj oẹp +Oepj Oẹp +oet oet +Oet Oet +oets oét +Oets Oét +oetf oèt +Oetf Oèt +oetr oẻt +Oetr Oẻt +oetx oẽt +Oetx Oẽt +oetj oẹt +Oetj Oẹt +oech oech +Oech Oech +oechs oéch +Oechs Oéch +oechf oèch +Oechf Oèch +oechr oẻch +Oechr Oẻch +oechx oẽch +Oechx Oẽch +oechj oẹch +Oechj Oẹch +oeng oeng +Oeng Oeng +oengs oéng +Oengs Oéng +oengf oèng +Oengf Oèng +oengr oẻng +Oengr Oẻng +oengx oẽng +Oengx Oẽng +oengj oẹng +Oengj Oẹng +oenh oenh +Oenh Oenh +oenhs oénh +Oenhs Oénh +oenhf oènh +Oenhf Oènh +oenhr oẻnh +Oenhr Oẻnh +oenhx oẽnh +Oenhx Oẽnh +oenhj oẹnh +Oenhj Oẹnh oic oic Oic Oic oics óic @@ -3153,10 +3749,18 @@ quay quay Quay Quay giay giay Giay Giay +queo queo +Queo Queo +gieo gieo +Gieo Gieo queu queu Queu Queu gieu gieu Gieu Gieu +quia quia +Quia Quia +giia giia +Giia Giia quiu quiu Quiu Quiu giiu giiu @@ -3165,10 +3769,40 @@ quoi quoi Quoi Quoi gioi gioi Gioi Gioi +giua giua +Giua Giua giui giui Giui Giui giuy giuy Giuy Giuy +quaau quâu +Quaau Quâu +giaau giâu +Giaau Giâu +quaay quây +Quaay Quây +giaay giây +Giaay Giây +queeu quêu +Queeu Quêu +gieeu giêu +Gieeu Giêu +quooi quôi +Quooi Quôi +giooi giôi +Giooi Giôi +quowi quơi +Quowi Quơi +giowi giơi +Giowi Giơi +giuwi giưi +Giuwi Giưi +giuwu giưu +Giuwu Giưu +giuwa giưa +Giuwa Giưa +giuee giuê +Giuee Giuê quiee quiê Quiee Quiê giiee giiê @@ -3187,8 +3821,6 @@ quoaw quoă Quoaw Quoă gioaw gioă Gioaw Gioă -giuwa giưa -Giuwa Giưa giuwow giươ Giuwow Giươ quie quie @@ -3201,8 +3833,6 @@ giye giye Giye Giye giuo giuo Giuo Giuo -giua giua -Giua Giua quieeu quiêu Quieeu Quiêu giieeu giiêu @@ -3215,6 +3845,14 @@ giuooi giuôi Giuooi Giuôi giuowi giươi Giuowi Giươi +giuowu giươu +Giuowu Giươu +giuwowi giươi +Giuwowi Giươi +giuwowu giươu +Giuwowu Giươu +giuaay giuây +Giuaay Giuây quoai quoai Quoai Quoai gioai gioai @@ -3223,10 +3861,16 @@ quoay quoay Quoay Quoay gioay gioay Gioay Gioay -giuyee giuyê -Giuyee Giuyê +quoeo quoeo +Quoeo Quoeo +gioeo gioeo +Gioeo Gioeo giuya giuya Giuya Giuya +giuyu giuyu +Giuyu Giuyu +giuyee giuyê +Giuyee Giuyê quaw quă Quaw Quă giaw giă @@ -3719,6 +4363,38 @@ giuowng giương Giuowng Giương giuownh giươnh Giuownh Giươnh +giuwowc giươc +Giuwowc Giươc +giuwowm giươm +Giuwowm Giươm +giuwown giươn +Giuwown Giươn +giuwowp giươp +Giuwowp Giươp +giuwowt giươt +Giuwowt Giươt +giuwowch giươch +Giuwowch Giươch +giuwowng giương +Giuwowng Giương +giuwownh giươnh +Giuwownh Giươnh +giuyeec giuyêc +Giuyeec Giuyêc +giuyeem giuyêm +Giuyeem Giuyêm +giuyeen giuyên +Giuyeen Giuyên +giuyeep giuyêp +Giuyeep Giuyêp +giuyeet giuyêt +Giuyeet Giuyêt +giuyeech giuyêch +Giuyeech Giuyêch +giuyeeng giuyêng +Giuyeeng Giuyêng +giuyeenh giuyênh +Giuyeenh Giuyênh giuaac giuâc Giuaac Giuâc giuaam giuâm @@ -3735,6 +4411,22 @@ giuaang giuâng Giuaang Giuâng giuaanh giuânh Giuaanh Giuânh +giueec giuêc +Giueec Giuêc +giueem giuêm +Giueem Giuêm +giueen giuên +Giueen Giuên +giueep giuêp +Giueep Giuêp +giueet giuêt +Giueet Giuêt +giueech giuêch +Giueech Giuêch +giueeng giuêng +Giueeng Giuêng +giueenh giuênh +Giueenh Giuênh quoawc quoăc Quoawc Quoăc gioawc gioăc @@ -3927,6 +4619,38 @@ quoanh quoanh Quoanh Quoanh gioanh gioanh Gioanh Gioanh +quoec quoec +Quoec Quoec +gioec gioec +Gioec Gioec +quoem quoem +Quoem Quoem +gioem gioem +Gioem Gioem +quoen quoen +Quoen Quoen +gioen gioen +Gioen Gioen +quoep quoep +Quoep Quoep +gioep gioep +Gioep Gioep +quoet quoet +Quoet Quoet +gioet gioet +Gioet Gioet +quoech quoech +Quoech Quoech +gioech gioech +Gioech Gioech +quoeng quoeng +Quoeng Quoeng +gioeng gioeng +Gioeng Gioeng +quoenh quoenh +Quoenh Quoenh +gioenh gioenh +Gioenh Gioenh quoic quoic Quoic Quoic gioic gioic diff --git a/tests/vi_test.c b/tests/vi_test.c index ef16314..7d21584 100644 --- a/tests/vi_test.c +++ b/tests/vi_test.c @@ -35,6 +35,11 @@ vietnamese_transitions(struct ct *t) { "gias", "giá" }, { "Gias", "Giá" }, { "gif", "gì" }, + { "cuar", "của" }, + { "vowis", "với" }, + { "cuwar", "cửa" }, + { "nguyeenx", "nguyễn" }, + { "dduwowngf", "đường" }, { "\\s", "s" }, { "a\\s", "as" }, };