1 /*
2  * The fullwidth/halfwidth character table.
3  */
4 /* DEFINE_FULL2HALF(full, half1, half2) */
5 /* NOTE: This list must be sorted. */
6 DEFINE_FULL2HALF(0x3000, 0x0020, 0)         /*   -->   */
7 DEFINE_FULL2HALF(0x3001, 0xFF64, 0)         /* 、 --> 、 */
8 DEFINE_FULL2HALF(0x3002, 0xFF61, 0)         /* 。 --> 。 */
9 DEFINE_FULL2HALF(0x300C, 0xFF62, 0)         /* 「 --> 「 */
10 DEFINE_FULL2HALF(0x300D, 0xFF63, 0)         /* 」 --> 」 */
11 DEFINE_FULL2HALF(0x309B, 0xFF9E, 0)         /* ゛ --> ゙ */
12 DEFINE_FULL2HALF(0x309C, 0xFF9F, 0)         /* ゜ --> ゚ */
13 DEFINE_FULL2HALF(0x30A1, 0xFF67, 0)         /* ァ --> ァ */
14 DEFINE_FULL2HALF(0x30A2, 0xFF71, 0)         /* ア --> ア */
15 DEFINE_FULL2HALF(0x30A3, 0xFF68, 0)         /* ィ --> ィ */
16 DEFINE_FULL2HALF(0x30A4, 0xFF72, 0)         /* イ --> イ */
17 DEFINE_FULL2HALF(0x30A5, 0xFF69, 0)         /* ゥ --> ゥ */
18 DEFINE_FULL2HALF(0x30A6, 0xFF73, 0)         /* ウ --> ウ */
19 DEFINE_FULL2HALF(0x30A7, 0xFF6A, 0)         /* ェ --> ェ */
20 DEFINE_FULL2HALF(0x30A8, 0xFF74, 0)         /* エ --> エ */
21 DEFINE_FULL2HALF(0x30A9, 0xFF6B, 0)         /* ォ --> ォ */
22 DEFINE_FULL2HALF(0x30AA, 0xFF75, 0)         /* オ --> オ */
23 DEFINE_FULL2HALF(0x30AB, 0xFF76, 0)         /* カ --> カ */
24 DEFINE_FULL2HALF(0x30AC, 0xFF76, 0xFF9E)    /* ガ --> ガ */
25 DEFINE_FULL2HALF(0x30AD, 0xFF77, 0)         /* キ --> キ */
26 DEFINE_FULL2HALF(0x30AE, 0xFF77, 0xFF9E)    /* ギ --> ギ */
27 DEFINE_FULL2HALF(0x30AF, 0xFF78, 0)         /* ク --> ク */
28 DEFINE_FULL2HALF(0x30B0, 0xFF78, 0xFF9E)    /* グ --> グ */
29 DEFINE_FULL2HALF(0x30B1, 0xFF79, 0)         /* ケ --> ケ */
30 DEFINE_FULL2HALF(0x30B2, 0xFF79, 0xFF9E)    /* ゲ --> ゲ */
31 DEFINE_FULL2HALF(0x30B3, 0xFF7A, 0)         /* コ --> コ */
32 DEFINE_FULL2HALF(0x30B4, 0xFF7A, 0xFF9E)    /* ゴ --> ゴ */
33 DEFINE_FULL2HALF(0x30B5, 0xFF7B, 0)         /* サ --> サ */
34 DEFINE_FULL2HALF(0x30B6, 0xFF7B, 0xFF9E)    /* ザ --> ザ */
35 DEFINE_FULL2HALF(0x30B7, 0xFF7C, 0)         /* シ --> シ */
36 DEFINE_FULL2HALF(0x30B8, 0xFF7C, 0xFF9E)    /* ジ --> ジ */
37 DEFINE_FULL2HALF(0x30B9, 0xFF7D, 0)         /* ス --> ス */
38 DEFINE_FULL2HALF(0x30BA, 0xFF7D, 0xFF9E)    /* ズ --> ズ */
39 DEFINE_FULL2HALF(0x30BB, 0xFF7E, 0)         /* セ --> セ */
40 DEFINE_FULL2HALF(0x30BC, 0xFF7E, 0xFF9E)    /* ゼ --> ゼ */
41 DEFINE_FULL2HALF(0x30BD, 0xFF7F, 0)         /* ソ --> ソ */
42 DEFINE_FULL2HALF(0x30BE, 0xFF7F, 0xFF9E)    /* ゾ --> ゾ */
43 DEFINE_FULL2HALF(0x30BF, 0xFF80, 0)         /* タ --> タ */
44 DEFINE_FULL2HALF(0x30C0, 0xFF80, 0xFF9E)    /* ダ --> ダ */
45 DEFINE_FULL2HALF(0x30C1, 0xFF81, 0)         /* チ --> チ */
46 DEFINE_FULL2HALF(0x30C2, 0xFF81, 0xFF9E)    /* ヂ --> ヂ */
47 DEFINE_FULL2HALF(0x30C3, 0xFF6F, 0)         /* ッ --> ッ */
48 DEFINE_FULL2HALF(0x30C4, 0xFF82, 0)         /* ツ --> ツ */
49 DEFINE_FULL2HALF(0x30C5, 0xFF82, 0xFF9E)    /* ヅ --> ヅ */
50 DEFINE_FULL2HALF(0x30C6, 0xFF83, 0)         /* テ --> テ */
51 DEFINE_FULL2HALF(0x30C7, 0xFF83, 0xFF9E)    /* デ --> デ */
52 DEFINE_FULL2HALF(0x30C8, 0xFF84, 0)         /* ト --> ト */
53 DEFINE_FULL2HALF(0x30C9, 0xFF84, 0xFF9E)    /* ド --> ド */
54 DEFINE_FULL2HALF(0x30CA, 0xFF85, 0)         /* ナ --> ナ */
55 DEFINE_FULL2HALF(0x30CB, 0xFF86, 0)         /* ニ --> ニ */
56 DEFINE_FULL2HALF(0x30CC, 0xFF87, 0)         /* ヌ --> ヌ */
57 DEFINE_FULL2HALF(0x30CD, 0xFF88, 0)         /* ネ --> ネ */
58 DEFINE_FULL2HALF(0x30CE, 0xFF89, 0)         /* ノ --> ノ */
59 DEFINE_FULL2HALF(0x30CF, 0xFF8A, 0)         /* ハ --> ハ */
60 DEFINE_FULL2HALF(0x30D0, 0xFF8A, 0xFF9E)    /* バ --> バ */
61 DEFINE_FULL2HALF(0x30D1, 0xFF8A, 0x309C)    /* パ <-- ハ゜ */
62 DEFINE_FULL2HALF(0x30D1, 0xFF8A, 0xFF9F)    /* パ --> パ */
63 DEFINE_FULL2HALF(0x30D2, 0xFF8B, 0)         /* ヒ --> ヒ */
64 DEFINE_FULL2HALF(0x30D3, 0xFF8B, 0xFF9E)    /* ビ --> ビ */
65 DEFINE_FULL2HALF(0x30D4, 0xFF8B, 0x309C)    /* ピ <-- ヒ゜ */
66 DEFINE_FULL2HALF(0x30D4, 0xFF8B, 0xFF9F)    /* ピ --> ピ */
67 DEFINE_FULL2HALF(0x30D5, 0xFF8C, 0)         /* フ --> フ */
68 DEFINE_FULL2HALF(0x30D6, 0xFF8C, 0xFF9E)    /* ブ --> ブ */
69 DEFINE_FULL2HALF(0x30D7, 0xFF8C, 0xFF9F)    /* プ --> プ */
70 DEFINE_FULL2HALF(0x30D8, 0xFF8D, 0)         /* ヘ --> ヘ */
71 DEFINE_FULL2HALF(0x30D9, 0xFF8D, 0xFF9E)    /* ベ --> ベ */
72 DEFINE_FULL2HALF(0x30DA, 0xFF8D, 0xFF9F)    /* ペ --> ペ */
73 DEFINE_FULL2HALF(0x30DB, 0xFF8E, 0)         /* ホ --> ホ */
74 DEFINE_FULL2HALF(0x30DC, 0xFF8E, 0xFF9E)    /* ボ --> ボ */
75 DEFINE_FULL2HALF(0x30DD, 0xFF8E, 0xFF9F)    /* ポ --> ポ */
76 DEFINE_FULL2HALF(0x30DE, 0xFF8F, 0)         /* マ --> マ */
77 DEFINE_FULL2HALF(0x30DF, 0xFF90, 0)         /* ミ --> ミ */
78 DEFINE_FULL2HALF(0x30E0, 0xFF91, 0)         /* ム --> ム */
79 DEFINE_FULL2HALF(0x30E1, 0xFF92, 0)         /* メ --> メ */
80 DEFINE_FULL2HALF(0x30E2, 0xFF93, 0)         /* モ --> モ */
81 DEFINE_FULL2HALF(0x30E3, 0xFF6C, 0)         /* ャ --> ャ */
82 DEFINE_FULL2HALF(0x30E4, 0xFF94, 0)         /* ヤ --> ヤ */
83 DEFINE_FULL2HALF(0x30E5, 0xFF6D, 0)         /* ュ --> ュ */
84 DEFINE_FULL2HALF(0x30E6, 0xFF95, 0)         /* ユ --> ユ */
85 DEFINE_FULL2HALF(0x30E7, 0xFF6E, 0)         /* ョ --> ョ */
86 DEFINE_FULL2HALF(0x30E8, 0xFF96, 0)         /* ヨ --> ヨ */
87 DEFINE_FULL2HALF(0x30E9, 0xFF97, 0)         /* ラ --> ラ */
88 DEFINE_FULL2HALF(0x30EA, 0xFF98, 0)         /* リ --> リ */
89 DEFINE_FULL2HALF(0x30EB, 0xFF99, 0)         /* ル --> ル */
90 DEFINE_FULL2HALF(0x30EC, 0xFF9A, 0)         /* レ --> レ */
91 DEFINE_FULL2HALF(0x30ED, 0xFF9B, 0)         /* ロ --> ロ */
92 DEFINE_FULL2HALF(0x30EF, 0xFF9C, 0)         /* ワ --> ワ */
93 DEFINE_FULL2HALF(0x30F2, 0xFF66, 0)         /* ヲ --> ヲ */
94 DEFINE_FULL2HALF(0x30F3, 0xFF9D, 0)         /* ン --> ン */
95 DEFINE_FULL2HALF(0x30F4, 0xFF73, 0xFF9E)    /* ヴ --> ヴ */
96 DEFINE_FULL2HALF(0x30F7, 0xFF9C, 0xFF9E)    /* ヷ --> ヷ */
97 DEFINE_FULL2HALF(0x30FA, 0xFF66, 0xFF9E)    /* ヺ --> ヺ */
98 DEFINE_FULL2HALF(0x30FB, 0xFF65, 0)         /* ・ --> ・ */
99 DEFINE_FULL2HALF(0x30FC, 0xFF70, 0)         /* ー --> ー */
100