+++ /dev/null
-<?xml version='1.0'?>
-<input-method xmlns="http://www.m17n.org/MIM">
- <tags>
- <language>vi</language>
- <name>telex</name>
- </tags>
- <description>
- <gettext>Vietnames input method using the TELEX key sequence.
-Typing Backslash ('\') toggles the normal mode and English mode.
-The following variables are customizable:
- tone-mark-on-last: control tone mark position in equivocal cases
- backspace-is-undo: control the action of Backspace key (delete or undo)</gettext>
- </description>
- <title>Ắ(TLX)</title>
- <variable-list>
- <defvar vname="tone-mark-on-last">
- <description>
- <gettext>Flag to control tone mark position in equivocal cases.
-If this variable is 0 (the default), put tone mark on the first vowel
-in such equivocal cases as "oa", "oe", "uy".
-Otherwise, put tone mark on the last vowel.</gettext>
- </description>
- <integer>0</integer>
- <possible-value>
- <integer>0</integer>
- <integer>1</integer>
- </possible-value>
- </defvar>
- <defvar vname="backspace-is-undo">
- <description>
- <gettext>Flag to control the action of Backspace key (delete or undo).
-If this variable is 0 (the default), Backspace key deletes the previous
-character (e.g. "q u a i s BS" => "quá").
-If the value is 1, Backspace key undoes the previous key
-(e.g. "q u a i s BS" => "quai").</gettext>
- </description>
- <integer>0</integer>
- <possible-value>
- <integer>0</integer>
- <integer>1</integer>
- </possible-value>
- </defvar>
- </variable-list>
- <macro-list>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="vi-base.mimx" xpointer="xmlns(mim=http://www.m17n.org/MIM)xpointer(//mim:defmacro)">
- <tags>
- <language>t</language>
- <name>nil</name>
- <extra-id>vi-base</extra-id>
- </tags>
- <section>macro</section>
- </xi:include>
- </macro-list>
- <map-list>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="vi-base.mimx" xpointer="xmlns(mim=http://www.m17n.org/MIM)xpointer(//mim:map)">
- <tags>
- <language>t</language>
- <name>nil</name>
- <extra-id>vi-base</extra-id>
- </tags>
- <section>map</section>
- </xi:include>
- <map mname="map-vowel-ext">
- <rule>
- <keyseq>
- <string>aa</string>
- </keyseq>
- <insert-candidates>
- <string>âấầẩẫậ</string>
- </insert-candidates>
- </rule>
- <rule>
- <keyseq>
- <string>AA</string>
- </keyseq>
- <insert-candidates>
- <string>ÂẤẦẨẪẬ</string>
- </insert-candidates>
- </rule>
- <rule>
- <keyseq>
- <string>Aa</string>
- </keyseq>
- <insert-candidates>
- <string>ÂẤẦẨẪẬ</string>
- </insert-candidates>
- </rule>
- <rule>
- <keyseq>
- <string>aw</string>
- </keyseq>
- <insert-candidates>
- <string>ăắằẳẵặ</string>
- </insert-candidates>
- </rule>
- <rule>
- <keyseq>
- <string>AW</string>
- </keyseq>
- <insert-candidates>
- <string>ĂẮẰẲẴẶ</string>
- </insert-candidates>
- </rule>
- <rule>
- <keyseq>
- <string>Aw</string>
- </keyseq>
- <insert-candidates>
- <string>ĂẮẰẲẴẶ</string>
- </insert-candidates>
- </rule>
- <rule>
- <keyseq>
- <string>ee</string>
- </keyseq>
- <insert-candidates>
- <string>êếềểễệ</string>
- </insert-candidates>
- </rule>
- <rule>
- <keyseq>
- <string>EE</string>
- </keyseq>
- <insert-candidates>
- <string>ÊẾỀỂỄỆ</string>
- </insert-candidates>
- </rule>
- <rule>
- <keyseq>
- <string>Ee</string>
- </keyseq>
- <insert-candidates>
- <string>ÊẾỀỂỄỆ</string>
- </insert-candidates>
- </rule>
- <rule>
- <keyseq>
- <string>oo</string>
- </keyseq>
- <insert-candidates>
- <string>ôốồổỗộ</string>
- </insert-candidates>
- </rule>
- <rule>
- <keyseq>
- <string>OO</string>
- </keyseq>
- <insert-candidates>
- <string>ÔỐỒỔỖỘ</string>
- </insert-candidates>
- </rule>
- <rule>
- <keyseq>
- <string>Oo</string>
- </keyseq>
- <insert-candidates>
- <string>ÔỐỒỔỖỘ</string>
- </insert-candidates>
- </rule>
- <rule>
- <keyseq>
- <string>ow</string>
- </keyseq>
- <insert-candidates>
- <string>ơớờởỡợ</string>
- </insert-candidates>
- </rule>
- <rule>
- <keyseq>
- <string>OW</string>
- </keyseq>
- <insert-candidates>
- <string>ƠỚỜỞỠỢ</string>
- </insert-candidates>
- </rule>
- <rule>
- <keyseq>
- <string>Ow</string>
- </keyseq>
- <insert-candidates>
- <string>ƠỚỜỞỠỢ</string>
- </insert-candidates>
- </rule>
- <rule>
- <keyseq>
- <string>uw</string>
- </keyseq>
- <insert-candidates>
- <string>ưứừửữự</string>
- </insert-candidates>
- </rule>
- <rule>
- <keyseq>
- <string>UW</string>
- </keyseq>
- <insert-candidates>
- <string>ƯỨỪỬỮỰ</string>
- </insert-candidates>
- </rule>
- <rule>
- <keyseq>
- <string>Uw</string>
- </keyseq>
- <insert-candidates>
- <string>ƯỨỪỬỮỰ</string>
- </insert-candidates>
- </rule>
- <rule>
- <keyseq>
- <string>w</string>
- </keyseq>
- <cond>
- <list>
- <eq>
- <varref vname="V-1"/>
- <integer>0</integer>
- </eq>
- <insert-candidates>
- <string>ưứừửữự</string>
- </insert-candidates>
- </list>
- <list>
- <integer>1</integer>
- <insert>
- <string>w</string>
- </insert>
- </list>
- </cond>
- </rule>
- <rule>
- <keyseq>
- <string>W</string>
- </keyseq>
- <cond>
- <list>
- <eq>
- <varref vname="V-1"/>
- <integer>0</integer>
- </eq>
- <insert-candidates>
- <string>ƯỨỪỬỮỰ</string>
- </insert-candidates>
- </list>
- <list>
- <integer>1</integer>
- <insert>
- <string>W</string>
- </insert>
- </list>
- </cond>
- </rule>
- <rule>
- <keyseq>
- <string>ooo</string>
- </keyseq>
- <insert-candidates>
- <string>oóòỏõọ</string>
- </insert-candidates>
- <insert-candidates>
- <string>oóòỏõọ</string>
- </insert-candidates>
- <set vname="V-2">
- <varref vname="V-1"/>
- </set>
- <set vname="V-1">
- <integer>111</integer>
- </set>
- </rule>
- <rule>
- <keyseq>
- <string>OOO</string>
- </keyseq>
- <insert-candidates>
- <string>OÓÒỎÕỌ</string>
- </insert-candidates>
- <insert-candidates>
- <string>OÓÒỎÕỌ</string>
- </insert-candidates>
- <set vname="V-2">
- <varref vname="V-1"/>
- </set>
- <set vname="V-1">
- <integer>79</integer>
- </set>
- </rule>
- <rule>
- <keyseq>
- <string>Ooo</string>
- </keyseq>
- <insert-candidates>
- <string>OÓÒỎÕỌ</string>
- </insert-candidates>
- <insert-candidates>
- <string>oóòỏõọ</string>
- </insert-candidates>
- <set vname="V-2">
- <varref vname="V-1"/>
- </set>
- <set vname="V-1">
- <integer>79</integer>
- </set>
- </rule>
- </map>
- <map mname="map-consonant-ext">
- <rule>
- <keyseq>
- <string>dd</string>
- </keyseq>
- <insert>
- <integer>273</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>DD</string>
- </keyseq>
- <insert>
- <integer>272</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>Dd</string>
- </keyseq>
- <insert>
- <integer>272</integer>
- </insert>
- </rule>
- </map>
- <map mname="map-tone-mark">
- <rule>
- <keyseq>
- <string>z</string>
- </keyseq>
- <set vname="SELECT">
- <integer>0</integer>
- </set>
- <insert>
- <integer>122</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>Z</string>
- </keyseq>
- <set vname="SELECT">
- <integer>0</integer>
- </set>
- <insert>
- <integer>90</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>s</string>
- </keyseq>
- <set vname="SELECT">
- <integer>1</integer>
- </set>
- <insert>
- <integer>115</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>S</string>
- </keyseq>
- <set vname="SELECT">
- <integer>1</integer>
- </set>
- <insert>
- <integer>83</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>f</string>
- </keyseq>
- <set vname="SELECT">
- <integer>2</integer>
- </set>
- <insert>
- <integer>102</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>F</string>
- </keyseq>
- <set vname="SELECT">
- <integer>2</integer>
- </set>
- <insert>
- <integer>70</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>r</string>
- </keyseq>
- <set vname="SELECT">
- <integer>3</integer>
- </set>
- <insert>
- <integer>114</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>R</string>
- </keyseq>
- <set vname="SELECT">
- <integer>3</integer>
- </set>
- <insert>
- <integer>82</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>x</string>
- </keyseq>
- <set vname="SELECT">
- <integer>4</integer>
- </set>
- <insert>
- <integer>120</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>X</string>
- </keyseq>
- <set vname="SELECT">
- <integer>4</integer>
- </set>
- <insert>
- <integer>88</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>j</string>
- </keyseq>
- <set vname="SELECT">
- <integer>5</integer>
- </set>
- <insert>
- <integer>106</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>J</string>
- </keyseq>
- <set vname="SELECT">
- <integer>5</integer>
- </set>
- <insert>
- <integer>74</integer>
- </insert>
- </rule>
- </map>
- <map mname="map-consonant-or-tone-mark">
- <rule>
- <keyseq>
- <string>z</string>
- </keyseq>
- <insert>
- <integer>122</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>s</string>
- </keyseq>
- <insert>
- <integer>115</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>f</string>
- </keyseq>
- <insert>
- <integer>102</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>r</string>
- </keyseq>
- <insert>
- <integer>114</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>x</string>
- </keyseq>
- <insert>
- <integer>120</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>j</string>
- </keyseq>
- <insert>
- <integer>106</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>Z</string>
- </keyseq>
- <insert>
- <integer>90</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>S</string>
- </keyseq>
- <insert>
- <integer>83</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>F</string>
- </keyseq>
- <insert>
- <integer>70</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>R</string>
- </keyseq>
- <insert>
- <integer>82</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>X</string>
- </keyseq>
- <insert>
- <integer>88</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>J</string>
- </keyseq>
- <insert>
- <integer>74</integer>
- </insert>
- </rule>
- </map>
- <map mname="map-temporary-escape">
- <rule>
- <keyseq>
- <string>aaa</string>
- </keyseq>
- <insert>
- <string>aa</string>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>AAA</string>
- </keyseq>
- <insert>
- <string>AA</string>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>Aaa</string>
- </keyseq>
- <insert>
- <string>Aa</string>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>eee</string>
- </keyseq>
- <insert>
- <string>ee</string>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>EEE</string>
- </keyseq>
- <insert>
- <string>EE</string>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>Eee</string>
- </keyseq>
- <insert>
- <string>Ee</string>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>ddd</string>
- </keyseq>
- <insert>
- <string>dd</string>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>DDD</string>
- </keyseq>
- <insert>
- <string>DD</string>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>Ddd</string>
- </keyseq>
- <insert>
- <string>Dd</string>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>aww</string>
- </keyseq>
- <insert>
- <string>aw</string>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>AWW</string>
- </keyseq>
- <insert>
- <string>AW</string>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>Aww</string>
- </keyseq>
- <insert>
- <string>Aw</string>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>uww</string>
- </keyseq>
- <insert>
- <string>uw</string>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>UWW</string>
- </keyseq>
- <insert>
- <string>UW</string>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>Uww</string>
- </keyseq>
- <insert>
- <string>Uw</string>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>oww</string>
- </keyseq>
- <insert>
- <string>ow</string>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>OWW</string>
- </keyseq>
- <insert>
- <string>OW</string>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>Oww</string>
- </keyseq>
- <insert>
- <string>Ow</string>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>ww</string>
- </keyseq>
- <insert>
- <integer>119</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>WW</string>
- </keyseq>
- <insert>
- <integer>87</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>Ww</string>
- </keyseq>
- <insert>
- <integer>87</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>zz</string>
- </keyseq>
- <insert>
- <integer>122</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>ZZ</string>
- </keyseq>
- <insert>
- <integer>90</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>Zz</string>
- </keyseq>
- <insert>
- <integer>90</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>ss</string>
- </keyseq>
- <insert>
- <integer>115</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>SS</string>
- </keyseq>
- <insert>
- <integer>83</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>Ss</string>
- </keyseq>
- <insert>
- <integer>83</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>ff</string>
- </keyseq>
- <insert>
- <integer>102</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>FF</string>
- </keyseq>
- <insert>
- <integer>70</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>Ff</string>
- </keyseq>
- <insert>
- <integer>70</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>rr</string>
- </keyseq>
- <insert>
- <integer>114</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>RR</string>
- </keyseq>
- <insert>
- <integer>82</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>Rr</string>
- </keyseq>
- <insert>
- <integer>82</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>xx</string>
- </keyseq>
- <insert>
- <integer>120</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>XX</string>
- </keyseq>
- <insert>
- <integer>88</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>Xx</string>
- </keyseq>
- <insert>
- <integer>88</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>jj</string>
- </keyseq>
- <insert>
- <integer>106</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>JJ</string>
- </keyseq>
- <insert>
- <integer>74</integer>
- </insert>
- </rule>
- <rule>
- <keyseq>
- <string>Jj</string>
- </keyseq>
- <insert>
- <integer>74</integer>
- </insert>
- </rule>
- </map>
- </map-list>
- <state-list>
- <state sname="state-init">
- <state-hook>
- <set vname="C">
- <char-at>
- <marker>@-1</marker>
- </char-at>
- </set>
- <set vname="V-1">
- <integer>0</integer>
- </set>
- <set vname="V-2">
- <integer>0</integer>
- </set>
- <set vname="V-3">
- <integer>0</integer>
- </set>
- <set vname="C-AFTER-V">
- <integer>0</integer>
- </set>
- <set vname="SELECT">
- <integer>0</integer>
- </set>
- <set vname="NST">
- <eq>
- <surrounding-text-flag/>
- <integer>-2</integer>
- </eq>
- </set>
- </state-hook>
- <branch mname="map-consonant">
- <set vname="C">
- <char-at>
- <marker>@-1</marker>
- </char-at>
- </set>
- <cond>
- <list>
- <varref vname="NST"/>
- <shift>
- <symbol>state-after-c</symbol>
- </shift>
- </list>
- </cond>
- </branch>
- <branch mname="map-consonant-ext">
- <set vname="C">
- <char-at>
- <marker>@-1</marker>
- </char-at>
- </set>
- <cond>
- <list>
- <varref vname="NST"/>
- <shift>
- <symbol>state-after-c</symbol>
- </shift>
- </list>
- </cond>
- </branch>
- <branch mname="map-consonant-or-tone-mark">
- <cond>
- <list>
- <logior>
- <eq>
- <char-at>
- <marker>@-1</marker>
- </char-at>
- <integer>102</integer>
- </eq>
- <eq>
- <char-at>
- <marker>@-1</marker>
- </char-at>
- <integer>106</integer>
- </eq>
- <eq>
- <char-at>
- <marker>@-1</marker>
- </char-at>
- <integer>122</integer>
- </eq>
- <eq>
- <char-at>
- <marker>@-1</marker>
- </char-at>
- <integer>70</integer>
- </eq>
- <eq>
- <char-at>
- <marker>@-1</marker>
- </char-at>
- <integer>74</integer>
- </eq>
- <eq>
- <char-at>
- <marker>@-1</marker>
- </char-at>
- <integer>90</integer>
- </eq>
- </logior>
- <shift>
- <symbol>state-temporary-escape</symbol>
- </shift>
- </list>
- <list>
- <integer>1</integer>
- <set vname="C">
- <char-at>
- <marker>@-1</marker>
- </char-at>
- </set>
- <cond>
- <list>
- <varref vname="NST"/>
- <shift>
- <symbol>state-after-c</symbol>
- </shift>
- </list>
- </cond>
- </list>
- </cond>
- </branch>
- <branch mname="map-vowel">
- <mark>
- <marker>M</marker>
- </mark>
- <set vname="V-2">
- <varref vname="V-1"/>
- </set>
- <set vname="V-1">
- <char-at>
- <marker>@-1</marker>
- </char-at>
- </set>
- <shift>
- <symbol>state-after-v</symbol>
- </shift>
- </branch>
- <branch mname="map-vowel-ext">
- <mark>
- <marker>M</marker>
- </mark>
- <set vname="V-2">
- <varref vname="V-1"/>
- </set>
- <set vname="V-1">
- <char-at>
- <marker>@-1</marker>
- </char-at>
- </set>
- <shift>
- <symbol>state-after-v</symbol>
- </shift>
- </branch>
- <branch mname="map-temporary-escape">
- <shift>
- <symbol>state-temporary-escape</symbol>
- </shift>
- </branch>
- <branch mname="map-permanent-escape">
- <shift>
- <symbol>state-escape-in-normal-mode</symbol>
- </shift>
- </branch>
- <branch mname="map-smart-quotes"/>
- </state>
- <state sname="state-after-c">
- <branch mname="map-vowel">
- <mark>
- <marker>M</marker>
- </mark>
- <set vname="V-2">
- <varref vname="V-1"/>
- </set>
- <set vname="V-1">
- <char-at>
- <marker>@-1</marker>
- </char-at>
- </set>
- <shift>
- <symbol>state-after-v</symbol>
- </shift>
- </branch>
- <branch mname="map-vowel-ext">
- <mark>
- <marker>M</marker>
- </mark>
- <set vname="V-2">
- <varref vname="V-1"/>
- </set>
- <set vname="V-1">
- <char-at>
- <marker>@-1</marker>
- </char-at>
- </set>
- <shift>
- <symbol>state-after-v</symbol>
- </shift>
- </branch>
- </state>
- <state sname="state-after-v">
- <branch mname="map-ending-1st-consonant">
- <funcall fname="macro-handle-mark"/>
- <shift>
- <symbol>state-after-vc</symbol>
- </shift>
- </branch>
- <branch mname="map-vowel">
- <mark>
- <marker>M</marker>
- </mark>
- <set vname="V-3">
- <varref vname="V-2"/>
- </set>
- <set vname="V-2">
- <varref vname="V-1"/>
- </set>
- <set vname="V-1">
- <char-at>
- <marker>@-1</marker>
- </char-at>
- </set>
- <move>
- <marker>T</marker>
- </move>
- <select>
- <integer>0</integer>
- </select>
- <funcall fname="macro-handle-mark"/>
- <move>
- <marker>M</marker>
- </move>
- </branch>
- <branch mname="map-vowel-ext">
- <mark>
- <marker>M</marker>
- </mark>
- <set vname="V-3">
- <varref vname="V-2"/>
- </set>
- <set vname="V-2">
- <varref vname="V-1"/>
- </set>
- <set vname="V-1">
- <char-at>
- <marker>@-1</marker>
- </char-at>
- </set>
- <move>
- <marker>T</marker>
- </move>
- <select>
- <integer>0</integer>
- </select>
- <funcall fname="macro-handle-mark"/>
- <move>
- <marker>M</marker>
- </move>
- </branch>
- <branch mname="map-ending-1st-notviet-consonant">
- <shift>
- <symbol>state-temporary-escape</symbol>
- </shift>
- </branch>
- <branch mname="map-consonant-or-tone-mark">
- <delete>
- <marker>@-</marker>
- </delete>
- <pushback>
- <integer>1</integer>
- </pushback>
- <shift>
- <symbol>state-after-t</symbol>
- </shift>
- </branch>
- <branch mname="map-backspace">
- <delete>
- <marker>@-</marker>
- </delete>
- <cond>
- <list>
- <varref vname="V-3"/>
- <set vname="V-1">
- <varref vname="V-2"/>
- </set>
- <set vname="V-2">
- <varref vname="V-3"/>
- </set>
- <set vname="V-3">
- <integer>0</integer>
- </set>
- <cond>
- <list>
- <gt>
- <varref vname="TPLACE"/>
- <integer>2</integer>
- </gt>
- <set vname="SELECT">
- <integer>0</integer>
- </set>
- </list>
- </cond>
- <funcall fname="macro-handle-mark"/>
- </list>
- <list>
- <varref vname="V-2"/>
- <set vname="V-1">
- <varref vname="V-2"/>
- </set>
- <set vname="V-2">
- <integer>0</integer>
- </set>
- <cond>
- <list>
- <gt>
- <varref vname="TPLACE"/>
- <integer>1</integer>
- </gt>
- <set vname="SELECT">
- <integer>0</integer>
- </set>
- </list>
- </cond>
- <funcall fname="macro-handle-mark"/>
- </list>
- <list>
- <integer>1</integer>
- <shift>
- <symbol>state-init</symbol>
- </shift>
- </list>
- </cond>
- </branch>
- </state>
- <state sname="state-after-vc">
- <state-hook>
- <set vname="C-AFTER-V">
- <integer>1</integer>
- </set>
- </state-hook>
- <branch mname="map-ending-2nd-consonant">
- <cond>
- <list>
- <logior>
- <eq>
- <char-at>
- <marker>@-2</marker>
- </char-at>
- <integer>110</integer>
- </eq>
- <eq>
- <char-at>
- <marker>@-2</marker>
- </char-at>
- <integer>99</integer>
- </eq>
- <eq>
- <char-at>
- <marker>@-2</marker>
- </char-at>
- <integer>78</integer>
- </eq>
- <eq>
- <char-at>
- <marker>@-2</marker>
- </char-at>
- <integer>67</integer>
- </eq>
- </logior>
- <add vname="C-AFTER-V">
- <integer>1</integer>
- </add>
- </list>
- <list>
- <integer>1</integer>
- <shift>
- <symbol>state-temporary-escape</symbol>
- </shift>
- </list>
- </cond>
- </branch>
- <branch mname="map-ending-1st-notviet-consonant">
- <shift>
- <symbol>state-temporary-escape</symbol>
- </shift>
- </branch>
- <branch mname="map-consonant-or-tone-mark">
- <delete>
- <marker>@-</marker>
- </delete>
- <pushback>
- <integer>1</integer>
- </pushback>
- <shift>
- <symbol>state-after-t</symbol>
- </shift>
- </branch>
- <branch mname="map-vowel">
- <shift>
- <symbol>state-temporary-escape</symbol>
- </shift>
- </branch>
- <branch mname="map-vowel-ext">
- <shift>
- <symbol>state-temporary-escape</symbol>
- </shift>
- </branch>
- <branch mname="map-backspace">
- <delete>
- <marker>@-</marker>
- </delete>
- <sub vname="C-AFTER-V">
- <integer>1</integer>
- </sub>
- <funcall fname="macro-handle-mark"/>
- <cond>
- <list>
- <eq>
- <varref vname="C-AFTER-V"/>
- <integer>0</integer>
- </eq>
- <shift>
- <symbol>state-after-v</symbol>
- </shift>
- </list>
- </cond>
- </branch>
- </state>
- <state sname="state-after-t">
- <state-hook>
- <set vname="CURRENT-SELECT">
- <integer>-1</integer>
- </set>
- </state-hook>
- <branch mname="map-tone-mark">
- <cond>
- <list>
- <eq>
- <varref vname="CURRENT-SELECT"/>
- <varref vname="SELECT"/>
- </eq>
- <move>
- <marker>T</marker>
- </move>
- <select>
- <integer>0</integer>
- </select>
- <move>
- <marker>@></marker>
- </move>
- <shift>
- <symbol>state-temporary-escape</symbol>
- </shift>
- </list>
- <list>
- <integer>1</integer>
- <delete>
- <marker>@-</marker>
- </delete>
- <funcall fname="macro-handle-mark"/>
- <set vname="CURRENT-SELECT">
- <varref vname="SELECT"/>
- </set>
- </list>
- </cond>
- </branch>
- <catch-all-branch>
- <cond>
- <list>
- <varref vname="C-AFTER-V"/>
- <shift>
- <symbol>state-after-vc</symbol>
- </shift>
- </list>
- <list>
- <integer>1</integer>
- <shift>
- <symbol>state-after-v</symbol>
- </shift>
- </list>
- </cond>
- </catch-all-branch>
- </state>
- <state sname="state-temporary-escape">
- <title>en</title>
- <state-hook>
- <commit/>
- </state-hook>
- <branch mname="map-alnum">
- <commit/>
- </branch>
- </state>
- <state sname="state-escape-in-normal-mode">
- <title>EN</title>
- <branch mname="map-permanent-escape">
- <insert>
- <string>\</string>
- </insert>
- <shift>
- <symbol>state-init</symbol>
- </shift>
- </branch>
- <catch-all-branch>
- <shift>
- <symbol>state-permanent-escape</symbol>
- </shift>
- </catch-all-branch>
- </state>
- <state sname="state-permanent-escape">
- <title>EN</title>
- <state-hook>
- <set vname="ESCAPE">
- <integer>1</integer>
- </set>
- </state-hook>
- <branch mname="map-permanent-escape">
- <shift>
- <symbol>state-escape-in-permanent-escape</symbol>
- </shift>
- </branch>
- <catch-all-branch>
- <unhandle/>
- </catch-all-branch>
- </state>
- <state sname="state-escape-in-permanent-escape">
- <title>Ắ</title>
- <branch mname="map-permanent-escape">
- <insert>
- <string>\</string>
- </insert>
- <commit/>
- <shift>
- <symbol>state-permanent-escape</symbol>
- </shift>
- </branch>
- </state>
- </state-list>
-</input-method>
\ No newline at end of file