Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
Synchronet
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Main
Synchronet
Commits
a580cd33
Commit
a580cd33
authored
5 years ago
by
deuce
Browse files
Options
Downloads
Patches
Plain Diff
More codepages: CP866 (Modified), ISO-8859-9, ISO-8859-8, KOI8-U, ISO-8859-15,
ISO-8859-5, CP850, CP865
parent
2c6becf7
Branches
Branches containing commit
Tags
Tags containing commit
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
src/conio/allfonts.c
+11
-11
11 additions, 11 deletions
src/conio/allfonts.c
src/conio/utf8_codepages.c
+542
-0
542 additions, 0 deletions
src/conio/utf8_codepages.c
src/conio/utf8_codepages.h
+8
-0
8 additions, 0 deletions
src/conio/utf8_codepages.h
with
561 additions
and
11 deletions
src/conio/allfonts.c
+
11
−
11
View file @
a580cd33
...
...
@@ -3083,7 +3083,7 @@ CIOLIBEXPORT struct conio_font_data_struct conio_fontdata[257] = {
"\x00\x70\xd8\x30\x60\xc8\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
, NULL, NULL, NULL, "Codepage 866 (c) Russian", CIOLIB_CP
437
}
, NULL, NULL, NULL, "Codepage 866 (c) Russian", CIOLIB_CP
866M
}
,{"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
...
...
@@ -3340,7 +3340,7 @@ CIOLIBEXPORT struct conio_font_data_struct conio_fontdata[257] = {
"\x00\x00\x00\x00\x00\x38\x18\x18\x18\x18\x18\x3c\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x7c\xc6\x60\x38\x0c\xc6\x7c\x18\x30\x00\x00"
"\x00\x00\x66\x66\x00\xee\x66\x66\x66\x66\x66\x3e\x06\x0c\x38\x00"
, NULL, NULL, NULL, "ISO-8859-9 Turkish", CIOLIB_
CP437
}
, NULL, NULL, NULL, "ISO-8859-9 Turkish", CIOLIB_
ISO_8859_9
}
,{"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
...
...
@@ -4878,7 +4878,7 @@ CIOLIBEXPORT struct conio_font_data_struct conio_fontdata[257] = {
"\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00"
, NULL, "ISO-8859-8 Hebrew", CIOLIB_
CP437
}
, NULL, "ISO-8859-8 Hebrew", CIOLIB_
ISO_8859_8
}
,{"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
...
...
@@ -5647,7 +5647,7 @@ CIOLIBEXPORT struct conio_font_data_struct conio_fontdata[257] = {
"\xdb\xdb\xdb\xdb\xdb\xdb\xff\x03"
"\x66\x66\x66\x3e\x06\x06\x06\x00"
"\xe0\x60\x60\x7c\x66\x66\x7c\x00"
, NULL, "Ukrainian font koi8-u", CIOLIB_
CP437
}
, NULL, "Ukrainian font koi8-u", CIOLIB_
KOI8_U
}
,{"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
...
...
@@ -5904,7 +5904,7 @@ CIOLIBEXPORT struct conio_font_data_struct conio_fontdata[257] = {
"\x00\x00\x04\x08\x10\x00\x42\x42\x42\x42\x42\x3e\x02\x02\x3c\x00"
"\x00\x20\x20\x20\x3e\x21\x21\x21\x21\x31\x2e\x20\x20\x20\x00\x00"
"\x00\x00\x24\x24\x00\x00\x42\x42\x42\x42\x42\x3e\x02\x02\x3c\x00"
, NULL, NULL, NULL, "ISO-8859-15 West European, (thin)", CIOLIB_
CP437
}
, NULL, NULL, NULL, "ISO-8859-15 West European, (thin)", CIOLIB_
ISO_8859_15
}
,{"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
...
...
@@ -7956,7 +7956,7 @@ CIOLIBEXPORT struct conio_font_data_struct conio_fontdata[257] = {
"\x7e\xc0\x7c\xc6\x7c\x06\xfc\x00"
"\x18\x00\x66\x66\x3e\x06\x3c\x00"
"\x00\x00\xc6\xc6\xfe\x38\x38\x00"
, NULL, "ISO-8859-5 Cyrillic", CIOLIB_
CP437
}
, NULL, "ISO-8859-5 Cyrillic", CIOLIB_
ISO_8859_5
}
,{"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
...
...
@@ -9494,7 +9494,7 @@ CIOLIBEXPORT struct conio_font_data_struct conio_fontdata[257] = {
"\x18\x30\xcc\xcc\xcc\x7c\x0c\xf8"
"\xe0\x78\x6c\x66\x6c\x78\xe0\x00"
"\xcc\x00\xcc\xcc\xcc\x7c\x0c\xf8"
, NULL, "ISO-8859-15 West European", CIOLIB_
CP437
}
, NULL, "ISO-8859-15 West European", CIOLIB_
ISO_8859_15
}
,{"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x7e\x81\xa5\x81\x81\xbd\x99\x81\x81\x7e\x00\x00\x00\x00"
"\x00\x00\x7e\xff\xdb\xff\xff\xc3\xe7\xff\xff\x7e\x00\x00\x00\x00"
...
...
@@ -10007,7 +10007,7 @@ CIOLIBEXPORT struct conio_font_data_struct conio_fontdata[257] = {
"\x30\x48\x10\x20\x78\x00\x00\x00"
"\x00\x00\x3c\x3c\x3c\x3c\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00"
, NULL, "Codepage 850 Multilingual Latin I, (thin)", CIOLIB_CP
437
}
, NULL, "Codepage 850 Multilingual Latin I, (thin)", CIOLIB_CP
850
}
,{"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x7e\x81\xa5\x81\x81\xbd\x99\x81\x81\x7e\x00\x00\x00\x00"
"\x00\x00\x7e\xff\xdb\xff\xff\xc3\xe7\xff\xff\x7e\x00\x00\x00\x00"
...
...
@@ -10776,7 +10776,7 @@ CIOLIBEXPORT struct conio_font_data_struct conio_fontdata[257] = {
"\x78\x0c\x18\x30\x7c\x00\x00\x00"
"\x00\x00\x3c\x3c\x3c\x3c\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00"
, NULL, "Codepage 850 Multilingual Latin I", CIOLIB_CP
437
}
, NULL, "Codepage 850 Multilingual Latin I", CIOLIB_CP
850
}
,{"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x7e\x81\xa5\x81\x81\xbd\x99\x81\x81\x7e\x00\x00\x00\x00"
"\x00\x00\x7e\xff\xdb\xff\xff\xc3\xe7\xff\xff\x7e\x00\x00\x00\x00"
...
...
@@ -11289,7 +11289,7 @@ CIOLIBEXPORT struct conio_font_data_struct conio_fontdata[257] = {
"\x30\x48\x10\x20\x78\x00\x00\x00"
"\x00\x00\x3c\x3c\x3c\x3c\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00"
, NULL, "Codepage 8
8
5 Norwegian, (thin)", CIOLIB_CP
437
}
, NULL, "Codepage 8
6
5 Norwegian, (thin)", CIOLIB_CP
865
}
,{"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
...
...
@@ -16930,7 +16930,7 @@ CIOLIBEXPORT struct conio_font_data_struct conio_fontdata[257] = {
"\x78\x0c\x18\x30\x7c\x00\x00\x00"
"\x00\x00\x3c\x3c\x3c\x3c\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00"
, NULL, "Codepage 8
8
5 Norwegian", CIOLIB_CP
437
}
, NULL, "Codepage 8
6
5 Norwegian", CIOLIB_CP
865
}
,{"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x7e\x81\xa5\x81\x81\xa5\x99\x81\x81\x7e\x00\x00\x00\x00"
"\x00\x00\x7e\xff\xdb\xff\xff\xdb\xe7\xff\xff\x7e\x00\x00\x00\x00"
This diff is collapsed.
Click to expand it.
src/conio/utf8_codepages.c
+
542
−
0
View file @
a580cd33
...
...
@@ -330,6 +330,524 @@ static uint32_t iso8859_4_unicode_table[128] = {
0x00f8
,
0x0173
,
0x00fa
,
0x00fb
,
0x00fc
,
0x0169
,
0x016b
,
0x02d9
};
static
struct
ciolib_cpmap
cp866_table
[
160
]
=
{
{
0x00a0
,
255
},
{
0x00a4
,
253
},
{
0x00a7
,
21
},
{
0x00b0
,
248
},
{
0x00b6
,
20
},
{
0x00b7
,
250
},
{
0x0401
,
240
},
{
0x0404
,
242
},
{
0x0407
,
244
},
{
0x040e
,
246
},
{
0x0410
,
128
},
{
0x0411
,
129
},
{
0x0412
,
130
},
{
0x0413
,
131
},
{
0x0414
,
132
},
{
0x0415
,
133
},
{
0x0416
,
134
},
{
0x0417
,
135
},
{
0x0418
,
136
},
{
0x0419
,
137
},
{
0x041a
,
138
},
{
0x041b
,
139
},
{
0x041c
,
140
},
{
0x041d
,
141
},
{
0x041e
,
142
},
{
0x041f
,
143
},
{
0x0420
,
144
},
{
0x0421
,
145
},
{
0x0422
,
146
},
{
0x0423
,
147
},
{
0x0424
,
148
},
{
0x0425
,
149
},
{
0x0426
,
150
},
{
0x0427
,
151
},
{
0x0428
,
152
},
{
0x0429
,
153
},
{
0x042a
,
154
},
{
0x042b
,
155
},
{
0x042c
,
156
},
{
0x042d
,
157
},
{
0x042e
,
158
},
{
0x042f
,
159
},
{
0x0430
,
160
},
{
0x0431
,
161
},
{
0x0432
,
162
},
{
0x0433
,
163
},
{
0x0434
,
164
},
{
0x0435
,
165
},
{
0x0436
,
166
},
{
0x0437
,
167
},
{
0x0438
,
168
},
{
0x0439
,
169
},
{
0x043a
,
170
},
{
0x043b
,
171
},
{
0x043c
,
172
},
{
0x043d
,
173
},
{
0x043e
,
174
},
{
0x043f
,
175
},
{
0x0440
,
224
},
{
0x0441
,
225
},
{
0x0442
,
226
},
{
0x0443
,
227
},
{
0x0444
,
228
},
{
0x0445
,
229
},
{
0x0446
,
230
},
{
0x0447
,
231
},
{
0x0448
,
232
},
{
0x0449
,
233
},
{
0x044a
,
234
},
{
0x044b
,
235
},
{
0x044c
,
236
},
{
0x044d
,
237
},
{
0x044e
,
238
},
{
0x044f
,
239
},
{
0x0451
,
241
},
{
0x0454
,
243
},
{
0x0457
,
245
},
{
0x045e
,
247
},
{
0x2022
,
7
},
{
0x203c
,
19
},
{
0x2116
,
252
},
{
0x2190
,
27
},
{
0x2191
,
24
},
{
0x2192
,
26
},
{
0x2193
,
25
},
{
0x2194
,
29
},
{
0x2195
,
18
},
{
0x21a8
,
23
},
{
0x2219
,
249
},
{
0x221a
,
251
},
{
0x221f
,
28
},
{
0x2500
,
196
},
{
0x2502
,
179
},
{
0x250c
,
218
},
{
0x2510
,
191
},
{
0x2514
,
192
},
{
0x2518
,
217
},
{
0x251c
,
195
},
{
0x2524
,
180
},
{
0x252c
,
194
},
{
0x2534
,
193
},
{
0x253c
,
197
},
{
0x2550
,
205
},
{
0x2551
,
186
},
{
0x2552
,
213
},
{
0x2553
,
214
},
{
0x2554
,
201
},
{
0x2555
,
184
},
{
0x2556
,
183
},
{
0x2557
,
187
},
{
0x2558
,
212
},
{
0x2559
,
211
},
{
0x255a
,
200
},
{
0x255b
,
190
},
{
0x255c
,
189
},
{
0x255d
,
188
},
{
0x255e
,
198
},
{
0x255f
,
199
},
{
0x2560
,
204
},
{
0x2561
,
181
},
{
0x2562
,
182
},
{
0x2563
,
185
},
{
0x2564
,
209
},
{
0x2565
,
210
},
{
0x2566
,
203
},
{
0x2567
,
207
},
{
0x2568
,
208
},
{
0x2569
,
202
},
{
0x256a
,
216
},
{
0x256b
,
215
},
{
0x256c
,
206
},
{
0x2580
,
223
},
{
0x2584
,
220
},
{
0x2588
,
219
},
{
0x258c
,
221
},
{
0x2590
,
222
},
{
0x2591
,
176
},
{
0x2592
,
177
},
{
0x2593
,
178
},
{
0x25a0
,
254
},
{
0x25ac
,
22
},
{
0x25b2
,
30
},
{
0x25ba
,
16
},
{
0x25bc
,
31
},
{
0x25c4
,
17
},
{
0x25cb
,
9
},
{
0x25d8
,
8
},
{
0x25d9
,
10
},
{
0x263a
,
1
},
{
0x263b
,
2
},
{
0x263c
,
15
},
{
0x2640
,
12
},
{
0x2642
,
11
},
{
0x2660
,
6
},
{
0x2663
,
5
},
{
0x2665
,
3
},
{
0x2666
,
4
},
{
0x266a
,
13
},
{
0x266b
,
14
},
{
0xfffd
,
'?'
}
};
static
uint32_t
cp866_unicode_table
[
128
]
=
{
0x0410
,
0x0411
,
0x0412
,
0x0413
,
0x0414
,
0x0415
,
0x0416
,
0x0417
,
0x0418
,
0x0419
,
0x041a
,
0x041b
,
0x041c
,
0x041d
,
0x041e
,
0x041f
,
0x0420
,
0x0421
,
0x0422
,
0x0423
,
0x0424
,
0x0425
,
0x0426
,
0x0427
,
0x0428
,
0x0429
,
0x042a
,
0x042b
,
0x042c
,
0x042d
,
0x042e
,
0x042f
,
0x0430
,
0x0431
,
0x0432
,
0x0433
,
0x0434
,
0x0435
,
0x0436
,
0x0437
,
0x0438
,
0x0439
,
0x043a
,
0x043b
,
0x043c
,
0x043d
,
0x043e
,
0x043f
,
0x2591
,
0x2592
,
0x2593
,
0x2502
,
0x2524
,
0x2561
,
0x2562
,
0x2556
,
0x2555
,
0x2563
,
0x2551
,
0x2557
,
0x255d
,
0x255c
,
0x255b
,
0x2510
,
0x2514
,
0x2534
,
0x252c
,
0x251c
,
0x2500
,
0x253c
,
0x255e
,
0x255f
,
0x255a
,
0x2554
,
0x2569
,
0x2566
,
0x2560
,
0x2550
,
0x256c
,
0x2567
,
0x2568
,
0x2564
,
0x2565
,
0x2559
,
0x2558
,
0x2552
,
0x2553
,
0x256b
,
0x256a
,
0x2518
,
0x250c
,
0x2588
,
0x2584
,
0x258c
,
0x2590
,
0x2580
,
0x0440
,
0x0441
,
0x0442
,
0x0443
,
0x0444
,
0x0445
,
0x0446
,
0x0447
,
0x0448
,
0x0449
,
0x044a
,
0x044b
,
0x044c
,
0x044d
,
0x044e
,
0x044f
,
0x0401
,
0x0451
,
0x0404
,
0x0454
,
0x0407
,
0x0457
,
0x040e
,
0x045e
,
0x00b0
,
0x2219
,
0x00b7
,
0x221a
,
0x2116
,
0x00a4
,
0x25a0
,
0x00a0
};
static
struct
ciolib_cpmap
cp866m_table
[
160
]
=
{
{
0x00a0
,
255
},
{
0x00a7
,
21
},
{
0x00b0
,
248
},
{
0x00B2
,
253
},
{
0x00b6
,
20
},
{
0x00b7
,
250
},
{
0x00F7
,
246
},
{
0x0401
,
240
},
{
0x0410
,
128
},
{
0x0411
,
129
},
{
0x0412
,
130
},
{
0x0413
,
131
},
{
0x0414
,
132
},
{
0x0415
,
133
},
{
0x0416
,
134
},
{
0x0417
,
135
},
{
0x0418
,
136
},
{
0x0419
,
137
},
{
0x041a
,
138
},
{
0x041b
,
139
},
{
0x041c
,
140
},
{
0x041d
,
141
},
{
0x041e
,
142
},
{
0x041f
,
143
},
{
0x0420
,
144
},
{
0x0421
,
145
},
{
0x0422
,
146
},
{
0x0423
,
147
},
{
0x0424
,
148
},
{
0x0425
,
149
},
{
0x0426
,
150
},
{
0x0427
,
151
},
{
0x0428
,
152
},
{
0x0429
,
153
},
{
0x042a
,
154
},
{
0x042b
,
155
},
{
0x042c
,
156
},
{
0x042d
,
157
},
{
0x042e
,
158
},
{
0x042f
,
159
},
{
0x0430
,
160
},
{
0x0431
,
161
},
{
0x0432
,
162
},
{
0x0433
,
163
},
{
0x0434
,
164
},
{
0x0435
,
165
},
{
0x0436
,
166
},
{
0x0437
,
167
},
{
0x0438
,
168
},
{
0x0439
,
169
},
{
0x043a
,
170
},
{
0x043b
,
171
},
{
0x043c
,
172
},
{
0x043d
,
173
},
{
0x043e
,
174
},
{
0x043f
,
175
},
{
0x0440
,
224
},
{
0x0441
,
225
},
{
0x0442
,
226
},
{
0x0443
,
227
},
{
0x0444
,
228
},
{
0x0445
,
229
},
{
0x0446
,
230
},
{
0x0447
,
231
},
{
0x0448
,
232
},
{
0x0449
,
233
},
{
0x044a
,
234
},
{
0x044b
,
235
},
{
0x044c
,
236
},
{
0x044d
,
237
},
{
0x044e
,
238
},
{
0x044f
,
239
},
{
0x0451
,
241
},
{
0x045F
,
252
},
{
0x2022
,
7
},
{
0x203c
,
19
},
{
0x2190
,
27
},
{
0x2191
,
24
},
{
0x2192
,
26
},
{
0x2193
,
25
},
{
0x2194
,
29
},
{
0x2195
,
18
},
{
0x21a8
,
23
},
{
0x2219
,
249
},
{
0x221a
,
251
},
{
0x221f
,
28
},
{
0x2264
,
243
},
{
0x2265
,
242
},
{
0x2320
,
244
},
{
0x2321
,
245
},
{
0x2248
,
247
},
{
0x2500
,
196
},
{
0x2502
,
179
},
{
0x250c
,
218
},
{
0x2510
,
191
},
{
0x2514
,
192
},
{
0x2518
,
217
},
{
0x251c
,
195
},
{
0x2524
,
180
},
{
0x252c
,
194
},
{
0x2534
,
193
},
{
0x253c
,
197
},
{
0x2550
,
205
},
{
0x2551
,
186
},
{
0x2552
,
213
},
{
0x2553
,
214
},
{
0x2554
,
201
},
{
0x2555
,
184
},
{
0x2556
,
183
},
{
0x2557
,
187
},
{
0x2558
,
212
},
{
0x2559
,
211
},
{
0x255a
,
200
},
{
0x255b
,
190
},
{
0x255c
,
189
},
{
0x255d
,
188
},
{
0x255e
,
198
},
{
0x255f
,
199
},
{
0x2560
,
204
},
{
0x2561
,
181
},
{
0x2562
,
182
},
{
0x2563
,
185
},
{
0x2564
,
209
},
{
0x2565
,
210
},
{
0x2566
,
203
},
{
0x2567
,
207
},
{
0x2568
,
208
},
{
0x2569
,
202
},
{
0x256a
,
216
},
{
0x256b
,
215
},
{
0x256c
,
206
},
{
0x2580
,
223
},
{
0x2584
,
220
},
{
0x2588
,
219
},
{
0x258c
,
221
},
{
0x2590
,
222
},
{
0x2591
,
176
},
{
0x2592
,
177
},
{
0x2593
,
178
},
{
0x25a0
,
254
},
{
0x25ac
,
22
},
{
0x25b2
,
30
},
{
0x25ba
,
16
},
{
0x25bc
,
31
},
{
0x25c4
,
17
},
{
0x25cb
,
9
},
{
0x25d8
,
8
},
{
0x25d9
,
10
},
{
0x263a
,
1
},
{
0x263b
,
2
},
{
0x263c
,
15
},
{
0x2640
,
12
},
{
0x2642
,
11
},
{
0x2660
,
6
},
{
0x2663
,
5
},
{
0x2665
,
3
},
{
0x2666
,
4
},
{
0x266a
,
13
},
{
0x266b
,
14
},
{
0xfffd
,
'?'
}
};
static
uint32_t
cp866m_unicode_table
[
128
]
=
{
0x0410
,
0x0411
,
0x0412
,
0x0413
,
0x0414
,
0x0415
,
0x0416
,
0x0417
,
0x0418
,
0x0419
,
0x041a
,
0x041b
,
0x041c
,
0x041d
,
0x041e
,
0x041f
,
0x0420
,
0x0421
,
0x0422
,
0x0423
,
0x0424
,
0x0425
,
0x0426
,
0x0427
,
0x0428
,
0x0429
,
0x042a
,
0x042b
,
0x042c
,
0x042d
,
0x042e
,
0x042f
,
0x0430
,
0x0431
,
0x0432
,
0x0433
,
0x0434
,
0x0435
,
0x0436
,
0x0437
,
0x0438
,
0x0439
,
0x043a
,
0x043b
,
0x043c
,
0x043d
,
0x043e
,
0x043f
,
0x2591
,
0x2592
,
0x2593
,
0x2502
,
0x2524
,
0x2561
,
0x2562
,
0x2556
,
0x2555
,
0x2563
,
0x2551
,
0x2557
,
0x255d
,
0x255c
,
0x255b
,
0x2510
,
0x2514
,
0x2534
,
0x252c
,
0x251c
,
0x2500
,
0x253c
,
0x255e
,
0x255f
,
0x255a
,
0x2554
,
0x2569
,
0x2566
,
0x2560
,
0x2550
,
0x256c
,
0x2567
,
0x2568
,
0x2564
,
0x2565
,
0x2559
,
0x2558
,
0x2552
,
0x2553
,
0x256b
,
0x256a
,
0x2518
,
0x250c
,
0x2588
,
0x2584
,
0x258c
,
0x2590
,
0x2580
,
0x0440
,
0x0441
,
0x0442
,
0x0443
,
0x0444
,
0x0445
,
0x0446
,
0x0447
,
0x0448
,
0x0449
,
0x044a
,
0x044b
,
0x044c
,
0x044d
,
0x044e
,
0x044f
,
0x0401
,
0x0451
,
0x2265
,
0x2264
,
0x2320
,
0x2321
,
0x00F7
,
0x2248
,
0x00b0
,
0x2219
,
0x00b7
,
0x221a
,
0x045F
,
0x00B2
,
0x25a0
,
0x00a0
};
static
struct
ciolib_cpmap
iso8859_9_table
[
128
]
=
{
{
0x00a0
,
160
},
{
0x00a1
,
161
},
{
0x00a2
,
162
},
{
0x00a3
,
163
},
{
0x00a4
,
164
},
{
0x00a5
,
165
},
{
0x00a6
,
166
},
{
0x00a7
,
167
},
{
0x00a7
,
21
},
{
0x00a8
,
168
},
{
0x00a9
,
169
},
{
0x00aa
,
170
},
{
0x00ab
,
171
},
{
0x00ac
,
172
},
{
0x00ad
,
173
},
{
0x00ae
,
174
},
{
0x00af
,
175
},
{
0x00b0
,
176
},
{
0x00b1
,
177
},
{
0x00b2
,
178
},
{
0x00b3
,
179
},
{
0x00b4
,
180
},
{
0x00b5
,
181
},
{
0x00b6
,
182
},
{
0x00b6
,
20
},
{
0x00b7
,
183
},
{
0x00b8
,
184
},
{
0x00b9
,
185
},
{
0x00ba
,
186
},
{
0x00bb
,
187
},
{
0x00bc
,
188
},
{
0x00bd
,
189
},
{
0x00be
,
190
},
{
0x00bf
,
191
},
{
0x00c0
,
192
},
{
0x00c1
,
193
},
{
0x00c2
,
194
},
{
0x00c3
,
195
},
{
0x00c4
,
196
},
{
0x00c5
,
197
},
{
0x00c6
,
198
},
{
0x00c7
,
199
},
{
0x00c8
,
200
},
{
0x00c9
,
201
},
{
0x00ca
,
202
},
{
0x00cb
,
203
},
{
0x00cc
,
204
},
{
0x00cd
,
205
},
{
0x00ce
,
206
},
{
0x00cf
,
207
},
{
0x00d1
,
209
},
{
0x00d2
,
210
},
{
0x00d3
,
211
},
{
0x00d4
,
212
},
{
0x00d5
,
213
},
{
0x00d6
,
214
},
{
0x00d7
,
215
},
{
0x00d8
,
216
},
{
0x00d9
,
217
},
{
0x00da
,
218
},
{
0x00db
,
219
},
{
0x00dc
,
220
},
{
0x00df
,
223
},
{
0x00e0
,
224
},
{
0x00e1
,
225
},
{
0x00e2
,
226
},
{
0x00e3
,
227
},
{
0x00e4
,
228
},
{
0x00e5
,
229
},
{
0x00e6
,
230
},
{
0x00e7
,
231
},
{
0x00e8
,
232
},
{
0x00e9
,
233
},
{
0x00ea
,
234
},
{
0x00eb
,
235
},
{
0x00ec
,
236
},
{
0x00ed
,
237
},
{
0x00ee
,
238
},
{
0x00ef
,
239
},
{
0x00f1
,
241
},
{
0x00f2
,
242
},
{
0x00f3
,
243
},
{
0x00f4
,
244
},
{
0x00f5
,
245
},
{
0x00f6
,
246
},
{
0x00f7
,
247
},
{
0x00f8
,
248
},
{
0x00f9
,
249
},
{
0x00fa
,
250
},
{
0x00fb
,
251
},
{
0x00fc
,
252
},
{
0x00ff
,
255
},
{
0x011e
,
208
},
{
0x011f
,
240
},
{
0x0130
,
221
},
{
0x0131
,
253
},
{
0x015e
,
222
},
{
0x015f
,
254
},
{
0x2022
,
7
},
{
0x203c
,
19
},
{
0x2190
,
27
},
{
0x2191
,
24
},
{
0x2192
,
26
},
{
0x2193
,
25
},
{
0x2194
,
29
},
{
0x2195
,
18
},
{
0x21a8
,
23
},
{
0x221f
,
28
},
{
0x25ac
,
22
},
{
0x25b2
,
30
},
{
0x25ba
,
16
},
{
0x25bc
,
31
},
{
0x25c4
,
17
},
{
0x25cb
,
9
},
{
0x25d8
,
8
},
{
0x25d9
,
10
},
{
0x263a
,
1
},
{
0x263b
,
2
},
{
0x263c
,
15
},
{
0x2640
,
12
},
{
0x2642
,
11
},
{
0x2660
,
6
},
{
0x2663
,
5
},
{
0x2665
,
3
},
{
0x2666
,
4
},
{
0x266a
,
13
},
{
0x266b
,
14
},
{
0xfffd
,
'?'
},
};
static
uint32_t
iso8859_9_unicode_table
[
128
]
=
{
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0x00a0
,
0x00a1
,
0x00a2
,
0x00a3
,
0x00a4
,
0x00a5
,
0x00a6
,
0x00a7
,
0x00a8
,
0x00a9
,
0x00aa
,
0x00ab
,
0x00ac
,
0x00ad
,
0x00ae
,
0x00af
,
0x00b0
,
0x00b1
,
0x00b2
,
0x00b3
,
0x00b4
,
0x00b5
,
0x00b6
,
0x00b7
,
0x00b8
,
0x00b9
,
0x00ba
,
0x00bb
,
0x00bc
,
0x00bd
,
0x00be
,
0x00bf
,
0x00c0
,
0x00c1
,
0x00c2
,
0x00c3
,
0x00c4
,
0x00c5
,
0x00c6
,
0x00c7
,
0x00c8
,
0x00c9
,
0x00ca
,
0x00cb
,
0x00cc
,
0x00cd
,
0x00ce
,
0x00cf
,
0x011e
,
0x00d1
,
0x00d2
,
0x00d3
,
0x00d4
,
0x00d5
,
0x00d6
,
0x00d7
,
0x00d8
,
0x00d9
,
0x00da
,
0x00db
,
0x00dc
,
0x0130
,
0x015e
,
0x00df
,
0x00e0
,
0x00e1
,
0x00e2
,
0x00e3
,
0x00e4
,
0x00e5
,
0x00e6
,
0x00e7
,
0x00e8
,
0x00e9
,
0x00ea
,
0x00eb
,
0x00ec
,
0x00ed
,
0x00ee
,
0x00ef
,
0x011f
,
0x00f1
,
0x00f2
,
0x00f3
,
0x00f4
,
0x00f5
,
0x00f6
,
0x00f7
,
0x00f8
,
0x00f9
,
0x00fa
,
0x00fb
,
0x00fc
,
0x0131
,
0x015f
,
0x00ff
};
static
struct
ciolib_cpmap
iso8859_8_table
[
92
]
=
{
{
0x00a0
,
160
},
{
0x00a2
,
162
},
{
0x00a3
,
163
},
{
0x00a4
,
164
},
{
0x00a5
,
165
},
{
0x00a6
,
166
},
{
0x00a7
,
167
},
{
0x00a7
,
21
},
{
0x00a8
,
168
},
{
0x00a9
,
169
},
{
0x00ab
,
171
},
{
0x00ac
,
172
},
{
0x00ad
,
173
},
{
0x00ae
,
174
},
{
0x00af
,
175
},
{
0x00b0
,
176
},
{
0x00b1
,
177
},
{
0x00b2
,
178
},
{
0x00b3
,
179
},
{
0x00b4
,
180
},
{
0x00b5
,
181
},
{
0x00b6
,
182
},
{
0x00b6
,
20
},
{
0x00b7
,
183
},
{
0x00b8
,
184
},
{
0x00b9
,
185
},
{
0x00bb
,
187
},
{
0x00bc
,
188
},
{
0x00bd
,
189
},
{
0x00be
,
190
},
{
0x00d7
,
170
},
{
0x00f7
,
186
},
{
0x05d0
,
224
},
{
0x05d1
,
225
},
{
0x05d2
,
226
},
{
0x05d3
,
227
},
{
0x05d4
,
228
},
{
0x05d5
,
229
},
{
0x05d6
,
230
},
{
0x05d7
,
231
},
{
0x05d8
,
232
},
{
0x05d9
,
233
},
{
0x05da
,
234
},
{
0x05db
,
235
},
{
0x05dc
,
236
},
{
0x05dd
,
237
},
{
0x05de
,
238
},
{
0x05df
,
239
},
{
0x05e0
,
240
},
{
0x05e1
,
241
},
{
0x05e2
,
242
},
{
0x05e3
,
243
},
{
0x05e4
,
244
},
{
0x05e5
,
245
},
{
0x05e6
,
246
},
{
0x05e7
,
247
},
{
0x05e8
,
248
},
{
0x05e9
,
249
},
{
0x05ea
,
250
},
{
0x200e
,
253
},
{
0x200f
,
254
},
{
0x2017
,
223
},
{
0x2022
,
7
},
{
0x203c
,
19
},
{
0x2190
,
27
},
{
0x2191
,
24
},
{
0x2192
,
26
},
{
0x2193
,
25
},
{
0x2194
,
29
},
{
0x2195
,
18
},
{
0x21a8
,
23
},
{
0x221f
,
28
},
{
0x25ac
,
22
},
{
0x25b2
,
30
},
{
0x25ba
,
16
},
{
0x25bc
,
31
},
{
0x25c4
,
17
},
{
0x25cb
,
9
},
{
0x25d8
,
8
},
{
0x25d9
,
10
},
{
0x263a
,
1
},
{
0x263b
,
2
},
{
0x263c
,
15
},
{
0x2640
,
12
},
{
0x2642
,
11
},
{
0x2660
,
6
},
{
0x2663
,
5
},
{
0x2665
,
3
},
{
0x2666
,
4
},
{
0x266a
,
13
},
{
0x266b
,
14
},
{
0xfffd
,
'?'
},
};
static
uint32_t
iso8859_8_unicode_table
[
128
]
=
{
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0x00a0
,
0xfffd
,
0x00a2
,
0x00a3
,
0x00a4
,
0x00a5
,
0x00a6
,
0x00a7
,
0x00a8
,
0x00a9
,
0x00d7
,
0x00ab
,
0x00ac
,
0x00ad
,
0x00ae
,
0x00af
,
0x00b0
,
0x00b1
,
0x00b2
,
0x00b3
,
0x00b4
,
0x00b5
,
0x00b6
,
0x00b7
,
0x00b8
,
0x00b9
,
0x00f7
,
0x00bb
,
0x00bc
,
0x00bd
,
0x00be
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0x2017
,
0x05d0
,
0x05d1
,
0x05d2
,
0x05d3
,
0x05d4
,
0x05d5
,
0x05d6
,
0x05d7
,
0x05d8
,
0x05d9
,
0x05da
,
0x05db
,
0x05dc
,
0x05dd
,
0x05de
,
0x05df
,
0x05e0
,
0x05e1
,
0x05e2
,
0x05e3
,
0x05e4
,
0x05e5
,
0x05e6
,
0x05e7
,
0x05e8
,
0x05e9
,
0x05ea
,
0xfffd
,
0xfffd
,
0x200e
,
0x200f
,
0xfffd
};
static
struct
ciolib_cpmap
koi8_u_table
[
160
]
=
{
{
0x00a0
,
154
},
{
0x00a7
,
21
},
{
0x00a9
,
191
},
{
0x00b0
,
156
},
{
0x00b2
,
157
},
{
0x00b6
,
20
},
{
0x00b7
,
158
},
{
0x00f7
,
159
},
{
0x0401
,
179
},
{
0x0404
,
180
},
{
0x0406
,
182
},
{
0x0407
,
183
},
{
0x0410
,
225
},
{
0x0411
,
226
},
{
0x0412
,
247
},
{
0x0413
,
231
},
{
0x0414
,
228
},
{
0x0415
,
229
},
{
0x0416
,
246
},
{
0x0417
,
250
},
{
0x0418
,
233
},
{
0x0419
,
234
},
{
0x041a
,
235
},
{
0x041b
,
236
},
{
0x041c
,
237
},
{
0x041d
,
238
},
{
0x041e
,
239
},
{
0x041f
,
240
},
{
0x0420
,
242
},
{
0x0421
,
243
},
{
0x0422
,
244
},
{
0x0423
,
245
},
{
0x0424
,
230
},
{
0x0425
,
232
},
{
0x0426
,
227
},
{
0x0427
,
254
},
{
0x0428
,
251
},
{
0x0429
,
253
},
{
0x042a
,
255
},
{
0x042b
,
249
},
{
0x042c
,
248
},
{
0x042d
,
252
},
{
0x042e
,
224
},
{
0x042f
,
241
},
{
0x0430
,
193
},
{
0x0431
,
194
},
{
0x0432
,
215
},
{
0x0433
,
199
},
{
0x0434
,
196
},
{
0x0435
,
197
},
{
0x0436
,
214
},
{
0x0437
,
218
},
{
0x0438
,
201
},
{
0x0439
,
202
},
{
0x043a
,
203
},
{
0x043b
,
204
},
{
0x043c
,
205
},
{
0x043d
,
206
},
{
0x043e
,
207
},
{
0x043f
,
208
},
{
0x0440
,
210
},
{
0x0441
,
211
},
{
0x0442
,
212
},
{
0x0443
,
213
},
{
0x0444
,
198
},
{
0x0445
,
200
},
{
0x0446
,
195
},
{
0x0447
,
222
},
{
0x0448
,
219
},
{
0x0449
,
221
},
{
0x044a
,
223
},
{
0x044b
,
217
},
{
0x044c
,
216
},
{
0x044d
,
220
},
{
0x044e
,
192
},
{
0x044f
,
209
},
{
0x0451
,
163
},
{
0x0454
,
164
},
{
0x0456
,
166
},
{
0x0457
,
167
},
{
0x0490
,
189
},
{
0x0491
,
173
},
{
0x2022
,
7
},
{
0x203c
,
19
},
{
0x2190
,
27
},
{
0x2191
,
24
},
{
0x2192
,
26
},
{
0x2193
,
25
},
{
0x2194
,
29
},
{
0x2195
,
18
},
{
0x21a8
,
23
},
{
0x2219
,
149
},
{
0x221a
,
150
},
{
0x221f
,
28
},
{
0x2248
,
151
},
{
0x2264
,
152
},
{
0x2265
,
153
},
{
0x2320
,
147
},
{
0x2321
,
155
},
{
0x2500
,
128
},
{
0x2502
,
129
},
{
0x250c
,
130
},
{
0x2510
,
131
},
{
0x2514
,
132
},
{
0x2518
,
133
},
{
0x251c
,
134
},
{
0x2524
,
135
},
{
0x252c
,
136
},
{
0x2534
,
137
},
{
0x253c
,
138
},
{
0x2550
,
160
},
{
0x2551
,
161
},
{
0x2552
,
162
},
{
0x2554
,
165
},
{
0x2557
,
168
},
{
0x2558
,
169
},
{
0x2559
,
170
},
{
0x255a
,
171
},
{
0x255b
,
172
},
{
0x255d
,
174
},
{
0x255e
,
175
},
{
0x255f
,
176
},
{
0x2560
,
177
},
{
0x2561
,
178
},
{
0x2563
,
181
},
{
0x2566
,
184
},
{
0x2567
,
185
},
{
0x2568
,
186
},
{
0x2569
,
187
},
{
0x256a
,
188
},
{
0x256c
,
190
},
{
0x2580
,
139
},
{
0x2584
,
140
},
{
0x2588
,
141
},
{
0x258c
,
142
},
{
0x2590
,
143
},
{
0x2591
,
144
},
{
0x2592
,
145
},
{
0x2593
,
146
},
{
0x25a0
,
148
},
{
0x25ac
,
22
},
{
0x25b2
,
30
},
{
0x25ba
,
16
},
{
0x25bc
,
31
},
{
0x25c4
,
17
},
{
0x25cb
,
9
},
{
0x25d8
,
8
},
{
0x25d9
,
10
},
{
0x263a
,
1
},
{
0x263b
,
2
},
{
0x263c
,
15
},
{
0x2640
,
12
},
{
0x2642
,
11
},
{
0x2660
,
6
},
{
0x2663
,
5
},
{
0x2665
,
3
},
{
0x2666
,
4
},
{
0x266a
,
13
},
{
0x266b
,
14
},
{
0xfffd
,
'?'
}
};
static
uint32_t
koi8_u_unicode_table
[
128
]
=
{
0x2500
,
0x2502
,
0x250c
,
0x2510
,
0x2514
,
0x2518
,
0x251c
,
0x2524
,
0x252c
,
0x2534
,
0x253c
,
0x2580
,
0x2584
,
0x2588
,
0x258c
,
0x2590
,
0x2591
,
0x2592
,
0x2593
,
0x2320
,
0x25a0
,
0x2219
,
0x221a
,
0x2248
,
0x2264
,
0x2265
,
0x00a0
,
0x2321
,
0x00b0
,
0x00b2
,
0x00b7
,
0x00f7
,
0x2550
,
0x2551
,
0x2552
,
0x0451
,
0x0454
,
0x2554
,
0x0456
,
0x0457
,
0x2557
,
0x2558
,
0x2559
,
0x255a
,
0x255b
,
0x0491
,
0x255d
,
0x255e
,
0x255f
,
0x2560
,
0x2561
,
0x0401
,
0x0404
,
0x2563
,
0x0406
,
0x0407
,
0x2566
,
0x2567
,
0x2568
,
0x2569
,
0x256a
,
0x0490
,
0x256c
,
0x00a9
,
0x044e
,
0x0430
,
0x0431
,
0x0446
,
0x0434
,
0x0435
,
0x0444
,
0x0433
,
0x0445
,
0x0438
,
0x0439
,
0x043a
,
0x043b
,
0x043c
,
0x043d
,
0x043e
,
0x043f
,
0x044f
,
0x0440
,
0x0441
,
0x0442
,
0x0443
,
0x0436
,
0x0432
,
0x044c
,
0x044b
,
0x0437
,
0x0448
,
0x044d
,
0x0449
,
0x0447
,
0x044a
,
0x042e
,
0x0410
,
0x0411
,
0x0426
,
0x0414
,
0x0415
,
0x0424
,
0x0413
,
0x0425
,
0x0418
,
0x0419
,
0x041a
,
0x041b
,
0x041c
,
0x041d
,
0x041e
,
0x041f
,
0x042f
,
0x0420
,
0x0421
,
0x0422
,
0x0423
,
0x0416
,
0x0412
,
0x042c
,
0x042b
,
0x0417
,
0x0428
,
0x042d
,
0x0429
,
0x0427
,
0x042a
};
static
struct
ciolib_cpmap
iso8859_15_table
[
128
]
=
{
{
0x00a0
,
160
},
{
0x00a1
,
161
},
{
0x00a2
,
162
},
{
0x00a3
,
163
},
{
0x00a5
,
165
},
{
0x00a7
,
167
},
{
0x00a7
,
21
},
{
0x00a9
,
169
},
{
0x00aa
,
170
},
{
0x00ab
,
171
},
{
0x00ac
,
172
},
{
0x00ad
,
173
},
{
0x00ae
,
174
},
{
0x00af
,
175
},
{
0x00b0
,
176
},
{
0x00b1
,
177
},
{
0x00b2
,
178
},
{
0x00b3
,
179
},
{
0x00b5
,
181
},
{
0x00b6
,
20
},
{
0x00b6
,
182
},
{
0x00b7
,
183
},
{
0x00b9
,
185
},
{
0x00ba
,
186
},
{
0x00bb
,
187
},
{
0x00bf
,
191
},
{
0x00c0
,
192
},
{
0x00c1
,
193
},
{
0x00c2
,
194
},
{
0x00c3
,
195
},
{
0x00c4
,
196
},
{
0x00c5
,
197
},
{
0x00c6
,
198
},
{
0x00c7
,
199
},
{
0x00c8
,
200
},
{
0x00c9
,
201
},
{
0x00ca
,
202
},
{
0x00cb
,
203
},
{
0x00cc
,
204
},
{
0x00cd
,
205
},
{
0x00ce
,
206
},
{
0x00cf
,
207
},
{
0x00d0
,
208
},
{
0x00d1
,
209
},
{
0x00d2
,
210
},
{
0x00d3
,
211
},
{
0x00d4
,
212
},
{
0x00d5
,
213
},
{
0x00d6
,
214
},
{
0x00d7
,
215
},
{
0x00d8
,
216
},
{
0x00d9
,
217
},
{
0x00da
,
218
},
{
0x00db
,
219
},
{
0x00dc
,
220
},
{
0x00dd
,
221
},
{
0x00de
,
222
},
{
0x00df
,
223
},
{
0x00e0
,
224
},
{
0x00e1
,
225
},
{
0x00e2
,
226
},
{
0x00e3
,
227
},
{
0x00e4
,
228
},
{
0x00e5
,
229
},
{
0x00e6
,
230
},
{
0x00e7
,
231
},
{
0x00e8
,
232
},
{
0x00e9
,
233
},
{
0x00ea
,
234
},
{
0x00eb
,
235
},
{
0x00ec
,
236
},
{
0x00ed
,
237
},
{
0x00ee
,
238
},
{
0x00ef
,
239
},
{
0x00f0
,
240
},
{
0x00f1
,
241
},
{
0x00f2
,
242
},
{
0x00f3
,
243
},
{
0x00f4
,
244
},
{
0x00f5
,
245
},
{
0x00f6
,
246
},
{
0x00f7
,
247
},
{
0x00f8
,
248
},
{
0x00f9
,
249
},
{
0x00fa
,
250
},
{
0x00fb
,
251
},
{
0x00fc
,
252
},
{
0x00fd
,
253
},
{
0x00fe
,
254
},
{
0x00ff
,
255
},
{
0x0152
,
188
},
{
0x0153
,
189
},
{
0x0160
,
166
},
{
0x0161
,
168
},
{
0x0178
,
190
},
{
0x017d
,
180
},
{
0x017e
,
184
},
{
0x2022
,
7
},
{
0x203c
,
19
},
{
0x20ac
,
164
},
{
0x2190
,
27
},
{
0x2191
,
24
},
{
0x2192
,
26
},
{
0x2193
,
25
},
{
0x2194
,
29
},
{
0x2195
,
18
},
{
0x21a8
,
23
},
{
0x221f
,
28
},
{
0x25ac
,
22
},
{
0x25b2
,
30
},
{
0x25ba
,
16
},
{
0x25bc
,
31
},
{
0x25c4
,
17
},
{
0x25cb
,
9
},
{
0x25d8
,
8
},
{
0x25d9
,
10
},
{
0x263a
,
1
},
{
0x263b
,
2
},
{
0x263c
,
15
},
{
0x2640
,
12
},
{
0x2642
,
11
},
{
0x2660
,
6
},
{
0x2663
,
5
},
{
0x2665
,
3
},
{
0x2666
,
4
},
{
0x266a
,
13
},
{
0x266b
,
14
},
{
0xfffd
,
'?'
}
};
static
uint32_t
iso8859_15_unicode_table
[
128
]
=
{
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0x00a0
,
0x00a1
,
0x00a2
,
0x00a3
,
0x20ac
,
0x00a5
,
0x0160
,
0x00a7
,
0x0161
,
0x00a9
,
0x00aa
,
0x00ab
,
0x00ac
,
0x00ad
,
0x00ae
,
0x00af
,
0x00b0
,
0x00b1
,
0x00b2
,
0x00b3
,
0x017d
,
0x00b5
,
0x00b6
,
0x00b7
,
0x017e
,
0x00b9
,
0x00ba
,
0x00bb
,
0x0152
,
0x0153
,
0x0178
,
0x00bf
,
0x00c0
,
0x00c1
,
0x00c2
,
0x00c3
,
0x00c4
,
0x00c5
,
0x00c6
,
0x00c7
,
0x00c8
,
0x00c9
,
0x00ca
,
0x00cb
,
0x00cc
,
0x00cd
,
0x00ce
,
0x00cf
,
0x00d0
,
0x00d1
,
0x00d2
,
0x00d3
,
0x00d4
,
0x00d5
,
0x00d6
,
0x00d7
,
0x00d8
,
0x00d9
,
0x00da
,
0x00db
,
0x00dc
,
0x00dd
,
0x00de
,
0x00df
,
0x00e0
,
0x00e1
,
0x00e2
,
0x00e3
,
0x00e4
,
0x00e5
,
0x00e6
,
0x00e7
,
0x00e8
,
0x00e9
,
0x00ea
,
0x00eb
,
0x00ec
,
0x00ed
,
0x00ee
,
0x00ef
,
0x00f0
,
0x00f1
,
0x00f2
,
0x00f3
,
0x00f4
,
0x00f5
,
0x00f6
,
0x00f7
,
0x00f8
,
0x00f9
,
0x00fa
,
0x00fb
,
0x00fc
,
0x00fd
,
0x00fe
,
0x00ff
};
static
struct
ciolib_cpmap
iso8859_5_table
[
128
]
=
{
{
0x00a0
,
160
},
{
0x00a7
,
21
},
{
0x00a7
,
253
},
{
0x00ad
,
173
},
{
0x00b6
,
20
},
{
0x0401
,
161
},
{
0x0402
,
162
},
{
0x0403
,
163
},
{
0x0404
,
164
},
{
0x0405
,
165
},
{
0x0406
,
166
},
{
0x0407
,
167
},
{
0x0408
,
168
},
{
0x0409
,
169
},
{
0x040a
,
170
},
{
0x040b
,
171
},
{
0x040c
,
172
},
{
0x040e
,
174
},
{
0x040f
,
175
},
{
0x0410
,
176
},
{
0x0411
,
177
},
{
0x0412
,
178
},
{
0x0413
,
179
},
{
0x0414
,
180
},
{
0x0415
,
181
},
{
0x0416
,
182
},
{
0x0417
,
183
},
{
0x0418
,
184
},
{
0x0419
,
185
},
{
0x041a
,
186
},
{
0x041b
,
187
},
{
0x041c
,
188
},
{
0x041d
,
189
},
{
0x041e
,
190
},
{
0x041f
,
191
},
{
0x0420
,
192
},
{
0x0421
,
193
},
{
0x0422
,
194
},
{
0x0423
,
195
},
{
0x0424
,
196
},
{
0x0425
,
197
},
{
0x0426
,
198
},
{
0x0427
,
199
},
{
0x0428
,
200
},
{
0x0429
,
201
},
{
0x042a
,
202
},
{
0x042b
,
203
},
{
0x042c
,
204
},
{
0x042d
,
205
},
{
0x042e
,
206
},
{
0x042f
,
207
},
{
0x0430
,
208
},
{
0x0431
,
209
},
{
0x0432
,
210
},
{
0x0433
,
211
},
{
0x0434
,
212
},
{
0x0435
,
213
},
{
0x0436
,
214
},
{
0x0437
,
215
},
{
0x0438
,
216
},
{
0x0439
,
217
},
{
0x043a
,
218
},
{
0x043b
,
219
},
{
0x043c
,
220
},
{
0x043d
,
221
},
{
0x043e
,
222
},
{
0x043f
,
223
},
{
0x0440
,
224
},
{
0x0441
,
225
},
{
0x0442
,
226
},
{
0x0443
,
227
},
{
0x0444
,
228
},
{
0x0445
,
229
},
{
0x0446
,
230
},
{
0x0447
,
231
},
{
0x0448
,
232
},
{
0x0449
,
233
},
{
0x044a
,
234
},
{
0x044b
,
235
},
{
0x044c
,
236
},
{
0x044d
,
237
},
{
0x044e
,
238
},
{
0x044f
,
239
},
{
0x0451
,
241
},
{
0x0452
,
242
},
{
0x0453
,
243
},
{
0x0454
,
244
},
{
0x0455
,
245
},
{
0x0456
,
246
},
{
0x0457
,
247
},
{
0x0458
,
248
},
{
0x0459
,
249
},
{
0x045a
,
250
},
{
0x045b
,
251
},
{
0x045c
,
252
},
{
0x045e
,
254
},
{
0x045f
,
255
},
{
0x2022
,
7
},
{
0x203c
,
19
},
{
0x2116
,
240
},
{
0x2190
,
27
},
{
0x2191
,
24
},
{
0x2192
,
26
},
{
0x2193
,
25
},
{
0x2194
,
29
},
{
0x2195
,
18
},
{
0x21a8
,
23
},
{
0x221f
,
28
},
{
0x25ac
,
22
},
{
0x25b2
,
30
},
{
0x25ba
,
16
},
{
0x25bc
,
31
},
{
0x25c4
,
17
},
{
0x25cb
,
9
},
{
0x25d8
,
8
},
{
0x25d9
,
10
},
{
0x263a
,
1
},
{
0x263b
,
2
},
{
0x263c
,
15
},
{
0x2640
,
12
},
{
0x2642
,
11
},
{
0x2660
,
6
},
{
0x2663
,
5
},
{
0x2665
,
3
},
{
0x2666
,
4
},
{
0x266a
,
13
},
{
0x266b
,
14
},
{
0xfffd
,
'?'
}
};
static
uint32_t
iso8859_5_unicode_table
[
128
]
=
{
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0xfffd
,
0x00a0
,
0x0401
,
0x0402
,
0x0403
,
0x0404
,
0x0405
,
0x0406
,
0x0407
,
0x0408
,
0x0409
,
0x040a
,
0x040b
,
0x040c
,
0x00ad
,
0x040e
,
0x040f
,
0x0410
,
0x0411
,
0x0412
,
0x0413
,
0x0414
,
0x0415
,
0x0416
,
0x0417
,
0x0418
,
0x0419
,
0x041a
,
0x041b
,
0x041c
,
0x041d
,
0x041e
,
0x041f
,
0x0420
,
0x0421
,
0x0422
,
0x0423
,
0x0424
,
0x0425
,
0x0426
,
0x0427
,
0x0428
,
0x0429
,
0x042a
,
0x042b
,
0x042c
,
0x042d
,
0x042e
,
0x042f
,
0x0430
,
0x0431
,
0x0432
,
0x0433
,
0x0434
,
0x0435
,
0x0436
,
0x0437
,
0x0438
,
0x0439
,
0x043a
,
0x043b
,
0x043c
,
0x043d
,
0x043e
,
0x043f
,
0x0440
,
0x0441
,
0x0442
,
0x0443
,
0x0444
,
0x0445
,
0x0446
,
0x0447
,
0x0448
,
0x0449
,
0x044a
,
0x044b
,
0x044c
,
0x044d
,
0x044e
,
0x044f
,
0x2116
,
0x0451
,
0x0452
,
0x0453
,
0x0454
,
0x0455
,
0x0456
,
0x0457
,
0x0458
,
0x0459
,
0x045a
,
0x045b
,
0x045c
,
0x00a7
,
0x045e
,
0x045f
};
static
struct
ciolib_cpmap
cp850_table
[
160
]
=
{
{
0x00a0
,
255
},
{
0x00a1
,
173
},
{
0x00a2
,
189
},
{
0x00a3
,
156
},
{
0x00a4
,
207
},
{
0x00a5
,
190
},
{
0x00a6
,
221
},
{
0x00a7
,
21
},
{
0x00a7
,
245
},
{
0x00a8
,
249
},
{
0x00a9
,
184
},
{
0x00aa
,
166
},
{
0x00ab
,
174
},
{
0x00ac
,
170
},
{
0x00ad
,
240
},
{
0x00ae
,
169
},
{
0x00af
,
238
},
{
0x00b0
,
248
},
{
0x00b1
,
241
},
{
0x00b2
,
253
},
{
0x00b3
,
252
},
{
0x00b4
,
239
},
{
0x00b5
,
230
},
{
0x00b6
,
20
},
{
0x00b6
,
244
},
{
0x00b7
,
250
},
{
0x00b8
,
247
},
{
0x00b9
,
251
},
{
0x00ba
,
167
},
{
0x00bb
,
175
},
{
0x00bc
,
172
},
{
0x00bd
,
171
},
{
0x00be
,
243
},
{
0x00bf
,
168
},
{
0x00c0
,
183
},
{
0x00c1
,
181
},
{
0x00c2
,
182
},
{
0x00c3
,
199
},
{
0x00c4
,
142
},
{
0x00c5
,
143
},
{
0x00c6
,
146
},
{
0x00c7
,
128
},
{
0x00c8
,
212
},
{
0x00c9
,
144
},
{
0x00ca
,
210
},
{
0x00cb
,
211
},
{
0x00cc
,
222
},
{
0x00cd
,
214
},
{
0x00ce
,
215
},
{
0x00cf
,
216
},
{
0x00d0
,
209
},
{
0x00d1
,
165
},
{
0x00d2
,
227
},
{
0x00d3
,
224
},
{
0x00d4
,
226
},
{
0x00d5
,
229
},
{
0x00d6
,
153
},
{
0x00d7
,
158
},
{
0x00d8
,
157
},
{
0x00d9
,
235
},
{
0x00da
,
233
},
{
0x00db
,
234
},
{
0x00dc
,
154
},
{
0x00dd
,
237
},
{
0x00de
,
232
},
{
0x00df
,
225
},
{
0x00e0
,
133
},
{
0x00e1
,
160
},
{
0x00e2
,
131
},
{
0x00e3
,
198
},
{
0x00e4
,
132
},
{
0x00e5
,
134
},
{
0x00e6
,
145
},
{
0x00e7
,
135
},
{
0x00e8
,
138
},
{
0x00e9
,
130
},
{
0x00ea
,
136
},
{
0x00eb
,
137
},
{
0x00ec
,
141
},
{
0x00ed
,
161
},
{
0x00ee
,
140
},
{
0x00ef
,
139
},
{
0x00f0
,
208
},
{
0x00f1
,
164
},
{
0x00f2
,
149
},
{
0x00f3
,
162
},
{
0x00f4
,
147
},
{
0x00f5
,
228
},
{
0x00f6
,
148
},
{
0x00f7
,
246
},
{
0x00f8
,
155
},
{
0x00f9
,
151
},
{
0x00fa
,
163
},
{
0x00fb
,
150
},
{
0x00fc
,
129
},
{
0x00fd
,
236
},
{
0x00fe
,
231
},
{
0x00ff
,
152
},
{
0x0131
,
213
},
{
0x0192
,
159
},
{
0x2017
,
242
},
{
0x2022
,
7
},
{
0x203c
,
19
},
{
0x2190
,
27
},
{
0x2191
,
24
},
{
0x2192
,
26
},
{
0x2193
,
25
},
{
0x2194
,
29
},
{
0x2195
,
18
},
{
0x21a8
,
23
},
{
0x221f
,
28
},
{
0x2500
,
196
},
{
0x2502
,
179
},
{
0x250c
,
218
},
{
0x2510
,
191
},
{
0x2514
,
192
},
{
0x2518
,
217
},
{
0x251c
,
195
},
{
0x2524
,
180
},
{
0x252c
,
194
},
{
0x2534
,
193
},
{
0x253c
,
197
},
{
0x2550
,
205
},
{
0x2551
,
186
},
{
0x2554
,
201
},
{
0x2557
,
187
},
{
0x255a
,
200
},
{
0x255d
,
188
},
{
0x2560
,
204
},
{
0x2563
,
185
},
{
0x2566
,
203
},
{
0x2569
,
202
},
{
0x256c
,
206
},
{
0x2580
,
223
},
{
0x2584
,
220
},
{
0x2588
,
219
},
{
0x2591
,
176
},
{
0x2592
,
177
},
{
0x2593
,
178
},
{
0x25a0
,
254
},
{
0x25ac
,
22
},
{
0x25b2
,
30
},
{
0x25ba
,
16
},
{
0x25bc
,
31
},
{
0x25c4
,
17
},
{
0x25cb
,
9
},
{
0x25d8
,
8
},
{
0x25d9
,
10
},
{
0x263a
,
1
},
{
0x263b
,
2
},
{
0x263c
,
15
},
{
0x2640
,
12
},
{
0x2642
,
11
},
{
0x2660
,
6
},
{
0x2663
,
5
},
{
0x2665
,
3
},
{
0x2666
,
4
},
{
0x266a
,
13
},
{
0x266b
,
14
},
{
0xfffd
,
'?'
}
};
static
uint32_t
cp850_unicode_table
[
128
]
=
{
0x00c7
,
0x00fc
,
0x00e9
,
0x00e2
,
0x00e4
,
0x00e0
,
0x00e5
,
0x00e7
,
0x00ea
,
0x00eb
,
0x00e8
,
0x00ef
,
0x00ee
,
0x00ec
,
0x00c4
,
0x00c5
,
0x00c9
,
0x00e6
,
0x00c6
,
0x00f4
,
0x00f6
,
0x00f2
,
0x00fb
,
0x00f9
,
0x00ff
,
0x00d6
,
0x00dc
,
0x00f8
,
0x00a3
,
0x00d8
,
0x00d7
,
0x0192
,
0x00e1
,
0x00ed
,
0x00f3
,
0x00fa
,
0x00f1
,
0x00d1
,
0x00aa
,
0x00ba
,
0x00bf
,
0x00ae
,
0x00ac
,
0x00bd
,
0x00bc
,
0x00a1
,
0x00ab
,
0x00bb
,
0x2591
,
0x2592
,
0x2593
,
0x2502
,
0x2524
,
0x00c1
,
0x00c2
,
0x00c0
,
0x00a9
,
0x2563
,
0x2551
,
0x2557
,
0x255d
,
0x00a2
,
0x00a5
,
0x2510
,
0x2514
,
0x2534
,
0x252c
,
0x251c
,
0x2500
,
0x253c
,
0x00e3
,
0x00c3
,
0x255a
,
0x2554
,
0x2569
,
0x2566
,
0x2560
,
0x2550
,
0x256c
,
0x00a4
,
0x00f0
,
0x00d0
,
0x00ca
,
0x00cb
,
0x00c8
,
0x0131
,
0x00cd
,
0x00ce
,
0x00cf
,
0x2518
,
0x250c
,
0x2588
,
0x2584
,
0x00a6
,
0x00cc
,
0x2580
,
0x00d3
,
0x00df
,
0x00d4
,
0x00d2
,
0x00f5
,
0x00d5
,
0x00b5
,
0x00fe
,
0x00de
,
0x00da
,
0x00db
,
0x00d9
,
0x00fd
,
0x00dd
,
0x00af
,
0x00b4
,
0x00ad
,
0x00b1
,
0x2017
,
0x00be
,
0x00b6
,
0x00a7
,
0x00f7
,
0x00b8
,
0x00b0
,
0x00a8
,
0x00b7
,
0x00b9
,
0x00b3
,
0x00b2
,
0x25a0
,
0x00a0
};
static
struct
ciolib_cpmap
cp865_table
[
160
]
=
{
{
0x00a0
,
255
},
{
0x00a1
,
173
},
{
0x00a3
,
156
},
{
0x00a4
,
175
},
{
0x00a7
,
21
},
{
0x00aa
,
166
},
{
0x00ab
,
174
},
{
0x00ac
,
170
},
{
0x00b0
,
248
},
{
0x00b1
,
241
},
{
0x00b2
,
253
},
{
0x00b5
,
230
},
{
0x00b6
,
20
},
{
0x00b7
,
250
},
{
0x00ba
,
167
},
{
0x00bc
,
172
},
{
0x00bd
,
171
},
{
0x00bf
,
168
},
{
0x00c4
,
142
},
{
0x00c5
,
143
},
{
0x00c6
,
146
},
{
0x00c7
,
128
},
{
0x00c9
,
144
},
{
0x00d1
,
165
},
{
0x00d6
,
153
},
{
0x00d8
,
157
},
{
0x00dc
,
154
},
{
0x00df
,
225
},
{
0x00e0
,
133
},
{
0x00e1
,
160
},
{
0x00e2
,
131
},
{
0x00e4
,
132
},
{
0x00e5
,
134
},
{
0x00e6
,
145
},
{
0x00e7
,
135
},
{
0x00e8
,
138
},
{
0x00e9
,
130
},
{
0x00ea
,
136
},
{
0x00eb
,
137
},
{
0x00ec
,
141
},
{
0x00ed
,
161
},
{
0x00ee
,
140
},
{
0x00ef
,
139
},
{
0x00f1
,
164
},
{
0x00f2
,
149
},
{
0x00f3
,
162
},
{
0x00f4
,
147
},
{
0x00f6
,
148
},
{
0x00f7
,
246
},
{
0x00f8
,
155
},
{
0x00f9
,
151
},
{
0x00fa
,
163
},
{
0x00fb
,
150
},
{
0x00fc
,
129
},
{
0x00ff
,
152
},
{
0x0192
,
159
},
{
0x0393
,
226
},
{
0x0398
,
233
},
{
0x03a3
,
228
},
{
0x03a6
,
232
},
{
0x03a9
,
234
},
{
0x03b1
,
224
},
{
0x03b4
,
235
},
{
0x03b5
,
238
},
{
0x03c0
,
227
},
{
0x03c3
,
229
},
{
0x03c4
,
231
},
{
0x03c6
,
237
},
{
0x2022
,
7
},
{
0x203c
,
19
},
{
0x207f
,
252
},
{
0x20a7
,
158
},
{
0x2190
,
27
},
{
0x2191
,
24
},
{
0x2192
,
26
},
{
0x2193
,
25
},
{
0x2194
,
29
},
{
0x2195
,
18
},
{
0x21a8
,
23
},
{
0x2219
,
249
},
{
0x221a
,
251
},
{
0x221e
,
236
},
{
0x221f
,
28
},
{
0x2229
,
239
},
{
0x2248
,
247
},
{
0x2261
,
240
},
{
0x2264
,
243
},
{
0x2265
,
242
},
{
0x2310
,
169
},
{
0x2320
,
244
},
{
0x2321
,
245
},
{
0x2500
,
196
},
{
0x2502
,
179
},
{
0x250c
,
218
},
{
0x2510
,
191
},
{
0x2514
,
192
},
{
0x2518
,
217
},
{
0x251c
,
195
},
{
0x2524
,
180
},
{
0x252c
,
194
},
{
0x2534
,
193
},
{
0x253c
,
197
},
{
0x2550
,
205
},
{
0x2551
,
186
},
{
0x2552
,
213
},
{
0x2553
,
214
},
{
0x2554
,
201
},
{
0x2555
,
184
},
{
0x2556
,
183
},
{
0x2557
,
187
},
{
0x2558
,
212
},
{
0x2559
,
211
},
{
0x255a
,
200
},
{
0x255b
,
190
},
{
0x255c
,
189
},
{
0x255d
,
188
},
{
0x255e
,
198
},
{
0x255f
,
199
},
{
0x2560
,
204
},
{
0x2561
,
181
},
{
0x2562
,
182
},
{
0x2563
,
185
},
{
0x2564
,
209
},
{
0x2565
,
210
},
{
0x2566
,
203
},
{
0x2567
,
207
},
{
0x2568
,
208
},
{
0x2569
,
202
},
{
0x256a
,
216
},
{
0x256b
,
215
},
{
0x256c
,
206
},
{
0x2580
,
223
},
{
0x2584
,
220
},
{
0x2588
,
219
},
{
0x258c
,
221
},
{
0x2590
,
222
},
{
0x2591
,
176
},
{
0x2592
,
177
},
{
0x2593
,
178
},
{
0x25a0
,
254
},
{
0x25ac
,
22
},
{
0x25b2
,
30
},
{
0x25ba
,
16
},
{
0x25bc
,
31
},
{
0x25c4
,
17
},
{
0x25cb
,
9
},
{
0x25d8
,
8
},
{
0x25d9
,
10
},
{
0x263a
,
1
},
{
0x263b
,
2
},
{
0x263c
,
15
},
{
0x2640
,
12
},
{
0x2642
,
11
},
{
0x2660
,
6
},
{
0x2663
,
5
},
{
0x2665
,
3
},
{
0x2666
,
4
},
{
0x266a
,
13
},
{
0x266b
,
14
},
{
0xfffd
,
'?'
}
};
static
uint32_t
cp865_unicode_table
[
128
]
=
{
0x00c7
,
0x00fc
,
0x00e9
,
0x00e2
,
0x00e4
,
0x00e0
,
0x00e5
,
0x00e7
,
0x00ea
,
0x00eb
,
0x00e8
,
0x00ef
,
0x00ee
,
0x00ec
,
0x00c4
,
0x00c5
,
0x00c9
,
0x00e6
,
0x00c6
,
0x00f4
,
0x00f6
,
0x00f2
,
0x00fb
,
0x00f9
,
0x00ff
,
0x00d6
,
0x00dc
,
0x00f8
,
0x00a3
,
0x00d8
,
0x20a7
,
0x0192
,
0x00e1
,
0x00ed
,
0x00f3
,
0x00fa
,
0x00f1
,
0x00d1
,
0x00aa
,
0x00ba
,
0x00bf
,
0x2310
,
0x00ac
,
0x00bd
,
0x00bc
,
0x00a1
,
0x00ab
,
0x00a4
,
0x2591
,
0x2592
,
0x2593
,
0x2502
,
0x2524
,
0x2561
,
0x2562
,
0x2556
,
0x2555
,
0x2563
,
0x2551
,
0x2557
,
0x255d
,
0x255c
,
0x255b
,
0x2510
,
0x2514
,
0x2534
,
0x252c
,
0x251c
,
0x2500
,
0x253c
,
0x255e
,
0x255f
,
0x255a
,
0x2554
,
0x2569
,
0x2566
,
0x2560
,
0x2550
,
0x256c
,
0x2567
,
0x2568
,
0x2564
,
0x2565
,
0x2559
,
0x2558
,
0x2552
,
0x2553
,
0x256b
,
0x256a
,
0x2518
,
0x250c
,
0x2588
,
0x2584
,
0x258c
,
0x2590
,
0x2580
,
0x03b1
,
0x00df
,
0x0393
,
0x03c0
,
0x03a3
,
0x03c3
,
0x00b5
,
0x03c4
,
0x03a6
,
0x0398
,
0x03a9
,
0x03b4
,
0x221e
,
0x03c6
,
0x03b5
,
0x2229
,
0x2261
,
0x00b1
,
0x2265
,
0x2264
,
0x2320
,
0x2321
,
0x00f7
,
0x2248
,
0x00b0
,
0x2219
,
0x00b7
,
0x221a
,
0x207f
,
0x00b2
,
0x25a0
,
0x00a0
};
static
int
cmptab
(
const
void
*
key
,
const
void
*
entry
)
{
...
...
@@ -606,6 +1124,30 @@ struct codepage_def ciolib_cp[CIOLIB_CP_COUNT] = {
{
"ISO-8859-4"
,
CIOLIB_ISO_8859_4
,
cpstr_to_utf8
,
utf8_to_cpstr
,
cptable_from_unicode_cpoint
,
cptable_from_unicode_cpoint_ext
,
iso8859_4_table
,
sizeof
(
iso8859_4_table
)
/
sizeof
(
iso8859_4_table
[
0
]),
iso8859_4_unicode_table
,
empty_ext_table
},
{
"CP866M"
,
CIOLIB_CP866M
,
cpstr_to_utf8
,
utf8_to_cpstr
,
cptable_from_unicode_cpoint
,
cptable_from_unicode_cpoint_ext
,
cp866m_table
,
sizeof
(
cp866m_table
)
/
sizeof
(
cp866m_table
[
0
]),
cp866m_unicode_table
,
cp437_ext_table
},
{
"ISO-8859-9"
,
CIOLIB_ISO_8859_9
,
cpstr_to_utf8
,
utf8_to_cpstr
,
cptable_from_unicode_cpoint
,
cptable_from_unicode_cpoint_ext
,
iso8859_9_table
,
sizeof
(
iso8859_9_table
)
/
sizeof
(
iso8859_9_table
[
0
]),
iso8859_9_unicode_table
,
empty_ext_table
},
{
"ISO-8859-8"
,
CIOLIB_ISO_8859_8
,
cpstr_to_utf8
,
utf8_to_cpstr
,
cptable_from_unicode_cpoint
,
cptable_from_unicode_cpoint_ext
,
iso8859_8_table
,
sizeof
(
iso8859_8_table
)
/
sizeof
(
iso8859_8_table
[
0
]),
iso8859_8_unicode_table
,
empty_ext_table
},
{
"KOI8-U"
,
CIOLIB_KOI8_U
,
cpstr_to_utf8
,
utf8_to_cpstr
,
cptable_from_unicode_cpoint
,
cptable_from_unicode_cpoint_ext
,
koi8_u_table
,
sizeof
(
koi8_u_table
)
/
sizeof
(
koi8_u_table
[
0
]),
koi8_u_unicode_table
,
empty_ext_table
},
{
"ISO-8859-15"
,
CIOLIB_ISO_8859_15
,
cpstr_to_utf8
,
utf8_to_cpstr
,
cptable_from_unicode_cpoint
,
cptable_from_unicode_cpoint_ext
,
iso8859_15_table
,
sizeof
(
iso8859_15_table
)
/
sizeof
(
iso8859_15_table
[
0
]),
iso8859_15_unicode_table
,
empty_ext_table
},
{
"ISO-8859-5"
,
CIOLIB_ISO_8859_5
,
cpstr_to_utf8
,
utf8_to_cpstr
,
cptable_from_unicode_cpoint
,
cptable_from_unicode_cpoint_ext
,
iso8859_5_table
,
sizeof
(
iso8859_5_table
)
/
sizeof
(
iso8859_5_table
[
0
]),
iso8859_5_unicode_table
,
empty_ext_table
},
{
"CP850"
,
CIOLIB_CP850
,
cpstr_to_utf8
,
utf8_to_cpstr
,
cptable_from_unicode_cpoint
,
cptable_from_unicode_cpoint_ext
,
cp850_table
,
sizeof
(
cp850_table
)
/
sizeof
(
cp850_table
[
0
]),
cp850_unicode_table
,
cp437_ext_table
},
{
"CP865"
,
CIOLIB_CP865
,
cpstr_to_utf8
,
utf8_to_cpstr
,
cptable_from_unicode_cpoint
,
cptable_from_unicode_cpoint_ext
,
cp865_table
,
sizeof
(
cp865_table
)
/
sizeof
(
cp865_table
[
0
]),
cp865_unicode_table
,
cp437_ext_table
},
};
uint8_t
*
cp_to_utf8
(
enum
ciolib_codepage
cp
,
const
char
*
cpstr
,
size_t
buflen
,
size_t
*
outlen
)
...
...
This diff is collapsed.
Click to expand it.
src/conio/utf8_codepages.h
+
8
−
0
View file @
a580cd33
...
...
@@ -7,6 +7,14 @@ enum ciolib_codepage {
CIOLIB_KOI8_R
,
CIOLIB_ISO_8859_2
,
CIOLIB_ISO_8859_4
,
CIOLIB_CP866M
,
CIOLIB_ISO_8859_9
,
CIOLIB_ISO_8859_8
,
CIOLIB_KOI8_U
,
CIOLIB_ISO_8859_15
,
CIOLIB_ISO_8859_5
,
CIOLIB_CP850
,
CIOLIB_CP865
,
CIOLIB_CP_COUNT
};
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment