1 /* FIXME! this table should be separated as external file */
2 
3 #include "scim_skk_automaton.h"
4 
5 namespace scim_skk {
6 
7 /* from Suikyo but modified by mukai */
8 ConvRule romakana_table[] = {
9 #if 0
10     {"va",	"う゛ぁ",	""},
11     {"vi",	"う゛ぃ",	""},
12     {"vu",	"う゛",	""},
13     {"ve",	"う゛ぇ",	""},
14     {"vo",	"う゛ぉ",	""},
15 #else
16     {"va",	"ヴぁ",	""},
17     {"vi",	"ヴぃ",	""},
18     {"vu",	"ヴ",	""},
19     {"ve",	"ヴぇ",	""},
20     {"vo",	"ヴぉ",	""},
21 #endif
22     {"vv",	"っ",	"v"},
23     {"xx",	"っ",	"x"},
24     {"kk",	"っ",	"k"},
25     {"gg",	"っ",	"g"},
26     {"ss",	"っ",	"s"},
27     {"zz",	"っ",	"z"},
28     {"jj",	"っ",	"j"},
29     {"tt",	"っ",	"t"},
30     {"dd",	"っ",	"d"},
31     {"hh",	"っ",	"h"},
32     {"ff",	"っ",	"f"},
33     {"bb",	"っ",	"b"},
34     {"pp",	"っ",	"p"},
35     {"mm",	"っ",	"m"},
36     {"yy",	"っ",	"y"},
37     {"rr",	"っ",	"r"},
38     {"ww",	"っ",	"w"},
39     {"cc",	"っ",	"c"},
40     {"kya",	"きゃ",	""},
41     {"kyi",	"きぃ",	""},
42     {"kyu",	"きゅ",	""},
43     {"kye",	"きぇ",	""},
44     {"kyo",	"きょ",	""},
45     {"gya",	"ぎゃ",	""},
46     {"gyi",	"ぎぃ",	""},
47     {"gyu",	"ぎゅ",	""},
48     {"gye",	"ぎぇ",	""},
49     {"gyo",	"ぎょ",	""},
50     {"sya",	"しゃ",	""},
51     {"syi",	"しぃ",	""},
52     {"syu",	"しゅ",	""},
53     {"sye",	"しぇ",	""},
54     {"syo",	"しょ",	""},
55     {"sha",	"しゃ",	""},
56     {"shi",	"し",	""},
57     {"shu",	"しゅ",	""},
58     {"she",	"しぇ",	""},
59     {"sho",	"しょ",	""},
60     {"zya",	"じゃ",	""},
61     {"zyi",	"じぃ",	""},
62     {"zyu",	"じゅ",	""},
63     {"zye",	"じぇ",	""},
64     {"zyo",	"じょ",	""},
65     {"tya",	"ちゃ",	""},
66     {"tyi",	"ちぃ",	""},
67     {"tyu",	"ちゅ",	""},
68     {"tye",	"ちぇ",	""},
69     {"tyo",	"ちょ",	""},
70     {"cha",	"ちゃ",	""},
71     {"chi",	"ち",	""},
72     {"chu",	"ちゅ",	""},
73     {"che",	"ちぇ",	""},
74     {"cho",	"ちょ",	""},
75     {"ca",	"か",	""},
76     {"ci",	"し",	""},
77     {"cu",	"く",	""},
78     {"ce",	"せ",	""},
79     {"co",	"こ",	""},
80     {"dya",	"ぢゃ",	""},
81     {"dyi",	"ぢぃ",	""},
82     {"dyu",	"ぢゅ",	""},
83     {"dye",	"ぢぇ",	""},
84     {"dyo",	"ぢょ",	""},
85     {"tha",	"てゃ",	""},
86     {"thi",	"てぃ",	""},
87     {"thu",	"てゅ",	""},
88     {"the",	"てぇ",	""},
89     {"tho",	"てょ",	""},
90     {"dha",	"でゃ",	""},
91     {"dhi",	"でぃ",	""},
92     {"dhu",	"でゅ",	""},
93     {"dhe",	"でぇ",	""},
94     {"dho",	"でょ",	""},
95     {"nya",	"にゃ",	""},
96     {"nyi",	"にぃ",	""},
97     {"nyu",	"にゅ",	""},
98     {"nye",	"にぇ",	""},
99     {"nyo",	"にょ",	""},
100     {"hya",	"ひゃ",	""},
101     {"hyi",	"ひぃ",	""},
102     {"hyu",	"ひゅ",	""},
103     {"hye",	"ひぇ",	""},
104     {"hyo",	"ひょ",	""},
105     {"bya",	"びゃ",	""},
106     {"byi",	"びぃ",	""},
107     {"byu",	"びゅ",	""},
108     {"bye",	"びぇ",	""},
109     {"byo",	"びょ",	""},
110     {"pya",	"ぴゃ",	""},
111     {"pyi",	"ぴぃ",	""},
112     {"pyu",	"ぴゅ",	""},
113     {"pye",	"ぴぇ",	""},
114     {"pyo",	"ぴょ",	""},
115     {"fa",	"ふぁ",	""},
116     {"fi",	"ふぃ",	""},
117     {"fu",	"ふ",	""},
118     {"fe",	"ふぇ",	""},
119     {"fo",	"ふぉ",	""},
120     {"mya",	"みゃ",	""},
121     {"myi",	"みぃ",	""},
122     {"myu",	"みゅ",	""},
123     {"mye",	"みぇ",	""},
124     {"myo",	"みょ",	""},
125     {"rya",	"りゃ",	""},
126     {"ryi",	"りぃ",	""},
127     {"ryu",	"りゅ",	""},
128     {"rye",	"りぇ",	""},
129     {"ryo",	"りょ",	""},
130     {"n'",	"ん",	""},
131     {"nn",	"ん",	""},
132     {"n",	"ん",	""},
133     //{"nb",	"ん",	"b"},
134     //{"nc",	"ん",	"c"},
135     //{"nd",	"ん",	"d"},
136     //{"nf",	"ん",	"f"},
137     //{"ng",	"ん",	"g"},
138     //{"nh",	"ん",	"h"},
139     //{"nj",	"ん",	"j"},
140     //{"nk",	"ん",	"k"},
141     //{"nl",	"ん",	"l"},
142     //{"nm",	"ん",	"m"},
143     //{"np",	"ん",	"p"},
144     //{"nq",	"ん",	"q"},
145     //{"nr",	"ん",	"r"},
146     //{"ns",	"ん",	"s"},
147     //{"nt",	"ん",	"t"},
148     //{"nu",	"ん",	"u"},
149     //{"nv",	"ん",	"v"},
150     //{"nw",	"ん",	"w"},
151     //{"nx",	"ん",	"x"},
152     //{"nz",	"ん",	"z"},
153     {"a",	"あ",	""},
154     {"i",	"い",	""},
155     {"u",	"う",	""},
156     {"e",	"え",	""},
157     {"o",	"お",	""},
158     {"xa",	"ぁ",	""},
159     {"xi",	"ぃ",	""},
160     {"xu",	"ぅ",	""},
161     {"xe",	"ぇ",	""},
162     {"xo",	"ぉ",	""},
163     {"la",	"ぁ",	""},
164     {"li",	"ぃ",	""},
165     {"lu",	"ぅ",	""},
166     {"le",	"ぇ",	""},
167     {"lo",	"ぉ",	""},
168     {"ka",	"か",	""},
169     {"ki",	"き",	""},
170     {"ku",	"く",	""},
171     {"ke",	"け",	""},
172     {"ko",	"こ",	""},
173     {"ga",	"が",	""},
174     {"gi",	"ぎ",	""},
175     {"gu",	"ぐ",	""},
176     {"ge",	"げ",	""},
177     {"go",	"ご",	""},
178     {"sa",	"さ",	""},
179     {"si",	"し",	""},
180     {"su",	"す",	""},
181     {"se",	"せ",	""},
182     {"so",	"そ",	""},
183     {"za",	"ざ",	""},
184     {"zi",	"じ",	""},
185     {"zu",	"ず",	""},
186     {"ze",	"ぜ",	""},
187     {"zo",	"ぞ",	""},
188     {"ja",	"じゃ",	""},
189     {"jya", "じゃ",	""},
190     {"ji",	"じ",	""},
191     {"jyi", "じぃ",	""},
192     {"ju",	"じゅ",	""},
193     {"jyu",	"じゅ",	""},
194     {"je",	"じぇ",	""},
195     {"jye",	"じぇ",	""},
196     {"jo",	"じょ",	""},
197     {"jyo",	"じょ",	""},
198     {"ta",	"た",	""},
199     {"ti",	"ち",	""},
200     {"tu",	"つ",	""},
201     {"tsu",	"つ",	""},
202     {"te",	"て",	""},
203     {"to",	"と",	""},
204     {"tsa",	"つぁ",	""},
205     {"tsi",	"つぃ",	""},
206     {"tsu",	"つ",	""},
207     {"tse",	"つぇ",	""},
208     {"tso",	"つぉ",	""},
209     {"da",	"だ",	""},
210     {"di",	"ぢ",	""},
211     {"du",	"づ",	""},
212     {"de",	"で",	""},
213     {"do",	"ど",	""},
214     {"xtu",	"っ",	""},
215     {"xtsu","っ"	""},
216     {"ltu",	"っ",	""},
217     {"ltsu","っ"	""},
218     {"na",	"な",	""},
219     {"ni",	"に",	""},
220     {"nu",	"ぬ",	""},
221     {"ne",	"ね",	""},
222     {"no",	"の",	""},
223     {"ha",	"は",	""},
224     {"hi",	"ひ",	""},
225     {"hu",	"ふ",	""},
226     {"fu",	"ふ",	""},
227     {"he",	"へ",	""},
228     {"ho",	"ほ",	""},
229     {"ba",	"ば",	""},
230     {"bi",	"び",	""},
231     {"bu",	"ぶ",	""},
232     {"be",	"べ",	""},
233     {"bo",	"ぼ",	""},
234     {"pa",	"ぱ",	""},
235     {"pi",	"ぴ",	""},
236     {"pu",	"ぷ",	""},
237     {"pe",	"ぺ",	""},
238     {"po",	"ぽ",	""},
239     {"ma",	"ま",	""},
240     {"mi",	"み",	""},
241     {"mu",	"む",	""},
242     {"me",	"め",	""},
243     {"mo",	"も",	""},
244     {"lya",	"ゃ",	""},
245     {"xya",	"ゃ",	""},
246     {"ya",	"や",	""},
247     {"lyu",	"ゅ",	""},
248     {"xyu",	"ゅ",	""},
249     {"yu",	"ゆ",	""},
250     {"lyo",	"ょ",	""},
251     {"xyo",	"ょ",	""},
252     {"yo",	"よ",	""},
253     {"ra",	"ら",	""},
254     {"ri",	"り",	""},
255     {"ru",	"る",	""},
256     {"re",	"れ",	""},
257     {"ro",	"ろ",	""},
258     {"xwa",	"ゎ",	""},
259     {"wa",	"わ",	""},
260     {"wi",	"うぃ",	""},
261     {"we",	"うぇ",	""},
262     {"wo",	"を",	""},
263     {"wha",	"うぁ",	""},
264     {"whi",	"うぃ",	""},
265     {"whe",	"うぇ",	""},
266     {"who",	"うぉ",	""},
267     {"wyi",	"ゐ",	""},
268     {"wye",	"ゑ",	""},
269     {"z.",	"…",	""},
270     {"z/",	"・",	""},
271     {"z,",	"‥",	""},
272     {"zh",	"←",	""},
273     {"zj",	"↓",	""},
274     {"zk",	"↑",	""},
275     {"zl",	"→",	""},
276     {"z-",	"〜",	""},
277     {"z[",	"『",	""},
278     {"z]",	"』",	""},
279 #if 1 /* should be separated and customizable */
280     {"-",	"ー",	""},
281     {",",	"、",	""},
282     {".",	"。",	""},
283     {"!",	"!",	""},
284 #if 0
285     {"\"",	"”",	""},
286     {"#",	"#",	""},
287     {"$",	"$",	""},
288     {"%",	"%",	""},
289     {"&",	"&",	""},
290     {"'",	"’",	""},
291     {"(",	"(",	""},
292     {")",	")",	""},
293     {"~",	"〜",	""},
294     {"=",	"=",	""},
295     {"^",	"^",	""},
296     {"\\",	"\",	""},
297     {"|",	"|",	""},
298     {"`",	"‘",	""},
299     {"@",	"@",	""},
300     {"{",	"{",	""},
301 #else
302     {"\"",	"\"",	""},
303     {"#",	"#",	""},
304     {"$",	"$",	""},
305     {"%",	"%",	""},
306     {"&",	"&",	""},
307     {"'",	"'",	""},
308     {"(",	"(",	""},
309     {")",	")",	""},
310     {"~",	"~",	""},
311     {"=",	"=",	""},
312     {"^",	"^",	""},
313     {"\\",	"\\",	""},
314     {"|",	"|",	""},
315     {"`",	"`",	""},
316     {"@",	"@",	""},
317     {"{",	"{",	""},
318 #endif
319     {"[",	"「",	""},
320 #if 0
321     {"+",	"+",	""},
322     {";",	";",	""},
323     {"*",	"*",	""},
324     {":",	":",	""},
325     {"}",	"}",	""},
326 #else
327     {"+",	"+",	""},
328     {";",	";",	""},
329     {"*",	"*",	""},
330     {":",	":",	""},
331     {"}",	"}",	""},
332 #endif
333     {"]",	"」",	""},
334 #if 0
335     {"<",	"<",	""},
336     {">",	">",	""},
337 #else
338     {"<",	"<",	""},
339     {">",	">",	""},
340 #endif
341     {"?",	"?",	""},
342     {"/",	"/",	""},
343 #if 0
344     {"_",	"_",	""},
345 #else
346     {"_",	"_",	""},
347 #endif
348     {"1",	"1",	""},
349     {"2",	"2",	""},
350     {"3",	"3",	""},
351     {"4",	"4",	""},
352     {"5",	"5",	""},
353     {"6",	"6",	""},
354     {"7",	"7",	""},
355     {"8",	"8",	""},
356     {"9",	"9",	""},
357     {"0",	"0",	""},
358 #endif
359     {NULL,	NULL,	NULL}
360 };
361 
362 ConvRule kana_table[] = {
363     {"#",	"ぁ",	""},
364     {"E",	"ぃ",	""},
365     {"$",	"ぅ",	""},
366     {"%",	"ぇ",	""},
367     {"&",	"ぉ",	""},
368     {"'",	"ゃ",	""},
369     {"(",	"ゅ",	""},
370     {")",	"ょ",	""},
371     {"~",	"を",	""},
372     {"Z",	"っ",	""},
373     {"y",	"ん",	""},
374     {"3",	"あ",	""},
375     {"e",	"い",	""},
376     {"4",	"う",	""},
377     {"5",	"え",	""},
378     {"6",	"お",	""},
379     {"t",	"",	"か"},
380     {"g",	"",	"き"},
381     {"h",	"",	"く"},
382     {":",	"",	"け"},
383     {"b",	"",	"こ"},
384     {"x",	"",	"さ"},
385     {"d",	"",	"し"},
386     {"r",	"",	"す"},
387     {"p",	"",	"せ"},
388     {"c",	"",	"そ"},
389     {"q",	"",	"た"},
390     {"a",	"",	"ち"},
391     {"z",	"",	"つ"},
392     {"w",	"",	"て"},
393     {"s",	"",	"と"},
394     {"u",	"な",	""},
395     {"i",	"に",	""},
396     {"1",	"ぬ",	""},
397     {",",	"ね",	""},
398     {"k",	"の",	""},
399     {"f",	"",	"は"},
400     {"v",	"",	"ひ"},
401     {"2",	"",	"ふ"},
402     {"^",	"",	"へ"},
403     {"-",	"",	"ほ"},
404     {"j",	"ま",	""},
405     {"n",	"み",	""},
406     {"]",	"む",	""},
407     {"/",	"め",	""},
408     {"m",	"も",	""},
409     {"7",	"や",	""},
410     {"8",	"ゆ",	""},
411     {"9",	"よ",	""},
412     {"o",	"ら",	""},
413     {"l",	"り",	""},
414     {".",	"る",	""},
415     {";",	"れ",	""},
416     {"0",	"わ",	""},
417     {"|",	"ー",	""},
418     {"\\",	"ろ",	""},
419     {"か@",	"が",	""},
420     {"き@",	"ぎ",	""},
421     {"く@",	"ぐ",	""},
422     {"け@",	"げ",	""},
423     {"こ@",	"ご",	""},
424     {"さ@",	"ざ",	""},
425     {"し@",	"じ",	""},
426     {"す@",	"ず",	""},
427     {"せ@",	"ぜ",	""},
428     {"そ@",	"ぞ",	""},
429     {"た@",	"だ",	""},
430     {"ち@",	"ぢ",	""},
431     {"つ@",	"づ",	""},
432     {"て@",	"で",	""},
433     {"と@",	"ど",	""},
434     {"は@",	"ば",	""},
435     {"ひ@",	"び",	""},
436     {"ふ@",	"ぶ",	""},
437     {"へ@",	"べ",	""},
438     {"ほ@",	"ぼ",	""},
439     {"は[",	"ぱ",	""},
440     {"ひ[",	"ぴ",	""},
441     {"ふ[",	"ぷ",	""},
442     {"へ[",	"ぺ",	""},
443     {"ほ[",	"ぽ",	""},
444     {">",	"。",	""},
445     {"<",	"、",	""},
446     {"?",	"・",	""},
447     {"@",	"゛",	""},
448     {"[",	"゜",	""},
449     {"{",	"「",	""},
450     {"}",	"」",	""},
451     {NULL,	NULL,	NULL},
452 };
453 
454 ConvRule romakana_ja_period_rule[] = {
455     {",",	"、",	""},
456     {".",	"。",	""},
457     {NULL,	NULL,	NULL},
458 };
459 
460 ConvRule romakana_wide_ascii_period_rule[] = {
461     {",",	",",	""},
462     {".",	".",	""},
463     {NULL,	NULL,	NULL},
464 };
465 
466 ConvRule romakana_ascii_period_rule[] = {
467     {",",	",",	""},
468     {".",	".",	""},
469     {NULL,	NULL,	NULL},
470 };
471 
472 ConvRule kana_ja_period_rule[] = {
473     {">",	"。",	""},
474     {"<",	"、",	""},
475     {NULL,	NULL,	NULL},
476 };
477 
478 ConvRule kana_wide_ascii_period_rule[] = {
479     {">",	".",	""},
480     {"<",	",",	""},
481     {NULL,	NULL,	NULL},
482 };
483 
484 ConvRule kana_ascii_period_rule[] = {
485     {">",	".",	""},
486     {"<",	",",	""},
487     {NULL,	NULL,	NULL},
488 };
489 
490 HiraganaKatakanaRule hiragana_katakana_table[] = {
491     {"あ", "ア", "ア"},
492     {"い", "イ", "イ"},
493     {"う", "ウ", "ウ"},
494     {"え", "エ", "エ"},
495     {"お", "オ", "オ"},
496     {"か", "カ", "カ"},
497     {"き", "キ", "キ"},
498     {"く", "ク", "ク"},
499     {"け", "ケ", "ケ"},
500     {"こ", "コ", "コ"},
501     {"が", "ガ", "ガ"},
502     {"ぎ", "ギ", "ギ"},
503     {"ぐ", "グ", "グ"},
504     {"げ", "ゲ", "ゲ"},
505     {"ご", "ゴ", "ゴ"},
506     {"さ", "サ", "サ"},
507     {"し", "シ", "シ"},
508     {"す", "ス", "ス"},
509     {"せ", "セ", "セ"},
510     {"そ", "ソ", "ソ"},
511     {"ざ", "ザ", "ザ"},
512     {"じ", "ジ", "ジ"},
513     {"ず", "ズ", "ズ"},
514     {"ぜ", "ゼ", "ゼ"},
515     {"ぞ", "ゾ", "ゾ"},
516     {"た", "タ", "タ"},
517     {"ち", "チ", "チ"},
518     {"つ", "ツ", "ツ"},
519     {"て", "テ", "テ"},
520     {"と", "ト", "ト"},
521     {"だ", "ダ", "ダ"},
522     {"ぢ", "ヂ", "ヂ"},
523     {"づ", "ヅ", "ヅ"},
524     {"で", "デ", "デ"},
525     {"ど", "ド", "ド"},
526     {"な", "ナ", "ナ"},
527     {"に", "ニ", "ニ"},
528     {"ぬ", "ヌ", "ヌ"},
529     {"ね", "ネ", "ネ"},
530     {"の", "ノ", "ノ"},
531     {"は", "ハ", "ハ"},
532     {"ひ", "ヒ", "ヒ"},
533     {"ふ", "フ", "フ"},
534     {"へ", "ヘ", "ヘ"},
535     {"ほ", "ホ", "ホ"},
536     {"ば", "バ", "バ"},
537     {"び", "ビ", "ビ"},
538     {"ぶ", "ブ", "ブ"},
539     {"べ", "ベ", "ベ"},
540     {"ぼ", "ボ", "ボ"},
541     {"ぱ", "パ", "パ"},
542     {"ぴ", "ピ", "ピ"},
543     {"ぷ", "プ", "プ"},
544     {"ぺ", "ペ", "ペ"},
545     {"ぽ", "ポ", "ポ"},
546     {"ま", "マ", "マ"},
547     {"み", "ミ", "ミ"},
548     {"む", "ム", "ム"},
549     {"め", "メ", "メ"},
550     {"も", "モ", "モ"},
551     {"や", "ヤ", "ヤ"},
552     {"ゆ", "ユ", "ユ"},
553     {"よ", "ヨ", "ヨ"},
554     {"ら", "ラ", "ラ"},
555     {"り", "リ", "リ"},
556     {"る", "ル", "ル"},
557     {"れ", "レ", "レ"},
558     {"ろ", "ロ", "ロ"},
559 
560     {"わ", "ワ", "ワ"},
561     {"を", "ヲ", "ヲ"},
562     {"ん", "ン", "ン"},
563 
564     {"ぁ", "ァ", "ァ"},
565     {"ぃ", "ィ", "ィ"},
566     {"ぅ", "ゥ", "ゥ"},
567     {"ぇ", "ェ", "ェ"},
568     {"ぉ", "ォ", "ォ"},
569 
570     {"っ", "ッ", "ッ"},
571 
572     {"ゃ", "ャ", "ャ"},
573     {"ゅ", "ュ", "ュ"},
574     {"ょ", "ョ", "ョ"},
575 
576     {"ヵ", "ヵ", "カ"},
577     {"ヶ", "ヶ", "ケ"},
578 
579     {"ゎ", "ヮ", "ワ"},
580     {"ゐ", "ヰ", "ィ"},
581     {"ゑ", "ヱ", "ェ"},
582 
583 #if 1
584     //{"う゛" "ヴ" "ヴ"},
585     {"ヴ" "ヴ" "ヴ"},
586 #endif
587 
588 #if 1
589     {"ー",	"ー",	"ー"},
590     {"、",	"、",	"、"},
591     {"。",	"。",	"。"},
592     {"!",	"!",	"!"},
593     {"”",	"”",	"\""},
594     {"#",	"#",	"#"},
595     {"$",	"$",	"$"},
596     {"%",	"%",	"%"},
597     {"&",	"&",	"&"},
598     {"’",	"’",	"'"},
599     {"(",	"(",	"("},
600     {")",	")",	")"},
601     {"〜",	"〜",	"~"},
602     {"=",	"=",	"="},
603     {"^",	"^",	"^"},
604     {"\",	"\",	"\\"},
605     {"|",	"|",	"|"},
606     {"‘",	"‘",	"`"},
607     {"@",	"@",	"@"},
608     {"{",	"{",	"{"},
609     {"「",	"「",	"「"},
610     {"+",	"+",	"+"},
611     {";",	";",	";"},
612     {"*",	"*",	"*"},
613     {":",	":",	":"},
614     {"}",	"}",	"}"},
615     {"」",	"」",	"」"},
616     {"<",	"<",	"<"},
617     {">",	">",	">"},
618     {"?",	"?",	"?"},
619     {"/",	"/",	"/"},
620     {"_",	"_",	"_"},
621 #endif
622     {NULL,	NULL,	NULL},
623 };
624 
625 /* from uim */
626 WideRule wide_table[] = {
627     {"a", "a"},
628     {"b", "b"},
629     {"c", "c"},
630     {"d", "d"},
631     {"e", "e"},
632     {"f", "f"},
633     {"g", "g"},
634     {"h", "h"},
635     {"i", "i"},
636     {"j", "j"},
637     {"k", "k"},
638     {"l", "l"},
639     {"m", "m"},
640     {"n", "n"},
641     {"o", "o"},
642     {"p", "p"},
643     {"q", "q"},
644     {"r", "r"},
645     {"s", "s"},
646     {"t", "t"},
647     {"u", "u"},
648     {"v", "v"},
649     {"w", "w"},
650     {"x", "x"},
651     {"y", "y"},
652     {"z", "z"},
653     {"A", "A"},
654     {"B", "B"},
655     {"C", "C"},
656     {"D", "D"},
657     {"E", "E"},
658     {"F", "F"},
659     {"G", "G"},
660     {"H", "H"},
661     {"I", "I"},
662     {"J", "J"},
663     {"K", "K"},
664     {"L", "L"},
665     {"M", "M"},
666     {"N", "N"},
667     {"O", "O"},
668     {"P", "P"},
669     {"Q", "Q"},
670     {"R", "R"},
671     {"S", "S"},
672     {"T", "T"},
673     {"U", "U"},
674     {"V", "V"},
675     {"W", "W"},
676     {"X", "X"},
677     {"Y", "Y"},
678     {"Z", "Z"},
679     {"1", "1"},
680     {"2", "2"},
681     {"3", "3"},
682     {"4", "4"},
683     {"5", "5"},
684     {"6", "6"},
685     {"7", "7"},
686     {"8", "8"},
687     {"9", "9"},
688     {"0", "0"},
689     {"-", "−"},
690     {",", ","},
691     {".", "."},
692     {"!", "!"},
693     {"\"", "”"},
694     {"#", "#"},
695     {"$", "$"},
696     {"%", "%"},
697     {"&", "&"},
698     {"'", "’"},
699     {"(", "("},
700     {")", ")"},
701     {"~", "〜"},
702     {"=", "="},
703     {"^", "^"},
704     {"\\", "\"},
705     {"|", "|"},
706     {"`", "‘"},
707     {"@", "@"},
708     {"{", "{"},
709     {"[", "["},
710     {"+", "+"},
711     {";", ";"},
712     {":", ":"},
713     {"}", "}"},
714     {"]", "]"},
715     {"<", "<"},
716     {">", ">"},
717     {"?", "?"},
718     {"/", "/"},
719     {"_",  "_"},
720     {" ",	" "},
721     {NULL, NULL},
722 };
723 
724 } /* namespace scim-skk */
725