user32: Fix invalid memory access and leak if alloc_user_handle fails (Coverity).
[wine.git] / libs / wine / c_1256.c
blob5e722b278fd3b4bb51f44b71fb143c4e2f38cbc6
1 /* code page 1256 (ANSI Arabic) */
2 /* generated from http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1256.txt */
3 /* DO NOT EDIT!! */
5 #include "wine/unicode.h"
7 static const WCHAR cp2uni[256] =
9 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,
10 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,
11 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,
12 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,
13 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,
14 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,
15 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
16 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,
17 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
18 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,
19 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,
20 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,
21 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
22 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,
23 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,
24 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,
25 0x20ac, 0x067e, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021,
26 0x02c6, 0x2030, 0x0679, 0x2039, 0x0152, 0x0686, 0x0698, 0x0688,
27 0x06af, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,
28 0x06a9, 0x2122, 0x0691, 0x203a, 0x0153, 0x200c, 0x200d, 0x06ba,
29 0x00a0, 0x060c, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
30 0x00a8, 0x00a9, 0x06be, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
31 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
32 0x00b8, 0x00b9, 0x061b, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x061f,
33 0x06c1, 0x0621, 0x0622, 0x0623, 0x0624, 0x0625, 0x0626, 0x0627,
34 0x0628, 0x0629, 0x062a, 0x062b, 0x062c, 0x062d, 0x062e, 0x062f,
35 0x0630, 0x0631, 0x0632, 0x0633, 0x0634, 0x0635, 0x0636, 0x00d7,
36 0x0637, 0x0638, 0x0639, 0x063a, 0x0640, 0x0641, 0x0642, 0x0643,
37 0x00e0, 0x0644, 0x00e2, 0x0645, 0x0646, 0x0647, 0x0648, 0x00e7,
38 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x0649, 0x064a, 0x00ee, 0x00ef,
39 0x064b, 0x064c, 0x064d, 0x064e, 0x00f4, 0x064f, 0x0650, 0x00f7,
40 0x0651, 0x00f9, 0x0652, 0x00fb, 0x00fc, 0x200e, 0x200f, 0x06d2
43 static const unsigned char uni2cp_low[2318] =
45 /* 0x0000 .. 0x00ff */
46 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
47 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
48 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
49 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
50 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
51 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
52 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
53 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
54 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
55 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
56 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
57 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
58 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
59 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
60 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
61 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
62 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
63 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
64 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
65 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
66 0xa0, 0x3f, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
67 0xa8, 0xa9, 0x3f, 0xab, 0xac, 0xad, 0xae, 0xaf,
68 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
69 0xb8, 0xb9, 0x3f, 0xbb, 0xbc, 0xbd, 0xbe, 0x3f,
70 0x41, 0x3f, 0x41, 0x3f, 0x3f, 0x3f, 0x3f, 0x43,
71 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f, 0x49, 0x49,
72 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0xd7,
73 0x3f, 0x55, 0x3f, 0x55, 0x55, 0x3f, 0x3f, 0x3f,
74 0xe0, 0x3f, 0xe2, 0x3f, 0x3f, 0x3f, 0x3f, 0xe7,
75 0xe8, 0xe9, 0xea, 0xeb, 0x3f, 0x3f, 0xee, 0xef,
76 0x3f, 0x3f, 0x3f, 0x3f, 0xf4, 0x3f, 0x3f, 0xf7,
77 0x3f, 0xf9, 0x3f, 0xfb, 0xfc, 0x3f, 0x3f, 0x3f,
78 /* 0x0103 .. 0x01ff */
79 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
80 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
81 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
82 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
83 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
84 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
85 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
86 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
87 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
88 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x8c,
89 0x9c, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
90 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
91 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
92 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
93 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
94 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
95 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
96 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x46, 0x83,
97 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
98 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
99 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
100 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
101 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
102 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
103 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
104 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
105 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
106 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
107 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
108 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
109 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
110 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
111 /* 0x026d .. 0x02ff */
112 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
113 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
114 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
115 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
116 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
117 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
118 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
119 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
120 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
121 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
122 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
123 0x3f, 0x88, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
124 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
125 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
126 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
127 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
128 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
129 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
130 0x3f, 0x3f, 0x3f,
131 /* 0x060c .. 0x06ff */
132 0xa1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
133 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xba,
134 0x3f, 0x3f, 0x3f, 0xbf, 0x3f, 0xc1, 0xc2, 0xc3,
135 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb,
136 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3,
137 0xd4, 0xd5, 0xd6, 0xd8, 0xd9, 0xda, 0xdb, 0x3f,
138 0x3f, 0x3f, 0x3f, 0x3f, 0xdc, 0xdd, 0xde, 0xdf,
139 0xe1, 0xe3, 0xe4, 0xe5, 0xe6, 0xec, 0xed, 0xf0,
140 0xf1, 0xf2, 0xf3, 0xf5, 0xf6, 0xf8, 0xfa, 0x3f,
141 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
142 0x3f, 0x3f, 0x3f, 0x3f, 0x30, 0x31, 0x32, 0x33,
143 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3f, 0x3f,
144 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
145 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x8a, 0x3f, 0x3f,
146 0x3f, 0x3f, 0x81, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
147 0x3f, 0x3f, 0x8d, 0x3f, 0x8f, 0x3f, 0x3f, 0x3f,
148 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9a, 0x3f, 0x3f,
149 0x3f, 0x3f, 0x3f, 0x3f, 0x8e, 0x3f, 0x3f, 0x3f,
150 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
151 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x98, 0x3f, 0x3f,
152 0x3f, 0x3f, 0x3f, 0x90, 0x3f, 0x3f, 0x3f, 0x3f,
153 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9f, 0x3f,
154 0x3f, 0x3f, 0xaa, 0x3f, 0x3f, 0xc0, 0x3f, 0x3f,
155 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
156 0xed, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff, 0x3f,
157 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
158 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
159 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
160 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
161 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
162 0x3f, 0x3f, 0x3f, 0x3f,
163 /* 0x200c .. 0x20ff */
164 0x9d, 0x9e, 0xfd, 0xfe, 0x3f, 0x3f, 0x3f, 0x96,
165 0x97, 0x3f, 0x3f, 0x3f, 0x91, 0x92, 0x82, 0x3f,
166 0x93, 0x94, 0x84, 0x3f, 0x86, 0x87, 0x95, 0x3f,
167 0x3f, 0x3f, 0x85, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
168 0x3f, 0x3f, 0x3f, 0x3f, 0x89, 0x3f, 0x3f, 0x3f,
169 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x8b, 0x9b, 0x3f,
170 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
171 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
172 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
173 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
174 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
175 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
176 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
177 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
178 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
179 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
180 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
181 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
182 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
183 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
184 0x80, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
185 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
186 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
187 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
188 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
189 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
190 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
191 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
192 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
193 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
194 0x3f, 0x3f, 0x3f, 0x3f,
195 /* 0x2122 .. 0x21ff */
196 0x99, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
197 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
198 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
199 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
200 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
201 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
202 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
203 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
204 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
205 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
206 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
207 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
208 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
209 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
210 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
211 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
212 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
213 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
214 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
215 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
216 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
217 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
218 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
219 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
220 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
221 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
222 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
223 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
224 /* 0xfb56 .. 0xfbff */
225 0x81, 0x81, 0x81, 0x81, 0x3f, 0x3f, 0x3f, 0x3f,
226 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
227 0x8a, 0x8a, 0x8a, 0x8a, 0x3f, 0x3f, 0x3f, 0x3f,
228 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
229 0x3f, 0x3f, 0x3f, 0x3f, 0x8d, 0x8d, 0x8d, 0x8d,
230 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
231 0x3f, 0x3f, 0x8f, 0x8f, 0x8e, 0x8e, 0x9a, 0x9a,
232 0x98, 0x98, 0x98, 0x98, 0x90, 0x90, 0x90, 0x90,
233 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
234 0x9f, 0x9f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
235 0xc0, 0xc0, 0xc0, 0xc0, 0xaa, 0xaa, 0xaa, 0xaa,
236 0xff, 0xff, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
237 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
238 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
239 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
240 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
241 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
242 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
243 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
244 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
245 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
246 0x3f, 0x3f,
247 /* 0xfe50 .. 0xfeff */
248 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
249 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
250 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
251 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
252 0xf0, 0xf0, 0xf1, 0x3f, 0xf2, 0x3f, 0xf3, 0xf3,
253 0xf5, 0xf5, 0xf6, 0xf6, 0xf8, 0xf8, 0xfa, 0xfa,
254 0xc1, 0xc2, 0xc2, 0xc3, 0xc3, 0xc4, 0xc4, 0xc5,
255 0xc5, 0xc6, 0xc6, 0xc6, 0xc6, 0xc7, 0xc7, 0xc8,
256 0xc8, 0xc8, 0xc8, 0xc9, 0xc9, 0xca, 0xca, 0xca,
257 0xca, 0xcb, 0xcb, 0xcb, 0xcb, 0xcc, 0xcc, 0xcc,
258 0xcc, 0xcd, 0xcd, 0xcd, 0xcd, 0xce, 0xce, 0xce,
259 0xce, 0xcf, 0xcf, 0xd0, 0xd0, 0xd1, 0xd1, 0xd2,
260 0xd2, 0xd3, 0xd3, 0xd3, 0xd3, 0xd4, 0xd4, 0xd4,
261 0xd4, 0xd5, 0xd5, 0xd5, 0xd5, 0xd6, 0xd6, 0xd6,
262 0xd6, 0xd8, 0xd8, 0xd8, 0xd8, 0xd9, 0xd9, 0xd9,
263 0xd9, 0xda, 0xda, 0xda, 0xda, 0xdb, 0xdb, 0xdb,
264 0xdb, 0xdd, 0xdd, 0xdd, 0xdd, 0xde, 0xde, 0xde,
265 0xde, 0xdf, 0xdf, 0xdf, 0xdf, 0xe1, 0xe1, 0xe1,
266 0xe1, 0xe3, 0xe3, 0xe3, 0xe3, 0xe4, 0xe4, 0xe4,
267 0xe4, 0xe5, 0xe5, 0xe5, 0xe5, 0xe6, 0xe6, 0xec,
268 0xec, 0xed, 0xed, 0xed, 0xed, 0x3f, 0x3f, 0x3f,
269 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
270 /* 0xff01 .. 0xffff */
271 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
272 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30,
273 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
274 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40,
275 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
276 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
277 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
278 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60,
279 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
280 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
281 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
282 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f, 0x3f,
283 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
284 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
285 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
286 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
287 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
288 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
289 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
290 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
291 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
292 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
293 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
294 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
295 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
296 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
297 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
298 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
299 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
300 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
301 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
302 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
303 /* defaults */
304 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
305 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
306 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
307 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
308 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
309 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
310 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
311 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
312 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
313 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
314 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
315 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
318 static const unsigned short uni2cp_high[256] =
320 0x0000, 0x00fd, 0x0190, 0x070e, 0x070e, 0x070e, 0x0284, 0x070e,
321 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e,
322 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e,
323 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e,
324 0x0378, 0x0456, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e,
325 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e,
326 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e,
327 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e,
328 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e,
329 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e,
330 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e,
331 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e,
332 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e,
333 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e,
334 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e,
335 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e,
336 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e,
337 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e,
338 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e,
339 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e,
340 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e,
341 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e,
342 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e,
343 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e,
344 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e,
345 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e,
346 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e,
347 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e,
348 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e,
349 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e,
350 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e, 0x070e,
351 0x070e, 0x070e, 0x070e, 0x0500, 0x070e, 0x070e, 0x05b0, 0x06af
354 const struct sbcs_table cptable_1256 =
356 { 1256, 1, 0x003f, 0x003f, "ANSI Arabic" },
357 cp2uni,
358 cp2uni,
359 uni2cp_low,
360 uni2cp_high