2 <input-method xmlns="http://www.m17n.org/MIM">
4 <language>vi</language>
8 <gettext>Vietnames input method using the TCVN6064 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>Ắ(TCVN)</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>
179 <map mname="map-tone-mark">
188 <integer>49</integer>
199 <integer>50</integer>
210 <integer>51</integer>
221 <integer>52</integer>
232 <integer>53</integer>
236 <map mname="map-misc">
242 <integer>8363</integer>
250 <integer>61</integer>
260 <integer>49</integer>
270 <integer>50</integer>
280 <integer>51</integer>
290 <integer>52</integer>
300 <integer>53</integer>
310 <integer>54</integer>
320 <integer>55</integer>
330 <integer>56</integer>
340 <integer>57</integer>
350 <integer>48</integer>
360 <integer>45</integer>
370 <integer>61</integer>
380 <integer>92</integer>
390 <integer>91</integer>
400 <integer>93</integer>
410 <integer>33</integer>
420 <integer>64</integer>
430 <integer>35</integer>
440 <integer>36</integer>
450 <integer>37</integer>
460 <integer>94</integer>
466 <string>A-&</string>
470 <integer>38</integer>
480 <integer>42</integer>
490 <integer>40</integer>
500 <integer>41</integer>
510 <integer>95</integer>
520 <integer>43</integer>
530 <integer>124</integer>
540 <integer>123</integer>
550 <integer>125</integer>
554 <map mname="map-temporary-escape">
670 <state sname="state-init">
686 <set vname="C-AFTER-V">
693 <branch mname="map-consonant">
700 <branch mname="map-consonant-ext">
707 <branch mname="map-vowel">
712 <varref vname="V-1"/>
720 <symbol>state-after-v</symbol>
723 <branch mname="map-vowel-ext">
728 <varref vname="V-1"/>
736 <symbol>state-after-v</symbol>
739 <branch mname="map-temporary-escape">
741 <symbol>state-temporary-escape</symbol>
744 <branch mname="map-permanent-escape">
746 <symbol>state-escape-in-normal-mode</symbol>
749 <branch mname="map-misc"/>
750 <branch mname="map-smart-quotes"/>
752 <state sname="state-after-v">
753 <branch mname="map-consonant">
755 <symbol>state-after-vc</symbol>
758 <branch mname="map-consonant-ext">
760 <symbol>state-after-vc</symbol>
763 <branch mname="map-vowel">
768 <varref vname="V-2"/>
771 <varref vname="V-1"/>
784 <funcall fname="macro-handle-mark"/>
789 <branch mname="map-vowel-ext">
794 <varref vname="V-2"/>
797 <varref vname="V-1"/>
810 <funcall fname="macro-handle-mark"/>
815 <branch mname="map-tone-mark">
823 <symbol>state-after-t</symbol>
826 <branch mname="map-backspace">
832 <varref vname="V-3"/>
834 <varref vname="V-2"/>
837 <varref vname="V-3"/>
845 <varref vname="TPLACE"/>
855 <varref vname="V-2"/>
857 <varref vname="V-2"/>
865 <varref vname="TPLACE"/>
877 <symbol>state-init</symbol>
883 <state sname="state-after-vc">
885 <set vname="C-AFTER-V">
889 <branch mname="map-consonant">
890 <add vname="C-AFTER-V">
894 <branch mname="map-consonant-ext">
895 <add vname="C-AFTER-V">
899 <branch mname="map-tone-mark">
907 <symbol>state-after-t</symbol>
910 <branch mname="map-backspace">
914 <sub vname="C-AFTER-V">
920 <varref vname="C-AFTER-V"/>
924 <symbol>state-after-v</symbol>
930 <state sname="state-after-t">
932 <set vname="CURRENT-SELECT">
933 <integer>-1</integer>
936 <branch mname="map-tone-mark">
940 <varref vname="CURRENT-SELECT"/>
941 <varref vname="SELECT"/>
950 <marker>@></marker>
953 <symbol>state-temporary-escape</symbol>
961 <funcall fname="macro-handle-mark"/>
962 <set vname="CURRENT-SELECT">
963 <varref vname="SELECT"/>
971 <varref vname="C-AFTER-V"/>
973 <symbol>state-after-vc</symbol>
979 <symbol>state-after-v</symbol>
985 <state sname="state-temporary-escape">
990 <branch mname="map-alnum">
994 <state sname="state-escape-in-normal-mode">
996 <branch mname="map-permanent-escape">
1001 <symbol>state-init</symbol>
1006 <symbol>state-permanent-escape</symbol>
1010 <state sname="state-permanent-escape">
1013 <set vname="ESCAPE">
1014 <integer>1</integer>
1017 <branch mname="map-permanent-escape">
1019 <symbol>state-escape-in-permanent-escape</symbol>
1026 <state sname="state-escape-in-permanent-escape">
1028 <branch mname="map-permanent-escape">
1034 <symbol>state-permanent-escape</symbol>