]> git.karo-electronics.de Git - karo-tx-redboot.git/blob - packages/services/gfx/mw/v2_0/src/fonts/korean/jo16x16.c
Initial revision
[karo-tx-redboot.git] / packages / services / gfx / mw / v2_0 / src / fonts / korean / jo16x16.c
1 /*
2  *      Copyright (C) 2001 O Young Jong
3  *
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.
7  *
8  *      No warranties is provided, as to this code.
9  */
10
11 #define   FONT_SIZE 32
12 #define   NTYPES1   8
13 #define   NTYPES2   4
14 #define   NTYPES3   4
15
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
321 };
322
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
492 };
493
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
711 };
712
713
714 static  void memor(char *s1, char *s2, int len)
715 {
716         do {
717                 *s1++ |= *s2++;
718         } while (--len);
719 }
720
721
722 int     get_han_image( int johab_code, char *bitmap)
723 {
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
729     };
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
735     };
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
741     };
742
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
747     };
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
752     };
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
757     };
758
759     unsigned short h1, h2, h3, type1, type2, type3;
760
761     h1 = (johab_code>>10) & 0x1f;
762     h2 = (johab_code>>5)  & 0x1f;
763     h3 = (johab_code)     & 0x1f;
764
765     h1 = idxtbl1[h1];
766     h2 = idxtbl2[h2];
767     h3 = idxtbl3[h3];
768     
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];
772
773     if (h1)
774             memcpy(bitmap, HanFont1[type1][h1-1], FONT_SIZE);
775     else
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);
779
780     /* For GdBitmap(), byte swapping is need. */
781     for( h1=0; h1<16; h1++)
782     {
783             h2 = bitmap[h1*2];
784             bitmap[h1*2] = bitmap[h1*2+1];
785             bitmap[h1*2+1] = h2;
786     }
787     return 16;
788 }
789
790 #ifdef  TEST
791 void    DrawImage( char *bitmap )
792 {
793         int     i,j;
794         unsigned char   us;
795
796         for ( j=0; j < 16; j++ )
797         {
798                 us = bitmap[j*2];
799                 for ( i=0x80; i; i=i>>1 )
800                 {
801                         if ( us & i )
802                                 putchar('*');
803                         else
804                                 putchar(' ');
805                 }
806
807                 us = bitmap[j*2+1];
808                 for ( i=0x80; i; i=i>>1 )
809                 {
810                         if ( us & i )
811                                 putchar('*');
812                         else
813                                 putchar(' ');
814                 }
815
816                 printf("\n");
817         }
818                         
819 }
820
821
822 #define MSG     "Ðe\8bi·i ³i®\81 ·¶·a¡e ¹·\89V\91A"
823 main(int ac, char *av[])
824 {
825         unsigned short ch;
826         char    ch_img[HBSIZE];
827
828         /* Make sure that ch has right hangul code */
829         ch = 0xb877;
830         GetHanImage( ch, ch_img );
831
832         DrawImage(ch_img);
833         return 0;
834 }
835 #endif