[Scummvm-cvs-logs] SF.net SVN: scummvm:[35056] scummvm/trunk

eriktorbjorn at users.sourceforge.net eriktorbjorn at users.sourceforge.net
Fri Nov 14 15:03:08 CET 2008


Revision: 35056
          http://scummvm.svn.sourceforge.net/scummvm/?rev=35056&view=rev
Author:   eriktorbjorn
Date:     2008-11-14 14:03:08 +0000 (Fri, 14 Nov 2008)

Log Message:
-----------
Committed my own patch #2278665 ("SCUMM: Font data in old SCUMM games") to get
rid of a few kilobytes of hard-coded font data. (The font data is still there,
but now we only store how the French, German, Italian and Spanish fonts differ
from the English one.)

Modified Paths:
--------------
    scummvm/trunk/engines/saga/animation.h
    scummvm/trunk/engines/scumm/charset-fontdata.cpp
    scummvm/trunk/engines/scumm/charset.h
    scummvm/trunk/tools/module.mk

Added Paths:
-----------
    scummvm/trunk/tools/make-scumm-fontdata.c

Modified: scummvm/trunk/engines/saga/animation.h
===================================================================
--- scummvm/trunk/engines/saga/animation.h	2008-11-14 13:26:23 UTC (rev 35055)
+++ scummvm/trunk/engines/saga/animation.h	2008-11-14 14:03:08 UTC (rev 35056)
@@ -166,11 +166,9 @@
 		if (animId >= MAX_ANIMATIONS) {
 			if (animId >= MAX_ANIMATIONS + ARRAYSIZE(_cutawayAnimations))
 				error("validateAnimationId: animId out of range");
-			if (_cutawayAnimations[animId - MAX_ANIMATIONS] == NULL) {
+			if (_cutawayAnimations[animId - MAX_ANIMATIONS] == NULL)
 				error("validateAnimationId: animId=%i unassigned", animId);
-			}
-		}
-		if (_animations[animId] == NULL) {
+		} else if (_animations[animId] == NULL) {
 			error("validateAnimationId: animId=%i unassigned.", animId);
 		}
 	}
@@ -184,7 +182,7 @@
 
 	AnimationData* getAnimation(uint16 animId) {
 		validateAnimationId(animId);
-		if (animId > MAX_ANIMATIONS)
+		if (animId >= MAX_ANIMATIONS)
 			return _cutawayAnimations[animId - MAX_ANIMATIONS];
 		return _animations[animId];
 	}

Modified: scummvm/trunk/engines/scumm/charset-fontdata.cpp
===================================================================
--- scummvm/trunk/engines/scumm/charset-fontdata.cpp	2008-11-14 13:26:23 UTC (rev 35055)
+++ scummvm/trunk/engines/scumm/charset-fontdata.cpp	2008-11-14 14:03:08 UTC (rev 35056)
@@ -160,667 +160,6 @@
 	0x08, 0x0C, 0x0E, 0xFF, 0xFF, 0x0E, 0x0C, 0x08,
 };
 
-// German Zak font
-static const byte 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 byte 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 byte 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 byte 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.
-// FIXME: This is identical to germanCharsetDataV2 it seems?!
-static const byte 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,
-};
-
 static const byte russianCharsetDataV2[] = {
 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 	0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xc0, 0x80,
@@ -1066,27 +405,151 @@
 	0x48, 0x00, 0x78, 0xcc, 0xfc, 0xc0, 0x78, 0x00
 };
 
+// These replacement character tables have been created using the
+// make-charset-fontdata tool.
+
+// German Zak font.
+static const byte germanCharsetDataV2[] = {
+	36, 0,
+	37, 1,
+	39, 2,
+	61, 3,
+	91, 4,
+	92, 5,
+	93, 6,
+	123, 7,
+	124, 8,
+	125, 9,
+	126, 10,
+};
+
+// German C64 MM.
+static const byte germanCharsetDataV0[] = {
+	36, 11,
+	42, 12,
+	43, 13,
+	60, 4,
+	62, 7,
+	91, 5,
+	93, 14,
+	94, 15,
+};
+
+// French Zak font.
+static const byte frenchCharsetDataV2[] = {
+	36, 0,
+	37, 1,
+	39, 2,
+	60, 16,
+	61, 17,
+	62, 18,
+	91, 19,
+	92, 20,
+	93, 21,
+	95, 22,
+	123, 23,
+	124, 24,
+	125, 25,
+	126, 26,
+};
+
+// Italian Zak font.
+static const byte italianCharsetDataV2[] = {
+	36, 0,
+	37, 1,
+	39, 2,
+	60, 16,
+	61, 27,
+	62, 20,
+	91, 19,
+	92, 20,
+	93, 21,
+	95, 22,
+	123, 28,
+	124, 29,
+	125, 25,
+	126, 26,
+};
+
+// Spanish Zak font.
+static const byte spanishCharsetDataV2[] = {
+	36, 0,
+	37, 1,
+	39, 2,
+	61, 3,
+	91, 4,
+	92, 5,
+	93, 6,
+	123, 7,
+	124, 8,
+	125, 9,
+	126, 10,
+};
+
+// Special characters
+static const byte specialCharsetData[] = {
+	0x18, 0x3e, 0x60, 0x3c, 0x06, 0x7c, 0x18, 0x00,
+	0x62, 0x66, 0x0c, 0x18, 0x30, 0x66, 0x46, 0x00,
+	0x30, 0x18, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+	0x7c, 0x82, 0xba, 0xa2, 0xa2, 0xba, 0x82, 0x7c,
+	0x66, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3e, 0x00,
+	0x66, 0x00, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00,
+	0x66, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3c, 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,
+	0x66, 0x3c, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
+	0x3c, 0x66, 0x66, 0x7c, 0x66, 0x66, 0x6c, 0x60,
+	0x66, 0x3c, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x00,
+	0x66, 0x24, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
+	0x00, 0x18, 0x3c, 0x7e, 0x18, 0x18, 0x18, 0x18,
+	0x10, 0x08, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00,
+	0x18, 0x24, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00,
+	0x00, 0x00, 0x3c, 0x60, 0x60, 0x3c, 0x18, 0x38,
+	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, 0x6c, 0x00, 0x38, 0x18, 0x18, 0x3c, 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, 0x10, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00,
+	0x10, 0x08, 0x00, 0x38, 0x18, 0x18, 0x3c, 0x00,
+	0x10, 0x08, 0x00, 0x3c, 0x66, 0x66, 0x3c, 0x00,
+};
+
 CharsetRendererV2::CharsetRendererV2(ScummEngine *vm, Common::Language language)
 	: CharsetRendererV3(vm) {
 
 	_fontHeight = 8;
 	_curId = 0;
 
+	const byte *replacementData = NULL;
+	int replacementChars = 0;
+
 	switch (language) {
 	case Common::DE_DEU:
-		if (_vm->_game.version == 0)
-			_fontPtr = germanCharsetDataV0;
-		else
-			_fontPtr = germanCharsetDataV2;
+		if (_vm->_game.version == 0) {
+			replacementData = germanCharsetDataV0;
+			replacementChars = sizeof(germanCharsetDataV0) / 2;
+		} else {
+			replacementData = germanCharsetDataV2;
+			replacementChars = sizeof(germanCharsetDataV2) / 2;
+		}
 		break;
 	case Common::FR_FRA:
-		_fontPtr = frenchCharsetDataV2;
+		replacementData = frenchCharsetDataV2;
+		replacementChars = sizeof(frenchCharsetDataV2) / 2;
 		break;
 	case Common::IT_ITA:
-		_fontPtr = italianCharsetDataV2;
+		replacementData = italianCharsetDataV2;
+		replacementChars = sizeof(italianCharsetDataV2) / 2;
 		break;
 	case Common::ES_ESP:
-		_fontPtr = spanishCharsetDataV2;
+		replacementData = spanishCharsetDataV2;
+		replacementChars = sizeof(spanishCharsetDataV2) / 2;
 		break;
 	case Common::RU_RUS:
 		_fontPtr = russianCharsetDataV2;
@@ -1096,6 +559,20 @@
 		break;
 	}
 
+	if (replacementData) {
+		_fontPtr = new byte[sizeof(englishCharsetDataV2)];
+		_deleteFontPtr = true;
+		memcpy(const_cast<byte *>(_fontPtr), englishCharsetDataV2, sizeof(englishCharsetDataV2));
+
+		for (int i = 0; i < replacementChars; i++) {
+			int ch1 = replacementData[2 * i];
+			int ch2 = replacementData[2 * i + 1];
+
+			memcpy(const_cast<byte *>(_fontPtr) + 8 * ch1, specialCharsetData + 8 * ch2, 8);
+		}
+	} else
+		_deleteFontPtr = false;
+
 #if 0
 	// Decompress weird encoding in which the Zak executable contains the font.
 	// I leave the code around in case we need to use it again (e.g. we might
@@ -1130,4 +607,9 @@
 #endif
 }
 
+CharsetRendererV2::~CharsetRendererV2() {
+	if (_deleteFontPtr)
+		delete[] _fontPtr;
+}
+
 } // End of namespace Scumm

Modified: scummvm/trunk/engines/scumm/charset.h
===================================================================
--- scummvm/trunk/engines/scumm/charset.h	2008-11-14 13:26:23 UTC (rev 35055)
+++ scummvm/trunk/engines/scumm/charset.h	2008-11-14 14:03:08 UTC (rev 35056)
@@ -165,8 +165,12 @@
 };
 
 class CharsetRendererV2 : public CharsetRendererV3 {
+protected:
+	bool _deleteFontPtr;
+
 public:
 	CharsetRendererV2(ScummEngine *vm, Common::Language language);
+	~CharsetRendererV2();
 
 	void setCurID(int32 id) {}
 	int getCharWidth(byte chr) { return 8; }

Added: scummvm/trunk/tools/make-scumm-fontdata.c
===================================================================
--- scummvm/trunk/tools/make-scumm-fontdata.c	                        (rev 0)
+++ scummvm/trunk/tools/make-scumm-fontdata.c	2008-11-14 14:03:08 UTC (rev 35056)
@@ -0,0 +1,889 @@
+/* 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, char *var, 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;
+}


Property changes on: scummvm/trunk/tools/make-scumm-fontdata.c
___________________________________________________________________
Added: svn:mime-type
   + text/plain
Added: svn:keywords
   + Date Rev Author URL Id
Added: svn:eol-style
   + native

Modified: scummvm/trunk/tools/module.mk
===================================================================
--- scummvm/trunk/tools/module.mk	2008-11-14 13:26:23 UTC (rev 35055)
+++ scummvm/trunk/tools/module.mk	2008-11-14 14:03:08 UTC (rev 35056)
@@ -13,7 +13,8 @@
 
 TOOLS := \
 	tools/convbdf$(EXEEXT) \
-	tools/md5table$(EXEEXT)
+	tools/md5table$(EXEEXT) \
+	tools/make-scumm-fontdata$(EXEEXT)
 
 include $(srcdir)/tools/*/module.mk
 
@@ -39,6 +40,10 @@
 	$(MKDIR) tools/$(DEPDIR)
 	$(CC) $(CFLAGS) -Wall -o $@ $<
 
+tools/make-scumm-fontdata$(EXEEXT): $(srcdir)/tools/make-scumm-fontdata.c
+	$(MKDIR) tools/$(DEPDIR)
+	$(CC) $(CFLAGS) -Wall -o $@ $<
+
 #
 # Rules to explicitly rebuild the credits / MD5 tables.
 # The rules for the files in the "web" resp. "docs" modules


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list