2 <input-method xmlns="http://www.m17n.org/MIM">
4 <language>vi</language>
8 <gettext>Vietnames input method using the VIQR key sequence.
9 Typing Backslash ('\') toggles the normal mode and English mode.
10 The following variables are customizable:
11 tone-mark-on-last: control tone mark position in equivocal cases
12 backspace-is-undo: control the action of Backspace key (delete or undo)</gettext>
14 <title>Ắ(VIQR)</title>
16 <defvar vname="tone-mark-on-last">
18 <gettext>Flag to control tone mark position in equivocal cases.
19 If this variable is 0 (the default), put tone mark on the first vowel
20 in such equivocal cases as "oa", "oe", "uy".
21 Otherwise, put tone mark on the last vowel.</gettext>
29 <defvar vname="backspace-is-undo">
31 <gettext>Flag to control the action of Backspace key (delete or undo).
32 If this variable is 0 (the default), Backspace key deletes the previous
33 character (e.g. "q u a i s BS" => "quá").
34 If the value is 1, Backspace key undoes the previous key
35 (e.g. "q u a i s BS" => "quai").</gettext>
45 <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)">
47 <language>t</language>
49 <extra-id>vi-base</extra-id>
51 <section>macro</section>
55 <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)">
57 <language>t</language>
59 <extra-id>vi-base</extra-id>
61 <section>map</section>
63 <map mname="map-vowel-ext">
69 <string>âấầẩẫậ</string>
77 <string>ÂẤẦẨẪẬ</string>
85 <string>ăắằẳẵặ</string>
93 <string>ĂẮẰẲẴẶ</string>
101 <string>êếềểễệ</string>
109 <string>ÊẾỀỂỄỆ</string>
117 <string>ôốồổỗộ</string>
125 <string>ÔỐỒỔỖỘ</string>
133 <string>ơớờởỡợ</string>
141 <string>ƠỚỜỞỠỢ</string>
149 <string>ưứừửữự</string>
157 <string>ƯỨỪỬỮỰ</string>
161 <map mname="map-consonant-ext">
167 <integer>273</integer>
175 <integer>272</integer>
183 <integer>272</integer>
187 <map mname="map-tone-mark">
196 <integer>48</integer>
207 <integer>39</integer>
218 <integer>96</integer>
229 <integer>63</integer>
240 <integer>126</integer>
251 <integer>46</integer>
255 <map mname="map-temporary-escape">
355 <state sname="state-init">
371 <set vname="C-AFTER-V">
379 <surrounding-text-flag/>
380 <integer>-2</integer>
384 <branch mname="map-consonant">
392 <varref vname="NST"/>
394 <symbol>state-after-c</symbol>
399 <branch mname="map-consonant-ext">
407 <varref vname="NST"/>
409 <symbol>state-after-c</symbol>
414 <branch mname="map-vowel">
419 <varref vname="V-1"/>
427 <symbol>state-after-v</symbol>
430 <branch mname="map-vowel-ext">
435 <varref vname="V-1"/>
443 <symbol>state-after-v</symbol>
446 <branch mname="map-temporary-escape">
448 <symbol>state-temporary-escape</symbol>
451 <branch mname="map-permanent-escape">
453 <symbol>state-escape-in-normal-mode</symbol>
457 <state sname="state-after-c">
458 <branch mname="map-vowel">
463 <varref vname="V-1"/>
471 <symbol>state-after-v</symbol>
474 <branch mname="map-vowel-ext">
479 <varref vname="V-1"/>
487 <symbol>state-after-v</symbol>
491 <state sname="state-after-v">
492 <branch mname="map-consonant">
494 <symbol>state-after-vc</symbol>
497 <branch mname="map-consonant-ext">
499 <symbol>state-after-vc</symbol>
502 <branch mname="map-vowel">
507 <varref vname="V-2"/>
510 <varref vname="V-1"/>
523 <funcall fname="macro-handle-mark"/>
528 <branch mname="map-vowel-ext">
533 <varref vname="V-2"/>
536 <varref vname="V-1"/>
549 <funcall fname="macro-handle-mark"/>
554 <branch mname="map-tone-mark">
562 <symbol>state-after-t</symbol>
565 <branch mname="map-backspace">
571 <varref vname="V-3"/>
573 <varref vname="V-2"/>
576 <varref vname="V-3"/>
584 <varref vname="TPLACE"/>
594 <varref vname="V-2"/>
596 <varref vname="V-2"/>
604 <varref vname="TPLACE"/>
616 <symbol>state-init</symbol>
622 <state sname="state-after-vc">
624 <set vname="C-AFTER-V">
628 <branch mname="map-consonant">
629 <add vname="C-AFTER-V">
633 <branch mname="map-consonant-ext">
634 <add vname="C-AFTER-V">
638 <branch mname="map-tone-mark">
646 <symbol>state-after-t</symbol>
649 <branch mname="map-backspace">
653 <sub vname="C-AFTER-V">
659 <varref vname="C-AFTER-V"/>
663 <symbol>state-after-v</symbol>
669 <state sname="state-after-t">
671 <set vname="CURRENT-SELECT">
672 <integer>-1</integer>
675 <branch mname="map-tone-mark">
679 <varref vname="CURRENT-SELECT"/>
680 <varref vname="SELECT"/>
689 <marker>@></marker>
692 <symbol>state-temporary-escape</symbol>
700 <funcall fname="macro-handle-mark"/>
701 <set vname="CURRENT-SELECT">
702 <varref vname="SELECT"/>
710 <varref vname="C-AFTER-V"/>
712 <symbol>state-after-vc</symbol>
718 <symbol>state-after-v</symbol>
724 <state sname="state-temporary-escape">
729 <branch mname="map-alnum">
733 <state sname="state-escape-in-normal-mode">
735 <branch mname="map-permanent-escape">
740 <symbol>state-init</symbol>
745 <symbol>state-permanent-escape</symbol>
749 <state sname="state-permanent-escape">
756 <branch mname="map-permanent-escape">
758 <symbol>state-escape-in-permanent-escape</symbol>
765 <state sname="state-escape-in-permanent-escape">
767 <branch mname="map-permanent-escape">
773 <symbol>state-permanent-escape</symbol>