[KERNEL32] LCMapString: Fullwidth/halfwidth conversion (#5206)
[reactos.git] / dll / win32 / kernel32 / winnls / string / full2half.h
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) /* ー --> ー */