Ticket #8938: make-charset-fontdata.c

File make-charset-fontdata.c, 40.2 KB (added by eriktorbjorn, 12 years ago)

Program to create the new font data tables

Line 
1/* ScummVM - Graphic Adventure Engine
2 *
3 * ScummVM is the legal property of its developers, whose names
4 * are too numerous to list here. Please refer to the COPYRIGHT
5 * file distributed with this source distribution.
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version 2
10 * of the License, or (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20 *
21 * $URL: https://scummvm.svn.sourceforge.net/svnroot/scummvm/scummvm/trunk/engines/scumm/charset-fontdata.cpp $
22 * $Id: charset-fontdata.cpp 34619 2008-09-20 16:21:27Z eriktorbjorn $
23 */
24
25#include <stdio.h>
26#include <stdlib.h>
27#include <string.h>
28
29/* English Zak font. */
30static const unsigned char englishCharsetDataV2[] = {
31 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
32 0x01, 0x03, 0x06, 0x0C, 0x18, 0x3E, 0x03, 0x00,
33 0x80, 0xC0, 0x60, 0x30, 0x18, 0x7C, 0xC0, 0x00,
34 0x00, 0x03, 0x3E, 0x18, 0x0C, 0x06, 0x03, 0x01,
35 0x00, 0xC0, 0x7C, 0x18, 0x30, 0x60, 0xC0, 0x80,
36 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
37 0x03, 0x03, 0x03, 0x07, 0x07, 0x0F, 0x1F, 0x7F,
38 0xE0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0xE0,
39 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07,
40 0x00, 0x00, 0x00, 0x01, 0x03, 0x06, 0x0C, 0x18,
41 0x00, 0x00, 0x00, 0x80, 0xC0, 0x60, 0x30, 0x18,
42 0x18, 0x30, 0x60, 0xC0, 0x80, 0x00, 0x00, 0x00,
43 0x18, 0x0C, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00,
44 0x00, 0x00, 0x00, 0x1F, 0x1F, 0x18, 0x18, 0x18,
45 0x00, 0x00, 0x00, 0xF8, 0xF8, 0x18, 0x18, 0x18,
46 0x18, 0x18, 0x18, 0xF8, 0xF8, 0x00, 0x00, 0x00,
47 0x18, 0x18, 0x18, 0x1F, 0x1F, 0x00, 0x00, 0x00,
48 0x00, 0x00, 0x00, 0x03, 0x07, 0x0C, 0x18, 0x18,
49 0x00, 0x00, 0x00, 0xC0, 0xE0, 0x30, 0x18, 0x18,
50 0x18, 0x18, 0x30, 0xE0, 0xC0, 0x00, 0x00, 0x00,
51 0x18, 0x18, 0x0C, 0x07, 0x03, 0x00, 0x00, 0x00,
52 0x18, 0x18, 0x18, 0x1F, 0x1F, 0x18, 0x18, 0x18,
53 0x18, 0x18, 0x18, 0xF8, 0xF8, 0x18, 0x18, 0x18,
54 0x18, 0x18, 0x18, 0xFF, 0xFF, 0x00, 0x00, 0x00,
55 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x18, 0x18, 0x18,
56 0x18, 0x18, 0x18, 0xFF, 0xFF, 0x18, 0x18, 0x18,
57 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
58 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00,
59 0x18, 0x3C, 0x66, 0xC3, 0xC3, 0x66, 0x3C, 0x18,
60 0x18, 0x3C, 0x7E, 0xFF, 0xFF, 0x7E, 0x3C, 0x18,
61 0x18, 0x66, 0xC3, 0xDB, 0xDB, 0xC3, 0x66, 0x18,
62 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF,
63 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
64 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x18, 0x00,
65 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00,
66 0x66, 0x66, 0xFF, 0x66, 0xFF, 0x66, 0x66, 0x00,
67 0x18, 0x3E, 0x58, 0x3C, 0x1A, 0x7C, 0x18, 0x00,
68 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x49, 0x00,
69 0x3C, 0x66, 0x3C, 0x38, 0x67, 0x66, 0x3F, 0x00,
70 0x06, 0x0C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,
71 0x0C, 0x18, 0x30, 0x30, 0x30, 0x18, 0x0C, 0x00,
72 0x30, 0x18, 0x0C, 0x0C, 0x0C, 0x18, 0x30, 0x00,
73 0x00, 0x66, 0x3C, 0xFF, 0x3C, 0x66, 0x00, 0x00,
74 0x00, 0x18, 0x18, 0x7E, 0x18, 0x18, 0x00, 0x00,
75 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x30,
76 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00,
77 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00,
78 0x00, 0x03, 0x06, 0x0C, 0x18, 0x30, 0x60, 0x00,
79 0x3C, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x00,
80 0x18, 0x18, 0x38, 0x18, 0x18, 0x18, 0x7E, 0x00,
81 0x3C, 0x66, 0x06, 0x0C, 0x30, 0x60, 0x7E, 0x00,
82 0x3C, 0x66, 0x06, 0x1C, 0x06, 0x66, 0x3C, 0x00,
83 0x06, 0x0E, 0x1E, 0x66, 0x7F, 0x06, 0x06, 0x00,
84 0x7E, 0x60, 0x7C, 0x06, 0x06, 0x66, 0x3C, 0x00,
85 0x3C, 0x66, 0x60, 0x7C, 0x66, 0x66, 0x3C, 0x00,
86 0x7E, 0x66, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x00,
87 0x3C, 0x66, 0x66, 0x3C, 0x66, 0x66, 0x3C, 0x00,
88 0x3C, 0x66, 0x66, 0x3E, 0x06, 0x66, 0x3C, 0x00,
89 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00,
90 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x18, 0x30,
91 0x0E, 0x18, 0x30, 0x60, 0x30, 0x18, 0x0E, 0x00,
92 0x7C, 0x82, 0xBA, 0xA2, 0xBA, 0x82, 0x7C, 0x00,
93 0x70, 0x18, 0x0C, 0x06, 0x0C, 0x18, 0x70, 0x00,
94 0x3C, 0x66, 0x06, 0x0C, 0x18, 0x00, 0x18, 0x00,
95 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00,
96 0x18, 0x3C, 0x66, 0x7E, 0x66, 0x66, 0x66, 0x00,
97 0x7C, 0x66, 0x66, 0x7C, 0x66, 0x66, 0x7C, 0x00,
98 0x3C, 0x66, 0x60, 0x60, 0x60, 0x66, 0x3C, 0x00,
99 0x78, 0x6C, 0x66, 0x66, 0x66, 0x6C, 0x78, 0x00,
100 0x7E, 0x60, 0x60, 0x78, 0x60, 0x60, 0x7E, 0x00,
101 0x7E, 0x60, 0x60, 0x78, 0x60, 0x60, 0x60, 0x00,
102 0x3C, 0x66, 0x60, 0x6E, 0x66, 0x66, 0x3C, 0x00,
103 0x66, 0x66, 0x66, 0x7E, 0x66, 0x66, 0x66, 0x00,
104 0x3C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00,
105 0x1E, 0x0C, 0x0C, 0x0C, 0x0C, 0x6C, 0x38, 0x00,
106 0x66, 0x6C, 0x78, 0x70, 0x78, 0x6C, 0x66, 0x00,
107 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7E, 0x00,
108 0x63, 0x77, 0x7F, 0x6B, 0x63, 0x63, 0x63, 0x00,
109 0x66, 0x76, 0x7E, 0x7E, 0x6E, 0x66, 0x66, 0x00,
110 0x3C, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x00,
111 0x7C, 0x66, 0x66, 0x7C, 0x60, 0x60, 0x60, 0x00,
112 0x3C, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x0E, 0x00,
113 0x7C, 0x66, 0x66, 0x7C, 0x78, 0x6C, 0x66, 0x00,
114 0x3C, 0x66, 0x60, 0x3C, 0x06, 0x66, 0x3C, 0x00,
115 0x7E, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00,
116 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x00,
117 0x66, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x00,
118 0x63, 0x63, 0x63, 0x6B, 0x7F, 0x77, 0x63, 0x00,
119 0x66, 0x66, 0x3C, 0x18, 0x3C, 0x66, 0x66, 0x00,
120 0x66, 0x66, 0x66, 0x3C, 0x18, 0x18, 0x18, 0x00,
121 0x7E, 0x06, 0x0C, 0x18, 0x30, 0x60, 0x7E, 0x00,
122 0x3C, 0x30, 0x30, 0x30, 0x30, 0x30, 0x3C, 0x00,
123 0x0C, 0x12, 0x30, 0x7C, 0x30, 0x62, 0xFC, 0x00,
124 0x3C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x3C, 0x00,
125 0x00, 0x00, 0x00, 0x00, 0x00, 0xDB, 0xDB, 0x00,
126 0x00, 0x10, 0x30, 0x7F, 0x7F, 0x30, 0x10, 0x00,
127 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00,
128 0x00, 0x00, 0x3C, 0x06, 0x3E, 0x66, 0x3E, 0x00,
129 0x00, 0x60, 0x60, 0x7C, 0x66, 0x66, 0x7C, 0x00,
130 0x00, 0x00, 0x3C, 0x60, 0x60, 0x60, 0x3C, 0x00,
131 0x00, 0x06, 0x06, 0x3E, 0x66, 0x66, 0x3E, 0x00,
132 0x00, 0x00, 0x3C, 0x66, 0x7E, 0x60, 0x3C, 0x00,
133 0x00, 0x0E, 0x18, 0x3E, 0x18, 0x18, 0x18, 0x00,
134 0x00, 0x00, 0x3E, 0x66, 0x66, 0x3E, 0x06, 0x7C,
135 0x00, 0x60, 0x60, 0x7C, 0x66, 0x66, 0x66, 0x00,
136 0x00, 0x18, 0x00, 0x38, 0x18, 0x18, 0x3C, 0x00,
137 0x00, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x3C,
138 0x00, 0x60, 0x60, 0x6C, 0x78, 0x6C, 0x66, 0x00,
139 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00,
140 0x00, 0x00, 0x66, 0x7F, 0x7F, 0x6B, 0x63, 0x00,
141 0x00, 0x00, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x00,
142 0x00, 0x00, 0x3C, 0x66, 0x66, 0x66, 0x3C, 0x00,
143 0x00, 0x00, 0x7C, 0x66, 0x66, 0x7C, 0x60, 0x60,
144 0x00, 0x00, 0x3E, 0x66, 0x66, 0x3E, 0x06, 0x06,
145 0x00, 0x00, 0x7C, 0x66, 0x60, 0x60, 0x60, 0x00,
146 0x00, 0x00, 0x3E, 0x60, 0x3C, 0x06, 0x7C, 0x00,
147 0x00, 0x18, 0x7E, 0x18, 0x18, 0x18, 0x0E, 0x00,
148 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3E, 0x00,
149 0x00, 0x00, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x00,
150 0x00, 0x00, 0x63, 0x6B, 0x7F, 0x3E, 0x36, 0x00,
151 0x00, 0x00, 0x66, 0x3C, 0x18, 0x3C, 0x66, 0x00,
152 0x00, 0x00, 0x66, 0x66, 0x66, 0x3E, 0x0C, 0x78,
153 0x00, 0x00, 0x7E, 0x0C, 0x18, 0x30, 0x7E, 0x00,
154 0x01, 0x03, 0x06, 0x6C, 0x78, 0x70, 0x60, 0x00,
155 0x18, 0x3C, 0x7E, 0xFF, 0x18, 0x18, 0x18, 0x18,
156 0x18, 0x18, 0x18, 0x18, 0xFF, 0x7E, 0x3C, 0x18,
157 0x10, 0x30, 0x70, 0xFF, 0xFF, 0x70, 0x30, 0x10,
158 0x08, 0x0C, 0x0E, 0xFF, 0xFF, 0x0E, 0x0C, 0x08,
159};
160
161/* German Zak font */
162static const unsigned char germanCharsetDataV2[] = {
163 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
164 0x01, 0x03, 0x06, 0x0c, 0x18, 0x3e, 0x03, 0x00,
165 0x80, 0xc0, 0x60, 0x30, 0x18, 0x7c, 0xc0, 0x00,
166 0x00, 0x03, 0x3e, 0x18, 0x0c, 0x06, 0x03, 0x01,
167 0x00, 0xc0, 0x7c, 0x18, 0x30, 0x60, 0xc0, 0x80,
168 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
169 0x03, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x1f, 0x7f,
170 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0,
171 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07,
172 0x00, 0x00, 0x00, 0x01, 0x03, 0x06, 0x0c, 0x18,
173 0x00, 0x00, 0x00, 0x80, 0xc0, 0x60, 0x30, 0x18,
174 0x18, 0x30, 0x60, 0xc0, 0x80, 0x00, 0x00, 0x00,
175 0x18, 0x0c, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00,
176 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x18, 0x18, 0x18,
177 0x00, 0x00, 0x00, 0xf8, 0xf8, 0x18, 0x18, 0x18,
178 0x18, 0x18, 0x18, 0xf8, 0xf8, 0x00, 0x00, 0x00,
179 0x18, 0x18, 0x18, 0x1f, 0x1f, 0x00, 0x00, 0x00,
180 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x18, 0x18,
181 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x30, 0x18, 0x18,
182 0x18, 0x18, 0x30, 0xe0, 0xc0, 0x00, 0x00, 0x00,
183 0x18, 0x18, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00,
184 0x18, 0x18, 0x18, 0x1f, 0x1f, 0x18, 0x18, 0x18,
185 0x18, 0x18, 0x18, 0xf8, 0xf8, 0x18, 0x18, 0x18,
186 0x18, 0x18, 0x18, 0xff, 0xff, 0x00, 0x00, 0x00,
187 0x00, 0x00, 0x00, 0xff, 0xff, 0x18, 0x18, 0x18,
188 0x18, 0x18, 0x18, 0xff, 0xff, 0x18, 0x18, 0x18,
189 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
190 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
191 0x18, 0x3c, 0x66, 0xc3, 0xc3, 0x66, 0x3c, 0x18,
192 0x18, 0x3c, 0x7e, 0xff, 0xff, 0x7e, 0x3c, 0x18,
193 0x18, 0x66, 0xc3, 0xdb, 0xdb, 0xc3, 0x66, 0x18,
194 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
195 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
196 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x18, 0x00,
197 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00,
198 0x66, 0x66, 0xff, 0x66, 0xff, 0x66, 0x66, 0x00,
199 0x18, 0x3e, 0x60, 0x3c, 0x06, 0x7c, 0x18, 0x00,
200 0x62, 0x66, 0x0c, 0x18, 0x30, 0x66, 0x46, 0x00,
201 0x3c, 0x66, 0x3c, 0x38, 0x67, 0x66, 0x3f, 0x00,
202 0x30, 0x18, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
203 0x0c, 0x18, 0x30, 0x30, 0x30, 0x18, 0x0c, 0x00,
204 0x30, 0x18, 0x0c, 0x0c, 0x0c, 0x18, 0x30, 0x00,
205 0x00, 0x66, 0x3c, 0xff, 0x3c, 0x66, 0x00, 0x00,
206 0x00, 0x18, 0x18, 0x7e, 0x18, 0x18, 0x00, 0x00,
207 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x30,
208 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00,
209 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00,
210 0x00, 0x03, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x00,
211 0x3c, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
212 0x18, 0x18, 0x38, 0x18, 0x18, 0x18, 0x7e, 0x00,
213 0x3c, 0x66, 0x06, 0x0c, 0x30, 0x60, 0x7e, 0x00,
214 0x3c, 0x66, 0x06, 0x1c, 0x06, 0x66, 0x3c, 0x00,
215 0x06, 0x0e, 0x1e, 0x66, 0x7f, 0x06, 0x06, 0x00,
216 0x7e, 0x60, 0x7c, 0x06, 0x06, 0x66, 0x3c, 0x00,
217 0x3c, 0x66, 0x60, 0x7c, 0x66, 0x66, 0x3c, 0x00,
218 0x7e, 0x66, 0x0c, 0x18, 0x18, 0x18, 0x18, 0x00,
219 0x3c, 0x66, 0x66, 0x3c, 0x66, 0x66, 0x3c, 0x00,
220 0x3c, 0x66, 0x66, 0x3e, 0x06, 0x66, 0x3c, 0x00,
221 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00,
222 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x18, 0x30,
223 0x0e, 0x18, 0x30, 0x60, 0x30, 0x18, 0x0e, 0x00,
224 0x7c, 0x82, 0xba, 0xa2, 0xa2, 0xba, 0x82, 0x7c,
225 0x70, 0x18, 0x0c, 0x06, 0x0c, 0x18, 0x70, 0x00,
226 0x3c, 0x66, 0x06, 0x0c, 0x18, 0x00, 0x18, 0x00,
227 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
228 0x18, 0x3c, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x00,
229 0x7c, 0x66, 0x66, 0x7c, 0x66, 0x66, 0x7c, 0x00,
230 0x3c, 0x66, 0x60, 0x60, 0x60, 0x66, 0x3c, 0x00,
231 0x78, 0x6c, 0x66, 0x66, 0x66, 0x6c, 0x78, 0x00,
232 0x7e, 0x60, 0x60, 0x78, 0x60, 0x60, 0x7e, 0x00,
233 0x7e, 0x60, 0x60, 0x78, 0x60, 0x60, 0x60, 0x00,
234 0x3c, 0x66, 0x60, 0x6e, 0x66, 0x66, 0x3c, 0x00,
235 0x66, 0x66, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x00,
236 0x3c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00,
237 0x1e, 0x0c, 0x0c, 0x0c, 0x0c, 0x6c, 0x38, 0x00,
238 0x66, 0x6c, 0x78, 0x70, 0x78, 0x6c, 0x66, 0x00,
239 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7e, 0x00,
240 0x63, 0x77, 0x7f, 0x6b, 0x63, 0x63, 0x63, 0x00,
241 0x66, 0x76, 0x7e, 0x7e, 0x6e, 0x66, 0x66, 0x00,
242 0x3c, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
243 0x7c, 0x66, 0x66, 0x7c, 0x60, 0x60, 0x60, 0x00,
244 0x3c, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x0e, 0x00,
245 0x7c, 0x66, 0x66, 0x7c, 0x78, 0x6c, 0x66, 0x00,
246 0x3c, 0x66, 0x60, 0x3c, 0x06, 0x66, 0x3c, 0x00,
247 0x7e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00,
248 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
249 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x00,
250 0x63, 0x63, 0x63, 0x6b, 0x7f, 0x77, 0x63, 0x00,
251 0x66, 0x66, 0x3c, 0x18, 0x3c, 0x66, 0x66, 0x00,
252 0x66, 0x66, 0x66, 0x3c, 0x18, 0x18, 0x18, 0x00,
253 0x7e, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x7e, 0x00,
254 0x66, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3e, 0x00,
255 0x66, 0x00, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00,
256 0x66, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
257 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0xdb, 0x00,
258 0x00, 0x10, 0x30, 0x7f, 0x7f, 0x30, 0x10, 0x00,
259 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00,
260 0x00, 0x00, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00,
261 0x00, 0x60, 0x60, 0x7c, 0x66, 0x66, 0x7c, 0x00,
262 0x00, 0x00, 0x3c, 0x60, 0x60, 0x60, 0x3c, 0x00,
263 0x00, 0x06, 0x06, 0x3e, 0x66, 0x66, 0x3e, 0x00,
264 0x00, 0x00, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00,
265 0x00, 0x0e, 0x18, 0x3e, 0x18, 0x18, 0x18, 0x00,
266 0x00, 0x00, 0x3e, 0x66, 0x66, 0x3e, 0x06, 0x7c,
267 0x00, 0x60, 0x60, 0x7c, 0x66, 0x66, 0x66, 0x00,
268 0x00, 0x18, 0x00, 0x38, 0x18, 0x18, 0x3c, 0x00,
269 0x00, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x3c,
270 0x00, 0x60, 0x60, 0x6c, 0x78, 0x6c, 0x66, 0x00,
271 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00,
272 0x00, 0x00, 0x66, 0x7f, 0x7f, 0x6b, 0x63, 0x00,
273 0x00, 0x00, 0x7c, 0x66, 0x66, 0x66, 0x66, 0x00,
274 0x00, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x3c, 0x00,
275 0x00, 0x00, 0x7c, 0x66, 0x66, 0x7c, 0x60, 0x60,
276 0x00, 0x00, 0x3e, 0x66, 0x66, 0x3e, 0x06, 0x06,
277 0x00, 0x00, 0x7c, 0x66, 0x60, 0x60, 0x60, 0x00,
278 0x00, 0x00, 0x3e, 0x60, 0x3c, 0x06, 0x7c, 0x00,
279 0x00, 0x18, 0x7e, 0x18, 0x18, 0x18, 0x0e, 0x00,
280 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3e, 0x00,
281 0x00, 0x00, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x00,
282 0x00, 0x00, 0x63, 0x6b, 0x7f, 0x3e, 0x36, 0x00,
283 0x00, 0x00, 0x66, 0x3c, 0x18, 0x3c, 0x66, 0x00,
284 0x00, 0x00, 0x66, 0x66, 0x66, 0x3e, 0x0c, 0x78,
285 0x00, 0x00, 0x7e, 0x0c, 0x18, 0x30, 0x7e, 0x00,
286 0x66, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x3c, 0x00,
287 0x66, 0x18, 0x3c, 0x66, 0x7e, 0x66, 0x66, 0x00,
288 0x42, 0x3c, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
289 0x1c, 0x36, 0x36, 0x7c, 0x66, 0x66, 0x7c, 0x40,
290 0x08, 0x0c, 0x0e, 0xff, 0xff, 0x0e, 0x0c, 0x08,
291};
292
293/* German C64 MM */
294static const unsigned char germanCharsetDataV0[] = {
295 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
296 0x01, 0x03, 0x06, 0x0c, 0x18, 0x3e, 0x03, 0x00,
297 0x80, 0xc0, 0x60, 0x30, 0x18, 0x7c, 0xc0, 0x00,
298 0x00, 0x03, 0x3e, 0x18, 0x0c, 0x06, 0x03, 0x01,
299 0x00, 0xc0, 0x7c, 0x18, 0x30, 0x60, 0xc0, 0x80,
300 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
301 0x03, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x1f, 0x7f,
302 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0,
303 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07,
304 0x00, 0x00, 0x00, 0x01, 0x03, 0x06, 0x0c, 0x18,
305 0x00, 0x00, 0x00, 0x80, 0xc0, 0x60, 0x30, 0x18,
306 0x18, 0x30, 0x60, 0xc0, 0x80, 0x00, 0x00, 0x00,
307 0x18, 0x0c, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00,
308 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x18, 0x18, 0x18,
309 0x00, 0x00, 0x00, 0xf8, 0xf8, 0x18, 0x18, 0x18,
310 0x18, 0x18, 0x18, 0xf8, 0xf8, 0x00, 0x00, 0x00,
311 0x18, 0x18, 0x18, 0x1f, 0x1f, 0x00, 0x00, 0x00,
312 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x18, 0x18,
313 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x30, 0x18, 0x18,
314 0x18, 0x18, 0x30, 0xe0, 0xc0, 0x00, 0x00, 0x00,
315 0x18, 0x18, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00,
316 0x18, 0x18, 0x18, 0x1f, 0x1f, 0x18, 0x18, 0x18,
317 0x18, 0x18, 0x18, 0xf8, 0xf8, 0x18, 0x18, 0x18,
318 0x18, 0x18, 0x18, 0xff, 0xff, 0x00, 0x00, 0x00,
319 0x00, 0x00, 0x00, 0xff, 0xff, 0x18, 0x18, 0x18,
320 0x18, 0x18, 0x18, 0xff, 0xff, 0x18, 0x18, 0x18,
321 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
322 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
323 0x18, 0x3c, 0x66, 0xc3, 0xc3, 0x66, 0x3c, 0x18,
324 0x18, 0x3c, 0x7e, 0xff, 0xff, 0x7e, 0x3c, 0x18,
325 0x18, 0x66, 0xc3, 0xdb, 0xdb, 0xc3, 0x66, 0x18,
326 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
327 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
328 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x18, 0x00,
329 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00,
330 0x66, 0x66, 0xff, 0x66, 0xff, 0x66, 0x66, 0x00,
331 0x66, 0x3c, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
332 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x49, 0x00,
333 0x3c, 0x66, 0x3c, 0x38, 0x67, 0x66, 0x3f, 0x00,
334 0x06, 0x0c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,
335 0x0c, 0x18, 0x30, 0x30, 0x30, 0x18, 0x0c, 0x00,
336 0x30, 0x18, 0x0c, 0x0c, 0x0c, 0x18, 0x30, 0x00,
337 0x3c, 0x66, 0x66, 0x7c, 0x66, 0x66, 0x6c, 0x60,
338 0x66, 0x3c, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x00,
339 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x30,
340 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00,
341 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00,
342 0x00, 0x03, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x00,
343 0x3c, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
344 0x18, 0x18, 0x38, 0x18, 0x18, 0x18, 0x7e, 0x00,
345 0x3c, 0x66, 0x06, 0x0c, 0x30, 0x60, 0x7e, 0x00,
346 0x3c, 0x66, 0x06, 0x1c, 0x06, 0x66, 0x3c, 0x00,
347 0x06, 0x0e, 0x1e, 0x66, 0x7f, 0x06, 0x06, 0x00,
348 0x7e, 0x60, 0x7c, 0x06, 0x06, 0x66, 0x3c, 0x00,
349 0x3c, 0x66, 0x60, 0x7c, 0x66, 0x66, 0x3c, 0x00,
350 0x7e, 0x66, 0x0c, 0x18, 0x18, 0x18, 0x18, 0x00,
351 0x3c, 0x66, 0x66, 0x3c, 0x66, 0x66, 0x3c, 0x00,
352 0x3c, 0x66, 0x66, 0x3e, 0x06, 0x66, 0x3c, 0x00,
353 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00,
354 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x18, 0x30,
355 0x66, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3e, 0x00,
356 0x7c, 0x82, 0xba, 0xa2, 0xba, 0x82, 0x7c, 0x00,
357 0x66, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x3c, 0x00,
358 0x3c, 0x66, 0x06, 0x0c, 0x18, 0x00, 0x18, 0x00,
359 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
360 0x18, 0x3c, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x00,
361 0x7c, 0x66, 0x66, 0x7c, 0x66, 0x66, 0x7c, 0x00,
362 0x3c, 0x66, 0x60, 0x60, 0x60, 0x66, 0x3c, 0x00,
363 0x78, 0x6c, 0x66, 0x66, 0x66, 0x6c, 0x78, 0x00,
364 0x7e, 0x60, 0x60, 0x78, 0x60, 0x60, 0x7e, 0x00,
365 0x7e, 0x60, 0x60, 0x78, 0x60, 0x60, 0x60, 0x00,
366 0x3c, 0x66, 0x60, 0x6e, 0x66, 0x66, 0x3c, 0x00,
367 0x66, 0x66, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x00,
368 0x3c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00,
369 0x1e, 0x0c, 0x0c, 0x0c, 0x0c, 0x6c, 0x38, 0x00,
370 0x66, 0x6c, 0x78, 0x70, 0x78, 0x6c, 0x66, 0x00,
371 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7e, 0x00,
372 0x63, 0x77, 0x7f, 0x6b, 0x63, 0x63, 0x63, 0x00,
373 0x66, 0x76, 0x7e, 0x7e, 0x6e, 0x66, 0x66, 0x00,
374 0x3c, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
375 0x7c, 0x66, 0x66, 0x7c, 0x60, 0x60, 0x60, 0x00,
376 0x3c, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x0e, 0x00,
377 0x7c, 0x66, 0x66, 0x7c, 0x78, 0x6c, 0x66, 0x00,
378 0x3c, 0x66, 0x60, 0x3c, 0x06, 0x66, 0x3c, 0x00,
379 0x7e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00,
380 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
381 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x00,
382 0x63, 0x63, 0x63, 0x6b, 0x7f, 0x77, 0x63, 0x00,
383 0x66, 0x66, 0x3c, 0x18, 0x3c, 0x66, 0x66, 0x00,
384 0x66, 0x66, 0x66, 0x3c, 0x18, 0x18, 0x18, 0x00,
385 0x7e, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x7e, 0x00,
386 0x66, 0x00, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00,
387 0x0c, 0x12, 0x30, 0x7c, 0x30, 0x62, 0xfc, 0x00,
388 0x66, 0x24, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
389 0x00, 0x18, 0x3c, 0x7e, 0x18, 0x18, 0x18, 0x18,
390 0x00, 0x10, 0x30, 0x7f, 0x7f, 0x30, 0x10, 0x00,
391 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00,
392 0x00, 0x00, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00,
393 0x00, 0x60, 0x60, 0x7c, 0x66, 0x66, 0x7c, 0x00,
394 0x00, 0x00, 0x3c, 0x60, 0x60, 0x60, 0x3c, 0x00,
395 0x00, 0x06, 0x06, 0x3e, 0x66, 0x66, 0x3e, 0x00,
396 0x00, 0x00, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00,
397 0x00, 0x0e, 0x18, 0x3e, 0x18, 0x18, 0x18, 0x00,
398 0x00, 0x00, 0x3e, 0x66, 0x66, 0x3e, 0x06, 0x7c,
399 0x00, 0x60, 0x60, 0x7c, 0x66, 0x66, 0x66, 0x00,
400 0x00, 0x18, 0x00, 0x38, 0x18, 0x18, 0x3c, 0x00,
401 0x00, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x3c,
402 0x00, 0x60, 0x60, 0x6c, 0x78, 0x6c, 0x66, 0x00,
403 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00,
404 0x00, 0x00, 0x66, 0x7f, 0x7f, 0x6b, 0x63, 0x00,
405 0x00, 0x00, 0x7c, 0x66, 0x66, 0x66, 0x66, 0x00,
406 0x00, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x3c, 0x00,
407 0x00, 0x00, 0x7c, 0x66, 0x66, 0x7c, 0x60, 0x60,
408 0x00, 0x00, 0x3e, 0x66, 0x66, 0x3e, 0x06, 0x06,
409 0x00, 0x00, 0x7c, 0x66, 0x60, 0x60, 0x60, 0x00,
410 0x00, 0x00, 0x3e, 0x60, 0x3c, 0x06, 0x7c, 0x00,
411 0x00, 0x18, 0x7e, 0x18, 0x18, 0x18, 0x0e, 0x00,
412 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3e, 0x00,
413 0x00, 0x00, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x00,
414 0x00, 0x00, 0x63, 0x6b, 0x7f, 0x3e, 0x36, 0x00,
415 0x00, 0x00, 0x66, 0x3c, 0x18, 0x3c, 0x66, 0x00,
416 0x00, 0x00, 0x66, 0x66, 0x66, 0x3e, 0x0c, 0x78,
417 0x00, 0x00, 0x7e, 0x0c, 0x18, 0x30, 0x7e, 0x00,
418 0x01, 0x03, 0x06, 0x6c, 0x78, 0x70, 0x60, 0x00,
419 0x18, 0x3c, 0x7e, 0xff, 0x18, 0x18, 0x18, 0x18,
420 0x18, 0x18, 0x18, 0x18, 0xff, 0x7e, 0x3c, 0x18,
421 0x10, 0x30, 0x70, 0xff, 0xff, 0x70, 0x30, 0x10,
422 0x08, 0x0c, 0x0e, 0xff, 0xff, 0x0e, 0x0c, 0x08,
423};
424
425/* French Zak font. */
426static const unsigned char frenchCharsetDataV2[] = {
427 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
428 0x01, 0x03, 0x06, 0x0c, 0x18, 0x3e, 0x03, 0x00,
429 0x80, 0xc0, 0x60, 0x30, 0x18, 0x7c, 0xc0, 0x00,
430 0x00, 0x03, 0x3e, 0x18, 0x0c, 0x06, 0x03, 0x01,
431 0x00, 0xc0, 0x7c, 0x18, 0x30, 0x60, 0xc0, 0x80,
432 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
433 0x03, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x1f, 0x7f,
434 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0,
435 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07,
436 0x00, 0x00, 0x00, 0x01, 0x03, 0x06, 0x0c, 0x18,
437 0x00, 0x00, 0x00, 0x80, 0xc0, 0x60, 0x30, 0x18,
438 0x18, 0x30, 0x60, 0xc0, 0x80, 0x00, 0x00, 0x00,
439 0x18, 0x0c, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00,
440 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x18, 0x18, 0x18,
441 0x00, 0x00, 0x00, 0xf8, 0xf8, 0x18, 0x18, 0x18,
442 0x18, 0x18, 0x18, 0xf8, 0xf8, 0x00, 0x00, 0x00,
443 0x18, 0x18, 0x18, 0x1f, 0x1f, 0x00, 0x00, 0x00,
444 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x18, 0x18,
445 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x30, 0x18, 0x18,
446 0x18, 0x18, 0x30, 0xe0, 0xc0, 0x00, 0x00, 0x00,
447 0x18, 0x18, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00,
448 0x18, 0x18, 0x18, 0x1f, 0x1f, 0x18, 0x18, 0x18,
449 0x18, 0x18, 0x18, 0xf8, 0xf8, 0x18, 0x18, 0x18,
450 0x18, 0x18, 0x18, 0xff, 0xff, 0x00, 0x00, 0x00,
451 0x00, 0x00, 0x00, 0xff, 0xff, 0x18, 0x18, 0x18,
452 0x18, 0x18, 0x18, 0xff, 0xff, 0x18, 0x18, 0x18,
453 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
454 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
455 0x18, 0x3c, 0x66, 0xc3, 0xc3, 0x66, 0x3c, 0x18,
456 0x18, 0x3c, 0x7e, 0xff, 0xff, 0x7e, 0x3c, 0x18,
457 0x18, 0x66, 0xc3, 0xdb, 0xdb, 0xc3, 0x66, 0x18,
458 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
459 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
460 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x18, 0x00,
461 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00,
462 0x66, 0x66, 0xff, 0x66, 0xff, 0x66, 0x66, 0x00,
463 0x18, 0x3e, 0x60, 0x3c, 0x06, 0x7c, 0x18, 0x00,
464 0x62, 0x66, 0x0c, 0x18, 0x30, 0x66, 0x46, 0x00,
465 0x3c, 0x66, 0x3c, 0x38, 0x67, 0x66, 0x3f, 0x00,
466 0x30, 0x18, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
467 0x0c, 0x18, 0x30, 0x30, 0x30, 0x18, 0x0c, 0x00,
468 0x30, 0x18, 0x0c, 0x0c, 0x0c, 0x18, 0x30, 0x00,
469 0x00, 0x66, 0x3c, 0xff, 0x3c, 0x66, 0x00, 0x00,
470 0x00, 0x18, 0x18, 0x7e, 0x18, 0x18, 0x00, 0x00,
471 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x30,
472 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00,
473 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00,
474 0x00, 0x03, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x00,
475 0x3c, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
476 0x18, 0x18, 0x38, 0x18, 0x18, 0x18, 0x7e, 0x00,
477 0x3c, 0x66, 0x06, 0x0c, 0x30, 0x60, 0x7e, 0x00,
478 0x3c, 0x66, 0x06, 0x1c, 0x06, 0x66, 0x3c, 0x00,
479 0x06, 0x0e, 0x1e, 0x66, 0x7f, 0x06, 0x06, 0x00,
480 0x7e, 0x60, 0x7c, 0x06, 0x06, 0x66, 0x3c, 0x00,
481 0x3c, 0x66, 0x60, 0x7c, 0x66, 0x66, 0x3c, 0x00,
482 0x7e, 0x66, 0x0c, 0x18, 0x18, 0x18, 0x18, 0x00,
483 0x3c, 0x66, 0x66, 0x3c, 0x66, 0x66, 0x3c, 0x00,
484 0x3c, 0x66, 0x66, 0x3e, 0x06, 0x66, 0x3c, 0x00,
485 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00,
486 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x18, 0x30,
487 0x10, 0x08, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00,
488 0x18, 0x24, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00,
489 0x00, 0x00, 0x3c, 0x60, 0x60, 0x3c, 0x18, 0x38,
490 0x3c, 0x66, 0x06, 0x0c, 0x18, 0x00, 0x18, 0x00,
491 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
492 0x18, 0x3c, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x00,
493 0x7c, 0x66, 0x66, 0x7c, 0x66, 0x66, 0x7c, 0x00,
494 0x3c, 0x66, 0x60, 0x60, 0x60, 0x66, 0x3c, 0x00,
495 0x78, 0x6c, 0x66, 0x66, 0x66, 0x6c, 0x78, 0x00,
496 0x7e, 0x60, 0x60, 0x78, 0x60, 0x60, 0x7e, 0x00,
497 0x7e, 0x60, 0x60, 0x78, 0x60, 0x60, 0x60, 0x00,
498 0x3c, 0x66, 0x60, 0x6e, 0x66, 0x66, 0x3c, 0x00,
499 0x66, 0x66, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x00,
500 0x3c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00,
501 0x1e, 0x0c, 0x0c, 0x0c, 0x0c, 0x6c, 0x38, 0x00,
502 0x66, 0x6c, 0x78, 0x70, 0x78, 0x6c, 0x66, 0x00,
503 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7e, 0x00,
504 0x63, 0x77, 0x7f, 0x6b, 0x63, 0x63, 0x63, 0x00,
505 0x66, 0x76, 0x7e, 0x7e, 0x6e, 0x66, 0x66, 0x00,
506 0x3c, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
507 0x7c, 0x66, 0x66, 0x7c, 0x60, 0x60, 0x60, 0x00,
508 0x3c, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x0e, 0x00,
509 0x7c, 0x66, 0x66, 0x7c, 0x78, 0x6c, 0x66, 0x00,
510 0x3c, 0x66, 0x60, 0x3c, 0x06, 0x66, 0x3c, 0x00,
511 0x7e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00,
512 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
513 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x00,
514 0x63, 0x63, 0x63, 0x6b, 0x7f, 0x77, 0x63, 0x00,
515 0x66, 0x66, 0x3c, 0x18, 0x3c, 0x66, 0x66, 0x00,
516 0x66, 0x66, 0x66, 0x3c, 0x18, 0x18, 0x18, 0x00,
517 0x7e, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x7e, 0x00,
518 0x08, 0x10, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00,
519 0x10, 0x08, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00,
520 0x18, 0x24, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00,
521 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0xdb, 0x00,
522 0x00, 0x6c, 0x00, 0x38, 0x18, 0x18, 0x3c, 0x00,
523 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00,
524 0x00, 0x00, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00,
525 0x00, 0x60, 0x60, 0x7c, 0x66, 0x66, 0x7c, 0x00,
526 0x00, 0x00, 0x3c, 0x60, 0x60, 0x60, 0x3c, 0x00,
527 0x00, 0x06, 0x06, 0x3e, 0x66, 0x66, 0x3e, 0x00,
528 0x00, 0x00, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00,
529 0x00, 0x0e, 0x18, 0x3e, 0x18, 0x18, 0x18, 0x00,
530 0x00, 0x00, 0x3e, 0x66, 0x66, 0x3e, 0x06, 0x7c,
531 0x00, 0x60, 0x60, 0x7c, 0x66, 0x66, 0x66, 0x00,
532 0x00, 0x18, 0x00, 0x38, 0x18, 0x18, 0x3c, 0x00,
533 0x00, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x3c,
534 0x00, 0x60, 0x60, 0x6c, 0x78, 0x6c, 0x66, 0x00,
535 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00,
536 0x00, 0x00, 0x66, 0x7f, 0x7f, 0x6b, 0x63, 0x00,
537 0x00, 0x00, 0x7c, 0x66, 0x66, 0x66, 0x66, 0x00,
538 0x00, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x3c, 0x00,
539 0x00, 0x00, 0x7c, 0x66, 0x66, 0x7c, 0x60, 0x60,
540 0x00, 0x00, 0x3e, 0x66, 0x66, 0x3e, 0x06, 0x06,
541 0x00, 0x00, 0x7c, 0x66, 0x60, 0x60, 0x60, 0x00,
542 0x00, 0x00, 0x3e, 0x60, 0x3c, 0x06, 0x7c, 0x00,
543 0x00, 0x18, 0x7e, 0x18, 0x18, 0x18, 0x0e, 0x00,
544 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3e, 0x00,
545 0x00, 0x00, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x00,
546 0x00, 0x00, 0x63, 0x6b, 0x7f, 0x3e, 0x36, 0x00,
547 0x00, 0x00, 0x66, 0x3c, 0x18, 0x3c, 0x66, 0x00,
548 0x00, 0x00, 0x66, 0x66, 0x66, 0x3e, 0x0c, 0x78,
549 0x00, 0x00, 0x7e, 0x0c, 0x18, 0x30, 0x7e, 0x00,
550 0x18, 0x24, 0x00, 0x38, 0x18, 0x18, 0x3c, 0x00,
551 0x18, 0x24, 0x00, 0x3c, 0x66, 0x66, 0x3c, 0x00,
552 0x10, 0x08, 0x00, 0x66, 0x66, 0x66, 0x3e, 0x00,
553 0x18, 0x24, 0x00, 0x66, 0x66, 0x66, 0x3e, 0x00,
554 0x08, 0x0c, 0x0e, 0xff, 0xff, 0x0e, 0x0c, 0x08,
555};
556
557/* Italian Zak font. */
558static const unsigned char italianCharsetDataV2[] = {
559 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
560 0x01, 0x03, 0x06, 0x0c, 0x18, 0x3e, 0x03, 0x00,
561 0x80, 0xc0, 0x60, 0x30, 0x18, 0x7c, 0xc0, 0x00,
562 0x00, 0x03, 0x3e, 0x18, 0x0c, 0x06, 0x03, 0x01,
563 0x00, 0xc0, 0x7c, 0x18, 0x30, 0x60, 0xc0, 0x80,
564 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
565 0x03, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x1f, 0x7f,
566 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0,
567 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07,
568 0x00, 0x00, 0x00, 0x01, 0x03, 0x06, 0x0c, 0x18,
569 0x00, 0x00, 0x00, 0x80, 0xc0, 0x60, 0x30, 0x18,
570 0x18, 0x30, 0x60, 0xc0, 0x80, 0x00, 0x00, 0x00,
571 0x18, 0x0c, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00,
572 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x18, 0x18, 0x18,
573 0x00, 0x00, 0x00, 0xf8, 0xf8, 0x18, 0x18, 0x18,
574 0x18, 0x18, 0x18, 0xf8, 0xf8, 0x00, 0x00, 0x00,
575 0x18, 0x18, 0x18, 0x1f, 0x1f, 0x00, 0x00, 0x00,
576 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x18, 0x18,
577 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x30, 0x18, 0x18,
578 0x18, 0x18, 0x30, 0xe0, 0xc0, 0x00, 0x00, 0x00,
579 0x18, 0x18, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00,
580 0x18, 0x18, 0x18, 0x1f, 0x1f, 0x18, 0x18, 0x18,
581 0x18, 0x18, 0x18, 0xf8, 0xf8, 0x18, 0x18, 0x18,
582 0x18, 0x18, 0x18, 0xff, 0xff, 0x00, 0x00, 0x00,
583 0x00, 0x00, 0x00, 0xff, 0xff, 0x18, 0x18, 0x18,
584 0x18, 0x18, 0x18, 0xff, 0xff, 0x18, 0x18, 0x18,
585 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
586 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
587 0x18, 0x3c, 0x66, 0xc3, 0xc3, 0x66, 0x3c, 0x18,
588 0x18, 0x3c, 0x7e, 0xff, 0xff, 0x7e, 0x3c, 0x18,
589 0x18, 0x66, 0xc3, 0xdb, 0xdb, 0xc3, 0x66, 0x18,
590 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
591 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
592 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x18, 0x00,
593 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00,
594 0x66, 0x66, 0xff, 0x66, 0xff, 0x66, 0x66, 0x00,
595 0x18, 0x3e, 0x60, 0x3c, 0x06, 0x7c, 0x18, 0x00,
596 0x62, 0x66, 0x0c, 0x18, 0x30, 0x66, 0x46, 0x00,
597 0x3c, 0x66, 0x3c, 0x38, 0x67, 0x66, 0x3f, 0x00,
598 0x30, 0x18, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
599 0x0c, 0x18, 0x30, 0x30, 0x30, 0x18, 0x0c, 0x00,
600 0x30, 0x18, 0x0c, 0x0c, 0x0c, 0x18, 0x30, 0x00,
601 0x00, 0x66, 0x3c, 0xff, 0x3c, 0x66, 0x00, 0x00,
602 0x00, 0x18, 0x18, 0x7e, 0x18, 0x18, 0x00, 0x00,
603 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x30,
604 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00,
605 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00,
606 0x00, 0x03, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x00,
607 0x3c, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
608 0x18, 0x18, 0x38, 0x18, 0x18, 0x18, 0x7e, 0x00,
609 0x3c, 0x66, 0x06, 0x0c, 0x30, 0x60, 0x7e, 0x00,
610 0x3c, 0x66, 0x06, 0x1c, 0x06, 0x66, 0x3c, 0x00,
611 0x06, 0x0e, 0x1e, 0x66, 0x7f, 0x06, 0x06, 0x00,
612 0x7e, 0x60, 0x7c, 0x06, 0x06, 0x66, 0x3c, 0x00,
613 0x3c, 0x66, 0x60, 0x7c, 0x66, 0x66, 0x3c, 0x00,
614 0x7e, 0x66, 0x0c, 0x18, 0x18, 0x18, 0x18, 0x00,
615 0x3c, 0x66, 0x66, 0x3c, 0x66, 0x66, 0x3c, 0x00,
616 0x3c, 0x66, 0x66, 0x3e, 0x06, 0x66, 0x3c, 0x00,
617 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00,
618 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x18, 0x30,
619 0x10, 0x08, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00,
620 0x08, 0x10, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00,
621 0x10, 0x08, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00,
622 0x3c, 0x66, 0x06, 0x0c, 0x18, 0x00, 0x18, 0x00,
623 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
624 0x18, 0x3c, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x00,
625 0x7c, 0x66, 0x66, 0x7c, 0x66, 0x66, 0x7c, 0x00,
626 0x3c, 0x66, 0x60, 0x60, 0x60, 0x66, 0x3c, 0x00,
627 0x78, 0x6c, 0x66, 0x66, 0x66, 0x6c, 0x78, 0x00,
628 0x7e, 0x60, 0x60, 0x78, 0x60, 0x60, 0x7e, 0x00,
629 0x7e, 0x60, 0x60, 0x78, 0x60, 0x60, 0x60, 0x00,
630 0x3c, 0x66, 0x60, 0x6e, 0x66, 0x66, 0x3c, 0x00,
631 0x66, 0x66, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x00,
632 0x3c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00,
633 0x1e, 0x0c, 0x0c, 0x0c, 0x0c, 0x6c, 0x38, 0x00,
634 0x66, 0x6c, 0x78, 0x70, 0x78, 0x6c, 0x66, 0x00,
635 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7e, 0x00,
636 0x63, 0x77, 0x7f, 0x6b, 0x63, 0x63, 0x63, 0x00,
637 0x66, 0x76, 0x7e, 0x7e, 0x6e, 0x66, 0x66, 0x00,
638 0x3c, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
639 0x7c, 0x66, 0x66, 0x7c, 0x60, 0x60, 0x60, 0x00,
640 0x3c, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x0e, 0x00,
641 0x7c, 0x66, 0x66, 0x7c, 0x78, 0x6c, 0x66, 0x00,
642 0x3c, 0x66, 0x60, 0x3c, 0x06, 0x66, 0x3c, 0x00,
643 0x7e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00,
644 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
645 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x00,
646 0x63, 0x63, 0x63, 0x6b, 0x7f, 0x77, 0x63, 0x00,
647 0x66, 0x66, 0x3c, 0x18, 0x3c, 0x66, 0x66, 0x00,
648 0x66, 0x66, 0x66, 0x3c, 0x18, 0x18, 0x18, 0x00,
649 0x7e, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x7e, 0x00,
650 0x08, 0x10, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00,
651 0x10, 0x08, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00,
652 0x18, 0x24, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00,
653 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0xdb, 0x00,
654 0x00, 0x6c, 0x00, 0x38, 0x18, 0x18, 0x3c, 0x00,
655 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00,
656 0x00, 0x00, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00,
657 0x00, 0x60, 0x60, 0x7c, 0x66, 0x66, 0x7c, 0x00,
658 0x00, 0x00, 0x3c, 0x60, 0x60, 0x60, 0x3c, 0x00,
659 0x00, 0x06, 0x06, 0x3e, 0x66, 0x66, 0x3e, 0x00,
660 0x00, 0x00, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00,
661 0x00, 0x0e, 0x18, 0x3e, 0x18, 0x18, 0x18, 0x00,
662 0x00, 0x00, 0x3e, 0x66, 0x66, 0x3e, 0x06, 0x7c,
663 0x00, 0x60, 0x60, 0x7c, 0x66, 0x66, 0x66, 0x00,
664 0x00, 0x18, 0x00, 0x38, 0x18, 0x18, 0x3c, 0x00,
665 0x00, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x3c,
666 0x00, 0x60, 0x60, 0x6c, 0x78, 0x6c, 0x66, 0x00,
667 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00,
668 0x00, 0x00, 0x66, 0x7f, 0x7f, 0x6b, 0x63, 0x00,
669 0x00, 0x00, 0x7c, 0x66, 0x66, 0x66, 0x66, 0x00,
670 0x00, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x3c, 0x00,
671 0x00, 0x00, 0x7c, 0x66, 0x66, 0x7c, 0x60, 0x60,
672 0x00, 0x00, 0x3e, 0x66, 0x66, 0x3e, 0x06, 0x06,
673 0x00, 0x00, 0x7c, 0x66, 0x60, 0x60, 0x60, 0x00,
674 0x00, 0x00, 0x3e, 0x60, 0x3c, 0x06, 0x7c, 0x00,
675 0x00, 0x18, 0x7e, 0x18, 0x18, 0x18, 0x0e, 0x00,
676 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3e, 0x00,
677 0x00, 0x00, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x00,
678 0x00, 0x00, 0x63, 0x6b, 0x7f, 0x3e, 0x36, 0x00,
679 0x00, 0x00, 0x66, 0x3c, 0x18, 0x3c, 0x66, 0x00,
680 0x00, 0x00, 0x66, 0x66, 0x66, 0x3e, 0x0c, 0x78,
681 0x00, 0x00, 0x7e, 0x0c, 0x18, 0x30, 0x7e, 0x00,
682 0x10, 0x08, 0x00, 0x38, 0x18, 0x18, 0x3c, 0x00,
683 0x10, 0x08, 0x00, 0x3c, 0x66, 0x66, 0x3c, 0x00,
684 0x10, 0x08, 0x00, 0x66, 0x66, 0x66, 0x3e, 0x00,
685 0x18, 0x24, 0x00, 0x66, 0x66, 0x66, 0x3e, 0x00,
686 0x08, 0x0c, 0x0e, 0xff, 0xff, 0x0e, 0x0c, 0x08,
687};
688
689/* Spanish Zak font. */
690static const unsigned char spanishCharsetDataV2[] = {
691 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
692 0x01, 0x03, 0x06, 0x0c, 0x18, 0x3e, 0x03, 0x00,
693 0x80, 0xc0, 0x60, 0x30, 0x18, 0x7c, 0xc0, 0x00,
694 0x00, 0x03, 0x3e, 0x18, 0x0c, 0x06, 0x03, 0x01,
695 0x00, 0xc0, 0x7c, 0x18, 0x30, 0x60, 0xc0, 0x80,
696 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
697 0x03, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x1f, 0x7f,
698 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0,
699 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07,
700 0x00, 0x00, 0x00, 0x01, 0x03, 0x06, 0x0c, 0x18,
701 0x00, 0x00, 0x00, 0x80, 0xc0, 0x60, 0x30, 0x18,
702 0x18, 0x30, 0x60, 0xc0, 0x80, 0x00, 0x00, 0x00,
703 0x18, 0x0c, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00,
704 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x18, 0x18, 0x18,
705 0x00, 0x00, 0x00, 0xf8, 0xf8, 0x18, 0x18, 0x18,
706 0x18, 0x18, 0x18, 0xf8, 0xf8, 0x00, 0x00, 0x00,
707 0x18, 0x18, 0x18, 0x1f, 0x1f, 0x00, 0x00, 0x00,
708 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x18, 0x18,
709 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x30, 0x18, 0x18,
710 0x18, 0x18, 0x30, 0xe0, 0xc0, 0x00, 0x00, 0x00,
711 0x18, 0x18, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00,
712 0x18, 0x18, 0x18, 0x1f, 0x1f, 0x18, 0x18, 0x18,
713 0x18, 0x18, 0x18, 0xf8, 0xf8, 0x18, 0x18, 0x18,
714 0x18, 0x18, 0x18, 0xff, 0xff, 0x00, 0x00, 0x00,
715 0x00, 0x00, 0x00, 0xff, 0xff, 0x18, 0x18, 0x18,
716 0x18, 0x18, 0x18, 0xff, 0xff, 0x18, 0x18, 0x18,
717 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
718 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
719 0x18, 0x3c, 0x66, 0xc3, 0xc3, 0x66, 0x3c, 0x18,
720 0x18, 0x3c, 0x7e, 0xff, 0xff, 0x7e, 0x3c, 0x18,
721 0x18, 0x66, 0xc3, 0xdb, 0xdb, 0xc3, 0x66, 0x18,
722 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
723 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
724 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x18, 0x00,
725 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00,
726 0x66, 0x66, 0xff, 0x66, 0xff, 0x66, 0x66, 0x00,
727 0x18, 0x3e, 0x60, 0x3c, 0x06, 0x7c, 0x18, 0x00,
728 0x62, 0x66, 0x0c, 0x18, 0x30, 0x66, 0x46, 0x00,
729 0x3c, 0x66, 0x3c, 0x38, 0x67, 0x66, 0x3f, 0x00,
730 0x30, 0x18, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
731 0x0c, 0x18, 0x30, 0x30, 0x30, 0x18, 0x0c, 0x00,
732 0x30, 0x18, 0x0c, 0x0c, 0x0c, 0x18, 0x30, 0x00,
733 0x00, 0x66, 0x3c, 0xff, 0x3c, 0x66, 0x00, 0x00,
734 0x00, 0x18, 0x18, 0x7e, 0x18, 0x18, 0x00, 0x00,
735 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x30,
736 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00,
737 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00,
738 0x00, 0x03, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x00,
739 0x3c, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
740 0x18, 0x18, 0x38, 0x18, 0x18, 0x18, 0x7e, 0x00,
741 0x3c, 0x66, 0x06, 0x0c, 0x30, 0x60, 0x7e, 0x00,
742 0x3c, 0x66, 0x06, 0x1c, 0x06, 0x66, 0x3c, 0x00,
743 0x06, 0x0e, 0x1e, 0x66, 0x7f, 0x06, 0x06, 0x00,
744 0x7e, 0x60, 0x7c, 0x06, 0x06, 0x66, 0x3c, 0x00,
745 0x3c, 0x66, 0x60, 0x7c, 0x66, 0x66, 0x3c, 0x00,
746 0x7e, 0x66, 0x0c, 0x18, 0x18, 0x18, 0x18, 0x00,
747 0x3c, 0x66, 0x66, 0x3c, 0x66, 0x66, 0x3c, 0x00,
748 0x3c, 0x66, 0x66, 0x3e, 0x06, 0x66, 0x3c, 0x00,
749 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00,
750 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x18, 0x30,
751 0x0e, 0x18, 0x30, 0x60, 0x30, 0x18, 0x0e, 0x00,
752 0x7c, 0x82, 0xba, 0xa2, 0xa2, 0xba, 0x82, 0x7c,
753 0x70, 0x18, 0x0c, 0x06, 0x0c, 0x18, 0x70, 0x00,
754 0x3c, 0x66, 0x06, 0x0c, 0x18, 0x00, 0x18, 0x00,
755 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
756 0x18, 0x3c, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x00,
757 0x7c, 0x66, 0x66, 0x7c, 0x66, 0x66, 0x7c, 0x00,
758 0x3c, 0x66, 0x60, 0x60, 0x60, 0x66, 0x3c, 0x00,
759 0x78, 0x6c, 0x66, 0x66, 0x66, 0x6c, 0x78, 0x00,
760 0x7e, 0x60, 0x60, 0x78, 0x60, 0x60, 0x7e, 0x00,
761 0x7e, 0x60, 0x60, 0x78, 0x60, 0x60, 0x60, 0x00,
762 0x3c, 0x66, 0x60, 0x6e, 0x66, 0x66, 0x3c, 0x00,
763 0x66, 0x66, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x00,
764 0x3c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00,
765 0x1e, 0x0c, 0x0c, 0x0c, 0x0c, 0x6c, 0x38, 0x00,
766 0x66, 0x6c, 0x78, 0x70, 0x78, 0x6c, 0x66, 0x00,
767 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7e, 0x00,
768 0x63, 0x77, 0x7f, 0x6b, 0x63, 0x63, 0x63, 0x00,
769 0x66, 0x76, 0x7e, 0x7e, 0x6e, 0x66, 0x66, 0x00,
770 0x3c, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
771 0x7c, 0x66, 0x66, 0x7c, 0x60, 0x60, 0x60, 0x00,
772 0x3c, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x0e, 0x00,
773 0x7c, 0x66, 0x66, 0x7c, 0x78, 0x6c, 0x66, 0x00,
774 0x3c, 0x66, 0x60, 0x3c, 0x06, 0x66, 0x3c, 0x00,
775 0x7e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00,
776 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
777 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x00,
778 0x63, 0x63, 0x63, 0x6b, 0x7f, 0x77, 0x63, 0x00,
779 0x66, 0x66, 0x3c, 0x18, 0x3c, 0x66, 0x66, 0x00,
780 0x66, 0x66, 0x66, 0x3c, 0x18, 0x18, 0x18, 0x00,
781 0x7e, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x7e, 0x00,
782 0x66, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3e, 0x00,
783 0x66, 0x00, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00,
784 0x66, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
785 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0xdb, 0x00,
786 0x00, 0x10, 0x30, 0x7f, 0x7f, 0x30, 0x10, 0x00,
787 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00,
788 0x00, 0x00, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00,
789 0x00, 0x60, 0x60, 0x7c, 0x66, 0x66, 0x7c, 0x00,
790 0x00, 0x00, 0x3c, 0x60, 0x60, 0x60, 0x3c, 0x00,
791 0x00, 0x06, 0x06, 0x3e, 0x66, 0x66, 0x3e, 0x00,
792 0x00, 0x00, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00,
793 0x00, 0x0e, 0x18, 0x3e, 0x18, 0x18, 0x18, 0x00,
794 0x00, 0x00, 0x3e, 0x66, 0x66, 0x3e, 0x06, 0x7c,
795 0x00, 0x60, 0x60, 0x7c, 0x66, 0x66, 0x66, 0x00,
796 0x00, 0x18, 0x00, 0x38, 0x18, 0x18, 0x3c, 0x00,
797 0x00, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x3c,
798 0x00, 0x60, 0x60, 0x6c, 0x78, 0x6c, 0x66, 0x00,
799 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00,
800 0x00, 0x00, 0x66, 0x7f, 0x7f, 0x6b, 0x63, 0x00,
801 0x00, 0x00, 0x7c, 0x66, 0x66, 0x66, 0x66, 0x00,
802 0x00, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x3c, 0x00,
803 0x00, 0x00, 0x7c, 0x66, 0x66, 0x7c, 0x60, 0x60,
804 0x00, 0x00, 0x3e, 0x66, 0x66, 0x3e, 0x06, 0x06,
805 0x00, 0x00, 0x7c, 0x66, 0x60, 0x60, 0x60, 0x00,
806 0x00, 0x00, 0x3e, 0x60, 0x3c, 0x06, 0x7c, 0x00,
807 0x00, 0x18, 0x7e, 0x18, 0x18, 0x18, 0x0e, 0x00,
808 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3e, 0x00,
809 0x00, 0x00, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x00,
810 0x00, 0x00, 0x63, 0x6b, 0x7f, 0x3e, 0x36, 0x00,
811 0x00, 0x00, 0x66, 0x3c, 0x18, 0x3c, 0x66, 0x00,
812 0x00, 0x00, 0x66, 0x66, 0x66, 0x3e, 0x0c, 0x78,
813 0x00, 0x00, 0x7e, 0x0c, 0x18, 0x30, 0x7e, 0x00,
814 0x66, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x3c, 0x00,
815 0x66, 0x18, 0x3c, 0x66, 0x7e, 0x66, 0x66, 0x00,
816 0x42, 0x3c, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
817 0x1c, 0x36, 0x36, 0x7c, 0x66, 0x66, 0x7c, 0x40,
818 0x08, 0x0c, 0x0e, 0xff, 0xff, 0x0e, 0x0c, 0x08,
819};
820
821unsigned char *specialCharsetData = NULL;
822int numSpecialChars = 0;
823
824void compressCharset(const unsigned char *data, char *var, char *name) {
825 int i;
826
827 printf("// %s\n", name);
828 printf("static const byte %s[] = {\n", var);
829
830 for (i = 0; i < 128; i++) {
831 if (memcmp(data + 8 * i, englishCharsetDataV2 + 8 * i, 8) != 0) {
832 /* The character is different from our baseline font.
833 * Look in the list of special characters.
834 */
835 int j;
836
837 for (j = 0; j < numSpecialChars; j++) {
838 if (memcmp(data + 8 * i, specialCharsetData + 8 * j, 8) == 0)
839 break;
840 }
841
842 if (j >= numSpecialChars) {
843 specialCharsetData = (unsigned char *)realloc(specialCharsetData, 8 * (numSpecialChars + 1));
844 memcpy(specialCharsetData + 8 * numSpecialChars, data + 8 * i, 8);
845 numSpecialChars++;
846 }
847
848 printf("\t%d, %d,\n", i, j);
849 }
850 }
851
852 printf("};\n\n");
853}
854
855int main() {
856 int i, j;
857
858 /*
859 * Create an array of replacement characters for each font data set.
860 * Each replacement character consists of a character code and an
861 * offset into the specialCharsetData[] array.
862 */
863
864 compressCharset(germanCharsetDataV2, "germanCharsetDataV2", "German Zak font.");
865 compressCharset(germanCharsetDataV0, "germanCharsetDataV0", "German C64 MM.");
866 compressCharset(frenchCharsetDataV2, "frenchCharsetDataV2", "French Zak font.");
867 compressCharset(italianCharsetDataV2, "italianCharsetDataV2", "Italian Zak font.");
868 compressCharset(spanishCharsetDataV2, "spanishCharsetDataV2", "Spanish Zak font.");
869
870 printf("// Special characters\n");
871 printf("static const byte specialCharsetData[] = {\n");
872
873 for (i = 0; i < numSpecialChars; i++) {
874 printf("\t");
875 for (j = 0; j < 8; j++) {
876 printf("0x%02x,", specialCharsetData[8 * i + j]);
877 if (j < 7)
878 printf(" ");
879 }
880 printf("\n");
881 }
882
883 printf("};\n");
884
885 return 0;
886}