Logo Search packages:      
Sourcecode: scummvm version File versions

make-scumm-fontdata.c

/* ScummVM - Graphic Adventure Engine
 *
 * ScummVM is the legal property of its developers, whose names
 * are too numerous to list here. Please refer to the COPYRIGHT
 * file distributed with this source distribution.
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 *
 * $URL$
 * $Id$
 */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

/* English Zak font. */
static const unsigned char englishCharsetDataV2[] = {
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x01, 0x03, 0x06, 0x0C, 0x18, 0x3E, 0x03, 0x00,
      0x80, 0xC0, 0x60, 0x30, 0x18, 0x7C, 0xC0, 0x00,
      0x00, 0x03, 0x3E, 0x18, 0x0C, 0x06, 0x03, 0x01,
      0x00, 0xC0, 0x7C, 0x18, 0x30, 0x60, 0xC0, 0x80,
      0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
      0x03, 0x03, 0x03, 0x07, 0x07, 0x0F, 0x1F, 0x7F,
      0xE0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0xE0,
      0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07,
      0x00, 0x00, 0x00, 0x01, 0x03, 0x06, 0x0C, 0x18,
      0x00, 0x00, 0x00, 0x80, 0xC0, 0x60, 0x30, 0x18,
      0x18, 0x30, 0x60, 0xC0, 0x80, 0x00, 0x00, 0x00,
      0x18, 0x0C, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x1F, 0x1F, 0x18, 0x18, 0x18,
      0x00, 0x00, 0x00, 0xF8, 0xF8, 0x18, 0x18, 0x18,
      0x18, 0x18, 0x18, 0xF8, 0xF8, 0x00, 0x00, 0x00,
      0x18, 0x18, 0x18, 0x1F, 0x1F, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x03, 0x07, 0x0C, 0x18, 0x18,
      0x00, 0x00, 0x00, 0xC0, 0xE0, 0x30, 0x18, 0x18,
      0x18, 0x18, 0x30, 0xE0, 0xC0, 0x00, 0x00, 0x00,
      0x18, 0x18, 0x0C, 0x07, 0x03, 0x00, 0x00, 0x00,
      0x18, 0x18, 0x18, 0x1F, 0x1F, 0x18, 0x18, 0x18,
      0x18, 0x18, 0x18, 0xF8, 0xF8, 0x18, 0x18, 0x18,
      0x18, 0x18, 0x18, 0xFF, 0xFF, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0xFF, 0xFF, 0x18, 0x18, 0x18,
      0x18, 0x18, 0x18, 0xFF, 0xFF, 0x18, 0x18, 0x18,
      0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
      0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00,
      0x18, 0x3C, 0x66, 0xC3, 0xC3, 0x66, 0x3C, 0x18,
      0x18, 0x3C, 0x7E, 0xFF, 0xFF, 0x7E, 0x3C, 0x18,
      0x18, 0x66, 0xC3, 0xDB, 0xDB, 0xC3, 0x66, 0x18,
      0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x18, 0x00,
      0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x66, 0x66, 0xFF, 0x66, 0xFF, 0x66, 0x66, 0x00,
      0x18, 0x3E, 0x58, 0x3C, 0x1A, 0x7C, 0x18, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x49, 0x00,
      0x3C, 0x66, 0x3C, 0x38, 0x67, 0x66, 0x3F, 0x00,
      0x06, 0x0C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x0C, 0x18, 0x30, 0x30, 0x30, 0x18, 0x0C, 0x00,
      0x30, 0x18, 0x0C, 0x0C, 0x0C, 0x18, 0x30, 0x00,
      0x00, 0x66, 0x3C, 0xFF, 0x3C, 0x66, 0x00, 0x00,
      0x00, 0x18, 0x18, 0x7E, 0x18, 0x18, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x30,
      0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00,
      0x00, 0x03, 0x06, 0x0C, 0x18, 0x30, 0x60, 0x00,
      0x3C, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x00,
      0x18, 0x18, 0x38, 0x18, 0x18, 0x18, 0x7E, 0x00,
      0x3C, 0x66, 0x06, 0x0C, 0x30, 0x60, 0x7E, 0x00,
      0x3C, 0x66, 0x06, 0x1C, 0x06, 0x66, 0x3C, 0x00,
      0x06, 0x0E, 0x1E, 0x66, 0x7F, 0x06, 0x06, 0x00,
      0x7E, 0x60, 0x7C, 0x06, 0x06, 0x66, 0x3C, 0x00,
      0x3C, 0x66, 0x60, 0x7C, 0x66, 0x66, 0x3C, 0x00,
      0x7E, 0x66, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x00,
      0x3C, 0x66, 0x66, 0x3C, 0x66, 0x66, 0x3C, 0x00,
      0x3C, 0x66, 0x66, 0x3E, 0x06, 0x66, 0x3C, 0x00,
      0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00,
      0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x18, 0x30,
      0x0E, 0x18, 0x30, 0x60, 0x30, 0x18, 0x0E, 0x00,
      0x7C, 0x82, 0xBA, 0xA2, 0xBA, 0x82, 0x7C, 0x00,
      0x70, 0x18, 0x0C, 0x06, 0x0C, 0x18, 0x70, 0x00,
      0x3C, 0x66, 0x06, 0x0C, 0x18, 0x00, 0x18, 0x00,
      0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00,
      0x18, 0x3C, 0x66, 0x7E, 0x66, 0x66, 0x66, 0x00,
      0x7C, 0x66, 0x66, 0x7C, 0x66, 0x66, 0x7C, 0x00,
      0x3C, 0x66, 0x60, 0x60, 0x60, 0x66, 0x3C, 0x00,
      0x78, 0x6C, 0x66, 0x66, 0x66, 0x6C, 0x78, 0x00,
      0x7E, 0x60, 0x60, 0x78, 0x60, 0x60, 0x7E, 0x00,
      0x7E, 0x60, 0x60, 0x78, 0x60, 0x60, 0x60, 0x00,
      0x3C, 0x66, 0x60, 0x6E, 0x66, 0x66, 0x3C, 0x00,
      0x66, 0x66, 0x66, 0x7E, 0x66, 0x66, 0x66, 0x00,
      0x3C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00,
      0x1E, 0x0C, 0x0C, 0x0C, 0x0C, 0x6C, 0x38, 0x00,
      0x66, 0x6C, 0x78, 0x70, 0x78, 0x6C, 0x66, 0x00,
      0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7E, 0x00,
      0x63, 0x77, 0x7F, 0x6B, 0x63, 0x63, 0x63, 0x00,
      0x66, 0x76, 0x7E, 0x7E, 0x6E, 0x66, 0x66, 0x00,
      0x3C, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x00,
      0x7C, 0x66, 0x66, 0x7C, 0x60, 0x60, 0x60, 0x00,
      0x3C, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x0E, 0x00,
      0x7C, 0x66, 0x66, 0x7C, 0x78, 0x6C, 0x66, 0x00,
      0x3C, 0x66, 0x60, 0x3C, 0x06, 0x66, 0x3C, 0x00,
      0x7E, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00,
      0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x00,
      0x66, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x00,
      0x63, 0x63, 0x63, 0x6B, 0x7F, 0x77, 0x63, 0x00,
      0x66, 0x66, 0x3C, 0x18, 0x3C, 0x66, 0x66, 0x00,
      0x66, 0x66, 0x66, 0x3C, 0x18, 0x18, 0x18, 0x00,
      0x7E, 0x06, 0x0C, 0x18, 0x30, 0x60, 0x7E, 0x00,
      0x3C, 0x30, 0x30, 0x30, 0x30, 0x30, 0x3C, 0x00,
      0x0C, 0x12, 0x30, 0x7C, 0x30, 0x62, 0xFC, 0x00,
      0x3C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x3C, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0xDB, 0xDB, 0x00,
      0x00, 0x10, 0x30, 0x7F, 0x7F, 0x30, 0x10, 0x00,
      0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x3C, 0x06, 0x3E, 0x66, 0x3E, 0x00,
      0x00, 0x60, 0x60, 0x7C, 0x66, 0x66, 0x7C, 0x00,
      0x00, 0x00, 0x3C, 0x60, 0x60, 0x60, 0x3C, 0x00,
      0x00, 0x06, 0x06, 0x3E, 0x66, 0x66, 0x3E, 0x00,
      0x00, 0x00, 0x3C, 0x66, 0x7E, 0x60, 0x3C, 0x00,
      0x00, 0x0E, 0x18, 0x3E, 0x18, 0x18, 0x18, 0x00,
      0x00, 0x00, 0x3E, 0x66, 0x66, 0x3E, 0x06, 0x7C,
      0x00, 0x60, 0x60, 0x7C, 0x66, 0x66, 0x66, 0x00,
      0x00, 0x18, 0x00, 0x38, 0x18, 0x18, 0x3C, 0x00,
      0x00, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x3C,
      0x00, 0x60, 0x60, 0x6C, 0x78, 0x6C, 0x66, 0x00,
      0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00,
      0x00, 0x00, 0x66, 0x7F, 0x7F, 0x6B, 0x63, 0x00,
      0x00, 0x00, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x00,
      0x00, 0x00, 0x3C, 0x66, 0x66, 0x66, 0x3C, 0x00,
      0x00, 0x00, 0x7C, 0x66, 0x66, 0x7C, 0x60, 0x60,
      0x00, 0x00, 0x3E, 0x66, 0x66, 0x3E, 0x06, 0x06,
      0x00, 0x00, 0x7C, 0x66, 0x60, 0x60, 0x60, 0x00,
      0x00, 0x00, 0x3E, 0x60, 0x3C, 0x06, 0x7C, 0x00,
      0x00, 0x18, 0x7E, 0x18, 0x18, 0x18, 0x0E, 0x00,
      0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3E, 0x00,
      0x00, 0x00, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x00,
      0x00, 0x00, 0x63, 0x6B, 0x7F, 0x3E, 0x36, 0x00,
      0x00, 0x00, 0x66, 0x3C, 0x18, 0x3C, 0x66, 0x00,
      0x00, 0x00, 0x66, 0x66, 0x66, 0x3E, 0x0C, 0x78,
      0x00, 0x00, 0x7E, 0x0C, 0x18, 0x30, 0x7E, 0x00,
      0x01, 0x03, 0x06, 0x6C, 0x78, 0x70, 0x60, 0x00,
      0x18, 0x3C, 0x7E, 0xFF, 0x18, 0x18, 0x18, 0x18,
      0x18, 0x18, 0x18, 0x18, 0xFF, 0x7E, 0x3C, 0x18,
      0x10, 0x30, 0x70, 0xFF, 0xFF, 0x70, 0x30, 0x10,
      0x08, 0x0C, 0x0E, 0xFF, 0xFF, 0x0E, 0x0C, 0x08,
};

/* German Zak font */
static const unsigned char germanCharsetDataV2[] = {
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x01, 0x03, 0x06, 0x0c, 0x18, 0x3e, 0x03, 0x00,
      0x80, 0xc0, 0x60, 0x30, 0x18, 0x7c, 0xc0, 0x00,
      0x00, 0x03, 0x3e, 0x18, 0x0c, 0x06, 0x03, 0x01,
      0x00, 0xc0, 0x7c, 0x18, 0x30, 0x60, 0xc0, 0x80,
      0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
      0x03, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x1f, 0x7f,
      0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0,
      0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07,
      0x00, 0x00, 0x00, 0x01, 0x03, 0x06, 0x0c, 0x18,
      0x00, 0x00, 0x00, 0x80, 0xc0, 0x60, 0x30, 0x18,
      0x18, 0x30, 0x60, 0xc0, 0x80, 0x00, 0x00, 0x00,
      0x18, 0x0c, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x1f, 0x1f, 0x18, 0x18, 0x18,
      0x00, 0x00, 0x00, 0xf8, 0xf8, 0x18, 0x18, 0x18,
      0x18, 0x18, 0x18, 0xf8, 0xf8, 0x00, 0x00, 0x00,
      0x18, 0x18, 0x18, 0x1f, 0x1f, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x18, 0x18,
      0x00, 0x00, 0x00, 0xc0, 0xe0, 0x30, 0x18, 0x18,
      0x18, 0x18, 0x30, 0xe0, 0xc0, 0x00, 0x00, 0x00,
      0x18, 0x18, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00,
      0x18, 0x18, 0x18, 0x1f, 0x1f, 0x18, 0x18, 0x18,
      0x18, 0x18, 0x18, 0xf8, 0xf8, 0x18, 0x18, 0x18,
      0x18, 0x18, 0x18, 0xff, 0xff, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0xff, 0xff, 0x18, 0x18, 0x18,
      0x18, 0x18, 0x18, 0xff, 0xff, 0x18, 0x18, 0x18,
      0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
      0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
      0x18, 0x3c, 0x66, 0xc3, 0xc3, 0x66, 0x3c, 0x18,
      0x18, 0x3c, 0x7e, 0xff, 0xff, 0x7e, 0x3c, 0x18,
      0x18, 0x66, 0xc3, 0xdb, 0xdb, 0xc3, 0x66, 0x18,
      0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x18, 0x00,
      0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x66, 0x66, 0xff, 0x66, 0xff, 0x66, 0x66, 0x00,
      0x18, 0x3e, 0x60, 0x3c, 0x06, 0x7c, 0x18, 0x00,
      0x62, 0x66, 0x0c, 0x18, 0x30, 0x66, 0x46, 0x00,
      0x3c, 0x66, 0x3c, 0x38, 0x67, 0x66, 0x3f, 0x00,
      0x30, 0x18, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x0c, 0x18, 0x30, 0x30, 0x30, 0x18, 0x0c, 0x00,
      0x30, 0x18, 0x0c, 0x0c, 0x0c, 0x18, 0x30, 0x00,
      0x00, 0x66, 0x3c, 0xff, 0x3c, 0x66, 0x00, 0x00,
      0x00, 0x18, 0x18, 0x7e, 0x18, 0x18, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x30,
      0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00,
      0x00, 0x03, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x00,
      0x3c, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
      0x18, 0x18, 0x38, 0x18, 0x18, 0x18, 0x7e, 0x00,
      0x3c, 0x66, 0x06, 0x0c, 0x30, 0x60, 0x7e, 0x00,
      0x3c, 0x66, 0x06, 0x1c, 0x06, 0x66, 0x3c, 0x00,
      0x06, 0x0e, 0x1e, 0x66, 0x7f, 0x06, 0x06, 0x00,
      0x7e, 0x60, 0x7c, 0x06, 0x06, 0x66, 0x3c, 0x00,
      0x3c, 0x66, 0x60, 0x7c, 0x66, 0x66, 0x3c, 0x00,
      0x7e, 0x66, 0x0c, 0x18, 0x18, 0x18, 0x18, 0x00,
      0x3c, 0x66, 0x66, 0x3c, 0x66, 0x66, 0x3c, 0x00,
      0x3c, 0x66, 0x66, 0x3e, 0x06, 0x66, 0x3c, 0x00,
      0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00,
      0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x18, 0x30,
      0x0e, 0x18, 0x30, 0x60, 0x30, 0x18, 0x0e, 0x00,
      0x7c, 0x82, 0xba, 0xa2, 0xa2, 0xba, 0x82, 0x7c,
      0x70, 0x18, 0x0c, 0x06, 0x0c, 0x18, 0x70, 0x00,
      0x3c, 0x66, 0x06, 0x0c, 0x18, 0x00, 0x18, 0x00,
      0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
      0x18, 0x3c, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x00,
      0x7c, 0x66, 0x66, 0x7c, 0x66, 0x66, 0x7c, 0x00,
      0x3c, 0x66, 0x60, 0x60, 0x60, 0x66, 0x3c, 0x00,
      0x78, 0x6c, 0x66, 0x66, 0x66, 0x6c, 0x78, 0x00,
      0x7e, 0x60, 0x60, 0x78, 0x60, 0x60, 0x7e, 0x00,
      0x7e, 0x60, 0x60, 0x78, 0x60, 0x60, 0x60, 0x00,
      0x3c, 0x66, 0x60, 0x6e, 0x66, 0x66, 0x3c, 0x00,
      0x66, 0x66, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x00,
      0x3c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00,
      0x1e, 0x0c, 0x0c, 0x0c, 0x0c, 0x6c, 0x38, 0x00,
      0x66, 0x6c, 0x78, 0x70, 0x78, 0x6c, 0x66, 0x00,
      0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7e, 0x00,
      0x63, 0x77, 0x7f, 0x6b, 0x63, 0x63, 0x63, 0x00,
      0x66, 0x76, 0x7e, 0x7e, 0x6e, 0x66, 0x66, 0x00,
      0x3c, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
      0x7c, 0x66, 0x66, 0x7c, 0x60, 0x60, 0x60, 0x00,
      0x3c, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x0e, 0x00,
      0x7c, 0x66, 0x66, 0x7c, 0x78, 0x6c, 0x66, 0x00,
      0x3c, 0x66, 0x60, 0x3c, 0x06, 0x66, 0x3c, 0x00,
      0x7e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00,
      0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
      0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x00,
      0x63, 0x63, 0x63, 0x6b, 0x7f, 0x77, 0x63, 0x00,
      0x66, 0x66, 0x3c, 0x18, 0x3c, 0x66, 0x66, 0x00,
      0x66, 0x66, 0x66, 0x3c, 0x18, 0x18, 0x18, 0x00,
      0x7e, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x7e, 0x00,
      0x66, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3e, 0x00,
      0x66, 0x00, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00,
      0x66, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0xdb, 0x00,
      0x00, 0x10, 0x30, 0x7f, 0x7f, 0x30, 0x10, 0x00,
      0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00,
      0x00, 0x60, 0x60, 0x7c, 0x66, 0x66, 0x7c, 0x00,
      0x00, 0x00, 0x3c, 0x60, 0x60, 0x60, 0x3c, 0x00,
      0x00, 0x06, 0x06, 0x3e, 0x66, 0x66, 0x3e, 0x00,
      0x00, 0x00, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00,
      0x00, 0x0e, 0x18, 0x3e, 0x18, 0x18, 0x18, 0x00,
      0x00, 0x00, 0x3e, 0x66, 0x66, 0x3e, 0x06, 0x7c,
      0x00, 0x60, 0x60, 0x7c, 0x66, 0x66, 0x66, 0x00,
      0x00, 0x18, 0x00, 0x38, 0x18, 0x18, 0x3c, 0x00,
      0x00, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x3c,
      0x00, 0x60, 0x60, 0x6c, 0x78, 0x6c, 0x66, 0x00,
      0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00,
      0x00, 0x00, 0x66, 0x7f, 0x7f, 0x6b, 0x63, 0x00,
      0x00, 0x00, 0x7c, 0x66, 0x66, 0x66, 0x66, 0x00,
      0x00, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x3c, 0x00,
      0x00, 0x00, 0x7c, 0x66, 0x66, 0x7c, 0x60, 0x60,
      0x00, 0x00, 0x3e, 0x66, 0x66, 0x3e, 0x06, 0x06,
      0x00, 0x00, 0x7c, 0x66, 0x60, 0x60, 0x60, 0x00,
      0x00, 0x00, 0x3e, 0x60, 0x3c, 0x06, 0x7c, 0x00,
      0x00, 0x18, 0x7e, 0x18, 0x18, 0x18, 0x0e, 0x00,
      0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3e, 0x00,
      0x00, 0x00, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x00,
      0x00, 0x00, 0x63, 0x6b, 0x7f, 0x3e, 0x36, 0x00,
      0x00, 0x00, 0x66, 0x3c, 0x18, 0x3c, 0x66, 0x00,
      0x00, 0x00, 0x66, 0x66, 0x66, 0x3e, 0x0c, 0x78,
      0x00, 0x00, 0x7e, 0x0c, 0x18, 0x30, 0x7e, 0x00,
      0x66, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x3c, 0x00,
      0x66, 0x18, 0x3c, 0x66, 0x7e, 0x66, 0x66, 0x00,
      0x42, 0x3c, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
      0x1c, 0x36, 0x36, 0x7c, 0x66, 0x66, 0x7c, 0x40,
      0x08, 0x0c, 0x0e, 0xff, 0xff, 0x0e, 0x0c, 0x08,
};

/* German C64 MM */
static const unsigned char germanCharsetDataV0[] = {
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x01, 0x03, 0x06, 0x0c, 0x18, 0x3e, 0x03, 0x00,
      0x80, 0xc0, 0x60, 0x30, 0x18, 0x7c, 0xc0, 0x00,
      0x00, 0x03, 0x3e, 0x18, 0x0c, 0x06, 0x03, 0x01,
      0x00, 0xc0, 0x7c, 0x18, 0x30, 0x60, 0xc0, 0x80,
      0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
      0x03, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x1f, 0x7f,
      0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0,
      0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07,
      0x00, 0x00, 0x00, 0x01, 0x03, 0x06, 0x0c, 0x18,
      0x00, 0x00, 0x00, 0x80, 0xc0, 0x60, 0x30, 0x18,
      0x18, 0x30, 0x60, 0xc0, 0x80, 0x00, 0x00, 0x00,
      0x18, 0x0c, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x1f, 0x1f, 0x18, 0x18, 0x18,
      0x00, 0x00, 0x00, 0xf8, 0xf8, 0x18, 0x18, 0x18,
      0x18, 0x18, 0x18, 0xf8, 0xf8, 0x00, 0x00, 0x00,
      0x18, 0x18, 0x18, 0x1f, 0x1f, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x18, 0x18,
      0x00, 0x00, 0x00, 0xc0, 0xe0, 0x30, 0x18, 0x18,
      0x18, 0x18, 0x30, 0xe0, 0xc0, 0x00, 0x00, 0x00,
      0x18, 0x18, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00,
      0x18, 0x18, 0x18, 0x1f, 0x1f, 0x18, 0x18, 0x18,
      0x18, 0x18, 0x18, 0xf8, 0xf8, 0x18, 0x18, 0x18,
      0x18, 0x18, 0x18, 0xff, 0xff, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0xff, 0xff, 0x18, 0x18, 0x18,
      0x18, 0x18, 0x18, 0xff, 0xff, 0x18, 0x18, 0x18,
      0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
      0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
      0x18, 0x3c, 0x66, 0xc3, 0xc3, 0x66, 0x3c, 0x18,
      0x18, 0x3c, 0x7e, 0xff, 0xff, 0x7e, 0x3c, 0x18,
      0x18, 0x66, 0xc3, 0xdb, 0xdb, 0xc3, 0x66, 0x18,
      0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x18, 0x00,
      0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x66, 0x66, 0xff, 0x66, 0xff, 0x66, 0x66, 0x00,
      0x66, 0x3c, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x49, 0x00,
      0x3c, 0x66, 0x3c, 0x38, 0x67, 0x66, 0x3f, 0x00,
      0x06, 0x0c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x0c, 0x18, 0x30, 0x30, 0x30, 0x18, 0x0c, 0x00,
      0x30, 0x18, 0x0c, 0x0c, 0x0c, 0x18, 0x30, 0x00,
      0x3c, 0x66, 0x66, 0x7c, 0x66, 0x66, 0x6c, 0x60,
      0x66, 0x3c, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x30,
      0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00,
      0x00, 0x03, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x00,
      0x3c, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
      0x18, 0x18, 0x38, 0x18, 0x18, 0x18, 0x7e, 0x00,
      0x3c, 0x66, 0x06, 0x0c, 0x30, 0x60, 0x7e, 0x00,
      0x3c, 0x66, 0x06, 0x1c, 0x06, 0x66, 0x3c, 0x00,
      0x06, 0x0e, 0x1e, 0x66, 0x7f, 0x06, 0x06, 0x00,
      0x7e, 0x60, 0x7c, 0x06, 0x06, 0x66, 0x3c, 0x00,
      0x3c, 0x66, 0x60, 0x7c, 0x66, 0x66, 0x3c, 0x00,
      0x7e, 0x66, 0x0c, 0x18, 0x18, 0x18, 0x18, 0x00,
      0x3c, 0x66, 0x66, 0x3c, 0x66, 0x66, 0x3c, 0x00,
      0x3c, 0x66, 0x66, 0x3e, 0x06, 0x66, 0x3c, 0x00,
      0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00,
      0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x18, 0x30,
      0x66, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3e, 0x00,
      0x7c, 0x82, 0xba, 0xa2, 0xba, 0x82, 0x7c, 0x00,
      0x66, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x3c, 0x00,
      0x3c, 0x66, 0x06, 0x0c, 0x18, 0x00, 0x18, 0x00,
      0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
      0x18, 0x3c, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x00,
      0x7c, 0x66, 0x66, 0x7c, 0x66, 0x66, 0x7c, 0x00,
      0x3c, 0x66, 0x60, 0x60, 0x60, 0x66, 0x3c, 0x00,
      0x78, 0x6c, 0x66, 0x66, 0x66, 0x6c, 0x78, 0x00,
      0x7e, 0x60, 0x60, 0x78, 0x60, 0x60, 0x7e, 0x00,
      0x7e, 0x60, 0x60, 0x78, 0x60, 0x60, 0x60, 0x00,
      0x3c, 0x66, 0x60, 0x6e, 0x66, 0x66, 0x3c, 0x00,
      0x66, 0x66, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x00,
      0x3c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00,
      0x1e, 0x0c, 0x0c, 0x0c, 0x0c, 0x6c, 0x38, 0x00,
      0x66, 0x6c, 0x78, 0x70, 0x78, 0x6c, 0x66, 0x00,
      0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7e, 0x00,
      0x63, 0x77, 0x7f, 0x6b, 0x63, 0x63, 0x63, 0x00,
      0x66, 0x76, 0x7e, 0x7e, 0x6e, 0x66, 0x66, 0x00,
      0x3c, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
      0x7c, 0x66, 0x66, 0x7c, 0x60, 0x60, 0x60, 0x00,
      0x3c, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x0e, 0x00,
      0x7c, 0x66, 0x66, 0x7c, 0x78, 0x6c, 0x66, 0x00,
      0x3c, 0x66, 0x60, 0x3c, 0x06, 0x66, 0x3c, 0x00,
      0x7e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00,
      0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
      0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x00,
      0x63, 0x63, 0x63, 0x6b, 0x7f, 0x77, 0x63, 0x00,
      0x66, 0x66, 0x3c, 0x18, 0x3c, 0x66, 0x66, 0x00,
      0x66, 0x66, 0x66, 0x3c, 0x18, 0x18, 0x18, 0x00,
      0x7e, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x7e, 0x00,
      0x66, 0x00, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00,
      0x0c, 0x12, 0x30, 0x7c, 0x30, 0x62, 0xfc, 0x00,
      0x66, 0x24, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
      0x00, 0x18, 0x3c, 0x7e, 0x18, 0x18, 0x18, 0x18,
      0x00, 0x10, 0x30, 0x7f, 0x7f, 0x30, 0x10, 0x00,
      0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00,
      0x00, 0x60, 0x60, 0x7c, 0x66, 0x66, 0x7c, 0x00,
      0x00, 0x00, 0x3c, 0x60, 0x60, 0x60, 0x3c, 0x00,
      0x00, 0x06, 0x06, 0x3e, 0x66, 0x66, 0x3e, 0x00,
      0x00, 0x00, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00,
      0x00, 0x0e, 0x18, 0x3e, 0x18, 0x18, 0x18, 0x00,
      0x00, 0x00, 0x3e, 0x66, 0x66, 0x3e, 0x06, 0x7c,
      0x00, 0x60, 0x60, 0x7c, 0x66, 0x66, 0x66, 0x00,
      0x00, 0x18, 0x00, 0x38, 0x18, 0x18, 0x3c, 0x00,
      0x00, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x3c,
      0x00, 0x60, 0x60, 0x6c, 0x78, 0x6c, 0x66, 0x00,
      0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00,
      0x00, 0x00, 0x66, 0x7f, 0x7f, 0x6b, 0x63, 0x00,
      0x00, 0x00, 0x7c, 0x66, 0x66, 0x66, 0x66, 0x00,
      0x00, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x3c, 0x00,
      0x00, 0x00, 0x7c, 0x66, 0x66, 0x7c, 0x60, 0x60,
      0x00, 0x00, 0x3e, 0x66, 0x66, 0x3e, 0x06, 0x06,
      0x00, 0x00, 0x7c, 0x66, 0x60, 0x60, 0x60, 0x00,
      0x00, 0x00, 0x3e, 0x60, 0x3c, 0x06, 0x7c, 0x00,
      0x00, 0x18, 0x7e, 0x18, 0x18, 0x18, 0x0e, 0x00,
      0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3e, 0x00,
      0x00, 0x00, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x00,
      0x00, 0x00, 0x63, 0x6b, 0x7f, 0x3e, 0x36, 0x00,
      0x00, 0x00, 0x66, 0x3c, 0x18, 0x3c, 0x66, 0x00,
      0x00, 0x00, 0x66, 0x66, 0x66, 0x3e, 0x0c, 0x78,
      0x00, 0x00, 0x7e, 0x0c, 0x18, 0x30, 0x7e, 0x00,
      0x01, 0x03, 0x06, 0x6c, 0x78, 0x70, 0x60, 0x00,
      0x18, 0x3c, 0x7e, 0xff, 0x18, 0x18, 0x18, 0x18,
      0x18, 0x18, 0x18, 0x18, 0xff, 0x7e, 0x3c, 0x18,
      0x10, 0x30, 0x70, 0xff, 0xff, 0x70, 0x30, 0x10,
      0x08, 0x0c, 0x0e, 0xff, 0xff, 0x0e, 0x0c, 0x08,
};

/* French Zak font. */
static const unsigned char frenchCharsetDataV2[] = {
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x01, 0x03, 0x06, 0x0c, 0x18, 0x3e, 0x03, 0x00,
      0x80, 0xc0, 0x60, 0x30, 0x18, 0x7c, 0xc0, 0x00,
      0x00, 0x03, 0x3e, 0x18, 0x0c, 0x06, 0x03, 0x01,
      0x00, 0xc0, 0x7c, 0x18, 0x30, 0x60, 0xc0, 0x80,
      0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
      0x03, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x1f, 0x7f,
      0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0,
      0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07,
      0x00, 0x00, 0x00, 0x01, 0x03, 0x06, 0x0c, 0x18,
      0x00, 0x00, 0x00, 0x80, 0xc0, 0x60, 0x30, 0x18,
      0x18, 0x30, 0x60, 0xc0, 0x80, 0x00, 0x00, 0x00,
      0x18, 0x0c, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x1f, 0x1f, 0x18, 0x18, 0x18,
      0x00, 0x00, 0x00, 0xf8, 0xf8, 0x18, 0x18, 0x18,
      0x18, 0x18, 0x18, 0xf8, 0xf8, 0x00, 0x00, 0x00,
      0x18, 0x18, 0x18, 0x1f, 0x1f, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x18, 0x18,
      0x00, 0x00, 0x00, 0xc0, 0xe0, 0x30, 0x18, 0x18,
      0x18, 0x18, 0x30, 0xe0, 0xc0, 0x00, 0x00, 0x00,
      0x18, 0x18, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00,
      0x18, 0x18, 0x18, 0x1f, 0x1f, 0x18, 0x18, 0x18,
      0x18, 0x18, 0x18, 0xf8, 0xf8, 0x18, 0x18, 0x18,
      0x18, 0x18, 0x18, 0xff, 0xff, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0xff, 0xff, 0x18, 0x18, 0x18,
      0x18, 0x18, 0x18, 0xff, 0xff, 0x18, 0x18, 0x18,
      0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
      0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
      0x18, 0x3c, 0x66, 0xc3, 0xc3, 0x66, 0x3c, 0x18,
      0x18, 0x3c, 0x7e, 0xff, 0xff, 0x7e, 0x3c, 0x18,
      0x18, 0x66, 0xc3, 0xdb, 0xdb, 0xc3, 0x66, 0x18,
      0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x18, 0x00,
      0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x66, 0x66, 0xff, 0x66, 0xff, 0x66, 0x66, 0x00,
      0x18, 0x3e, 0x60, 0x3c, 0x06, 0x7c, 0x18, 0x00,
      0x62, 0x66, 0x0c, 0x18, 0x30, 0x66, 0x46, 0x00,
      0x3c, 0x66, 0x3c, 0x38, 0x67, 0x66, 0x3f, 0x00,
      0x30, 0x18, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x0c, 0x18, 0x30, 0x30, 0x30, 0x18, 0x0c, 0x00,
      0x30, 0x18, 0x0c, 0x0c, 0x0c, 0x18, 0x30, 0x00,
      0x00, 0x66, 0x3c, 0xff, 0x3c, 0x66, 0x00, 0x00,
      0x00, 0x18, 0x18, 0x7e, 0x18, 0x18, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x30,
      0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00,
      0x00, 0x03, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x00,
      0x3c, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
      0x18, 0x18, 0x38, 0x18, 0x18, 0x18, 0x7e, 0x00,
      0x3c, 0x66, 0x06, 0x0c, 0x30, 0x60, 0x7e, 0x00,
      0x3c, 0x66, 0x06, 0x1c, 0x06, 0x66, 0x3c, 0x00,
      0x06, 0x0e, 0x1e, 0x66, 0x7f, 0x06, 0x06, 0x00,
      0x7e, 0x60, 0x7c, 0x06, 0x06, 0x66, 0x3c, 0x00,
      0x3c, 0x66, 0x60, 0x7c, 0x66, 0x66, 0x3c, 0x00,
      0x7e, 0x66, 0x0c, 0x18, 0x18, 0x18, 0x18, 0x00,
      0x3c, 0x66, 0x66, 0x3c, 0x66, 0x66, 0x3c, 0x00,
      0x3c, 0x66, 0x66, 0x3e, 0x06, 0x66, 0x3c, 0x00,
      0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00,
      0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x18, 0x30,
      0x10, 0x08, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00,
      0x18, 0x24, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00,
      0x00, 0x00, 0x3c, 0x60, 0x60, 0x3c, 0x18, 0x38,
      0x3c, 0x66, 0x06, 0x0c, 0x18, 0x00, 0x18, 0x00,
      0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
      0x18, 0x3c, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x00,
      0x7c, 0x66, 0x66, 0x7c, 0x66, 0x66, 0x7c, 0x00,
      0x3c, 0x66, 0x60, 0x60, 0x60, 0x66, 0x3c, 0x00,
      0x78, 0x6c, 0x66, 0x66, 0x66, 0x6c, 0x78, 0x00,
      0x7e, 0x60, 0x60, 0x78, 0x60, 0x60, 0x7e, 0x00,
      0x7e, 0x60, 0x60, 0x78, 0x60, 0x60, 0x60, 0x00,
      0x3c, 0x66, 0x60, 0x6e, 0x66, 0x66, 0x3c, 0x00,
      0x66, 0x66, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x00,
      0x3c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00,
      0x1e, 0x0c, 0x0c, 0x0c, 0x0c, 0x6c, 0x38, 0x00,
      0x66, 0x6c, 0x78, 0x70, 0x78, 0x6c, 0x66, 0x00,
      0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7e, 0x00,
      0x63, 0x77, 0x7f, 0x6b, 0x63, 0x63, 0x63, 0x00,
      0x66, 0x76, 0x7e, 0x7e, 0x6e, 0x66, 0x66, 0x00,
      0x3c, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
      0x7c, 0x66, 0x66, 0x7c, 0x60, 0x60, 0x60, 0x00,
      0x3c, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x0e, 0x00,
      0x7c, 0x66, 0x66, 0x7c, 0x78, 0x6c, 0x66, 0x00,
      0x3c, 0x66, 0x60, 0x3c, 0x06, 0x66, 0x3c, 0x00,
      0x7e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00,
      0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
      0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x00,
      0x63, 0x63, 0x63, 0x6b, 0x7f, 0x77, 0x63, 0x00,
      0x66, 0x66, 0x3c, 0x18, 0x3c, 0x66, 0x66, 0x00,
      0x66, 0x66, 0x66, 0x3c, 0x18, 0x18, 0x18, 0x00,
      0x7e, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x7e, 0x00,
      0x08, 0x10, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00,
      0x10, 0x08, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00,
      0x18, 0x24, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0xdb, 0x00,
      0x00, 0x6c, 0x00, 0x38, 0x18, 0x18, 0x3c, 0x00,
      0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00,
      0x00, 0x60, 0x60, 0x7c, 0x66, 0x66, 0x7c, 0x00,
      0x00, 0x00, 0x3c, 0x60, 0x60, 0x60, 0x3c, 0x00,
      0x00, 0x06, 0x06, 0x3e, 0x66, 0x66, 0x3e, 0x00,
      0x00, 0x00, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00,
      0x00, 0x0e, 0x18, 0x3e, 0x18, 0x18, 0x18, 0x00,
      0x00, 0x00, 0x3e, 0x66, 0x66, 0x3e, 0x06, 0x7c,
      0x00, 0x60, 0x60, 0x7c, 0x66, 0x66, 0x66, 0x00,
      0x00, 0x18, 0x00, 0x38, 0x18, 0x18, 0x3c, 0x00,
      0x00, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x3c,
      0x00, 0x60, 0x60, 0x6c, 0x78, 0x6c, 0x66, 0x00,
      0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00,
      0x00, 0x00, 0x66, 0x7f, 0x7f, 0x6b, 0x63, 0x00,
      0x00, 0x00, 0x7c, 0x66, 0x66, 0x66, 0x66, 0x00,
      0x00, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x3c, 0x00,
      0x00, 0x00, 0x7c, 0x66, 0x66, 0x7c, 0x60, 0x60,
      0x00, 0x00, 0x3e, 0x66, 0x66, 0x3e, 0x06, 0x06,
      0x00, 0x00, 0x7c, 0x66, 0x60, 0x60, 0x60, 0x00,
      0x00, 0x00, 0x3e, 0x60, 0x3c, 0x06, 0x7c, 0x00,
      0x00, 0x18, 0x7e, 0x18, 0x18, 0x18, 0x0e, 0x00,
      0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3e, 0x00,
      0x00, 0x00, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x00,
      0x00, 0x00, 0x63, 0x6b, 0x7f, 0x3e, 0x36, 0x00,
      0x00, 0x00, 0x66, 0x3c, 0x18, 0x3c, 0x66, 0x00,
      0x00, 0x00, 0x66, 0x66, 0x66, 0x3e, 0x0c, 0x78,
      0x00, 0x00, 0x7e, 0x0c, 0x18, 0x30, 0x7e, 0x00,
      0x18, 0x24, 0x00, 0x38, 0x18, 0x18, 0x3c, 0x00,
      0x18, 0x24, 0x00, 0x3c, 0x66, 0x66, 0x3c, 0x00,
      0x10, 0x08, 0x00, 0x66, 0x66, 0x66, 0x3e, 0x00,
      0x18, 0x24, 0x00, 0x66, 0x66, 0x66, 0x3e, 0x00,
      0x08, 0x0c, 0x0e, 0xff, 0xff, 0x0e, 0x0c, 0x08,
};

/* Italian Zak font. */
static const unsigned char italianCharsetDataV2[] = {
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x01, 0x03, 0x06, 0x0c, 0x18, 0x3e, 0x03, 0x00,
      0x80, 0xc0, 0x60, 0x30, 0x18, 0x7c, 0xc0, 0x00,
      0x00, 0x03, 0x3e, 0x18, 0x0c, 0x06, 0x03, 0x01,
      0x00, 0xc0, 0x7c, 0x18, 0x30, 0x60, 0xc0, 0x80,
      0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
      0x03, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x1f, 0x7f,
      0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0,
      0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07,
      0x00, 0x00, 0x00, 0x01, 0x03, 0x06, 0x0c, 0x18,
      0x00, 0x00, 0x00, 0x80, 0xc0, 0x60, 0x30, 0x18,
      0x18, 0x30, 0x60, 0xc0, 0x80, 0x00, 0x00, 0x00,
      0x18, 0x0c, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x1f, 0x1f, 0x18, 0x18, 0x18,
      0x00, 0x00, 0x00, 0xf8, 0xf8, 0x18, 0x18, 0x18,
      0x18, 0x18, 0x18, 0xf8, 0xf8, 0x00, 0x00, 0x00,
      0x18, 0x18, 0x18, 0x1f, 0x1f, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x18, 0x18,
      0x00, 0x00, 0x00, 0xc0, 0xe0, 0x30, 0x18, 0x18,
      0x18, 0x18, 0x30, 0xe0, 0xc0, 0x00, 0x00, 0x00,
      0x18, 0x18, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00,
      0x18, 0x18, 0x18, 0x1f, 0x1f, 0x18, 0x18, 0x18,
      0x18, 0x18, 0x18, 0xf8, 0xf8, 0x18, 0x18, 0x18,
      0x18, 0x18, 0x18, 0xff, 0xff, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0xff, 0xff, 0x18, 0x18, 0x18,
      0x18, 0x18, 0x18, 0xff, 0xff, 0x18, 0x18, 0x18,
      0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
      0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
      0x18, 0x3c, 0x66, 0xc3, 0xc3, 0x66, 0x3c, 0x18,
      0x18, 0x3c, 0x7e, 0xff, 0xff, 0x7e, 0x3c, 0x18,
      0x18, 0x66, 0xc3, 0xdb, 0xdb, 0xc3, 0x66, 0x18,
      0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x18, 0x00,
      0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x66, 0x66, 0xff, 0x66, 0xff, 0x66, 0x66, 0x00,
      0x18, 0x3e, 0x60, 0x3c, 0x06, 0x7c, 0x18, 0x00,
      0x62, 0x66, 0x0c, 0x18, 0x30, 0x66, 0x46, 0x00,
      0x3c, 0x66, 0x3c, 0x38, 0x67, 0x66, 0x3f, 0x00,
      0x30, 0x18, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x0c, 0x18, 0x30, 0x30, 0x30, 0x18, 0x0c, 0x00,
      0x30, 0x18, 0x0c, 0x0c, 0x0c, 0x18, 0x30, 0x00,
      0x00, 0x66, 0x3c, 0xff, 0x3c, 0x66, 0x00, 0x00,
      0x00, 0x18, 0x18, 0x7e, 0x18, 0x18, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x30,
      0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00,
      0x00, 0x03, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x00,
      0x3c, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
      0x18, 0x18, 0x38, 0x18, 0x18, 0x18, 0x7e, 0x00,
      0x3c, 0x66, 0x06, 0x0c, 0x30, 0x60, 0x7e, 0x00,
      0x3c, 0x66, 0x06, 0x1c, 0x06, 0x66, 0x3c, 0x00,
      0x06, 0x0e, 0x1e, 0x66, 0x7f, 0x06, 0x06, 0x00,
      0x7e, 0x60, 0x7c, 0x06, 0x06, 0x66, 0x3c, 0x00,
      0x3c, 0x66, 0x60, 0x7c, 0x66, 0x66, 0x3c, 0x00,
      0x7e, 0x66, 0x0c, 0x18, 0x18, 0x18, 0x18, 0x00,
      0x3c, 0x66, 0x66, 0x3c, 0x66, 0x66, 0x3c, 0x00,
      0x3c, 0x66, 0x66, 0x3e, 0x06, 0x66, 0x3c, 0x00,
      0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00,
      0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x18, 0x30,
      0x10, 0x08, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00,
      0x08, 0x10, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00,
      0x10, 0x08, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00,
      0x3c, 0x66, 0x06, 0x0c, 0x18, 0x00, 0x18, 0x00,
      0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
      0x18, 0x3c, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x00,
      0x7c, 0x66, 0x66, 0x7c, 0x66, 0x66, 0x7c, 0x00,
      0x3c, 0x66, 0x60, 0x60, 0x60, 0x66, 0x3c, 0x00,
      0x78, 0x6c, 0x66, 0x66, 0x66, 0x6c, 0x78, 0x00,
      0x7e, 0x60, 0x60, 0x78, 0x60, 0x60, 0x7e, 0x00,
      0x7e, 0x60, 0x60, 0x78, 0x60, 0x60, 0x60, 0x00,
      0x3c, 0x66, 0x60, 0x6e, 0x66, 0x66, 0x3c, 0x00,
      0x66, 0x66, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x00,
      0x3c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00,
      0x1e, 0x0c, 0x0c, 0x0c, 0x0c, 0x6c, 0x38, 0x00,
      0x66, 0x6c, 0x78, 0x70, 0x78, 0x6c, 0x66, 0x00,
      0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7e, 0x00,
      0x63, 0x77, 0x7f, 0x6b, 0x63, 0x63, 0x63, 0x00,
      0x66, 0x76, 0x7e, 0x7e, 0x6e, 0x66, 0x66, 0x00,
      0x3c, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
      0x7c, 0x66, 0x66, 0x7c, 0x60, 0x60, 0x60, 0x00,
      0x3c, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x0e, 0x00,
      0x7c, 0x66, 0x66, 0x7c, 0x78, 0x6c, 0x66, 0x00,
      0x3c, 0x66, 0x60, 0x3c, 0x06, 0x66, 0x3c, 0x00,
      0x7e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00,
      0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
      0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x00,
      0x63, 0x63, 0x63, 0x6b, 0x7f, 0x77, 0x63, 0x00,
      0x66, 0x66, 0x3c, 0x18, 0x3c, 0x66, 0x66, 0x00,
      0x66, 0x66, 0x66, 0x3c, 0x18, 0x18, 0x18, 0x00,
      0x7e, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x7e, 0x00,
      0x08, 0x10, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00,
      0x10, 0x08, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00,
      0x18, 0x24, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0xdb, 0x00,
      0x00, 0x6c, 0x00, 0x38, 0x18, 0x18, 0x3c, 0x00,
      0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00,
      0x00, 0x60, 0x60, 0x7c, 0x66, 0x66, 0x7c, 0x00,
      0x00, 0x00, 0x3c, 0x60, 0x60, 0x60, 0x3c, 0x00,
      0x00, 0x06, 0x06, 0x3e, 0x66, 0x66, 0x3e, 0x00,
      0x00, 0x00, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00,
      0x00, 0x0e, 0x18, 0x3e, 0x18, 0x18, 0x18, 0x00,
      0x00, 0x00, 0x3e, 0x66, 0x66, 0x3e, 0x06, 0x7c,
      0x00, 0x60, 0x60, 0x7c, 0x66, 0x66, 0x66, 0x00,
      0x00, 0x18, 0x00, 0x38, 0x18, 0x18, 0x3c, 0x00,
      0x00, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x3c,
      0x00, 0x60, 0x60, 0x6c, 0x78, 0x6c, 0x66, 0x00,
      0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00,
      0x00, 0x00, 0x66, 0x7f, 0x7f, 0x6b, 0x63, 0x00,
      0x00, 0x00, 0x7c, 0x66, 0x66, 0x66, 0x66, 0x00,
      0x00, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x3c, 0x00,
      0x00, 0x00, 0x7c, 0x66, 0x66, 0x7c, 0x60, 0x60,
      0x00, 0x00, 0x3e, 0x66, 0x66, 0x3e, 0x06, 0x06,
      0x00, 0x00, 0x7c, 0x66, 0x60, 0x60, 0x60, 0x00,
      0x00, 0x00, 0x3e, 0x60, 0x3c, 0x06, 0x7c, 0x00,
      0x00, 0x18, 0x7e, 0x18, 0x18, 0x18, 0x0e, 0x00,
      0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3e, 0x00,
      0x00, 0x00, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x00,
      0x00, 0x00, 0x63, 0x6b, 0x7f, 0x3e, 0x36, 0x00,
      0x00, 0x00, 0x66, 0x3c, 0x18, 0x3c, 0x66, 0x00,
      0x00, 0x00, 0x66, 0x66, 0x66, 0x3e, 0x0c, 0x78,
      0x00, 0x00, 0x7e, 0x0c, 0x18, 0x30, 0x7e, 0x00,
      0x10, 0x08, 0x00, 0x38, 0x18, 0x18, 0x3c, 0x00,
      0x10, 0x08, 0x00, 0x3c, 0x66, 0x66, 0x3c, 0x00,
      0x10, 0x08, 0x00, 0x66, 0x66, 0x66, 0x3e, 0x00,
      0x18, 0x24, 0x00, 0x66, 0x66, 0x66, 0x3e, 0x00,
      0x08, 0x0c, 0x0e, 0xff, 0xff, 0x0e, 0x0c, 0x08,
};

/* Spanish Zak font. */
static const unsigned char spanishCharsetDataV2[] = {
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x01, 0x03, 0x06, 0x0c, 0x18, 0x3e, 0x03, 0x00,
      0x80, 0xc0, 0x60, 0x30, 0x18, 0x7c, 0xc0, 0x00,
      0x00, 0x03, 0x3e, 0x18, 0x0c, 0x06, 0x03, 0x01,
      0x00, 0xc0, 0x7c, 0x18, 0x30, 0x60, 0xc0, 0x80,
      0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
      0x03, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x1f, 0x7f,
      0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0,
      0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07,
      0x00, 0x00, 0x00, 0x01, 0x03, 0x06, 0x0c, 0x18,
      0x00, 0x00, 0x00, 0x80, 0xc0, 0x60, 0x30, 0x18,
      0x18, 0x30, 0x60, 0xc0, 0x80, 0x00, 0x00, 0x00,
      0x18, 0x0c, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x1f, 0x1f, 0x18, 0x18, 0x18,
      0x00, 0x00, 0x00, 0xf8, 0xf8, 0x18, 0x18, 0x18,
      0x18, 0x18, 0x18, 0xf8, 0xf8, 0x00, 0x00, 0x00,
      0x18, 0x18, 0x18, 0x1f, 0x1f, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x18, 0x18,
      0x00, 0x00, 0x00, 0xc0, 0xe0, 0x30, 0x18, 0x18,
      0x18, 0x18, 0x30, 0xe0, 0xc0, 0x00, 0x00, 0x00,
      0x18, 0x18, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00,
      0x18, 0x18, 0x18, 0x1f, 0x1f, 0x18, 0x18, 0x18,
      0x18, 0x18, 0x18, 0xf8, 0xf8, 0x18, 0x18, 0x18,
      0x18, 0x18, 0x18, 0xff, 0xff, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0xff, 0xff, 0x18, 0x18, 0x18,
      0x18, 0x18, 0x18, 0xff, 0xff, 0x18, 0x18, 0x18,
      0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
      0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
      0x18, 0x3c, 0x66, 0xc3, 0xc3, 0x66, 0x3c, 0x18,
      0x18, 0x3c, 0x7e, 0xff, 0xff, 0x7e, 0x3c, 0x18,
      0x18, 0x66, 0xc3, 0xdb, 0xdb, 0xc3, 0x66, 0x18,
      0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x18, 0x00,
      0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x66, 0x66, 0xff, 0x66, 0xff, 0x66, 0x66, 0x00,
      0x18, 0x3e, 0x60, 0x3c, 0x06, 0x7c, 0x18, 0x00,
      0x62, 0x66, 0x0c, 0x18, 0x30, 0x66, 0x46, 0x00,
      0x3c, 0x66, 0x3c, 0x38, 0x67, 0x66, 0x3f, 0x00,
      0x30, 0x18, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x0c, 0x18, 0x30, 0x30, 0x30, 0x18, 0x0c, 0x00,
      0x30, 0x18, 0x0c, 0x0c, 0x0c, 0x18, 0x30, 0x00,
      0x00, 0x66, 0x3c, 0xff, 0x3c, 0x66, 0x00, 0x00,
      0x00, 0x18, 0x18, 0x7e, 0x18, 0x18, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x30,
      0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00,
      0x00, 0x03, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x00,
      0x3c, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
      0x18, 0x18, 0x38, 0x18, 0x18, 0x18, 0x7e, 0x00,
      0x3c, 0x66, 0x06, 0x0c, 0x30, 0x60, 0x7e, 0x00,
      0x3c, 0x66, 0x06, 0x1c, 0x06, 0x66, 0x3c, 0x00,
      0x06, 0x0e, 0x1e, 0x66, 0x7f, 0x06, 0x06, 0x00,
      0x7e, 0x60, 0x7c, 0x06, 0x06, 0x66, 0x3c, 0x00,
      0x3c, 0x66, 0x60, 0x7c, 0x66, 0x66, 0x3c, 0x00,
      0x7e, 0x66, 0x0c, 0x18, 0x18, 0x18, 0x18, 0x00,
      0x3c, 0x66, 0x66, 0x3c, 0x66, 0x66, 0x3c, 0x00,
      0x3c, 0x66, 0x66, 0x3e, 0x06, 0x66, 0x3c, 0x00,
      0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00,
      0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x18, 0x30,
      0x0e, 0x18, 0x30, 0x60, 0x30, 0x18, 0x0e, 0x00,
      0x7c, 0x82, 0xba, 0xa2, 0xa2, 0xba, 0x82, 0x7c,
      0x70, 0x18, 0x0c, 0x06, 0x0c, 0x18, 0x70, 0x00,
      0x3c, 0x66, 0x06, 0x0c, 0x18, 0x00, 0x18, 0x00,
      0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
      0x18, 0x3c, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x00,
      0x7c, 0x66, 0x66, 0x7c, 0x66, 0x66, 0x7c, 0x00,
      0x3c, 0x66, 0x60, 0x60, 0x60, 0x66, 0x3c, 0x00,
      0x78, 0x6c, 0x66, 0x66, 0x66, 0x6c, 0x78, 0x00,
      0x7e, 0x60, 0x60, 0x78, 0x60, 0x60, 0x7e, 0x00,
      0x7e, 0x60, 0x60, 0x78, 0x60, 0x60, 0x60, 0x00,
      0x3c, 0x66, 0x60, 0x6e, 0x66, 0x66, 0x3c, 0x00,
      0x66, 0x66, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x00,
      0x3c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00,
      0x1e, 0x0c, 0x0c, 0x0c, 0x0c, 0x6c, 0x38, 0x00,
      0x66, 0x6c, 0x78, 0x70, 0x78, 0x6c, 0x66, 0x00,
      0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7e, 0x00,
      0x63, 0x77, 0x7f, 0x6b, 0x63, 0x63, 0x63, 0x00,
      0x66, 0x76, 0x7e, 0x7e, 0x6e, 0x66, 0x66, 0x00,
      0x3c, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
      0x7c, 0x66, 0x66, 0x7c, 0x60, 0x60, 0x60, 0x00,
      0x3c, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x0e, 0x00,
      0x7c, 0x66, 0x66, 0x7c, 0x78, 0x6c, 0x66, 0x00,
      0x3c, 0x66, 0x60, 0x3c, 0x06, 0x66, 0x3c, 0x00,
      0x7e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00,
      0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
      0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x00,
      0x63, 0x63, 0x63, 0x6b, 0x7f, 0x77, 0x63, 0x00,
      0x66, 0x66, 0x3c, 0x18, 0x3c, 0x66, 0x66, 0x00,
      0x66, 0x66, 0x66, 0x3c, 0x18, 0x18, 0x18, 0x00,
      0x7e, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x7e, 0x00,
      0x66, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3e, 0x00,
      0x66, 0x00, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00,
      0x66, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0xdb, 0x00,
      0x00, 0x10, 0x30, 0x7f, 0x7f, 0x30, 0x10, 0x00,
      0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00,
      0x00, 0x60, 0x60, 0x7c, 0x66, 0x66, 0x7c, 0x00,
      0x00, 0x00, 0x3c, 0x60, 0x60, 0x60, 0x3c, 0x00,
      0x00, 0x06, 0x06, 0x3e, 0x66, 0x66, 0x3e, 0x00,
      0x00, 0x00, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00,
      0x00, 0x0e, 0x18, 0x3e, 0x18, 0x18, 0x18, 0x00,
      0x00, 0x00, 0x3e, 0x66, 0x66, 0x3e, 0x06, 0x7c,
      0x00, 0x60, 0x60, 0x7c, 0x66, 0x66, 0x66, 0x00,
      0x00, 0x18, 0x00, 0x38, 0x18, 0x18, 0x3c, 0x00,
      0x00, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x3c,
      0x00, 0x60, 0x60, 0x6c, 0x78, 0x6c, 0x66, 0x00,
      0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00,
      0x00, 0x00, 0x66, 0x7f, 0x7f, 0x6b, 0x63, 0x00,
      0x00, 0x00, 0x7c, 0x66, 0x66, 0x66, 0x66, 0x00,
      0x00, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x3c, 0x00,
      0x00, 0x00, 0x7c, 0x66, 0x66, 0x7c, 0x60, 0x60,
      0x00, 0x00, 0x3e, 0x66, 0x66, 0x3e, 0x06, 0x06,
      0x00, 0x00, 0x7c, 0x66, 0x60, 0x60, 0x60, 0x00,
      0x00, 0x00, 0x3e, 0x60, 0x3c, 0x06, 0x7c, 0x00,
      0x00, 0x18, 0x7e, 0x18, 0x18, 0x18, 0x0e, 0x00,
      0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3e, 0x00,
      0x00, 0x00, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x00,
      0x00, 0x00, 0x63, 0x6b, 0x7f, 0x3e, 0x36, 0x00,
      0x00, 0x00, 0x66, 0x3c, 0x18, 0x3c, 0x66, 0x00,
      0x00, 0x00, 0x66, 0x66, 0x66, 0x3e, 0x0c, 0x78,
      0x00, 0x00, 0x7e, 0x0c, 0x18, 0x30, 0x7e, 0x00,
      0x66, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x3c, 0x00,
      0x66, 0x18, 0x3c, 0x66, 0x7e, 0x66, 0x66, 0x00,
      0x42, 0x3c, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
      0x1c, 0x36, 0x36, 0x7c, 0x66, 0x66, 0x7c, 0x40,
      0x08, 0x0c, 0x0e, 0xff, 0xff, 0x0e, 0x0c, 0x08,
};

unsigned char *specialCharsetData = NULL;
int numSpecialChars = 0;

void compressCharset(const unsigned char *data, const char *var, const char *name) {
      int i;

      printf("// %s\n", name);
      printf("static const byte %s[] = {\n", var);

      for (i = 0; i < 128; i++) {
            if (memcmp(data + 8 * i, englishCharsetDataV2 + 8 * i, 8) != 0) {
                  /* The character is different from our baseline font.
                   * Look in the list of special characters.
                   */
                  int j;

                  for (j = 0; j < numSpecialChars; j++) {
                        if (memcmp(data + 8 * i, specialCharsetData + 8 * j, 8) == 0)
                              break;
                  }

                  if (j >= numSpecialChars) {
                        specialCharsetData = (unsigned char *)realloc(specialCharsetData, 8 * (numSpecialChars + 1));
                        memcpy(specialCharsetData + 8 * numSpecialChars, data + 8 * i, 8);
                        numSpecialChars++;
                  }

                  printf("\t%d, %d,\n", i, j);
            }
      }

      printf("};\n\n");
}

int main() {
      int i, j;

      printf("// These replacement character tables have been created using the\n");
      printf("// make-scumm-fontdata tool.\n\n");

      /*
       * Create an array of replacement characters for each font data set.
       * Each replacement character consists of a character code and an
       * offset into the specialCharsetData[] array.
       */

      compressCharset(germanCharsetDataV2, "germanCharsetDataV2", "German Zak font.");
      compressCharset(germanCharsetDataV0, "germanCharsetDataV0", "German C64 MM.");
      compressCharset(frenchCharsetDataV2, "frenchCharsetDataV2", "French Zak font.");
      compressCharset(italianCharsetDataV2, "italianCharsetDataV2", "Italian Zak font.");
      compressCharset(spanishCharsetDataV2, "spanishCharsetDataV2", "Spanish Zak font.");

      printf("// Special characters\n");
      printf("static const byte specialCharsetData[] = {\n");

      for (i = 0; i < numSpecialChars; i++) {
            printf("\t");
            for (j = 0; j < 8; j++) {
                  printf("0x%02x,", specialCharsetData[8 * i + j]);
                  if (j < 7)
                        printf(" ");
            }
            printf("\n");
      }

      printf("};\n");

      return 0;
}

Generated by  Doxygen 1.6.0   Back to index