*** empty log message ***
[m17n/m17n-lib-js.git] / vi-base.mimx
1 <?xml version='1.0'?>
2 <input-method xmlns="http://www.m17n.org/MIM">
3   <tags>
4     <language>t</language>
5     <name>nil</name>
6     <extra-id>vi-base</extra-id>
7   </tags>
8   <description>Provide bases for Vietnamese input methods.
9 This is acutually not a standalone input method, but is expected
10 to be included in the other Vietnamese input method (e.g. vi-telex, vi-vni).
11 </description>
12   <macro-list>
13     <defmacro fname="macro-handle-mark">
14       <move>
15         <marker>T</marker>
16       </move>
17       <select>
18         <integer>0</integer>
19       </select>
20       <move>
21         <marker>M</marker>
22       </move>
23       <cond>
24         <list>
25           <varref vname="V-3"/>
26           <cond>
27             <list>
28               <or>
29                 <eq>
30                   <varref vname="V-1"/>
31                   <integer>234</integer>
32                 </eq>
33                 <eq>
34                   <varref vname="V-1"/>
35                   <integer>417</integer>
36                 </eq>
37                 <eq>
38                   <varref vname="V-1"/>
39                   <integer>202</integer>
40                 </eq>
41                 <eq>
42                   <varref vname="V-1"/>
43                   <integer>416</integer>
44                 </eq>
45               </or>
46               <set vname="TPLACE">
47                 <integer>3</integer>
48               </set>
49             </list>
50             <list>
51               <integer>1</integer>
52               <move>
53                 <marker>@-</marker>
54               </move>
55               <set vname="TPLACE">
56                 <integer>2</integer>
57               </set>
58             </list>
59           </cond>
60         </list>
61         <list>
62           <varref vname="V-2"/>
63           <cond>
64             <list>
65               <or>
66                 <gt>
67                   <varref vname="V-1"/>
68                   <integer>127</integer>
69                 </gt>
70                 <and>
71                   <or>
72                     <eq>
73                       <varref vname="C"/>
74                       <integer>103</integer>
75                     </eq>
76                     <eq>
77                       <varref vname="C"/>
78                       <integer>71</integer>
79                     </eq>
80                   </or>
81                   <or>
82                     <eq>
83                       <varref vname="V-2"/>
84                       <integer>105</integer>
85                     </eq>
86                     <eq>
87                       <varref vname="V-2"/>
88                       <integer>73</integer>
89                     </eq>
90                   </or>
91                 </and>
92                 <and>
93                   <or>
94                     <eq>
95                       <varref vname="C"/>
96                       <integer>113</integer>
97                     </eq>
98                     <eq>
99                       <varref vname="C"/>
100                       <integer>81</integer>
101                     </eq>
102                   </or>
103                   <or>
104                     <eq>
105                       <varref vname="V-2"/>
106                       <integer>117</integer>
107                     </eq>
108                     <eq>
109                       <varref vname="V-2"/>
110                       <integer>85</integer>
111                     </eq>
112                   </or>
113                 </and>
114                 <and>
115                   <or>
116                     <varref vname="tone-mark-on-last"/>
117                     <gt>
118                       <varref vname="C-AFTER-V"/>
119                       <integer>0</integer>
120                     </gt>
121                   </or>
122                   <or>
123                     <and>
124                       <or>
125                         <eq>
126                           <varref vname="V-2"/>
127                           <integer>111</integer>
128                         </eq>
129                         <eq>
130                           <varref vname="V-2"/>
131                           <integer>79</integer>
132                         </eq>
133                       </or>
134                       <or>
135                         <eq>
136                           <varref vname="V-1"/>
137                           <integer>97</integer>
138                         </eq>
139                         <eq>
140                           <varref vname="V-1"/>
141                           <integer>65</integer>
142                         </eq>
143                         <eq>
144                           <varref vname="V-1"/>
145                           <integer>101</integer>
146                         </eq>
147                         <eq>
148                           <varref vname="V-1"/>
149                           <integer>69</integer>
150                         </eq>
151                         <eq>
152                           <varref vname="V-1"/>
153                           <integer>111</integer>
154                         </eq>
155                         <eq>
156                           <varref vname="V-1"/>
157                           <integer>79</integer>
158                         </eq>
159                       </or>
160                     </and>
161                     <and>
162                       <or>
163                         <eq>
164                           <varref vname="V-2"/>
165                           <integer>117</integer>
166                         </eq>
167                         <eq>
168                           <varref vname="V-2"/>
169                           <integer>85</integer>
170                         </eq>
171                       </or>
172                       <or>
173                         <eq>
174                           <varref vname="V-1"/>
175                           <integer>121</integer>
176                         </eq>
177                         <eq>
178                           <varref vname="V-1"/>
179                           <integer>89</integer>
180                         </eq>
181                       </or>
182                     </and>
183                   </or>
184                 </and>
185               </or>
186               <set vname="TPLACE">
187                 <integer>2</integer>
188               </set>
189             </list>
190             <list>
191               <integer>1</integer>
192               <move>
193                 <marker>@-</marker>
194               </move>
195               <set vname="TPLACE">
196                 <integer>1</integer>
197               </set>
198             </list>
199           </cond>
200         </list>
201         <list>
202           <integer>1</integer>
203           <set vname="TPLACE">
204             <integer>1</integer>
205           </set>
206         </list>
207       </cond>
208       <select>
209         <varref vname="SELECT"/>
210       </select>
211       <mark>
212         <marker>T</marker>
213       </mark>
214       <move>
215         <marker>@&gt;</marker>
216       </move>
217     </defmacro>
218   </macro-list>
219   <map-list>
220     <map mname="map-vowel">
221       <rule>
222         <keyseq>
223           <string>a</string>
224         </keyseq>
225         <insert-candidates>
226           <string>aáàảãạ</string>
227         </insert-candidates>
228       </rule>
229       <rule>
230         <keyseq>
231           <string>A</string>
232         </keyseq>
233         <insert-candidates>
234           <string>AÁÀẢÃẠ</string>
235         </insert-candidates>
236       </rule>
237       <rule>
238         <keyseq>
239           <string>e</string>
240         </keyseq>
241         <insert-candidates>
242           <string>eéèẻẽẹ</string>
243         </insert-candidates>
244       </rule>
245       <rule>
246         <keyseq>
247           <string>E</string>
248         </keyseq>
249         <insert-candidates>
250           <string>EÉÈẺẼẸ</string>
251         </insert-candidates>
252       </rule>
253       <rule>
254         <keyseq>
255           <string>i</string>
256         </keyseq>
257         <insert-candidates>
258           <string>iíìỉĩị</string>
259         </insert-candidates>
260       </rule>
261       <rule>
262         <keyseq>
263           <string>I</string>
264         </keyseq>
265         <insert-candidates>
266           <string>IÍÌỈĨỊ</string>
267         </insert-candidates>
268       </rule>
269       <rule>
270         <keyseq>
271           <string>o</string>
272         </keyseq>
273         <insert-candidates>
274           <string>oóòỏõọ</string>
275         </insert-candidates>
276       </rule>
277       <rule>
278         <keyseq>
279           <string>O</string>
280         </keyseq>
281         <insert-candidates>
282           <string>OÓÒỎÕỌ</string>
283         </insert-candidates>
284       </rule>
285       <rule>
286         <keyseq>
287           <string>u</string>
288         </keyseq>
289         <insert-candidates>
290           <string>uúùủũụ</string>
291         </insert-candidates>
292       </rule>
293       <rule>
294         <keyseq>
295           <string>U</string>
296         </keyseq>
297         <insert-candidates>
298           <string>UÚÙỦŨỤ</string>
299         </insert-candidates>
300       </rule>
301       <rule>
302         <keyseq>
303           <string>y</string>
304         </keyseq>
305         <insert-candidates>
306           <string>yýỳỷỹỵ</string>
307         </insert-candidates>
308       </rule>
309       <rule>
310         <keyseq>
311           <string>Y</string>
312         </keyseq>
313         <insert-candidates>
314           <string>YÝỲỶỸỴ</string>
315         </insert-candidates>
316       </rule>
317     </map>
318     <map mname="map-consonant">
319       <rule>
320         <keyseq>
321           <string>b</string>
322         </keyseq>
323         <insert>
324           <integer>98</integer>
325         </insert>
326       </rule>
327       <rule>
328         <keyseq>
329           <string>c</string>
330         </keyseq>
331         <insert>
332           <integer>99</integer>
333         </insert>
334       </rule>
335       <rule>
336         <keyseq>
337           <string>d</string>
338         </keyseq>
339         <insert>
340           <integer>100</integer>
341         </insert>
342       </rule>
343       <rule>
344         <keyseq>
345           <string>g</string>
346         </keyseq>
347         <insert>
348           <integer>103</integer>
349         </insert>
350       </rule>
351       <rule>
352         <keyseq>
353           <string>h</string>
354         </keyseq>
355         <insert>
356           <integer>104</integer>
357         </insert>
358       </rule>
359       <rule>
360         <keyseq>
361           <string>k</string>
362         </keyseq>
363         <insert>
364           <integer>107</integer>
365         </insert>
366       </rule>
367       <rule>
368         <keyseq>
369           <string>l</string>
370         </keyseq>
371         <insert>
372           <integer>108</integer>
373         </insert>
374       </rule>
375       <rule>
376         <keyseq>
377           <string>m</string>
378         </keyseq>
379         <insert>
380           <integer>109</integer>
381         </insert>
382       </rule>
383       <rule>
384         <keyseq>
385           <string>n</string>
386         </keyseq>
387         <insert>
388           <integer>110</integer>
389         </insert>
390       </rule>
391       <rule>
392         <keyseq>
393           <string>p</string>
394         </keyseq>
395         <insert>
396           <integer>112</integer>
397         </insert>
398       </rule>
399       <rule>
400         <keyseq>
401           <string>q</string>
402         </keyseq>
403         <insert>
404           <integer>113</integer>
405         </insert>
406       </rule>
407       <rule>
408         <keyseq>
409           <string>t</string>
410         </keyseq>
411         <insert>
412           <integer>116</integer>
413         </insert>
414       </rule>
415       <rule>
416         <keyseq>
417           <string>v</string>
418         </keyseq>
419         <insert>
420           <integer>118</integer>
421         </insert>
422       </rule>
423       <rule>
424         <keyseq>
425           <string>B</string>
426         </keyseq>
427         <insert>
428           <integer>66</integer>
429         </insert>
430       </rule>
431       <rule>
432         <keyseq>
433           <string>C</string>
434         </keyseq>
435         <insert>
436           <integer>67</integer>
437         </insert>
438       </rule>
439       <rule>
440         <keyseq>
441           <string>D</string>
442         </keyseq>
443         <insert>
444           <integer>68</integer>
445         </insert>
446       </rule>
447       <rule>
448         <keyseq>
449           <string>G</string>
450         </keyseq>
451         <insert>
452           <integer>71</integer>
453         </insert>
454       </rule>
455       <rule>
456         <keyseq>
457           <string>H</string>
458         </keyseq>
459         <insert>
460           <integer>72</integer>
461         </insert>
462       </rule>
463       <rule>
464         <keyseq>
465           <string>K</string>
466         </keyseq>
467         <insert>
468           <integer>75</integer>
469         </insert>
470       </rule>
471       <rule>
472         <keyseq>
473           <string>L</string>
474         </keyseq>
475         <insert>
476           <integer>76</integer>
477         </insert>
478       </rule>
479       <rule>
480         <keyseq>
481           <string>M</string>
482         </keyseq>
483         <insert>
484           <integer>77</integer>
485         </insert>
486       </rule>
487       <rule>
488         <keyseq>
489           <string>N</string>
490         </keyseq>
491         <insert>
492           <integer>78</integer>
493         </insert>
494       </rule>
495       <rule>
496         <keyseq>
497           <string>P</string>
498         </keyseq>
499         <insert>
500           <integer>80</integer>
501         </insert>
502       </rule>
503       <rule>
504         <keyseq>
505           <string>Q</string>
506         </keyseq>
507         <insert>
508           <integer>81</integer>
509         </insert>
510       </rule>
511       <rule>
512         <keyseq>
513           <string>T</string>
514         </keyseq>
515         <insert>
516           <integer>84</integer>
517         </insert>
518       </rule>
519       <rule>
520         <keyseq>
521           <string>V</string>
522         </keyseq>
523         <insert>
524           <integer>86</integer>
525         </insert>
526       </rule>
527     </map>
528     <map mname="map-ending-1st-notviet-consonant">
529       <rule>
530         <keyseq>
531           <string>q</string>
532         </keyseq>
533         <insert>
534           <integer>113</integer>
535         </insert>
536       </rule>
537       <rule>
538         <keyseq>
539           <string>Q</string>
540         </keyseq>
541         <insert>
542           <integer>81</integer>
543         </insert>
544       </rule>
545       <rule>
546         <keyseq>
547           <string>d</string>
548         </keyseq>
549         <insert>
550           <integer>100</integer>
551         </insert>
552       </rule>
553       <rule>
554         <keyseq>
555           <string>D</string>
556         </keyseq>
557         <insert>
558           <integer>68</integer>
559         </insert>
560       </rule>
561       <rule>
562         <keyseq>
563           <string>g</string>
564         </keyseq>
565         <insert>
566           <integer>103</integer>
567         </insert>
568       </rule>
569       <rule>
570         <keyseq>
571           <string>G</string>
572         </keyseq>
573         <insert>
574           <integer>71</integer>
575         </insert>
576       </rule>
577       <rule>
578         <keyseq>
579           <string>h</string>
580         </keyseq>
581         <insert>
582           <integer>104</integer>
583         </insert>
584       </rule>
585       <rule>
586         <keyseq>
587           <string>H</string>
588         </keyseq>
589         <insert>
590           <integer>72</integer>
591         </insert>
592       </rule>
593       <rule>
594         <keyseq>
595           <string>k</string>
596         </keyseq>
597         <insert>
598           <integer>107</integer>
599         </insert>
600       </rule>
601       <rule>
602         <keyseq>
603           <string>K</string>
604         </keyseq>
605         <insert>
606           <integer>75</integer>
607         </insert>
608       </rule>
609       <rule>
610         <keyseq>
611           <string>l</string>
612         </keyseq>
613         <insert>
614           <integer>108</integer>
615         </insert>
616       </rule>
617       <rule>
618         <keyseq>
619           <string>L</string>
620         </keyseq>
621         <insert>
622           <integer>76</integer>
623         </insert>
624       </rule>
625       <rule>
626         <keyseq>
627           <string>v</string>
628         </keyseq>
629         <insert>
630           <integer>118</integer>
631         </insert>
632       </rule>
633       <rule>
634         <keyseq>
635           <string>V</string>
636         </keyseq>
637         <insert>
638           <integer>86</integer>
639         </insert>
640       </rule>
641       <rule>
642         <keyseq>
643           <string>b</string>
644         </keyseq>
645         <insert>
646           <integer>98</integer>
647         </insert>
648       </rule>
649       <rule>
650         <keyseq>
651           <string>B</string>
652         </keyseq>
653         <insert>
654           <integer>66</integer>
655         </insert>
656       </rule>
657       <rule>
658         <keyseq>
659           <string>z</string>
660         </keyseq>
661         <insert>
662           <integer>122</integer>
663         </insert>
664       </rule>
665       <rule>
666         <keyseq>
667           <string>Z</string>
668         </keyseq>
669         <insert>
670           <integer>90</integer>
671         </insert>
672       </rule>
673     </map>
674     <map mname="map-ending-1st-consonant">
675       <rule>
676         <keyseq>
677           <string>c</string>
678         </keyseq>
679         <insert>
680           <integer>99</integer>
681         </insert>
682       </rule>
683       <rule>
684         <keyseq>
685           <string>m</string>
686         </keyseq>
687         <insert>
688           <integer>109</integer>
689         </insert>
690       </rule>
691       <rule>
692         <keyseq>
693           <string>n</string>
694         </keyseq>
695         <insert>
696           <integer>110</integer>
697         </insert>
698       </rule>
699       <rule>
700         <keyseq>
701           <string>p</string>
702         </keyseq>
703         <insert>
704           <integer>112</integer>
705         </insert>
706       </rule>
707       <rule>
708         <keyseq>
709           <string>t</string>
710         </keyseq>
711         <insert>
712           <integer>116</integer>
713         </insert>
714       </rule>
715       <rule>
716         <keyseq>
717           <string>C</string>
718         </keyseq>
719         <insert>
720           <integer>67</integer>
721         </insert>
722       </rule>
723       <rule>
724         <keyseq>
725           <string>M</string>
726         </keyseq>
727         <insert>
728           <integer>77</integer>
729         </insert>
730       </rule>
731       <rule>
732         <keyseq>
733           <string>N</string>
734         </keyseq>
735         <insert>
736           <integer>78</integer>
737         </insert>
738       </rule>
739       <rule>
740         <keyseq>
741           <string>P</string>
742         </keyseq>
743         <insert>
744           <integer>80</integer>
745         </insert>
746       </rule>
747       <rule>
748         <keyseq>
749           <string>T</string>
750         </keyseq>
751         <insert>
752           <integer>84</integer>
753         </insert>
754       </rule>
755     </map>
756     <map mname="map-ending-2nd-consonant">
757       <rule>
758         <keyseq>
759           <string>g</string>
760         </keyseq>
761         <insert>
762           <integer>103</integer>
763         </insert>
764       </rule>
765       <rule>
766         <keyseq>
767           <string>h</string>
768         </keyseq>
769         <insert>
770           <integer>104</integer>
771         </insert>
772       </rule>
773       <rule>
774         <keyseq>
775           <string>G</string>
776         </keyseq>
777         <insert>
778           <integer>71</integer>
779         </insert>
780       </rule>
781       <rule>
782         <keyseq>
783           <string>H</string>
784         </keyseq>
785         <insert>
786           <integer>72</integer>
787         </insert>
788       </rule>
789     </map>
790     <map mname="map-alnum">
791       <rule>
792         <keyseq>
793           <string>a</string>
794         </keyseq>
795         <insert>
796           <integer>97</integer>
797         </insert>
798       </rule>
799       <rule>
800         <keyseq>
801           <string>b</string>
802         </keyseq>
803         <insert>
804           <integer>98</integer>
805         </insert>
806       </rule>
807       <rule>
808         <keyseq>
809           <string>c</string>
810         </keyseq>
811         <insert>
812           <integer>99</integer>
813         </insert>
814       </rule>
815       <rule>
816         <keyseq>
817           <string>d</string>
818         </keyseq>
819         <insert>
820           <integer>100</integer>
821         </insert>
822       </rule>
823       <rule>
824         <keyseq>
825           <string>e</string>
826         </keyseq>
827         <insert>
828           <integer>101</integer>
829         </insert>
830       </rule>
831       <rule>
832         <keyseq>
833           <string>f</string>
834         </keyseq>
835         <insert>
836           <integer>102</integer>
837         </insert>
838       </rule>
839       <rule>
840         <keyseq>
841           <string>g</string>
842         </keyseq>
843         <insert>
844           <integer>103</integer>
845         </insert>
846       </rule>
847       <rule>
848         <keyseq>
849           <string>h</string>
850         </keyseq>
851         <insert>
852           <integer>104</integer>
853         </insert>
854       </rule>
855       <rule>
856         <keyseq>
857           <string>i</string>
858         </keyseq>
859         <insert>
860           <integer>105</integer>
861         </insert>
862       </rule>
863       <rule>
864         <keyseq>
865           <string>j</string>
866         </keyseq>
867         <insert>
868           <integer>106</integer>
869         </insert>
870       </rule>
871       <rule>
872         <keyseq>
873           <string>k</string>
874         </keyseq>
875         <insert>
876           <integer>107</integer>
877         </insert>
878       </rule>
879       <rule>
880         <keyseq>
881           <string>l</string>
882         </keyseq>
883         <insert>
884           <integer>108</integer>
885         </insert>
886       </rule>
887       <rule>
888         <keyseq>
889           <string>m</string>
890         </keyseq>
891         <insert>
892           <integer>109</integer>
893         </insert>
894       </rule>
895       <rule>
896         <keyseq>
897           <string>n</string>
898         </keyseq>
899         <insert>
900           <integer>110</integer>
901         </insert>
902       </rule>
903       <rule>
904         <keyseq>
905           <string>o</string>
906         </keyseq>
907         <insert>
908           <integer>111</integer>
909         </insert>
910       </rule>
911       <rule>
912         <keyseq>
913           <string>p</string>
914         </keyseq>
915         <insert>
916           <integer>112</integer>
917         </insert>
918       </rule>
919       <rule>
920         <keyseq>
921           <string>q</string>
922         </keyseq>
923         <insert>
924           <integer>113</integer>
925         </insert>
926       </rule>
927       <rule>
928         <keyseq>
929           <string>r</string>
930         </keyseq>
931         <insert>
932           <integer>114</integer>
933         </insert>
934       </rule>
935       <rule>
936         <keyseq>
937           <string>s</string>
938         </keyseq>
939         <insert>
940           <integer>115</integer>
941         </insert>
942       </rule>
943       <rule>
944         <keyseq>
945           <string>t</string>
946         </keyseq>
947         <insert>
948           <integer>116</integer>
949         </insert>
950       </rule>
951       <rule>
952         <keyseq>
953           <string>u</string>
954         </keyseq>
955         <insert>
956           <integer>117</integer>
957         </insert>
958       </rule>
959       <rule>
960         <keyseq>
961           <string>v</string>
962         </keyseq>
963         <insert>
964           <integer>118</integer>
965         </insert>
966       </rule>
967       <rule>
968         <keyseq>
969           <string>w</string>
970         </keyseq>
971         <insert>
972           <integer>119</integer>
973         </insert>
974       </rule>
975       <rule>
976         <keyseq>
977           <string>x</string>
978         </keyseq>
979         <insert>
980           <integer>120</integer>
981         </insert>
982       </rule>
983       <rule>
984         <keyseq>
985           <string>y</string>
986         </keyseq>
987         <insert>
988           <integer>121</integer>
989         </insert>
990       </rule>
991       <rule>
992         <keyseq>
993           <string>z</string>
994         </keyseq>
995         <insert>
996           <integer>122</integer>
997         </insert>
998       </rule>
999       <rule>
1000         <keyseq>
1001           <string>A</string>
1002         </keyseq>
1003         <insert>
1004           <integer>65</integer>
1005         </insert>
1006       </rule>
1007       <rule>
1008         <keyseq>
1009           <string>B</string>
1010         </keyseq>
1011         <insert>
1012           <integer>66</integer>
1013         </insert>
1014       </rule>
1015       <rule>
1016         <keyseq>
1017           <string>C</string>
1018         </keyseq>
1019         <insert>
1020           <integer>67</integer>
1021         </insert>
1022       </rule>
1023       <rule>
1024         <keyseq>
1025           <string>D</string>
1026         </keyseq>
1027         <insert>
1028           <integer>68</integer>
1029         </insert>
1030       </rule>
1031       <rule>
1032         <keyseq>
1033           <string>E</string>
1034         </keyseq>
1035         <insert>
1036           <integer>69</integer>
1037         </insert>
1038       </rule>
1039       <rule>
1040         <keyseq>
1041           <string>F</string>
1042         </keyseq>
1043         <insert>
1044           <integer>70</integer>
1045         </insert>
1046       </rule>
1047       <rule>
1048         <keyseq>
1049           <string>G</string>
1050         </keyseq>
1051         <insert>
1052           <integer>71</integer>
1053         </insert>
1054       </rule>
1055       <rule>
1056         <keyseq>
1057           <string>H</string>
1058         </keyseq>
1059         <insert>
1060           <integer>72</integer>
1061         </insert>
1062       </rule>
1063       <rule>
1064         <keyseq>
1065           <string>I</string>
1066         </keyseq>
1067         <insert>
1068           <integer>73</integer>
1069         </insert>
1070       </rule>
1071       <rule>
1072         <keyseq>
1073           <string>J</string>
1074         </keyseq>
1075         <insert>
1076           <integer>74</integer>
1077         </insert>
1078       </rule>
1079       <rule>
1080         <keyseq>
1081           <string>K</string>
1082         </keyseq>
1083         <insert>
1084           <integer>75</integer>
1085         </insert>
1086       </rule>
1087       <rule>
1088         <keyseq>
1089           <string>L</string>
1090         </keyseq>
1091         <insert>
1092           <integer>76</integer>
1093         </insert>
1094       </rule>
1095       <rule>
1096         <keyseq>
1097           <string>M</string>
1098         </keyseq>
1099         <insert>
1100           <integer>77</integer>
1101         </insert>
1102       </rule>
1103       <rule>
1104         <keyseq>
1105           <string>N</string>
1106         </keyseq>
1107         <insert>
1108           <integer>78</integer>
1109         </insert>
1110       </rule>
1111       <rule>
1112         <keyseq>
1113           <string>O</string>
1114         </keyseq>
1115         <insert>
1116           <integer>79</integer>
1117         </insert>
1118       </rule>
1119       <rule>
1120         <keyseq>
1121           <string>P</string>
1122         </keyseq>
1123         <insert>
1124           <integer>80</integer>
1125         </insert>
1126       </rule>
1127       <rule>
1128         <keyseq>
1129           <string>Q</string>
1130         </keyseq>
1131         <insert>
1132           <integer>81</integer>
1133         </insert>
1134       </rule>
1135       <rule>
1136         <keyseq>
1137           <string>R</string>
1138         </keyseq>
1139         <insert>
1140           <integer>82</integer>
1141         </insert>
1142       </rule>
1143       <rule>
1144         <keyseq>
1145           <string>S</string>
1146         </keyseq>
1147         <insert>
1148           <integer>83</integer>
1149         </insert>
1150       </rule>
1151       <rule>
1152         <keyseq>
1153           <string>T</string>
1154         </keyseq>
1155         <insert>
1156           <integer>84</integer>
1157         </insert>
1158       </rule>
1159       <rule>
1160         <keyseq>
1161           <string>U</string>
1162         </keyseq>
1163         <insert>
1164           <integer>85</integer>
1165         </insert>
1166       </rule>
1167       <rule>
1168         <keyseq>
1169           <string>V</string>
1170         </keyseq>
1171         <insert>
1172           <integer>86</integer>
1173         </insert>
1174       </rule>
1175       <rule>
1176         <keyseq>
1177           <string>W</string>
1178         </keyseq>
1179         <insert>
1180           <integer>87</integer>
1181         </insert>
1182       </rule>
1183       <rule>
1184         <keyseq>
1185           <string>X</string>
1186         </keyseq>
1187         <insert>
1188           <integer>88</integer>
1189         </insert>
1190       </rule>
1191       <rule>
1192         <keyseq>
1193           <string>Y</string>
1194         </keyseq>
1195         <insert>
1196           <integer>89</integer>
1197         </insert>
1198       </rule>
1199       <rule>
1200         <keyseq>
1201           <string>Z</string>
1202         </keyseq>
1203         <insert>
1204           <integer>90</integer>
1205         </insert>
1206       </rule>
1207       <rule>
1208         <keyseq>
1209           <string>0</string>
1210         </keyseq>
1211         <insert>
1212           <integer>48</integer>
1213         </insert>
1214       </rule>
1215       <rule>
1216         <keyseq>
1217           <string>1</string>
1218         </keyseq>
1219         <insert>
1220           <integer>49</integer>
1221         </insert>
1222       </rule>
1223       <rule>
1224         <keyseq>
1225           <string>2</string>
1226         </keyseq>
1227         <insert>
1228           <integer>50</integer>
1229         </insert>
1230       </rule>
1231       <rule>
1232         <keyseq>
1233           <string>3</string>
1234         </keyseq>
1235         <insert>
1236           <integer>51</integer>
1237         </insert>
1238       </rule>
1239       <rule>
1240         <keyseq>
1241           <string>4</string>
1242         </keyseq>
1243         <insert>
1244           <integer>52</integer>
1245         </insert>
1246       </rule>
1247       <rule>
1248         <keyseq>
1249           <string>5</string>
1250         </keyseq>
1251         <insert>
1252           <integer>53</integer>
1253         </insert>
1254       </rule>
1255       <rule>
1256         <keyseq>
1257           <string>6</string>
1258         </keyseq>
1259         <insert>
1260           <integer>54</integer>
1261         </insert>
1262       </rule>
1263       <rule>
1264         <keyseq>
1265           <string>7</string>
1266         </keyseq>
1267         <insert>
1268           <integer>55</integer>
1269         </insert>
1270       </rule>
1271       <rule>
1272         <keyseq>
1273           <string>8</string>
1274         </keyseq>
1275         <insert>
1276           <integer>56</integer>
1277         </insert>
1278       </rule>
1279       <rule>
1280         <keyseq>
1281           <string>9</string>
1282         </keyseq>
1283         <insert>
1284           <integer>57</integer>
1285         </insert>
1286       </rule>
1287     </map>
1288     <map mname="map-smart-quotes">
1289       <rule>
1290         <keyseq>
1291           <string>'</string>
1292         </keyseq>
1293         <insert>
1294           <integer>39</integer>
1295         </insert>
1296       </rule>
1297       <rule>
1298         <keyseq>
1299           <string>''</string>
1300         </keyseq>
1301         <insert>
1302           <string>‘’</string>
1303         </insert>
1304       </rule>
1305       <rule>
1306         <keyseq>
1307           <string>"</string>
1308         </keyseq>
1309         <insert>
1310           <integer>34</integer>
1311         </insert>
1312       </rule>
1313       <rule>
1314         <keyseq>
1315           <string>""</string>
1316         </keyseq>
1317         <insert>
1318           <string>“”</string>
1319         </insert>
1320       </rule>
1321     </map>
1322     <map mname="map-permanent-escape">
1323       <rule>
1324         <keyseq>
1325           <string>\</string>
1326         </keyseq>
1327       </rule>
1328     </map>
1329     <map mname="map-backspace">
1330       <rule>
1331         <keyseq>
1332           <list>
1333             <symbol>BackSpace</symbol>
1334           </list>
1335         </keyseq>
1336         <cond>
1337           <list>
1338             <varref vname="backspace-is-undo"/>
1339             <undo/>
1340           </list>
1341         </cond>
1342       </rule>
1343     </map>
1344   </map-list>
1345 </input-method>