-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcp437.c
70 lines (63 loc) · 1.99 KB
/
cp437.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include "cp.h"
char decode_point(unsigned long cp) {
if (cp < 128)
return (char)cp;
switch (cp) {
case 0x00A7: return 0x15; /* section sign */
case 0x00E1: return 0xA0; /* a with acute */
case 0x00E2: return 0x83; /* a with circumflex */
case 0x00E9: return 0x82; /* e with acute */
case 0x00F1: return 0xA4; /* n with tilde */
case 0x2013: return 0xC4; /* en dash */
case 0x2019: return '\''; /* right single quote */
case 0x2591: return 0xB0; /* block and box drawing glyphs */
case 0x2592: return 0xB1;
case 0x2593: return 0xB2;
case 0x2502: return 0xB3;
case 0x2524: return 0xB4;
case 0x2561: return 0xB5;
case 0x2562: return 0xB6;
case 0x2556: return 0xB7;
case 0x2555: return 0xB8;
case 0x2563: return 0xB9;
case 0x2551: return 0xBA;
case 0x2557: return 0xBB;
case 0x255D: return 0xBC;
case 0x255C: return 0xBD;
case 0x255B: return 0xBE;
case 0x2510: return 0xBF;
case 0x2514: return 0xC0;
case 0x2534: return 0xC1;
case 0x252C: return 0xC2;
case 0x251C: return 0xC3;
case 0x2500: return 0xC4;
case 0x253C: return 0xC5;
case 0x255E: return 0xC6;
case 0x255F: return 0xC7;
case 0x255A: return 0xC8;
case 0x2554: return 0xC9;
case 0x2569: return 0xCA;
case 0x2566: return 0xCB;
case 0x2560: return 0xCC;
case 0x2550: return 0xCD;
case 0x256C: return 0xCE;
case 0x2567: return 0xCF;
case 0x2568: return 0xD0;
case 0x2564: return 0xD1;
case 0x2565: return 0xD2;
case 0x2559: return 0xD3;
case 0x2558: return 0xD4;
case 0x2552: return 0xD5;
case 0x2553: return 0xD6;
case 0x256B: return 0xD7;
case 0x256A: return 0xD8;
case 0x2518: return 0xD9;
case 0x250C: return 0xDA;
case 0x2588: return 0xDB;
case 0x2584: return 0xDC;
case 0x258C: return 0xDD;
case 0x2590: return 0xDE;
case 0x2580: return 0xDF;
}
return '?';
}