Annotation of embedaddon/php/ext/mbstring/libmbfl/filters/sjis_mac2uni.h, revision 1.1.1.1
1.1 misho 1:
2:
3: static const unsigned short sjis_mac2wchar1[] = { // 0x03ac - 0x03c9
4: 0x339c, 0x339f, 0x339d, 0x33a0,
5: 0x33a4, 0xff4d, 0x33a1, 0x33a5,
6: 0x339e, 0x33a2, 0x338e, 0xff47,
7: 0x338f, 0x33c4, 0x3396, 0x3397,
8: 0x2113, 0x3398, 0x33b3, 0x33b2,
9: 0x33b1, 0x33b0, 0x2109, 0x33d4,
10: 0x33cb, 0x3390, 0x3385, 0x3386,
11: 0x3387, 0xf860, };
12: static const unsigned short sjis_mac2wchar2[] = { // 0x0406 - 0x0420
13: 0x2116, 0x33cd,
14: 0x2121, 0xf861, 0x2664, 0x2667,
15: 0x2661, 0x2662, 0x2660, 0x2663,
16: 0x2665, 0x2666, 0x0000, 0x0000,
17: 0x0000, 0x0000, 0x0000, 0x0000,
18: 0x0000, 0x0000, 0x0000, 0x0000,
19: 0x0000, 0x0000, 0x3020, 0x260e,
20: 0x3004, };
21: static const unsigned short sjis_mac2wchar3[] = { // 0x0432 - 0x0441
22: 0x261e, 0x261c,
23: 0x261d, 0x261f, 0x21c6, 0x21c4,
24: 0x21c5, 0xf860, 0x21e8, 0x21e6,
25: 0x21e7, 0x21e9, 0x21e8, 0x21e6,
26: 0x21e7, 0x21e9, };
27: static const unsigned short sjis_mac2wchar4[] = { // 0x0468 - 0x0480
28: 0x3230, 0x322a, 0x322b, 0x322c,
29: 0x322d, 0x322e, 0x322f, 0x3240,
30: 0x3237, 0x3242, 0x3243, 0x3239,
31: 0x323a, 0x3231, 0x323e, 0x3234,
32: 0x3232, 0x323b, 0x3236, 0x3233,
33: 0x3235, 0x323c, 0x323d, 0x323f,
34: 0x3238, };
35: static const unsigned short sjis_mac2wchar5[] = { // 0x04b8 - 0x04e8
36: 0x5927, 0x5c0f, 0x32a4, 0x32a5,
37: 0x32a6, 0x32a7, 0x32a8, 0x32a9,
38: 0x3296, 0x329d, 0x3298, 0x329e,
39: 0x63a7, 0x3299, 0x3349, 0x3322,
40: 0x334d, 0x3314, 0x3316, 0x3305,
41: 0x3333, 0x334e, 0x3303, 0x3336,
42: 0x3318, 0x3315, 0x3327, 0x3351,
43: 0x334a, 0x3339, 0x3357, 0x330d,
44: 0x3342, 0x3323, 0x3326, 0x333b,
45: 0x332b, 0x0000, 0x0000, 0x0000,
46: 0x0000, 0x0000, 0x0000, 0x0000,
47: 0x3300, 0x331e, 0x332a, 0x3331,
48: 0x3347, };
49: static const unsigned short sjis_mac2wchar6[] = { // 0x050c - 0x0551
50: 0x337e, 0x337d, 0x337c, 0x337b,
51: 0x0000, 0x0000, 0x0000, 0x0000,
52: 0x0000, 0x0000, 0x0000, 0x0000,
53: 0x0000, 0x0000, 0x0000, 0x0000,
54: 0x0000, 0x0000, 0x0000, 0x0000,
55: 0x0000, 0x337f, 0xf862, 0xf862,
56: 0x222e, 0x221f, 0x22bf, 0x0000,
57: 0x0000, 0x0000, 0x0000, 0x0000,
58: 0x0000, 0x0000, 0x0000, 0x0000,
59: 0x0000, 0x0000, 0x0000, 0x0000,
60: 0x0000, 0x0000, 0x0000, 0x0000,
61: 0x301d, 0x301f, 0x0000, 0x0000,
62: 0x0000, 0x0000, 0x0000, 0x0000,
63: 0x0000, 0x0000, 0x0000, 0x0000,
64: 0x0000, 0x0000, 0x0000, 0x0000,
65: 0x0000, 0x0000, 0x0000, 0x0000,
66: 0x3094, 0x0000, 0x30f7, 0x30f8,
67: 0x30f9, 0x30fa, };
68: static const unsigned short sjis_mac2wchar7[] = { // 0x1ed9 - 0x1f18
69: 0x3001, 0x3002, 0x0000,
70: 0x0000, 0x0000, 0x0000, 0x0000,
71: 0x0000, 0x0000, 0x0000, 0x0000,
72: 0x0000, 0x0000, 0x0000, 0x0000,
73: 0xffe3, 0xfe33, 0x0000, 0x0000,
74: 0x0000, 0x0000, 0x0000, 0x0000,
75: 0x0000, 0x0000, 0x0000, 0x30fc,
76: 0xfe31, 0x2010, 0x0000, 0x0000,
77: 0x301c, 0x2016, 0xff5c, 0x2026,
78: 0xfe30, 0x0000, 0x0000, 0x0000,
79: 0x0000, 0xfe35, 0xfe36, 0xfe39,
80: 0xfe3a, 0xff3b, 0xff3d, 0xfe37,
81: 0xfe38, 0xfe3f, 0xfe40, 0xfe3d,
82: 0xfe3e, 0xfe41, 0xfe42, 0xfe43,
83: 0xfe44, 0xfe3b, 0xfe3c, 0x0000,
84: 0x0000, 0x0000, 0x0000, 0x0000,
85: 0xff1d, };
86: static const unsigned short sjis_mac2wchar8[] = { // 0x1ff2 - 0x20a5
87: 0x3041, 0x0000,
88: 0x3043, 0x0000, 0x3045, 0x0000,
89: 0x3047, 0x0000, 0x3049, 0x0000,
90: 0x0000, 0x0000, 0x0000, 0x0000,
91: 0x0000, 0x0000, 0x0000, 0x0000,
92: 0x0000, 0x0000, 0x0000, 0x0000,
93: 0x0000, 0x0000, 0x0000, 0x0000,
94: 0x0000, 0x0000, 0x0000, 0x0000,
95: 0x0000, 0x0000, 0x0000, 0x0000,
96: 0x3063, 0x0000, 0x0000, 0x0000,
97: 0x0000, 0x0000, 0x0000, 0x0000,
98: 0x0000, 0x0000, 0x0000, 0x0000,
99: 0x0000, 0x0000, 0x0000, 0x0000,
100: 0x0000, 0x0000, 0x0000, 0x0000,
101: 0x0000, 0x0000, 0x0000, 0x0000,
102: 0x0000, 0x0000, 0x0000, 0x0000,
103: 0x0000, 0x0000, 0x0000, 0x0000,
104: 0x3083, 0x0000, 0x3085, 0x0000,
105: 0x3087, 0x0000, 0x0000, 0x0000,
106: 0x0000, 0x0000, 0x0000, 0x308e,
107: 0x0000, 0x0000, 0x0000, 0x0000,
108: 0x0000, 0x0000, 0x0000, 0x0000,
109: 0x0000, 0x0000, 0x0000, 0x0000,
110: 0x0000, 0x0000, 0x0000, 0x0000,
111: 0x30a1, 0x0000, 0x30a3, 0x0000,
112: 0x30a5, 0x0000, 0x30a7, 0x0000,
113: 0x30a9, 0x0000, 0x0000, 0x0000,
114: 0x0000, 0x0000, 0x0000, 0x0000,
115: 0x0000, 0x0000, 0x0000, 0x0000,
116: 0x0000, 0x0000, 0x0000, 0x0000,
117: 0x0000, 0x0000, 0x0000, 0x0000,
118: 0x0000, 0x0000, 0x0000, 0x0000,
119: 0x0000, 0x0000, 0x30c3, 0x0000,
120: 0x0000, 0x0000, 0x0000, 0x0000,
121: 0x0000, 0x0000, 0x0000, 0x0000,
122: 0x0000, 0x0000, 0x0000, 0x0000,
123: 0x0000, 0x0000, 0x0000, 0x0000,
124: 0x0000, 0x0000, 0x0000, 0x0000,
125: 0x0000, 0x0000, 0x0000, 0x0000,
126: 0x0000, 0x0000, 0x0000, 0x0000,
127: 0x0000, 0x0000, 0x30e3, 0x0000,
128: 0x30e5, 0x0000, 0x30e7, 0x0000,
129: 0x0000, 0x0000, 0x0000, 0x0000,
130: 0x0000, 0x30ee, 0x0000, 0x0000,
131: 0x0000, 0x0000, 0x0000, 0x0000,
132: 0x30f5, 0x30f6, };
133:
134: static const unsigned short wchar2sjis_mac4[] = { // 0x2660 - 0x2667
135: 0x040e, 0x040c, 0x040d, 0x040f,
136: 0x040a, 0x0410, 0x0411, 0x040b,
137: };
138:
139: static const unsigned short wchar2sjis_mac7[] = { // 0x322a - 0x3243
140: 0x0469, 0x046a,
141: 0x046b, 0x046c, 0x046d, 0x046e,
142: 0x0468, 0x0475, 0x0478, 0x047b,
143: 0x0477, 0x047c, 0x047a, 0x0470,
144: 0x0480, 0x0473, 0x0474, 0x0479,
145: 0x047d, 0x047e, 0x0476, 0x047f,
146: 0x046f, 0x0000, 0x0471, 0x0472,
147: };
148:
149: static const unsigned short wchar2sjis_mac8[] = { // 0x3296 - 0x329e
150: 0x04c0, 0x0000,
151: 0x04c2, 0x04c5, 0x0000, 0x0000,
152: 0x0000, 0x04c1, 0x04c3, };
153:
154: static const unsigned short wchar2sjis_mac9[] = { // 0x3300 - 0x33d4
155: 0x04e4, 0x0000, 0x0000, 0x04ce,
156: 0x0000, 0x04cb, 0x0000, 0x0000,
157: 0x0000, 0x0000, 0x0000, 0x0000,
158: 0x0000, 0x04d7, 0x0000, 0x0000,
159: 0x0000, 0x0000, 0x0000, 0x0000,
160: 0x04c9, 0x04d1, 0x04ca, 0x0000,
161: 0x04d0, 0x0000, 0x0000, 0x0000,
162: 0x0000, 0x0000, 0x04e5, 0x0000,
163: 0x0000, 0x0000, 0x04c7, 0x04d9,
164: 0x0000, 0x0000, 0x04da, 0x04d2,
165: 0x0000, 0x0000, 0x04e6, 0x04dc,
166: 0x0000, 0x0000, 0x0000, 0x0000,
167: 0x0000, 0x04e7, 0x0000, 0x04cc,
168: 0x0000, 0x0000, 0x04cf, 0x0000,
169: 0x0000, 0x04d5, 0x0000, 0x04db,
170: 0x0000, 0x0000, 0x0000, 0x0000,
171: 0x0000, 0x0000, 0x04d8, 0x0000,
172: 0x0000, 0x0000, 0x0000, 0x04e8,
173: 0x0000, 0x04c6, 0x04d4, 0x0000,
174: 0x0000, 0x04c8, 0x04cd, 0x0000,
175: 0x0000, 0x04d3, 0x0000, 0x0000,
176: 0x0000, 0x0000, 0x0000, 0x04d6,
177: 0x0000, 0x0000, 0x0000, 0x0000,
178: 0x0000, 0x0000, 0x0000, 0x0000,
179: 0x0000, 0x0000, 0x0000, 0x0000,
180: 0x0000, 0x0000, 0x0000, 0x0000,
181: 0x0000, 0x0000, 0x0000, 0x0000,
182: 0x0000, 0x0000, 0x0000, 0x0000,
183: 0x0000, 0x0000, 0x0000, 0x0000,
184: 0x0000, 0x0000, 0x0000, 0x0000,
185: 0x0000, 0x0000, 0x0000, 0x050f,
186: 0x050e, 0x050d, 0x050c, 0x0521,
187: 0x0000, 0x0000, 0x0000, 0x0000,
188: 0x0000, 0x03c6, 0x03c7, 0x03c8,
189: 0x0000, 0x0000, 0x0000, 0x0000,
190: 0x0000, 0x0000, 0x03b6, 0x03b8,
191: 0x03c5, 0x0000, 0x0000, 0x0000,
192: 0x0000, 0x0000, 0x03ba, 0x03bb,
193: 0x03bd, 0x0000, 0x0000, 0x0000,
194: 0x03ac, 0x03ae, 0x03b4, 0x03ad,
195: 0x03af, 0x03b2, 0x03b5, 0x0000,
196: 0x03b0, 0x03b3, 0x0000, 0x0000,
197: 0x0000, 0x0000, 0x0000, 0x0000,
198: 0x0000, 0x0000, 0x0000, 0x0000,
199: 0x03c1, 0x03c0, 0x03bf, 0x03be,
200: 0x0000, 0x0000, 0x0000, 0x0000,
201: 0x0000, 0x0000, 0x0000, 0x0000,
202: 0x0000, 0x0000, 0x0000, 0x0000,
203: 0x0000, 0x0000, 0x0000, 0x0000,
204: 0x03b9, 0x0000, 0x0000, 0x0000,
205: 0x0000, 0x0000, 0x0000, 0x03c4,
206: 0x0000, 0x0407, 0x0000, 0x0000,
207: 0x0000, 0x0000, 0x0000, 0x0000,
208: 0x03c3, };
209:
210: static const unsigned short wchar2sjis_mac10[] = { // 0xfe30 - 0xfe44
211: 0x1efc, 0x1ef4, 0x0000, 0x1ee9,
212: 0x0000, 0x1f01, 0x1f02, 0x1f07,
213: 0x1f08, 0x1f03, 0x1f04, 0x1f11,
214: 0x1f12, 0x1f0b, 0x1f0c, 0x1f09,
215: 0x1f0a, 0x1f0d, 0x1f0e, 0x1f0f,
216: 0x1f10, };
217:
218: static const unsigned short code_tbl[][3] = {
219: {0x02f0, 0x0303, 0x2460},
220: {0x030e, 0x0321, 0x2474},
221: {0x032c, 0x0334, 0x2776},
222: {0x0341, 0x0349, 0x2488},
223: {0x034e, 0x0359, 0x2160},
224: {0x0362, 0x036d, 0x2170},
225: {0x038a, 0x03a3, 0x249c},
226: };
227:
228: static const unsigned short code_ofst_tbl[] [2]= {
229: {0x03ac, 0x03c9},
230: {0x0406, 0x0420},
231: {0x0432, 0x0441},
232: {0x0468, 0x0480},
233: {0x04b8, 0x04e8},
234: {0x050c, 0x0551},
235: {0x1ed9, 0x1f18},
236: {0x1ff2, 0x20a5},
237: };
238:
239: static const unsigned short *code_map[] = {
240: sjis_mac2wchar1, sjis_mac2wchar2, sjis_mac2wchar3, sjis_mac2wchar4,
241: sjis_mac2wchar5, sjis_mac2wchar6, sjis_mac2wchar7, sjis_mac2wchar8};
242:
243: static const unsigned short code_tbl_m[][6] = {
244: {0x0340, 0xf860, 0x0030, 0x002e, 0x0000, 0x0000},
245: {0x03c9, 0xf860, 0x0054, 0x0042, 0x0000, 0x0000},
246: {0x035c, 0xf860, 0x0058, 0x0056, 0x0000, 0x0000},
247: {0x0370, 0xf860, 0x0078, 0x0076, 0x0000, 0x0000},
248: {0x0439, 0xf860, 0x2193, 0x2191, 0x0000, 0x0000},
249: {0x0409, 0xf861, 0x0046, 0x0041, 0x0058, 0x0000},
250: {0x035b, 0xf861, 0x0058, 0x0049, 0x0056, 0x0000},
251: {0x036f, 0xf861, 0x0078, 0x0069, 0x0076, 0x0000},
252: {0x035a, 0xf862, 0x0058, 0x0049, 0x0049, 0x0049},
253: {0x036e, 0xf862, 0x0078, 0x0069, 0x0069, 0x0069},
254: {0x0522, 0xf862, 0x6709, 0x9650, 0x4f1a, 0x793e},
255: {0x0523, 0xf862, 0x8ca1, 0x56e3, 0x6cd5, 0x4eba},
256: };
257:
258: static int code_tbl_m_len = sizeof(code_tbl_m)/(sizeof(unsigned short)*6);
259:
260: static const unsigned short s_form_tbl[] = {
261: 0x2010,0x2016,0x2026,
262: 0x3001,0x3002,0x301c,0x3041,0x3043,0x3045,0x3047,0x3049,
263: 0x3063,0x3083,0x3085,0x3087,0x308e,0x30a1,0x30a3,0x30a5,
264: 0x30a7,0x30a9,0x30c3,0x30e3,0x30e5,0x30e7,0x30ee,0x30f5,
265: 0x30f6,0x30fc,0xff1d,0xff3b,0xff3d,0xff5c,0xffe3, // vertical f87e (34)
266: 0x2026,0xff47,0xff4d, // halfwidth f87f (3)
267: 0x5927,0x5c0f,0x63a7, // enclosing circle 20dd (3)
268: 0x21e6,0x21e7,0x21e8,0x21e9, // black arrow f87a (4)
269: };
270:
271: static int s_form_tbl_len = sizeof(s_form_tbl)/sizeof(unsigned short);
272:
273: static const unsigned short s_form_sjis_tbl[] = {
274: 0xeb5d,0xeb61,0xeb63,
275: 0xeb41,0xeb42,0xeb60,0xec9f,0xeca1,0xeca3,0xeca5,0xeca7,
276: 0xecc1,0xece1,0xece3,0xece5,0xecec,0xed40,0xed42,0xed44,
277: 0xed46,0xed48,0xed62,0xed83,0xed85,0xed87,0xed8e,0xed95,
278: 0xed96,0xeb5b,0xeb81,0xeb6d,0xeb6e,0xeb62,0xeb50, // vertical
279: 0x00ff,0x864b,0x8645, // halfwidth
280: 0x8791,0x8792,0x879d, // enclosing circle
281: 0x86d4,0x86d5,0x86d3,0x86d6, // black arrow
282: };
283:
284: static const unsigned short s_form_sjis_fallback_tbl[] = {
285: 0x815d,0x8161,0x8163,
286: 0x8141,0x8142,0x8160,0x829f,0x82a1,0x82a3,0x82a5,0x82a7,
287: 0x82c1,0x82e1,0x82e3,0x82e5,0x82ec,0x8340,0x8342,0x8344,
288: 0x8346,0x8348,0x8362,0x8383,0x8385,0x8387,0x838e,0x8395,
289: 0x8396,0x815b,0x8181,0x816d,0x816e,0x8162,0x8150, // vertical
290: 0x815d,0x8287,0x828d, // halfwidth
291: 0x91e5,0x8fac,0x8d54, // enclosing circle
292: 0x86d0,0x86d1,0x86cf,0x86d2, // arrow
293: };
294:
295: static const unsigned short wchar2sjis_mac_r_tbl[][3] = {
296: {0x2160, 0x216b, 0x034e},
297: {0x2170, 0x217b, 0x0362},
298: {0x2460, 0x2473, 0x02f0},
299: {0x2474, 0x2487, 0x030e},
300: {0x2488, 0x2490, 0x0341},
301: {0x249c, 0x24b5, 0x038a},
302: {0x2776, 0x277e, 0x032c},
303: {0x30f7, 0x30fa, 0x054e},
304: {0x32a4, 0x32a9, 0x04ba},
305: };
306:
307: static int wchar2sjis_mac_r_tbl_len = sizeof(wchar2sjis_mac_r_tbl)/(3*sizeof(unsigned short));
308:
309: static const unsigned short wchar2sjis_mac_r_map[][2] = {
310: {0x2660, 0x2667},
311: {0x322a, 0x3243},
312: {0x3296, 0x329e},
313: {0x3300, 0x33d4},
314: {0xfe30, 0xfe44},
315: };
316:
317: static int wchar2sjis_mac_r_map_len = sizeof(wchar2sjis_mac_r_map)/(2*sizeof(unsigned short));
318:
319: static const unsigned short *wchar2sjis_mac_code_map[] = {
320: wchar2sjis_mac4, wchar2sjis_mac7, wchar2sjis_mac8, wchar2sjis_mac9, wchar2sjis_mac10};
321:
322: static const unsigned short wchar2sjis_mac_wchar_tbl[][2] = {
323: {0x2109, 0x03c2},
324: {0x2113, 0x03bc},
325: {0x2116, 0x0406},
326: {0x2121, 0x0408},
327: {0x21c4, 0x0437},
328: {0x21c5, 0x0438},
329: {0x21c6, 0x0436},
330: {0x21e6, 0x043b},
331: {0x21e7, 0x043c},
332: {0x21e8, 0x043a},
333: {0x21e9, 0x043d},
334: {0x221f, 0x0525},
335: {0x222e, 0x0524},
336: {0x22bf, 0x0526},
337: {0x260e, 0x041f},
338: {0x261c, 0x0433},
339: {0x261d, 0x0434},
340: {0x261e, 0x0432},
341: {0x261f, 0x0435},
342: {0x3004, 0x0420},
343: {0x301d, 0x0538},
344: {0x301f, 0x0539},
345: {0x3020, 0x041e},
346: {0x3094, 0x054c},
347: };
348:
349: static int wchar2sjis_mac_wchar_tbl_len = sizeof(wchar2sjis_mac_wchar_tbl)/(2*sizeof(unsigned short));
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>