2 * Copyright (C) 2001 O Young Jong
4 * Copying or modifying this code for any purpose is permitted,
5 * provided that this copyright notice is preserved in its entirety
6 * in all copies or modifications.
8 * No warranties is provided, as to this code.
16 static char HanFont1[NTYPES1][19][FONT_SIZE] = {
17 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 17,128, 3, 0, 6, 0,
18 12, 0, 24, 0, 48, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0,
19 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 13,128, 13,128, 27, 0,
20 27, 0, 54, 0, 76, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0,
21 0, 0, 0, 0, 0, 0, 0, 0, 96, 0, 48, 0, 48, 0, 48, 0,
22 48, 0, 48,128, 63, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0,
23 0, 0, 0, 0, 0, 0, 2, 0,127, 0, 48, 0, 48, 0, 48, 0,
24 48, 0, 48,128, 63, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0,
25 0, 0, 0, 0, 0, 0, 0, 0,127,128, 54, 0, 54, 0, 54, 0,
26 54, 0, 54, 64, 63,128, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0,
27 0, 0, 0, 0, 0, 0, 0, 0,127, 0, 35, 0, 2, 0,126, 0,
28 48, 0, 48,128, 63, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0,
29 0, 0, 0, 0, 0, 0, 0, 0,127, 0, 51, 0, 51, 0, 51, 0,
30 51, 0, 50, 0, 63, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0,
31 0, 0, 0, 0, 0, 0, 6, 0, 99, 0, 51, 0, 51, 0, 63, 0,
32 51, 0, 51, 0, 63, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0,
33 0, 0, 0, 0, 0, 0, 0, 0,219, 0,109,128,109,128,127,128,
34 109,128,109,128,127,128, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0,
35 0, 0, 0, 0, 0, 0, 4, 0, 6, 0, 6, 0, 6, 0, 6, 0,
36 15, 0, 25,128, 49,128, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0,
37 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 27, 0, 27, 0, 27, 0,
38 63, 0,109,128,141,128, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0,
39 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 62, 0, 99, 0, 99, 0,
40 99, 0, 62, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
41 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 17,128, 3, 0, 6, 0,
42 15, 0, 25,128, 49,128, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0,
43 0, 0, 0, 0, 0, 0, 0, 0,127,128, 45,128, 13,128, 27, 0,
44 63, 0,109,128,217,128, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0,
45 0, 0, 0, 0, 12, 0, 6, 0, 0, 0, 63, 0, 19, 0, 6, 0,
46 12, 0, 31, 0, 51, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0,
47 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 3, 0,127, 0, 38, 0,
48 12, 0, 24, 0, 48, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0,
49 0, 0, 0, 0, 0, 0, 2, 0,127, 0, 48, 0, 50, 0, 63, 0,
50 48, 0, 48,128, 63, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0,
51 0, 0, 0, 0, 0, 0, 2, 0,127, 0, 4, 0, 38, 0, 54, 0,
52 4, 64, 9,128,127, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0,
53 0, 0, 0, 0, 24, 0, 12, 0, 5, 0,127,128, 44, 0, 30, 0,
54 51, 0, 51, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
55 0, 0, 0, 0, 0, 0, 31,240, 12, 48, 0, 48, 0, 48, 0, 48,
56 0, 32, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
57 0, 0, 0, 0, 0, 0, 62,248, 6, 24, 6, 24, 6, 24, 4, 16,
58 8, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
59 0, 0, 0, 0, 0, 0, 24, 0, 12, 0, 12, 0, 12, 16, 7,248,
60 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
61 0, 0, 0, 0, 0, 32, 63,240, 24, 0, 24, 0, 24, 32, 15,240,
62 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
63 0, 0, 0, 0, 0, 0, 63,248, 24,192, 24,192, 25,208, 14,120,
64 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
65 0, 0, 0, 0, 0, 0, 15,240, 0, 48, 31,224, 12, 0, 12, 32,
66 7,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
67 0, 0, 0, 0, 0, 0, 31,240, 12,112, 12, 96, 12, 64, 15,224,
68 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
69 0, 0, 0, 0, 0, 96, 24, 48, 12, 48, 15,240, 12, 48, 15,240,
70 8, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
71 0, 0, 0, 0, 0, 0, 51, 48, 25,152, 31,248, 25,152, 31,248,
72 17, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
73 0, 0, 0, 0, 1, 0, 1,128, 1,128, 3, 0, 7,240, 12, 56,
74 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
75 0, 0, 0, 0, 2, 64, 3, 96, 3, 96, 6,192, 15,240, 27, 56,
76 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
77 0, 0, 0, 0, 0, 0, 7,192, 12, 96, 12, 96, 12, 96, 7,192,
78 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
79 0, 0, 0, 0, 0, 0, 15,224, 1,192, 3,128, 6,240, 12, 56,
80 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
81 0, 0, 0, 0, 0, 0, 31,240, 11, 96, 6,192, 15,224, 27, 56,
82 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
83 0, 0, 0, 0, 3, 0, 1,128, 31,240, 1,224, 3,128, 6,240,
84 24, 56, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85 0, 0, 0, 0, 0, 0, 31,240, 8, 48, 0,112, 31,176, 12, 48,
86 0, 32, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
87 0, 0, 0, 0, 0, 32, 31,240, 12, 0, 15,240, 12, 0, 12, 32,
88 7,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
89 0, 0, 0, 0, 0, 32, 31,248, 12, 96, 6, 96, 6,192, 31,248,
90 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
91 0, 0, 0, 0, 3, 0, 1,144, 31,248, 11,192, 6, 96, 6, 96,
92 3,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
93 0, 0, 0, 0, 31,240, 8, 48, 0, 48, 0, 32, 0, 64, 0, 0,
94 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
95 0, 0, 0, 0, 31,248, 3, 24, 3, 24, 2, 16, 4, 32, 0, 0,
96 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
97 0, 0, 0, 0, 24, 0, 12, 0, 12, 32, 7,240, 0, 0, 0, 0,
98 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
99 0, 0, 0, 32, 31,240, 12, 0, 12, 0, 7,240, 0, 0, 0, 0,
100 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
101 0, 0, 0, 0, 63,240, 25,128, 25,128, 14,240, 0, 0, 0, 0,
102 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
103 0, 0, 0, 0, 15,240, 0, 48, 31,224, 12, 0, 7,240, 0, 0,
104 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
105 0, 0, 0, 0, 31,240, 12,112, 12, 96, 15,224, 8, 0, 0, 0,
106 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
107 0, 0, 0, 0, 24,192, 12, 96, 15,224, 12, 96, 15,224, 0, 0,
108 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
109 0, 0, 0, 0, 27, 96, 13,176, 15,240, 13,176, 15,240, 0, 0,
110 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
111 0, 0, 1, 0, 1,128, 1,128, 3,240, 6, 56, 24, 0, 0, 0,
112 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
113 0, 0, 4, 64, 6, 96, 6, 96, 15,248, 25,152, 34, 0, 0, 0,
114 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
115 0, 0, 0, 0, 3,192, 6, 96, 6, 96, 6, 96, 3,192, 0, 0,
116 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
117 0, 0, 0, 0, 15,224, 3,192, 7,112, 12, 56, 48, 0, 0, 0,
118 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
119 0, 0, 0, 0, 31,248, 6, 96, 15,248, 25,156, 34, 0, 0, 0,
120 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
121 0, 0, 3, 0, 1,128, 31,240, 1,192, 15,120, 56, 0, 0, 0,
122 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
123 0, 0, 0, 0, 15,240, 4, 48, 0,240, 15, 48, 4, 32, 0, 64,
124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
125 0, 0, 0, 0, 31,240, 12, 0, 15,240, 12, 0, 7,240, 0, 0,
126 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
127 0, 0, 0, 16, 31,248, 6, 96, 6, 96, 31,248, 8, 0, 0, 0,
128 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
129 0, 0, 3, 0, 1,160, 15,240, 3,192, 6, 96, 3,192, 0, 0,
130 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
131 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 17,128, 1,128, 1,128,
132 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
133 0, 0, 0, 0, 0, 0, 0, 0,127,128, 25,128, 25,128, 17, 0,
134 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
135 0, 0, 0, 0, 0, 0, 0, 0, 96, 0, 48, 0, 49, 0, 31,128,
136 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
137 0, 0, 0, 0, 0, 0, 1, 0,127,128, 48, 0, 49, 0, 31,128,
138 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
139 0, 0, 0, 0, 0, 0, 0, 0,255,128,102, 0,110, 0,119,128,
140 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
141 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 1,128,127, 0, 48, 0,
142 31,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
143 0, 0, 0, 0, 0, 0, 0, 0,127,128, 49,128, 49, 0, 63, 0,
144 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
145 0, 0, 0, 0, 0, 0, 99, 0, 49,128, 63,128, 49,128, 63, 0,
146 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
147 0, 0, 0, 0, 0, 0,219, 0,109,128,127,128,109,128,127, 0,
148 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149 0, 0, 0, 0, 4, 0, 6, 0, 6, 0, 12, 0, 31,128, 49,128,
150 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
151 0, 0, 0, 0, 0, 0, 18, 0, 27, 0, 27, 0, 63,128,109,128,
152 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
153 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 49,128, 49,128, 31, 0,
154 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
155 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 12, 0, 31,128, 49,128,
156 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
157 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 27, 0, 63,128, 77,128,
158 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
159 0, 0, 0, 0, 0, 0, 12, 0, 4, 0, 63, 0, 14, 0, 27,128,
160 49,128, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
161 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 1,128, 63,128, 1,128,
162 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
163 0, 0, 0, 0, 0, 0, 1, 0,127,128, 48, 0, 63,128, 48, 0,
164 31,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
165 0, 0, 0, 0, 0, 0, 2, 0,127, 0, 36, 0, 54, 0, 20, 0,
166 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
167 0, 0, 0, 0, 0, 0, 28, 0, 12, 0,127,128, 30, 0, 51, 0,
168 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
169 0, 0, 0, 0, 0, 0, 63,128, 1,128, 1,128, 1, 0, 2, 0,
170 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
171 0, 0, 0, 0, 0, 0,127,128, 25,128, 25,128, 17, 0, 34, 0,
172 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
173 0, 0, 0, 0, 0, 0, 48, 0, 24, 0, 25, 0, 15,128, 0, 0,
174 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
175 0, 0, 0, 0, 1, 0, 63,128, 24, 0, 25, 0, 15,128, 0, 0,
176 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
177 0, 0, 0, 0, 0, 0,127,128, 54, 0, 54, 0, 27,128, 0, 0,
178 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
179 0, 0, 0, 0, 31,128, 1,128, 63, 0, 24, 0, 15,128, 0, 0,
180 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
181 0, 0, 0, 0, 0, 0, 63,128, 25,128, 25, 0, 31, 0, 16, 0,
182 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
183 0, 0, 0, 0, 51, 0, 25,128, 31,128, 25,128, 31, 0, 16, 0,
184 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
185 0, 0, 0, 0,219, 0,109,128,127,128,109,128,127, 0, 72, 0,
186 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
187 0, 0, 0, 0, 12, 0, 12, 0, 12, 0, 31,128, 49,128, 64, 0,
188 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
189 0, 0, 0, 0, 18, 0, 27, 0, 27, 0, 31,128, 45,128, 72, 0,
190 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
191 0, 0, 0, 0, 0, 0, 30, 0, 51, 0, 51, 0, 30, 0, 0, 0,
192 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
193 0, 0, 0, 0, 31, 0, 3, 0, 6, 0, 15,128, 25,128, 32, 0,
194 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
195 0, 0, 0, 0, 63,128, 13,128, 27, 0, 63,192,108,192, 0, 0,
196 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197 0, 0, 12, 0, 6, 0, 63,128, 4, 0, 15,128, 25,128, 96, 0,
198 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
199 0, 0, 0, 0, 0, 0, 31,128, 1,128, 31,128, 1,128, 1, 0,
200 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
201 0, 0, 0, 0, 0, 0, 63,128, 24, 0, 31,128, 24, 0, 15,128,
202 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
203 0, 0, 0, 0, 63,128, 18, 0, 11, 0, 10, 0, 63,128, 16, 0,
204 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
205 0, 0, 0, 0, 12, 0, 6, 0, 63,128, 14, 0, 27, 0, 14, 0,
206 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
207 0, 0, 0, 0, 0, 0, 63, 0, 3, 0, 6, 0, 12, 0, 24, 0,
208 48, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
209 0, 0, 0, 0, 0, 0, 63,128, 13,128, 27, 0, 54, 0,108, 0,
210 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
211 0, 0, 0, 0, 0, 0, 96, 0, 48, 0, 48, 0, 49, 0, 62, 0,
212 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
213 0, 0, 0, 0, 2, 0,127, 0, 48, 0, 48, 0, 48, 0, 51,128,
214 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
215 0, 0, 0, 0, 0, 0,127,128, 54, 0, 54, 0, 63,128, 27, 0,
216 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
217 0, 0, 0, 0, 0, 0, 63, 0, 3, 0,126, 0, 48, 0, 49,128,
218 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
219 0, 0, 0, 0, 0, 0,127, 0, 51, 0, 51, 0, 50, 0, 62, 0,
220 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
221 0, 0, 0, 0,102, 0, 51, 0, 63, 0, 51, 0, 51, 0, 62, 0,
222 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
223 0, 0, 0, 0, 0, 0,219, 0,109,128,127,128,109,128,127, 0,
224 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
225 0, 0, 0, 0, 4, 0, 6, 0, 6, 0, 12, 0, 30, 0, 51, 0,
226 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
227 0, 0, 0, 0, 2, 0, 19, 0, 27, 0, 27, 0, 63, 0, 77,128,
228 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
229 0, 0, 0, 0, 0, 0, 30, 0, 51, 0, 51, 0, 51, 0, 30, 0,
230 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
231 0, 0, 0, 0, 0, 0, 63, 0, 6, 0, 12, 0, 30, 0, 51, 0,
232 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
233 0, 0, 0, 0, 0, 0, 63,128, 9,128, 27, 0, 63, 0, 77,128,
234 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
235 0, 0, 0, 0, 24, 0, 12, 0, 62, 0, 12, 0, 30, 0, 51, 0,
236 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
237 0, 0, 0, 0, 0, 0, 63, 0, 3, 0,126, 0, 12, 0, 24, 0,
238 48, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
239 0, 0, 0, 0, 0, 0,127, 0, 48, 0, 62, 0, 48, 0, 49,128,
240 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
241 0, 0, 0, 0, 2, 0,127, 0, 36, 0, 54, 0, 21,128,126, 0,
242 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
243 0, 0, 0, 0, 24, 0, 12, 0,127, 0, 28, 0, 54, 0, 54, 0,
244 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
245 0, 0, 0, 0, 15,240, 4, 48, 0, 48, 0, 32, 0, 64, 0, 0,
246 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
247 0, 0, 0, 0, 62,248, 6, 24, 4, 16, 8, 32, 0, 0, 0, 0,
248 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
249 0, 0, 0, 0, 12, 0, 6, 0, 6, 32, 3,240, 0, 0, 0, 0,
250 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
251 0, 0, 0, 0, 15,240, 6, 0, 6, 0, 3,240, 0, 0, 0, 0,
252 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
253 0, 0, 0, 0, 31,240, 13,128, 13,160, 6,240, 0, 0, 0, 0,
254 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
255 0, 0, 0, 0, 7,240, 0, 48, 15,224, 6, 0, 3,224, 0, 0,
256 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
257 0, 0, 0, 0, 15,240, 6, 48, 6, 32, 7,224, 4, 0, 0, 0,
258 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
259 0, 0, 0, 0, 12, 96, 6, 48, 7,240, 6, 48, 7,224, 4, 0,
260 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
261 0, 0, 0, 0, 27, 96, 13,176, 15,240, 13,176, 15,224, 0, 0,
262 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
263 0, 0, 1, 0, 1,128, 3,128, 7,240, 12, 56, 48, 0, 0, 0,
264 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
265 0, 0, 4, 64, 6, 96, 6, 96, 12,192, 31,248, 51, 24, 0, 0,
266 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
267 0, 0, 0, 0, 3,192, 6, 96, 6, 96, 3,192, 0, 0, 0, 0,
268 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
269 0, 0, 0, 0, 15,224, 1,192, 3,240, 14, 56, 48, 0, 0, 0,
270 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
271 0, 0, 0, 0, 31,240, 6, 96, 12,192, 31,248, 35, 24, 0, 0,
272 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
273 0, 0, 3, 0, 1,128, 31,240, 3,192, 14,120, 56, 24, 0, 0,
274 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
275 0, 0, 0, 0, 15,240, 0, 48, 31,240, 0, 48, 0, 32, 0, 64,
276 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
277 0, 0, 0, 0, 15,224, 6, 0, 7,224, 6, 0, 3,224, 0, 0,
278 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
279 0, 0, 0, 0, 15,240, 6, 96, 2,192, 15,240, 0, 0, 0, 0,
280 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
281 0, 0, 3, 0, 1,128, 15,240, 3,192, 6, 96, 3,192, 0, 0,
282 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
283 0, 0, 0, 0, 63, 0, 19, 0, 3, 0, 2, 0, 0, 0, 0, 0,
284 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
285 0, 0, 0, 0,127,128, 25,128, 25,128, 17, 0, 34, 0, 0, 0,
286 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
287 0, 0, 0, 0, 48, 0, 24, 0, 25, 0, 15,128, 0, 0, 0, 0,
288 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
289 0, 0, 0, 0, 1, 0, 63,128, 24, 0, 15,128, 0, 0, 0, 0,
290 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
291 0, 0, 0, 0,127,128, 54, 0, 54, 0, 27,128, 0, 0, 0, 0,
292 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
293 0, 0, 0, 0, 31, 0, 3, 0, 62, 0, 24,128, 15, 0, 0, 0,
294 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
295 0, 0, 0, 0, 63, 0, 27, 0, 26, 0, 30, 0, 16, 0, 0, 0,
296 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
297 0, 0, 0, 0, 54, 0, 27, 0, 31, 0, 27, 0, 30, 0, 16, 0,
298 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
299 0, 0, 0, 0,219, 0,109,128,127,128,109,128,127, 0, 64, 0,
300 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
301 0, 0, 4, 0, 6, 0, 6, 0, 15,128, 25,128, 96, 0, 0, 0,
302 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
303 0, 0, 2, 0, 19, 0, 27, 0, 31,128, 45,128, 80, 0, 0, 0,
304 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
305 0, 0, 0, 0, 14, 0, 27, 0, 27, 0, 14, 0, 0, 0, 0, 0,
306 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
307 0, 0, 0, 0, 31, 0, 6, 0, 15,128, 25,128, 96, 0, 0, 0,
308 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
309 0, 0, 0, 0, 63,128, 27, 0, 31,128, 45,128, 80, 0, 0, 0,
310 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
311 0, 0, 12, 0, 6, 0, 31,128, 7, 0, 13,128, 48,128, 0, 0,
312 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
313 0, 0, 0, 0, 63, 0, 3, 0, 63, 0, 3, 0, 2, 0, 0, 0,
314 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
315 0, 0, 0, 0, 63, 0, 24, 0, 31, 0, 24, 0, 15, 0, 0, 0,
316 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
317 0, 0, 0, 0, 63,128, 27, 0, 10,128, 63, 0, 24, 0, 0, 0,
318 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
319 0, 0, 12, 0, 6, 0, 63,128, 14, 0, 27, 0, 14, 0, 0, 0,
320 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
323 static char HanFont2[NTYPES2][21][FONT_SIZE] = {
324 0, 0, 0, 48, 0, 24, 0, 24, 0, 24, 0, 24, 0, 26, 0, 31,
325 0, 24, 0, 24, 0, 24, 0, 24, 0, 24, 0, 24, 0, 16, 0, 0,
326 0, 0, 0, 12, 0,102, 0, 54, 0, 54, 0, 54, 0, 62, 0, 54,
327 0, 54, 0, 54, 0, 54, 0, 54, 0, 54, 0, 38, 0, 4, 0, 0,
328 0, 0, 0, 48, 0, 24, 0, 24, 0, 24, 0, 26, 0, 31, 0, 24,
329 0, 26, 0, 31, 0, 24, 0, 24, 0, 24, 0, 24, 0, 16, 0, 0,
330 0, 0, 0, 12, 0,102, 0, 54, 0, 54, 0, 62, 0, 54, 0, 54,
331 0, 62, 0, 54, 0, 54, 0, 54, 0, 54, 0, 38, 0, 4, 0, 0,
332 0, 0, 0, 24, 0, 12, 0, 12, 0, 12, 0, 12, 0, 12, 0,252,
333 0, 12, 0, 12, 0, 12, 0, 12, 0, 12, 0, 12, 0, 8, 0, 0,
334 0, 0, 0, 12, 0,102, 0, 54, 0, 54, 0, 54, 0, 54, 1,246,
335 0, 54, 0, 54, 0, 54, 0, 54, 0, 54, 0, 38, 0, 4, 0, 0,
336 0, 0, 0, 24, 0, 12, 0, 12, 0, 12, 0,252, 0, 12, 0, 12,
337 0,252, 0, 12, 0, 12, 0, 12, 0, 12, 0, 12, 0, 8, 0, 0,
338 0, 0, 0, 12, 0,102, 0, 54, 0, 54, 1,246, 0, 54, 0, 54,
339 1,246, 0, 54, 0, 54, 0, 54, 0, 54, 0, 38, 0, 4, 0, 0,
340 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0,
341 3, 0, 3, 0, 3, 0, 3, 12,127,254, 32, 0, 0, 0, 0, 0,
342 0, 0, 0, 48, 0, 24, 0, 24, 0, 24, 0, 24, 0, 24, 0, 26,
343 24, 31, 24, 56, 24,216,127, 24, 48, 24, 0, 24, 0, 16, 0, 0,
344 0, 0, 0, 12, 0,102, 0, 54, 0, 54, 0, 54, 0, 54, 16, 54,
345 24, 62, 24,118, 25,182,126, 54, 48, 54, 0, 38, 0, 4, 0, 0,
346 0, 0, 0, 24, 0, 12, 0, 12, 0, 12, 0, 12, 0, 12, 0, 12,
347 24, 12, 24, 44, 24,204,127, 12, 48, 12, 0, 12, 0, 8, 0, 0,
348 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
349 9, 0, 13,128, 13,128, 13,140,127,254, 32, 0, 0, 0, 0, 0,
350 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,
351 127,254, 33,128, 1,128, 1,128, 1,128, 1,128, 1, 0, 0, 0,
352 0, 0, 0, 24, 0, 12, 0, 12, 0, 12, 0, 12, 0, 12, 0, 28,
353 0,108,127,140, 54,252, 6, 76, 6, 12, 4, 12, 0, 8, 0, 0,
354 0, 0, 0, 12, 0,102, 0, 54, 0, 54, 0, 54, 0, 54, 0,118,
355 1,182,126, 54, 45,246, 12,182, 12, 54, 8, 38, 0, 4, 0, 0,
356 0, 0, 0, 24, 0, 12, 0, 12, 0, 12, 0, 12, 0, 12, 0, 28,
357 0,108,127,140, 54, 12, 6, 12, 6, 12, 4, 12, 0, 8, 0, 0,
358 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,
359 127,254, 38, 96, 6, 96, 6, 96, 6, 96, 6, 96, 4, 64, 0, 0,
360 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
361 0, 0, 0, 0, 0, 0, 0, 12,127,254, 32, 0, 0, 0, 0, 0,
362 0, 0, 0, 24, 0, 12, 0, 12, 0, 12, 0, 12, 0, 12, 0, 12,
363 0, 12, 0, 44, 0,204,127, 12, 48, 12, 0, 12, 0, 8, 0, 0,
364 0, 0, 0, 24, 0, 12, 0, 12, 0, 12, 0, 12, 0, 12, 0, 12,
365 0, 12, 0, 12, 0, 12, 0, 12, 0, 12, 0, 12, 0, 8, 0, 0,
366 0, 0, 0, 48, 0, 24, 0, 24, 0, 24, 0, 24, 0, 26, 0, 31,
367 0, 24, 0, 24, 0, 24, 0, 24, 0, 24, 0, 24, 0, 16, 0, 0,
368 0, 0, 0, 12, 0,102, 0, 54, 0, 54, 0, 54, 0, 62, 0, 54,
369 0, 54, 0, 54, 0, 54, 0, 54, 0, 54, 0, 38, 0, 4, 0, 0,
370 0, 0, 0, 48, 0, 24, 0, 24, 0, 24, 0, 26, 0, 31, 0, 24,
371 0, 26, 0, 31, 0, 24, 0, 24, 0, 24, 0, 24, 0, 16, 0, 0,
372 0, 0, 0, 12, 0,102, 0, 54, 0, 54, 0, 62, 0, 54, 0, 54,
373 0, 62, 0, 54, 0, 54, 0, 54, 0, 54, 0, 38, 0, 4, 0, 0,
374 0, 0, 0, 24, 0, 12, 0, 12, 0, 12, 0, 12, 0, 12, 0,252,
375 0, 12, 0, 12, 0, 12, 0, 12, 0, 12, 0, 12, 0, 8, 0, 0,
376 0, 0, 0, 12, 0,102, 0, 54, 0, 54, 0, 54, 0, 54, 1,246,
377 0, 54, 0, 54, 0, 54, 0, 54, 0, 54, 0, 38, 0, 4, 0, 0,
378 0, 0, 0, 24, 0, 12, 0, 12, 0, 12, 0,252, 0, 12, 0, 12,
379 0,252, 0, 12, 0, 12, 0, 12, 0, 12, 0, 12, 0, 8, 0, 0,
380 0, 0, 0, 12, 0,102, 0, 54, 0, 54, 1,246, 0, 54, 0, 54,
381 1,246, 0, 54, 0, 54, 0, 54, 0, 54, 0, 38, 0, 4, 0, 0,
382 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
383 1, 0, 1,128, 1,128, 1,140,127,254, 32, 0, 0, 0, 0, 0,
384 0, 0, 0, 48, 0, 24, 0, 24, 0, 24, 0, 24, 0, 24, 0, 26,
385 12, 31, 12, 56, 12,216,127, 24, 48, 24, 0, 24, 0, 16, 0, 0,
386 0, 0, 0, 12, 0,102, 0, 54, 0, 54, 0, 54, 0, 54, 0, 54,
387 12, 62, 12,118, 13,182,126, 54, 48, 54, 0, 38, 0, 4, 0, 0,
388 0, 0, 0, 24, 0, 12, 0, 12, 0, 12, 0, 12, 0, 12, 0, 12,
389 12, 12, 12, 44, 12,204,127, 12, 48, 12, 0, 12, 0, 8, 0, 0,
390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
391 4,128, 6,192, 6,192, 6,204,127,254, 32, 0, 0, 0, 0, 0,
392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,
393 127,254, 33,128, 1,128, 1,128, 1,128, 1,128, 1, 0, 0, 0,
394 0, 0, 0, 24, 0, 12, 0, 12, 0, 12, 0, 12, 0, 12, 0, 28,
395 0,108,127,140, 54,252, 6, 76, 6, 12, 4, 12, 0, 8, 0, 0,
396 0, 0, 0, 12, 0,102, 0, 54, 0, 54, 0, 54, 0, 54, 0,118,
397 1,182,126, 54, 45,246, 12,182, 12, 54, 8, 38, 0, 4, 0, 0,
398 0, 0, 0, 24, 0, 12, 0, 12, 0, 12, 0, 12, 0, 12, 0, 28,
399 0,108,127,140, 54, 12, 6, 12, 6, 12, 4, 12, 0, 8, 0, 0,
400 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,
401 127,254, 38, 96, 6, 96, 6, 96, 6, 96, 6, 96, 4, 64, 0, 0,
402 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
403 0, 0, 0, 0, 0, 0, 0, 12,127,254, 32, 0, 0, 0, 0, 0,
404 0, 0, 0, 24, 0, 12, 0, 12, 0, 12, 0, 12, 0, 12, 0, 12,
405 0, 12, 0, 44, 0,204,127, 12, 48, 12, 0, 12, 0, 8, 0, 0,
406 0, 0, 0, 24, 0, 12, 0, 12, 0, 12, 0, 12, 0, 12, 0, 12,
407 0, 12, 0, 12, 0, 12, 0, 12, 0, 12, 0, 12, 0, 8, 0, 0,
408 0, 0, 0, 48, 0, 24, 0, 24, 0, 24, 0, 31, 0, 24, 0, 24,
409 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
410 0, 0, 0, 12, 0,102, 0, 54, 0, 62, 0, 54, 0, 54, 0, 54,
411 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
412 0, 0, 0, 48, 0, 24, 0, 24, 0, 31, 0, 24, 0, 31, 0, 24,
413 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
414 0, 0, 0, 12, 0,102, 0, 54, 0, 62, 0, 54, 0, 62, 0, 54,
415 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
416 0, 0, 0, 24, 0, 12, 0, 12, 0, 12, 0,252, 0, 12, 0, 12,
417 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
418 0, 0, 0, 12, 0,102, 0, 54, 0, 54, 1,246, 0, 54, 0, 54,
419 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
420 0, 0, 0, 24, 0, 12, 0, 12, 0,252, 0, 12, 0,252, 0, 12,
421 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
422 0, 0, 0, 12, 0,102, 0, 54, 0,246, 0, 54, 0,246, 0, 54,
423 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 3, 12,127,254,
425 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
426 0, 0, 0, 48, 0, 24, 0, 24, 0, 26, 16, 31, 24, 56, 24,216,
427 127, 24, 48, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
428 0, 0, 0, 12, 0,102, 0, 54, 0, 54, 16, 62, 24,118, 25,182,
429 126, 54, 48, 38, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
430 0, 0, 0, 24, 0, 12, 0, 12, 0, 12, 24, 12, 24,108, 25,140,
431 126, 12, 48, 12, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13,128, 13,140,127,254,
433 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,127,254,
435 33,128, 1,128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
436 0, 0, 0, 24, 0, 12, 0, 12, 0, 44, 0,204,127, 12, 44,124,
437 12, 12, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
438 0, 0, 0, 12, 0,102, 0, 54, 0, 54, 0,182,127, 54, 54,246,
439 6, 54, 4, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
440 0, 0, 0, 24, 0, 12, 0, 12, 0, 44, 0,204,127, 12, 54, 12,
441 6, 12, 4, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
442 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,127,254,
443 35, 96, 3, 96, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
444 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,127,254,
445 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
446 0, 0, 0, 24, 0, 12, 0, 12, 0, 12, 0, 12, 0,108, 1,140,
447 126, 12, 48, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
448 0, 0, 0, 24, 0, 12, 0, 12, 0, 12, 0, 12, 0, 12, 0, 12,
449 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
450 0, 0, 0, 48, 0, 24, 0, 24, 0, 24, 0, 31, 0, 24, 0, 24,
451 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
452 0, 0, 0, 12, 0,102, 0, 54, 0, 54, 0, 62, 0, 54, 0, 54,
453 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
454 0, 0, 0, 48, 0, 24, 0, 24, 0, 31, 0, 24, 0, 31, 0, 24,
455 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
456 0, 0, 0, 12, 0,102, 0, 54, 0, 62, 0, 54, 0, 62, 0, 54,
457 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
458 0, 0, 0, 24, 0, 12, 0, 12, 0, 12, 0,252, 0, 12, 0, 12,
459 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
460 0, 0, 0, 12, 0,102, 0, 54, 0, 54, 1,246, 0, 54, 0, 54,
461 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
462 0, 0, 0, 24, 0, 12, 0, 12, 0,252, 0, 12, 0,252, 0, 12,
463 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
464 0, 0, 0, 12, 0,102, 0, 54, 0,246, 0, 54, 0,246, 0, 54,
465 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
466 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,128, 1,140,
467 127,254, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
468 0, 0, 0, 48, 0, 24, 0, 24, 0, 26, 12, 31, 12, 56, 12,216,
469 127, 24, 48, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
470 0, 0, 0, 12, 0,102, 0, 54, 0, 54, 12, 62, 12,118, 13,182,
471 126, 38, 48, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
472 0, 0, 0, 24, 0, 12, 0, 12, 0, 12, 12, 12, 12,108, 13,140,
473 126, 12, 48, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
474 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6,192, 6,204,
475 127,254, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
476 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,127,254,
477 33,128, 1,128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
478 0, 0, 0, 24, 0, 12, 0, 12, 0, 12, 0, 44, 0,204,127,124,
479 54, 12, 6, 8, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
480 0, 0, 0, 12, 0,102, 0, 54, 0, 54, 0, 54, 0,182,127, 54,
481 54,246, 6, 36, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
482 0, 0, 0, 24, 0, 12, 0, 12, 0, 12, 0, 44, 0,204,127, 12,
483 54, 12, 6, 8, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
484 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,127,254,
485 35, 96, 3, 96, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
486 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,
487 127,254, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
488 0, 0, 0, 24, 0, 12, 0, 12, 0, 12, 0, 12, 0,108, 1,140,
489 126, 12, 48, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
490 0, 0, 0, 24, 0, 12, 0, 12, 0, 12, 0, 12, 0, 12, 0, 12,
491 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
494 static char HanFont3[NTYPES3][27][FONT_SIZE] = {
495 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
496 0, 0, 0, 0, 15,248, 4, 24, 0, 24, 0, 24, 0, 16, 0, 0,
497 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
498 0, 0, 0, 0, 31,248, 3, 24, 3, 24, 3, 24, 2, 16, 0, 0,
499 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
500 0, 0, 0, 0, 31, 48, 3, 48, 3, 56, 3,108, 2,204, 0, 0,
501 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
502 0, 0, 0, 0, 6, 0, 3, 0, 3, 0, 3, 8, 1,252, 0, 0,
503 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
504 0, 0, 0, 0, 24,124, 12, 24, 12, 24, 13,188, 7,102, 0, 0,
505 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
506 0, 0, 0, 48, 24, 24, 12,124, 12, 56, 13,108, 7, 56, 0, 0,
507 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
508 0, 0, 0, 16, 15,248, 6, 0, 6, 0, 6, 16, 3,248, 0, 0,
509 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
510 0, 0, 0, 0, 7,248, 0, 24, 7,240, 6, 0, 3,248, 0, 0,
511 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
512 0, 0, 0, 0, 15,252, 1,140, 15, 12, 12,204, 7,136, 0, 0,
513 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
514 0, 0, 0, 0, 15,252, 1,236, 15,108, 12,108, 7,252, 0, 0,
515 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
516 0, 0, 0, 0, 15,204, 1,236, 15,124, 12,108, 7,252, 0, 0,
517 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
518 0, 0, 0, 0, 15,152, 1,152, 15, 24, 12,188, 7,102, 0, 0,
519 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
520 0, 0, 0, 0, 15,252, 1,224, 15,120, 12, 96, 7,188, 0, 0,
521 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
522 0, 0, 0, 0, 15,252, 1,168, 15, 40, 12,168, 7,124, 0, 0,
523 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
524 0, 0, 0, 48, 15,152, 1,252, 15, 56, 12,236, 7, 56, 0, 0,
525 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
526 0, 0, 0, 0, 7,248, 3, 24, 3, 24, 3, 16, 3,248, 0, 0,
527 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
528 0, 0, 0, 48, 6, 24, 3, 24, 3,248, 3, 24, 3,248, 0, 0,
529 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
530 0, 0, 0, 0, 9,152, 13,152, 15,152, 13,190, 15,230, 0, 0,
531 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
532 0, 0, 0,128, 0,192, 0,192, 1,224, 3, 56, 6, 24, 8, 0,
533 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
534 0, 0, 2, 32, 3, 48, 3, 48, 7,240, 12,220, 25,140, 0, 0,
535 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
536 0, 0, 0, 0, 1,240, 3, 24, 3, 24, 3, 24, 1,240, 0, 0,
537 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
538 0, 0, 0, 0, 7,240, 0,192, 1,224, 3, 56, 6, 24, 8, 0,
539 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
540 0, 0, 1,128, 0,192, 7,240, 1,192, 3,120, 6, 24, 8, 0,
541 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
542 0, 0, 0, 0, 7,248, 0, 24, 7,248, 2, 24, 0, 16, 0, 0,
543 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
544 0, 0, 0, 0, 7,248, 3, 0, 3,248, 3, 0, 1,248, 0, 0,
545 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
546 0, 0, 0, 0, 7,248, 2, 32, 3, 48, 3, 96, 7,248, 0, 0,
547 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
548 0, 0, 1,128, 0,192, 7,248, 1,224, 3, 48, 1,224, 0, 0,
549 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
550 0, 0, 0, 0, 7,252, 2, 12, 0, 12, 0, 12, 0, 8, 0, 0,
551 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
552 0, 0, 0, 0, 15,252, 1,140, 1,140, 1,140, 1, 8, 0, 0,
553 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
554 0, 0, 0, 0, 15,152, 1,152, 1,156, 1,182, 1,102, 0, 0,
555 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
556 0, 0, 0, 0, 3, 0, 1,128, 1,128, 1,132, 0,254, 0, 0,
557 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
558 0, 0, 0, 0, 12, 62, 6, 12, 6, 12, 6,222, 3,179, 0, 0,
559 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
560 0, 0, 0, 24, 12, 12, 6, 62, 6, 28, 6,182, 3,156, 0, 0,
561 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
562 0, 0, 0, 8, 7,252, 3, 0, 3, 0, 3, 8, 1,252, 0, 0,
563 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
564 0, 0, 0, 0, 7,248, 0, 24, 7,248, 6, 0, 3,248, 0, 0,
565 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
566 0, 0, 0, 0, 7,254, 0,198, 7,134, 6,102, 3,196, 0, 0,
567 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
568 0, 0, 0, 0, 7,254, 0,246, 7,182, 6, 54, 3,254, 0, 0,
569 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
570 0, 0, 0, 0, 15,204, 1,236, 15,124, 12,108, 7,252, 0, 0,
571 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
572 0, 0, 0, 0, 15,152, 1,152, 15, 24, 12,188, 7,102, 0, 0,
573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
574 0, 0, 0, 0, 15,252, 1,224, 15,120, 12, 96, 7,188, 0, 0,
575 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
576 0, 0, 0, 0, 15,252, 1,168, 15, 40, 12,168, 7,124, 0, 0,
577 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
578 0, 0, 0, 24, 7,204, 0,254, 7,156, 6,118, 3,156, 0, 0,
579 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
580 0, 0, 0, 0, 3,252, 1,140, 1,140, 1,136, 1,252, 0, 0,
581 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
582 0, 0, 0, 48, 6, 24, 3, 24, 3,248, 3, 24, 3,248, 0, 0,
583 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
584 0, 0, 0, 0, 9,152, 13,152, 15,152, 13,190, 15,230, 0, 0,
585 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
586 0, 0, 0, 64, 0, 96, 0, 96, 0,240, 1,156, 3, 12, 4, 0,
587 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
588 0, 0, 1, 16, 1,152, 1,152, 3,248, 6,110, 12,198, 0, 0,
589 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
590 0, 0, 0, 0, 0,248, 1,140, 1,140, 1,140, 0,248, 0, 0,
591 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
592 0, 0, 0, 0, 3,248, 0, 96, 0,240, 1,156, 3, 12, 4, 0,
593 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
594 0, 0, 0,192, 0, 96, 3,248, 0,224, 1,188, 3, 12, 4, 0,
595 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
596 0, 0, 0, 0, 3,252, 0, 12, 3,252, 1, 12, 0, 8, 0, 0,
597 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
598 0, 0, 0, 0, 3,252, 1,128, 1,252, 1,128, 0,252, 0, 0,
599 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
600 0, 0, 0, 0, 3,252, 1, 16, 1,152, 1,176, 3,252, 0, 0,
601 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
602 0, 0, 0,192, 0, 96, 3,252, 0,240, 1,152, 0,240, 0, 0,
603 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
604 0, 0, 0, 0, 7,252, 2, 12, 0, 12, 0, 12, 0, 8, 0, 0,
605 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
606 0, 0, 0, 0, 7,254, 0,198, 0,198, 0,198, 0,132, 0, 0,
607 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
608 0, 0, 0, 0, 15,152, 1,152, 1,156, 1,182, 1,102, 0, 0,
609 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
610 0, 0, 0, 0, 3, 0, 1,128, 1,128, 1,132, 0,254, 0, 0,
611 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
612 0, 0, 0, 0, 12, 62, 6, 12, 6, 12, 6,222, 3,179, 0, 0,
613 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
614 0, 0, 0, 24, 12, 12, 6, 62, 6, 28, 6,182, 3,156, 0, 0,
615 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
616 0, 0, 0, 4, 3,254, 1,128, 1,128, 1,132, 0,254, 0, 0,
617 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
618 0, 0, 0, 0, 3,252, 0, 12, 3,252, 3, 0, 1,252, 0, 0,
619 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
620 0, 0, 0, 0, 7,254, 0,198, 7,134, 6,102, 3,196, 0, 0,
621 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
622 0, 0, 0, 0, 7,254, 0,246, 7,182, 6, 54, 3,254, 0, 0,
623 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
624 0, 0, 0, 0, 7,230, 0,246, 7,190, 6, 54, 3,254, 0, 0,
625 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
626 0, 0, 0, 0, 7,204, 0,204, 7,140, 6, 94, 3,179, 0, 0,
627 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
628 0, 0, 0, 0, 7,254, 0,240, 7,188, 6, 48, 3,222, 0, 0,
629 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
630 0, 0, 0, 0, 7,254, 0,212, 7,148, 6, 84, 3,190, 0, 0,
631 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
632 0, 0, 0, 24, 7,204, 0,254, 7,156, 6,118, 3,156, 0, 0,
633 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
634 0, 0, 0, 0, 3,252, 1,140, 1,140, 1,136, 1,252, 0, 0,
635 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
636 0, 0, 0, 24, 3, 12, 1,140, 1,252, 1,140, 1,252, 0, 0,
637 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
638 0, 0, 0, 0, 4,204, 6,204, 7,204, 6,223, 7,243, 0, 0,
639 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
640 0, 0, 0, 64, 0, 96, 0, 96, 0,240, 1,156, 3, 12, 4, 0,
641 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
642 0, 0, 1, 16, 1,152, 1,152, 3,248, 6,110, 12,198, 0, 0,
643 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
644 0, 0, 0, 0, 0,248, 1,140, 1,140, 1,140, 0,248, 0, 0,
645 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
646 0, 0, 0, 0, 3,248, 0, 96, 0,240, 1,156, 3, 12, 4, 0,
647 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
648 0, 0, 0,192, 0, 96, 3,248, 0,224, 1,188, 3, 12, 4, 0,
649 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
650 0, 0, 0, 0, 3,252, 0, 12, 3,252, 1, 12, 0, 8, 0, 0,
651 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
652 0, 0, 0, 0, 3,252, 1,128, 1,252, 1,128, 0,252, 0, 0,
653 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
654 0, 0, 0, 0, 3,252, 1, 16, 1,152, 1,176, 3,252, 0, 0,
655 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
656 0, 0, 0,192, 0, 96, 3,252, 0,240, 1,152, 0,240, 0, 0,
657 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
658 0, 0, 0, 0, 15,240, 4, 48, 0, 48, 0, 48, 0, 32, 0, 0,
659 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
660 0, 0, 0, 0, 15,240, 3, 48, 3, 48, 3, 48, 2, 32, 0, 0,
661 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
662 0, 0, 0, 0, 31, 48, 3, 48, 3, 56, 3,108, 2,204, 0, 0,
663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
664 0, 0, 0, 0, 12, 0, 6, 0, 6, 0, 6, 16, 3,248, 0, 0,
665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
666 0, 0, 0, 0, 24,248, 12, 48, 12, 48, 13,120, 6,204, 0, 0,
667 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
668 0, 0, 0, 96, 24, 48, 12,248, 12,112, 12,216, 7,112, 0, 0,
669 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
670 0, 0, 0, 0, 0, 32, 15,240, 6, 0, 6, 32, 3,240, 0, 0,
671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
672 0, 0, 0, 0, 7,240, 0, 48, 7,224, 6, 0, 3,240, 0, 0,
673 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
674 0, 0, 0, 0, 31,248, 3, 24, 30, 24, 25,152, 15, 16, 0, 0,
675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
676 0, 0, 0, 0, 31,248, 3,216, 30,216, 24,216, 15,248, 0, 0,
677 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
678 0, 0, 0, 0, 31,152, 3,216, 30,248, 24,216, 15,248, 0, 0,
679 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
680 0, 0, 0, 0, 31, 48, 3, 48, 30, 48, 25,120, 14,204, 0, 0,
681 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
682 0, 0, 0, 0, 31,248, 3,192, 30,240, 24,192, 15,120, 0, 0,
683 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
684 0, 0, 0, 0, 31,248, 3, 80, 30, 80, 25, 80, 14,248, 0, 0,
685 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
686 0, 0, 0, 96, 31, 48, 3,248, 30,112, 25,216, 14,112, 0, 0,
687 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
688 0, 0, 0, 0, 15,240, 6, 48, 6, 48, 6, 32, 7,240, 0, 0,
689 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
690 0, 0, 0, 96, 12, 48, 6, 48, 7,240, 6, 48, 7,240, 0, 0,
691 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
692 0, 0, 0, 0, 18, 48, 27, 48, 31, 48, 27,124, 30,204, 0, 0,
693 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
694 0, 0, 0, 0, 1,128, 1,128, 3,192, 6,112, 28, 48, 0, 0,
695 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
696 0, 0, 4, 64, 6, 96, 6, 96, 15,224, 25,184, 51, 24, 0, 0,
697 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
698 0, 0, 0, 0, 3,192, 6, 96, 6, 96, 6, 96, 3,192, 0, 0,
699 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
700 0, 0, 0, 0, 7,240, 0,192, 1,224, 3, 56, 6, 24, 8, 0,
701 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
702 0, 0, 1,128, 0,192, 7,240, 1,192, 3,120, 6, 24, 8, 0,
703 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
704 0, 0, 0, 0, 15,240, 0,112, 15,176, 6, 48, 0, 32, 0, 0,
705 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
706 0, 0, 0, 0, 15,240, 6, 0, 7,240, 6, 0, 3,240, 0, 0,
707 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
708 0, 0, 0, 0, 15,240, 4, 64, 6, 96, 6,192, 15,240, 0, 0,
709 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
710 0, 0, 3, 0, 1,128, 15,240, 3,192, 6, 96, 3,192, 0, 0
714 static void memor(char *s1, char *s2, int len)
722 int get_han_image( int johab_code, char *bitmap)
724 static char idxtbl1[] = {
725 0, 0, 1, 2, 3, 4, 5, 6,
726 7, 8, 9, 10, 11, 12, 13, 14,
727 15, 16, 17, 18, 19, 0, 0, 0,
728 0, 0, 0, 0, 0, 0, 0, 0
730 static char idxtbl2[] = {
731 0, 0, 0, 1, 2, 3, 4, 5,
732 0, 0, 6, 7, 8, 9, 10, 11,
733 0, 0, 12, 13, 14, 15, 16, 17,
734 0, 0, 18, 19, 20, 21, 0, 0
736 static char idxtbl3[] = {
737 0, 0, 1, 2, 3, 4, 5, 6,
738 7, 8, 9, 10, 11, 12, 13, 14,
739 15, 16, 0, 17, 18, 19, 20, 21,
740 22, 23, 24, 25, 26, 27, 0, 0
743 static char type1tbl_no[] = {
744 0, 0, 0, 0, 0, 0, 0, 0,
745 0, 1, 3, 3, 3, 1, 2, 4,
746 4, 4, 2, 1, 3, 0, 0, 0
748 static char type1tbl_yes[] = {
749 5, 5, 5, 5, 5, 5, 5, 5,
750 5, 6, 7, 7, 7, 6, 6, 7,
751 7, 7, 6, 6, 7, 5, 0, 0
753 static char type3tbl[] = {
754 0, 0, 2, 0, 2, 1, 2, 1,
755 2, 3, 0, 2, 1, 3, 3, 1,
756 2, 1, 3, 3, 1, 1, 0, 0
759 unsigned short h1, h2, h3, type1, type2, type3;
761 h1 = (johab_code>>10) & 0x1f;
762 h2 = (johab_code>>5) & 0x1f;
763 h3 = (johab_code) & 0x1f;
769 type1 = h3 ? type1tbl_yes[h2] : type1tbl_no[h2];
770 type2 = ((h1 == 0 || h1 == 1 || h1 == 16) ? 0 : 1) + (h3 ? 2 : 0);
771 type3 = type3tbl[h2];
774 memcpy(bitmap, HanFont1[type1][h1-1], FONT_SIZE);
776 memset(bitmap, 0, FONT_SIZE);
777 if (h2) memor(bitmap, HanFont2[type2][h2-1], FONT_SIZE);
778 if (h3) memor(bitmap, HanFont3[type3][h3-1], FONT_SIZE);
780 /* For GdBitmap(), byte swapping is need. */
781 for( h1=0; h1<16; h1++)
784 bitmap[h1*2] = bitmap[h1*2+1];
791 void DrawImage( char *bitmap )
796 for ( j=0; j < 16; j++ )
799 for ( i=0x80; i; i=i>>1 )
808 for ( i=0x80; i; i=i>>1 )
822 #define MSG "Ðe
\8bi·i ³i®
\81 ·¶·a¡e ¹·
\89V
\91A"
823 main(int ac, char *av[])
828 /* Make sure that ch has right hangul code */
830 GetHanImage( ch, ch_img );