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">
378 <branch mname="map-consonant">
385 <branch mname="map-consonant-ext">
392 <branch mname="map-vowel">
397 <varref vname="V-1"/>
405 <symbol>state-after-v</symbol>
408 <branch mname="map-vowel-ext">
413 <varref vname="V-1"/>
421 <symbol>state-after-v</symbol>
424 <branch mname="map-temporary-escape">
426 <symbol>state-temporary-escape</symbol>
429 <branch mname="map-permanent-escape">
431 <symbol>state-escape-in-normal-mode</symbol>
435 <state sname="state-after-v">
436 <branch mname="map-consonant">
438 <symbol>state-after-vc</symbol>
441 <branch mname="map-consonant-ext">
443 <symbol>state-after-vc</symbol>
446 <branch mname="map-vowel">
451 <varref vname="V-2"/>
454 <varref vname="V-1"/>
467 <funcall fname="macro-handle-mark"/>
472 <branch mname="map-vowel-ext">
477 <varref vname="V-2"/>
480 <varref vname="V-1"/>
493 <funcall fname="macro-handle-mark"/>
498 <branch mname="map-tone-mark">
506 <symbol>state-after-t</symbol>
509 <branch mname="map-backspace">
515 <varref vname="V-3"/>
517 <varref vname="V-2"/>
520 <varref vname="V-3"/>
528 <varref vname="TPLACE"/>
538 <varref vname="V-2"/>
540 <varref vname="V-2"/>
548 <varref vname="TPLACE"/>
560 <symbol>state-init</symbol>
566 <state sname="state-after-vc">
568 <set vname="C-AFTER-V">
572 <branch mname="map-consonant">
573 <add vname="C-AFTER-V">
577 <branch mname="map-consonant-ext">
578 <add vname="C-AFTER-V">
582 <branch mname="map-tone-mark">
590 <symbol>state-after-t</symbol>
593 <branch mname="map-backspace">
597 <sub vname="C-AFTER-V">
603 <varref vname="C-AFTER-V"/>
607 <symbol>state-after-v</symbol>
613 <state sname="state-after-t">
615 <set vname="CURRENT-SELECT">
616 <integer>-1</integer>
619 <branch mname="map-tone-mark">
623 <varref vname="CURRENT-SELECT"/>
624 <varref vname="SELECT"/>
633 <marker>@></marker>
636 <symbol>state-temporary-escape</symbol>
644 <funcall fname="macro-handle-mark"/>
645 <set vname="CURRENT-SELECT">
646 <varref vname="SELECT"/>
654 <varref vname="C-AFTER-V"/>
656 <symbol>state-after-vc</symbol>
662 <symbol>state-after-v</symbol>
668 <state sname="state-temporary-escape">
673 <branch mname="map-alnum">
677 <state sname="state-escape-in-normal-mode">
679 <branch mname="map-permanent-escape">
684 <symbol>state-init</symbol>
689 <symbol>state-permanent-escape</symbol>
693 <state sname="state-permanent-escape">
700 <branch mname="map-permanent-escape">
702 <symbol>state-escape-in-permanent-escape</symbol>
709 <state sname="state-escape-in-permanent-escape">
711 <branch mname="map-permanent-escape">
717 <symbol>state-permanent-escape</symbol>