From 6baadff8d371584caaf6c83238847c54ec4b8261 Mon Sep 17 00:00:00 2001 From: Martin Kiewitz Date: Sun, 31 Jan 2016 13:49:42 +0100 Subject: AGI: font cleanup We now only offer the original VGA font (a few characters were modified) and overwrite the extended set range with a Russian set, when needed. --- engines/agi/font.cpp | 755 +++++++++++++-------------------------------------- engines/agi/font.h | 1 + 2 files changed, 188 insertions(+), 568 deletions(-) (limited to 'engines/agi') diff --git a/engines/agi/font.cpp b/engines/agi/font.cpp index b7cadf0e3a..8b20cb47d9 100644 --- a/engines/agi/font.cpp +++ b/engines/agi/font.cpp @@ -213,527 +213,9 @@ static const uint8 fontData_AmigaPseudoTopaz[2600] = { }; // 8x8 font patterns -static const uint8 fontData_Sierra[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x7E, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x7E, // cursor hollow - 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, // cursor solid - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // cursor empty - 0x10, 0x38, 0x7C, 0xFE, 0x7C, 0x38, 0x10, 0x00, - 0x3C, 0x3C, 0x18, 0xFF, 0xE7, 0x18, 0x3C, 0x00, - 0x10, 0x38, 0x7C, 0xFE, 0xEE, 0x10, 0x38, 0x00, - 0x00, 0x00, 0x18, 0x3C, 0x3C, 0x18, 0x00, 0x00, - 0xFF, 0xFF, 0xE7, 0xC3, 0xC3, 0xE7, 0xFF, 0xFF, - 0x00, 0x3C, 0x66, 0x42, 0x42, 0x66, 0x3C, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // \n - 0x0F, 0x07, 0x0F, 0x7D, 0xCC, 0xCC, 0xCC, 0x78, - 0x3C, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x7E, 0x18, - 0x08, 0x0C, 0x0A, 0x0A, 0x08, 0x78, 0xF0, 0x00, - 0x18, 0x14, 0x1A, 0x16, 0x72, 0xE2, 0x0E, 0x1C, - 0x10, 0x54, 0x38, 0xEE, 0x38, 0x54, 0x10, 0x00, - 0x80, 0xE0, 0xF8, 0xFE, 0xF8, 0xE0, 0x80, 0x00, - 0x02, 0x0E, 0x3E, 0xFE, 0x3E, 0x0E, 0x02, 0x00, - 0x18, 0x3C, 0x5A, 0x18, 0x5A, 0x3C, 0x18, 0x00, - 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x66, 0x00, - 0x7F, 0xDB, 0xDB, 0xDB, 0x7B, 0x1B, 0x1B, 0x00, - 0x1C, 0x22, 0x38, 0x44, 0x44, 0x38, 0x88, 0x70, - 0x00, 0x00, 0x00, 0x00, 0x7E, 0x7E, 0x7E, 0x00, - 0x18, 0x3C, 0x5A, 0x18, 0x5A, 0x3C, 0x18, 0x7E, - 0x18, 0x3C, 0x5A, 0x18, 0x18, 0x18, 0x18, 0x00, - 0x18, 0x18, 0x18, 0x18, 0x5A, 0x3C, 0x18, 0x00, - 0x00, 0x18, 0x0C, 0xFE, 0x0C, 0x18, 0x00, 0x00, - 0x00, 0x30, 0x60, 0xFE, 0x60, 0x30, 0x00, 0x00, - 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xFE, 0x00, 0x00, - 0x00, 0x24, 0x42, 0xFF, 0x42, 0x24, 0x00, 0x00, - 0x00, 0x10, 0x38, 0x7C, 0xFE, 0xFE, 0x00, 0x00, - 0x00, 0xFE, 0xFE, 0x7C, 0x38, 0x10, 0x00, 0x00, - // original sierra font starts here - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x20 Space - 0x30, 0x78, 0x78, 0x30, 0x30, 0x00, 0x30, 0x00, - 0x6C, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x6C, 0x6C, 0xFE, 0x6C, 0xFE, 0x6C, 0x6C, 0x00, - 0x30, 0x7C, 0xC0, 0x78, 0x0C, 0xF8, 0x30, 0x00, - 0x00, 0xC6, 0xCC, 0x18, 0x30, 0x66, 0xC6, 0x00, - 0x38, 0x6C, 0x38, 0x76, 0xDC, 0xCC, 0x76, 0x00, - 0x60, 0x60, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x18, 0x30, 0x60, 0x60, 0x60, 0x30, 0x18, 0x00, - 0x60, 0x30, 0x18, 0x18, 0x18, 0x30, 0x60, 0x00, - 0x00, 0x66, 0x3C, 0xFF, 0x3C, 0x66, 0x00, 0x00, - 0x00, 0x30, 0x30, 0xFC, 0x30, 0x30, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x60, - 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, - 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC0, 0x80, 0x00, - 0x7C, 0xC6, 0xCE, 0xDE, 0xF6, 0xE6, 0x7C, 0x00, // 0x30 - 0x30, 0x70, 0x30, 0x30, 0x30, 0x30, 0xFC, 0x00, - 0x78, 0xCC, 0x0C, 0x38, 0x60, 0xCC, 0xFC, 0x00, - 0x78, 0xCC, 0x0C, 0x38, 0x0C, 0xCC, 0x78, 0x00, - 0x1C, 0x3C, 0x6C, 0xCC, 0xFE, 0x0C, 0x1E, 0x00, - 0xFC, 0xC0, 0xF8, 0x0C, 0x0C, 0xCC, 0x78, 0x00, - 0x38, 0x60, 0xC0, 0xF8, 0xCC, 0xCC, 0x78, 0x00, - 0xFC, 0xCC, 0x0C, 0x18, 0x30, 0x30, 0x30, 0x00, - 0x78, 0xCC, 0xCC, 0x78, 0xCC, 0xCC, 0x78, 0x00, - 0x78, 0xCC, 0xCC, 0x7C, 0x0C, 0x18, 0x70, 0x00, - 0x00, 0x30, 0x30, 0x00, 0x00, 0x30, 0x30, 0x00, - 0x00, 0x30, 0x30, 0x00, 0x00, 0x30, 0x30, 0x60, - 0x18, 0x30, 0x60, 0xC0, 0x60, 0x30, 0x18, 0x00, - 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00, - 0x60, 0x30, 0x18, 0x0C, 0x18, 0x30, 0x60, 0x00, - 0x78, 0xCC, 0x0C, 0x18, 0x30, 0x00, 0x30, 0x00, - 0x7C, 0xC6, 0xDE, 0xDE, 0xDE, 0xC0, 0x78, 0x00, // 0x40 - 0x30, 0x78, 0xCC, 0xCC, 0xFC, 0xCC, 0xCC, 0x00, - 0xFC, 0x66, 0x66, 0x7C, 0x66, 0x66, 0xFC, 0x00, - 0x3C, 0x66, 0xC0, 0xC0, 0xC0, 0x66, 0x3C, 0x00, - 0xF8, 0x6C, 0x66, 0x66, 0x66, 0x6C, 0xF8, 0x00, - 0xFE, 0x62, 0x68, 0x78, 0x68, 0x62, 0xFE, 0x00, - 0xFE, 0x62, 0x68, 0x78, 0x68, 0x60, 0xF0, 0x00, - 0x3C, 0x66, 0xC0, 0xC0, 0xCE, 0x66, 0x3E, 0x00, - 0xCC, 0xCC, 0xCC, 0xFC, 0xCC, 0xCC, 0xCC, 0x00, - 0x78, 0x30, 0x30, 0x30, 0x30, 0x30, 0x78, 0x00, - 0x1E, 0x0C, 0x0C, 0x0C, 0xCC, 0xCC, 0x78, 0x00, - 0xE6, 0x66, 0x6C, 0x78, 0x6C, 0x66, 0xE6, 0x00, - 0xF0, 0x60, 0x60, 0x60, 0x62, 0x66, 0xFE, 0x00, - 0xC6, 0xEE, 0xFE, 0xFE, 0xD6, 0xC6, 0xC6, 0x00, - 0xC6, 0xE6, 0xF6, 0xDE, 0xCE, 0xC6, 0xC6, 0x00, - 0x38, 0x6C, 0xC6, 0xC6, 0xC6, 0x6C, 0x38, 0x00, - 0xFC, 0x66, 0x66, 0x7C, 0x60, 0x60, 0xF0, 0x00, // 0x50 - 0x78, 0xCC, 0xCC, 0xCC, 0xDC, 0x78, 0x1C, 0x00, - 0xFC, 0x66, 0x66, 0x7C, 0x6C, 0x66, 0xE6, 0x00, - 0x78, 0xCC, 0xE0, 0x70, 0x1C, 0xCC, 0x78, 0x00, - 0xFC, 0xB4, 0x30, 0x30, 0x30, 0x30, 0x78, 0x00, - 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xFC, 0x00, - 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x78, 0x30, 0x00, - 0xC6, 0xC6, 0xC6, 0xD6, 0xFE, 0xEE, 0xC6, 0x00, - 0xC6, 0xC6, 0x6C, 0x38, 0x38, 0x6C, 0xC6, 0x00, - 0xCC, 0xCC, 0xCC, 0x78, 0x30, 0x30, 0x78, 0x00, - 0xFE, 0xC6, 0x8C, 0x18, 0x32, 0x66, 0xFE, 0x00, - 0x78, 0x60, 0x60, 0x60, 0x60, 0x60, 0x78, 0x00, - 0xC0, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x02, 0x00, - 0x78, 0x18, 0x18, 0x18, 0x18, 0x18, 0x78, 0x00, - 0x10, 0x38, 0x6C, 0xC6, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, - 0x30, 0x30, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x60 - 0x00, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0x76, 0x00, - 0xE0, 0x60, 0x60, 0x7C, 0x66, 0x66, 0xDC, 0x00, - 0x00, 0x00, 0x78, 0xCC, 0xC0, 0xCC, 0x78, 0x00, - 0x1C, 0x0C, 0x0C, 0x7C, 0xCC, 0xCC, 0x76, 0x00, - 0x00, 0x00, 0x78, 0xCC, 0xFC, 0xC0, 0x78, 0x00, - 0x38, 0x6C, 0x60, 0xF0, 0x60, 0x60, 0xF0, 0x00, - 0x00, 0x00, 0x76, 0xCC, 0xCC, 0x7C, 0x0C, 0xF8, - 0xE0, 0x60, 0x6C, 0x76, 0x66, 0x66, 0xE6, 0x00, - 0x30, 0x00, 0x70, 0x30, 0x30, 0x30, 0x78, 0x00, - 0x0C, 0x00, 0x0C, 0x0C, 0x0C, 0xCC, 0xCC, 0x78, - 0xE0, 0x60, 0x66, 0x6C, 0x78, 0x6C, 0xE6, 0x00, - 0x70, 0x30, 0x30, 0x30, 0x30, 0x30, 0x78, 0x00, - 0x00, 0x00, 0xCC, 0xFE, 0xFE, 0xD6, 0xC6, 0x00, - 0x00, 0x00, 0xF8, 0xCC, 0xCC, 0xCC, 0xCC, 0x00, - 0x00, 0x00, 0x78, 0xCC, 0xCC, 0xCC, 0x78, 0x00, - 0x00, 0x00, 0xDC, 0x66, 0x66, 0x7C, 0x60, 0xF0, // 0x70 - 0x00, 0x00, 0x76, 0xCC, 0xCC, 0x7C, 0x0C, 0x1E, - 0x00, 0x00, 0xDC, 0x76, 0x66, 0x60, 0xF0, 0x00, - 0x00, 0x00, 0x7C, 0xC0, 0x78, 0x0C, 0xF8, 0x00, - 0x10, 0x30, 0x7C, 0x30, 0x30, 0x34, 0x18, 0x00, - 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, - 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0x78, 0x30, 0x00, - 0x00, 0x00, 0xC6, 0xD6, 0xFE, 0xFE, 0x6C, 0x00, - 0x00, 0x00, 0xC6, 0x6C, 0x38, 0x6C, 0xC6, 0x00, - 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0x7C, 0x0C, 0xF8, - 0x00, 0x00, 0xFC, 0x98, 0x30, 0x64, 0xFC, 0x00, - 0x1C, 0x30, 0x30, 0xE0, 0x30, 0x30, 0x1C, 0x00, - 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x00, - 0xE0, 0x30, 0x30, 0x1C, 0x30, 0x30, 0xE0, 0x00, - 0x76, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - // custom font starting here at 0x80 - 0x1E, 0x36, 0x66, 0x66, 0x7E, 0x66, 0x66, 0x00, // 0x80 - 0x7C, 0x60, 0x60, 0x7C, 0x66, 0x66, 0x7C, 0x00, - 0x7C, 0x66, 0x66, 0x7C, 0x66, 0x66, 0x7C, 0x00, - 0x7E, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, - 0x38, 0x6C, 0x6C, 0x6C, 0x6C, 0x6C, 0xFE, 0xC6, - 0x7E, 0x60, 0x60, 0x7C, 0x60, 0x60, 0x7E, 0x00, - 0xDB, 0xDB, 0x7E, 0x3C, 0x7E, 0xDB, 0xDB, 0x00, - 0x3C, 0x66, 0x06, 0x1C, 0x06, 0x66, 0x3C, 0x00, - 0x66, 0x66, 0x6E, 0x7E, 0x76, 0x66, 0x66, 0x00, - 0x3C, 0x66, 0x6E, 0x7E, 0x76, 0x66, 0x66, 0x00, - 0x66, 0x6C, 0x78, 0x70, 0x78, 0x6C, 0x66, 0x00, - 0x1E, 0x36, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, - 0xC6, 0xEE, 0xFE, 0xFE, 0xD6, 0xC6, 0xC6, 0x00, - 0x66, 0x66, 0x66, 0x7E, 0x66, 0x66, 0x66, 0x00, - 0x3C, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x00, - 0x7E, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, - 0x7C, 0x66, 0x66, 0x66, 0x7C, 0x60, 0x60, 0x00, - 0x3C, 0x66, 0x60, 0x60, 0x60, 0x66, 0x3C, 0x00, - 0x7E, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, - 0x66, 0x66, 0x66, 0x3E, 0x06, 0x66, 0x3C, 0x00, - 0x7E, 0xDB, 0xDB, 0xDB, 0x7E, 0x18, 0x18, 0x00, - 0x66, 0x66, 0x3C, 0x18, 0x3C, 0x66, 0x66, 0x00, - 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7F, 0x03, - 0x66, 0x66, 0x66, 0x3E, 0x06, 0x06, 0x06, 0x00, - 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xFF, 0x00, - 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xFF, 0x03, - 0xE0, 0x60, 0x60, 0x7C, 0x66, 0x66, 0x7C, 0x00, - 0xC6, 0xC6, 0xC6, 0xF6, 0xDE, 0xDE, 0xF6, 0x00, - 0x60, 0x60, 0x60, 0x7C, 0x66, 0x66, 0x7C, 0x00, - 0x78, 0x8C, 0x06, 0x3E, 0x06, 0x8C, 0x78, 0x00, - 0xCE, 0xDB, 0xDB, 0xFB, 0xDB, 0xDB, 0xCE, 0x00, - 0x3E, 0x66, 0x66, 0x66, 0x3E, 0x36, 0x66, 0x00, - 0x00, 0x00, 0x3C, 0x06, 0x3E, 0x66, 0x3A, 0x00, - 0x00, 0x3C, 0x60, 0x3C, 0x66, 0x66, 0x3C, 0x00, - 0x00, 0x00, 0x7C, 0x66, 0x7C, 0x66, 0x7C, 0x00, - 0x00, 0x00, 0x7E, 0x60, 0x60, 0x60, 0x60, 0x00, - 0x00, 0x00, 0x3C, 0x6C, 0x6C, 0x6C, 0xFE, 0xC6, - 0x00, 0x00, 0x3C, 0x66, 0x7E, 0x60, 0x3C, 0x00, - 0x00, 0x00, 0xDB, 0x7E, 0x3C, 0x7E, 0xDB, 0x00, - 0x00, 0x00, 0x3C, 0x66, 0x0C, 0x66, 0x3C, 0x00, - 0x00, 0x00, 0x66, 0x6E, 0x7E, 0x76, 0x66, 0x00, - 0x00, 0x18, 0x66, 0x6E, 0x7E, 0x76, 0x66, 0x00, - 0x00, 0x00, 0x66, 0x6C, 0x78, 0x6C, 0x66, 0x00, - 0x00, 0x00, 0x1E, 0x36, 0x66, 0x66, 0x66, 0x00, - 0x00, 0x00, 0xC6, 0xFE, 0xFE, 0xD6, 0xC6, 0x00, - 0x00, 0x00, 0x66, 0x66, 0x7E, 0x66, 0x66, 0x00, - 0x00, 0x00, 0x3C, 0x66, 0x66, 0x66, 0x3C, 0x00, - 0x00, 0x00, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x00, - 0x11, 0x44, 0x11, 0x44, 0x11, 0x44, 0x11, 0x44, - 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, - 0xDD, 0x77, 0xDD, 0x77, 0xDD, 0x77, 0xDD, 0x77, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x18, 0x18, 0xF8, 0x18, 0x18, 0x18, 0x18, - 0x18, 0xF8, 0x18, 0xF8, 0x18, 0x18, 0x18, 0x18, - 0x36, 0x36, 0x36, 0xF6, 0x36, 0x36, 0x36, 0x36, - 0x00, 0x00, 0x00, 0xFE, 0x36, 0x36, 0x36, 0x36, - 0x00, 0xF8, 0x18, 0xF8, 0x18, 0x18, 0x18, 0x18, - 0x36, 0xF6, 0x06, 0xF6, 0x36, 0x36, 0x36, 0x36, - 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, - 0x00, 0xFE, 0x06, 0xF6, 0x36, 0x36, 0x36, 0x36, - 0x36, 0xF6, 0x06, 0xFE, 0x00, 0x00, 0x00, 0x00, - 0x36, 0x36, 0x36, 0xFE, 0x00, 0x00, 0x00, 0x00, - 0x18, 0xF8, 0x18, 0xF8, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xF8, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x1F, 0x00, 0x00, 0x00, 0x00, - 0x18, 0x18, 0x18, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x1F, 0x18, 0x18, 0x18, 0x18, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x18, 0x18, 0x18, 0xFF, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x1F, 0x18, 0x1F, 0x18, 0x18, 0x18, 0x18, - 0x36, 0x36, 0x36, 0x37, 0x36, 0x36, 0x36, 0x36, - 0x36, 0x37, 0x30, 0x3F, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x3F, 0x30, 0x37, 0x36, 0x36, 0x36, 0x36, - 0x36, 0xF7, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0xF7, 0x36, 0x36, 0x36, 0x36, - 0x36, 0x37, 0x30, 0x37, 0x36, 0x36, 0x36, 0x36, - 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x36, 0xF7, 0x00, 0xF7, 0x36, 0x36, 0x36, 0x36, - 0x18, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x36, 0x36, 0x36, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0xFF, 0x18, 0x18, 0x18, 0x18, - 0x00, 0x00, 0x00, 0xFF, 0x36, 0x36, 0x36, 0x36, - 0x36, 0x36, 0x36, 0x3F, 0x00, 0x00, 0x00, 0x00, - 0x18, 0x1F, 0x18, 0x1F, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x1F, 0x18, 0x1F, 0x18, 0x18, 0x18, 0x18, - 0x00, 0x00, 0x00, 0x3F, 0x36, 0x36, 0x36, 0x36, - 0x36, 0x36, 0x36, 0xFF, 0x36, 0x36, 0x36, 0x36, - 0x18, 0xFF, 0x18, 0xFF, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x18, 0x18, 0xF8, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x1F, 0x18, 0x18, 0x18, 0x18, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, - 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, - 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x7C, 0x66, 0x66, 0x7C, 0x60, 0x00, - 0x00, 0x00, 0x3C, 0x66, 0x60, 0x66, 0x3C, 0x00, - 0x00, 0x00, 0x7E, 0x18, 0x18, 0x18, 0x18, 0x00, - 0x00, 0x00, 0x66, 0x66, 0x3E, 0x06, 0x7C, 0x00, - 0x00, 0x00, 0x7E, 0xDB, 0xDB, 0x7E, 0x18, 0x00, - 0x00, 0x00, 0x66, 0x3C, 0x18, 0x3C, 0x66, 0x00, - 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x7F, 0x03, - 0x00, 0x00, 0x66, 0x66, 0x3E, 0x06, 0x06, 0x00, - 0x00, 0x00, 0xDB, 0xDB, 0xDB, 0xDB, 0xFF, 0x00, - 0x00, 0x00, 0xDB, 0xDB, 0xDB, 0xDB, 0xFF, 0x03, - 0x00, 0x00, 0xE0, 0x60, 0x7C, 0x66, 0x7C, 0x00, - 0x00, 0x00, 0xC6, 0xC6, 0xF6, 0xDE, 0xF6, 0x00, - 0x00, 0x00, 0x60, 0x60, 0x7C, 0x66, 0x7C, 0x00, - 0x00, 0x00, 0x7C, 0x06, 0x3E, 0x06, 0x7C, 0x00, - 0x00, 0x00, 0xCE, 0xDB, 0xFB, 0xDB, 0xCE, 0x00, - 0x00, 0x00, 0x3E, 0x66, 0x3E, 0x36, 0x66, 0x00, - 0x00, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, - 0x10, 0x10, 0x7C, 0x10, 0x10, 0x00, 0x7C, 0x00, - 0x00, 0x30, 0x18, 0x0C, 0x06, 0x0C, 0x18, 0x30, - 0x00, 0x0C, 0x18, 0x30, 0x60, 0x30, 0x18, 0x0C, - 0x0E, 0x1B, 0x1B, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x18, 0x18, 0xD8, 0xD8, 0x70, - 0x00, 0x18, 0x18, 0x00, 0x7E, 0x00, 0x18, 0x18, - 0x00, 0x76, 0xDC, 0x00, 0x76, 0xDC, 0x00, 0x00, - 0x00, 0x38, 0x6C, 0x6C, 0x38, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x38, 0x38, 0x00, 0x00, 0x00, - 0x03, 0x02, 0x06, 0x04, 0xCC, 0x68, 0x38, 0x10, - 0x3C, 0x42, 0x99, 0xA1, 0xA1, 0x99, 0x42, 0x3C, - 0x30, 0x48, 0x10, 0x20, 0x78, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x7C, 0x7C, 0x7C, 0x7C, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x7E, 0x00 -}; - -static const uint8 fontData_FanGames[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x7E, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x7E, /* cursor hollow */ - 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, /* cursor solid */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* cursor empty */ - 0x10, 0x38, 0x7C, 0xFE, 0x7C, 0x38, 0x10, 0x00, - 0x3C, 0x3C, 0x18, 0xFF, 0xE7, 0x18, 0x3C, 0x00, - 0x10, 0x38, 0x7C, 0xFE, 0xEE, 0x10, 0x38, 0x00, - 0x00, 0x00, 0x18, 0x3C, 0x3C, 0x18, 0x00, 0x00, - 0xFF, 0xFF, 0xE7, 0xC3, 0xC3, 0xE7, 0xFF, 0xFF, - 0x00, 0x3C, 0x66, 0x42, 0x42, 0x66, 0x3C, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* \n */ - 0x0F, 0x07, 0x0F, 0x7D, 0xCC, 0xCC, 0xCC, 0x78, - 0x3C, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x7E, 0x18, - 0x08, 0x0C, 0x0A, 0x0A, 0x08, 0x78, 0xF0, 0x00, - 0x18, 0x14, 0x1A, 0x16, 0x72, 0xE2, 0x0E, 0x1C, - 0x10, 0x54, 0x38, 0xEE, 0x38, 0x54, 0x10, 0x00, - 0x80, 0xE0, 0xF8, 0xFE, 0xF8, 0xE0, 0x80, 0x00, - 0x02, 0x0E, 0x3E, 0xFE, 0x3E, 0x0E, 0x02, 0x00, - 0x18, 0x3C, 0x5A, 0x18, 0x5A, 0x3C, 0x18, 0x00, - 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x66, 0x00, - 0x7F, 0xDB, 0xDB, 0xDB, 0x7B, 0x1B, 0x1B, 0x00, - 0x1C, 0x22, 0x38, 0x44, 0x44, 0x38, 0x88, 0x70, - 0x00, 0x00, 0x00, 0x00, 0x7E, 0x7E, 0x7E, 0x00, - 0x18, 0x3C, 0x5A, 0x18, 0x5A, 0x3C, 0x18, 0x7E, - 0x18, 0x3C, 0x5A, 0x18, 0x18, 0x18, 0x18, 0x00, - 0x18, 0x18, 0x18, 0x18, 0x5A, 0x3C, 0x18, 0x00, - 0x00, 0x18, 0x0C, 0xFE, 0x0C, 0x18, 0x00, 0x00, - 0x00, 0x30, 0x60, 0xFE, 0x60, 0x30, 0x00, 0x00, - 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xFE, 0x00, 0x00, - 0x00, 0x24, 0x42, 0xFF, 0x42, 0x24, 0x00, 0x00, - 0x00, 0x10, 0x38, 0x7C, 0xFE, 0xFE, 0x00, 0x00, - 0x00, 0xFE, 0xFE, 0x7C, 0x38, 0x10, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x18, 0x3C, 0x3C, 0x18, 0x18, 0x00, 0x18, 0x00, - 0x6C, 0x24, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x6C, 0x6C, 0xFE, 0x6C, 0xFE, 0x6C, 0x6C, 0x00, - 0x10, 0x7C, 0xD0, 0x7C, 0x16, 0xFC, 0x10, 0x00, - 0x00, 0x66, 0xAC, 0xD8, 0x36, 0x6A, 0xCC, 0x00, - 0x38, 0x4C, 0x38, 0x78, 0xCE, 0xCC, 0x7A, 0x00, - 0x30, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x18, 0x30, 0x60, 0x60, 0x60, 0x30, 0x18, 0x00, - 0x60, 0x30, 0x18, 0x18, 0x18, 0x30, 0x60, 0x00, - 0x00, 0x66, 0x3C, 0xFF, 0x3C, 0x66, 0x00, 0x00, - 0x00, 0x30, 0x30, 0xFC, 0x30, 0x30, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0x20, - 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, - 0x02, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC0, 0x00, - 0x7C, 0xCE, 0xDE, 0xF6, 0xE6, 0xE6, 0x7C, 0x00, - 0x18, 0x38, 0x78, 0x18, 0x18, 0x18, 0x7E, 0x00, - 0x7C, 0xC6, 0x06, 0x1C, 0x70, 0xC6, 0xFE, 0x00, - 0x7C, 0xC6, 0x06, 0x3C, 0x06, 0xC6, 0x7C, 0x00, - 0x1C, 0x3C, 0x6C, 0xCC, 0xFE, 0x0C, 0x1E, 0x00, - 0xFE, 0xC0, 0xFC, 0x06, 0x06, 0xC6, 0x7C, 0x00, - 0x7C, 0xC6, 0xC0, 0xFC, 0xC6, 0xC6, 0x7C, 0x00, - 0xFE, 0xC6, 0x0C, 0x18, 0x30, 0x30, 0x30, 0x00, - 0x7C, 0xC6, 0xC6, 0x7C, 0xC6, 0xC6, 0x7C, 0x00, - 0x7C, 0xC6, 0xC6, 0x7E, 0x06, 0xC6, 0x7C, 0x00, - 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, - 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x10, 0x20, - 0x0C, 0x18, 0x30, 0x60, 0x30, 0x18, 0x0C, 0x00, - 0x00, 0x00, 0x7E, 0x00, 0x00, 0x7E, 0x00, 0x00, - 0x60, 0x30, 0x18, 0x0C, 0x18, 0x30, 0x60, 0x00, - 0x78, 0xCC, 0x0C, 0x18, 0x30, 0x00, 0x30, 0x00, - 0x7C, 0x82, 0x9E, 0xA6, 0x9E, 0x80, 0x7C, 0x00, - 0x7C, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, - 0xFC, 0x66, 0x66, 0x7C, 0x66, 0x66, 0xFC, 0x00, - 0x7C, 0xC6, 0xC0, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, - 0xFC, 0x66, 0x66, 0x66, 0x66, 0x66, 0xFC, 0x00, - 0xFE, 0x62, 0x68, 0x78, 0x68, 0x62, 0xFE, 0x00, - 0xFE, 0x62, 0x68, 0x78, 0x68, 0x60, 0xF0, 0x00, - 0x7C, 0xC6, 0xC6, 0xC0, 0xCE, 0xC6, 0x7E, 0x00, - 0xC6, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, - 0x3C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, - 0x1E, 0x0C, 0x0C, 0x0C, 0xCC, 0xCC, 0x78, 0x00, - 0xE6, 0x66, 0x6C, 0x78, 0x6C, 0x66, 0xE6, 0x00, - 0xF0, 0x60, 0x60, 0x60, 0x62, 0x66, 0xFE, 0x00, - 0x82, 0xC6, 0xEE, 0xFE, 0xD6, 0xC6, 0xC6, 0x00, - 0xC6, 0xE6, 0xF6, 0xDE, 0xCE, 0xC6, 0xC6, 0x00, - 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, - 0xFC, 0x66, 0x66, 0x7C, 0x60, 0x60, 0xF0, 0x00, - 0x7C, 0xC6, 0xC6, 0xC6, 0xD6, 0xDE, 0x7C, 0x06, - 0xFC, 0x66, 0x66, 0x7C, 0x66, 0x66, 0xE6, 0x00, - 0x7C, 0xC6, 0xC0, 0x7C, 0x06, 0xC6, 0x7C, 0x00, - 0x7E, 0x5A, 0x5A, 0x18, 0x18, 0x18, 0x3C, 0x00, - 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, - 0xC6, 0xC6, 0xC6, 0xC6, 0x6C, 0x38, 0x10, 0x00, - 0xC6, 0xC6, 0xD6, 0xFE, 0xEE, 0xC6, 0x82, 0x00, - 0xC6, 0x6C, 0x38, 0x38, 0x38, 0x6C, 0xC6, 0x00, - 0x66, 0x66, 0x66, 0x3C, 0x18, 0x18, 0x3C, 0x00, - 0xFE, 0xC6, 0x8C, 0x18, 0x32, 0x66, 0xFE, 0x00, - 0x78, 0x60, 0x60, 0x60, 0x60, 0x60, 0x78, 0x00, - 0xC0, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x02, 0x00, - 0x78, 0x18, 0x18, 0x18, 0x18, 0x18, 0x78, 0x00, - 0x10, 0x38, 0x6C, 0xC6, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, - 0x30, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0x76, 0x00, - 0xE0, 0x60, 0x60, 0x7C, 0x66, 0x66, 0x7C, 0x00, - 0x00, 0x00, 0x7C, 0xC6, 0xC0, 0xC6, 0x7C, 0x00, - 0x1C, 0x0C, 0x0C, 0x7C, 0xCC, 0xCC, 0x76, 0x00, - 0x00, 0x00, 0x7C, 0xC6, 0xFE, 0xC0, 0x7C, 0x00, - 0x1C, 0x36, 0x30, 0x78, 0x30, 0x30, 0x78, 0x00, - 0x00, 0x00, 0x76, 0xCC, 0xCC, 0x7C, 0x0C, 0x78, - 0xE0, 0x60, 0x6C, 0x76, 0x66, 0x66, 0xE6, 0x00, - 0x18, 0x00, 0x38, 0x18, 0x18, 0x18, 0x3C, 0x00, - 0x00, 0x0C, 0x00, 0x1C, 0x0C, 0x0C, 0xCC, 0x78, - 0xE0, 0x60, 0x66, 0x6C, 0x78, 0x6C, 0xE6, 0x00, - 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, - 0x00, 0x00, 0xCC, 0xFE, 0xD6, 0xD6, 0xD6, 0x00, - 0x00, 0x00, 0xDC, 0x66, 0x66, 0x66, 0x66, 0x00, - 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, - 0x00, 0x00, 0xDC, 0x66, 0x66, 0x7C, 0x60, 0xF0, - 0x00, 0x00, 0x7C, 0xCC, 0xCC, 0x7C, 0x0C, 0x1E, - 0x00, 0x00, 0xDE, 0x76, 0x60, 0x60, 0xF0, 0x00, - 0x00, 0x00, 0x7C, 0xC0, 0x7C, 0x06, 0x7C, 0x00, - 0x10, 0x30, 0xFC, 0x30, 0x30, 0x34, 0x18, 0x00, - 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, - 0x00, 0x00, 0xC6, 0xC6, 0x6C, 0x38, 0x10, 0x00, - 0x00, 0x00, 0xC6, 0xD6, 0xD6, 0xFE, 0x6C, 0x00, - 0x00, 0x00, 0xC6, 0x6C, 0x38, 0x6C, 0xC6, 0x00, - 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0x7C, 0x0C, 0xF8, - 0x00, 0x00, 0xFC, 0x98, 0x30, 0x64, 0xFC, 0x00, - 0x0E, 0x18, 0x18, 0x30, 0x18, 0x18, 0x0E, 0x00, - 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x00, - 0xE0, 0x30, 0x30, 0x18, 0x30, 0x30, 0xE0, 0x00, - 0x76, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /*replacement 0x7F */ - 0x1E, 0x36, 0x66, 0x66, 0x7E, 0x66, 0x66, 0x00, - 0x7C, 0x60, 0x60, 0x7C, 0x66, 0x66, 0x7C, 0x00, - 0x7C, 0x66, 0x66, 0x7C, 0x66, 0x66, 0x7C, 0x00, - 0x7E, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, - 0x38, 0x6C, 0x6C, 0x6C, 0x6C, 0x6C, 0xFE, 0xC6, - 0x7E, 0x60, 0x60, 0x7C, 0x60, 0x60, 0x7E, 0x00, - 0xDB, 0xDB, 0x7E, 0x3C, 0x7E, 0xDB, 0xDB, 0x00, - 0x3C, 0x66, 0x06, 0x1C, 0x06, 0x66, 0x3C, 0x00, - 0x66, 0x66, 0x6E, 0x7E, 0x76, 0x66, 0x66, 0x00, - 0x3C, 0x66, 0x6E, 0x7E, 0x76, 0x66, 0x66, 0x00, - 0x66, 0x6C, 0x78, 0x70, 0x78, 0x6C, 0x66, 0x00, - 0x1E, 0x36, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, - 0xC6, 0xEE, 0xFE, 0xFE, 0xD6, 0xC6, 0xC6, 0x00, - 0x66, 0x66, 0x66, 0x7E, 0x66, 0x66, 0x66, 0x00, - 0x3C, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x00, - 0x7E, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, - 0x7C, 0x66, 0x66, 0x66, 0x7C, 0x60, 0x60, 0x00, - 0x3C, 0x66, 0x60, 0x60, 0x60, 0x66, 0x3C, 0x00, - 0x7E, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, - 0x66, 0x66, 0x66, 0x3E, 0x06, 0x66, 0x3C, 0x00, - 0x7E, 0xDB, 0xDB, 0xDB, 0x7E, 0x18, 0x18, 0x00, - 0x66, 0x66, 0x3C, 0x18, 0x3C, 0x66, 0x66, 0x00, - 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7F, 0x03, - 0x66, 0x66, 0x66, 0x3E, 0x06, 0x06, 0x06, 0x00, - 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xFF, 0x00, - 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xFF, 0x03, - 0xE0, 0x60, 0x60, 0x7C, 0x66, 0x66, 0x7C, 0x00, - 0xC6, 0xC6, 0xC6, 0xF6, 0xDE, 0xDE, 0xF6, 0x00, - 0x60, 0x60, 0x60, 0x7C, 0x66, 0x66, 0x7C, 0x00, - 0x78, 0x8C, 0x06, 0x3E, 0x06, 0x8C, 0x78, 0x00, - 0xCE, 0xDB, 0xDB, 0xFB, 0xDB, 0xDB, 0xCE, 0x00, - 0x3E, 0x66, 0x66, 0x66, 0x3E, 0x36, 0x66, 0x00, - 0x00, 0x00, 0x3C, 0x06, 0x3E, 0x66, 0x3A, 0x00, - 0x00, 0x3C, 0x60, 0x3C, 0x66, 0x66, 0x3C, 0x00, - 0x00, 0x00, 0x7C, 0x66, 0x7C, 0x66, 0x7C, 0x00, - 0x00, 0x00, 0x7E, 0x60, 0x60, 0x60, 0x60, 0x00, - 0x00, 0x00, 0x3C, 0x6C, 0x6C, 0x6C, 0xFE, 0xC6, - 0x00, 0x00, 0x3C, 0x66, 0x7E, 0x60, 0x3C, 0x00, - 0x00, 0x00, 0xDB, 0x7E, 0x3C, 0x7E, 0xDB, 0x00, - 0x00, 0x00, 0x3C, 0x66, 0x0C, 0x66, 0x3C, 0x00, - 0x00, 0x00, 0x66, 0x6E, 0x7E, 0x76, 0x66, 0x00, - 0x00, 0x18, 0x66, 0x6E, 0x7E, 0x76, 0x66, 0x00, - 0x00, 0x00, 0x66, 0x6C, 0x78, 0x6C, 0x66, 0x00, - 0x00, 0x00, 0x1E, 0x36, 0x66, 0x66, 0x66, 0x00, - 0x00, 0x00, 0xC6, 0xFE, 0xFE, 0xD6, 0xC6, 0x00, - 0x00, 0x00, 0x66, 0x66, 0x7E, 0x66, 0x66, 0x00, - 0x00, 0x00, 0x3C, 0x66, 0x66, 0x66, 0x3C, 0x00, - 0x00, 0x00, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x00, - 0x11, 0x44, 0x11, 0x44, 0x11, 0x44, 0x11, 0x44, - 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, - 0xDD, 0x77, 0xDD, 0x77, 0xDD, 0x77, 0xDD, 0x77, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x18, 0x18, 0xF8, 0x18, 0x18, 0x18, 0x18, - 0x18, 0xF8, 0x18, 0xF8, 0x18, 0x18, 0x18, 0x18, - 0x36, 0x36, 0x36, 0xF6, 0x36, 0x36, 0x36, 0x36, - 0x00, 0x00, 0x00, 0xFE, 0x36, 0x36, 0x36, 0x36, - 0x00, 0xF8, 0x18, 0xF8, 0x18, 0x18, 0x18, 0x18, - 0x36, 0xF6, 0x06, 0xF6, 0x36, 0x36, 0x36, 0x36, - 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, - 0x00, 0xFE, 0x06, 0xF6, 0x36, 0x36, 0x36, 0x36, - 0x36, 0xF6, 0x06, 0xFE, 0x00, 0x00, 0x00, 0x00, - 0x36, 0x36, 0x36, 0xFE, 0x00, 0x00, 0x00, 0x00, - 0x18, 0xF8, 0x18, 0xF8, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xF8, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x1F, 0x00, 0x00, 0x00, 0x00, - 0x18, 0x18, 0x18, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x1F, 0x18, 0x18, 0x18, 0x18, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x18, 0x18, 0x18, 0xFF, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x1F, 0x18, 0x1F, 0x18, 0x18, 0x18, 0x18, - 0x36, 0x36, 0x36, 0x37, 0x36, 0x36, 0x36, 0x36, - 0x36, 0x37, 0x30, 0x3F, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x3F, 0x30, 0x37, 0x36, 0x36, 0x36, 0x36, - 0x36, 0xF7, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0xF7, 0x36, 0x36, 0x36, 0x36, - 0x36, 0x37, 0x30, 0x37, 0x36, 0x36, 0x36, 0x36, - 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x36, 0xF7, 0x00, 0xF7, 0x36, 0x36, 0x36, 0x36, - 0x18, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x36, 0x36, 0x36, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0xFF, 0x18, 0x18, 0x18, 0x18, - 0x00, 0x00, 0x00, 0xFF, 0x36, 0x36, 0x36, 0x36, - 0x36, 0x36, 0x36, 0x3F, 0x00, 0x00, 0x00, 0x00, - 0x18, 0x1F, 0x18, 0x1F, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x1F, 0x18, 0x1F, 0x18, 0x18, 0x18, 0x18, - 0x00, 0x00, 0x00, 0x3F, 0x36, 0x36, 0x36, 0x36, - 0x36, 0x36, 0x36, 0xFF, 0x36, 0x36, 0x36, 0x36, - 0x18, 0xFF, 0x18, 0xFF, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x18, 0x18, 0xF8, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x1F, 0x18, 0x18, 0x18, 0x18, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, - 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, - 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x7C, 0x66, 0x66, 0x7C, 0x60, 0x00, - 0x00, 0x00, 0x3C, 0x66, 0x60, 0x66, 0x3C, 0x00, - 0x00, 0x00, 0x7E, 0x18, 0x18, 0x18, 0x18, 0x00, - 0x00, 0x00, 0x66, 0x66, 0x3E, 0x06, 0x7C, 0x00, - 0x00, 0x00, 0x7E, 0xDB, 0xDB, 0x7E, 0x18, 0x00, - 0x00, 0x00, 0x66, 0x3C, 0x18, 0x3C, 0x66, 0x00, - 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x7F, 0x03, - 0x00, 0x00, 0x66, 0x66, 0x3E, 0x06, 0x06, 0x00, - 0x00, 0x00, 0xDB, 0xDB, 0xDB, 0xDB, 0xFF, 0x00, - 0x00, 0x00, 0xDB, 0xDB, 0xDB, 0xDB, 0xFF, 0x03, - 0x00, 0x00, 0xE0, 0x60, 0x7C, 0x66, 0x7C, 0x00, - 0x00, 0x00, 0xC6, 0xC6, 0xF6, 0xDE, 0xF6, 0x00, - 0x00, 0x00, 0x60, 0x60, 0x7C, 0x66, 0x7C, 0x00, - 0x00, 0x00, 0x7C, 0x06, 0x3E, 0x06, 0x7C, 0x00, - 0x00, 0x00, 0xCE, 0xDB, 0xFB, 0xDB, 0xCE, 0x00, - 0x00, 0x00, 0x3E, 0x66, 0x3E, 0x36, 0x66, 0x00, - 0x00, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, - 0x10, 0x10, 0x7C, 0x10, 0x10, 0x00, 0x7C, 0x00, - 0x00, 0x30, 0x18, 0x0C, 0x06, 0x0C, 0x18, 0x30, - 0x00, 0x0C, 0x18, 0x30, 0x60, 0x30, 0x18, 0x0C, - 0x0E, 0x1B, 0x1B, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x18, 0x18, 0xD8, 0xD8, 0x70, - 0x00, 0x18, 0x18, 0x00, 0x7E, 0x00, 0x18, 0x18, - 0x00, 0x76, 0xDC, 0x00, 0x76, 0xDC, 0x00, 0x00, - 0x00, 0x38, 0x6C, 0x6C, 0x38, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x38, 0x38, 0x00, 0x00, 0x00, - 0x03, 0x02, 0x06, 0x04, 0xCC, 0x68, 0x38, 0x10, - 0x3C, 0x42, 0x99, 0xA1, 0xA1, 0x99, 0x42, 0x3C, - 0x30, 0x48, 0x10, 0x20, 0x78, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x7C, 0x7C, 0x7C, 0x7C, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x7E, 0x00 -}; -static const uint8 fontData_IBM[] = { +// this is basically the PC VGA font, taken from Dos-Box, with a few modifications +static const uint8 fontData_VGA[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x81, 0xA5, 0x81, 0xBD, 0x99, 0x81, 0x7E, 0x7E, 0xFF, 0xDB, 0xFF, 0xC3, 0xE7, 0xFF, 0x7E, @@ -747,26 +229,38 @@ static const uint8 fontData_IBM[] = { 0xFF, 0xC3, 0x99, 0xBD, 0xBD, 0x99, 0xC3, 0xFF, 0x0F, 0x07, 0x0F, 0x7D, 0xCC, 0xCC, 0xCC, 0x78, 0x3C, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x7E, 0x18, - 0x3F, 0x33, 0x3F, 0x30, 0x30, 0x70, 0xF0, 0xE0, - 0x7F, 0x63, 0x7F, 0x63, 0x63, 0x67, 0xE6, 0xC0, - 0x99, 0x5A, 0x3C, 0xE7, 0xE7, 0x3C, 0x5A, 0x99, + 0x08, 0x0C, 0x0A, 0x0A, 0x08, 0x78, 0xF0, 0x00, // 0x0D changed + 0x18, 0x14, 0x1A, 0x16, 0x72, 0xE2, 0x0E, 0x1C, // 0x0E changed + 0x10, 0x54, 0x38, 0xEE, 0x38, 0x54, 0x10, 0x00, // 0x0F changed + //0x3F, 0x33, 0x3F, 0x30, 0x30, 0x70, 0xF0, 0xE0, // 0x0D original + //0x7F, 0x63, 0x7F, 0x63, 0x63, 0x67, 0xE6, 0xC0, // 0x0E original + //0x99, 0x5A, 0x3C, 0xE7, 0xE7, 0x3C, 0x5A, 0x99, // 0x0F original 0x80, 0xE0, 0xF8, 0xFE, 0xF8, 0xE0, 0x80, 0x00, 0x02, 0x0E, 0x3E, 0xFE, 0x3E, 0x0E, 0x02, 0x00, - 0x18, 0x3C, 0x7E, 0x18, 0x18, 0x7E, 0x3C, 0x18, + 0x18, 0x3C, 0x5A, 0x18, 0x5A, 0x3C, 0x18, 0x00, // 0x12 changed + //0x18, 0x3C, 0x7E, 0x18, 0x18, 0x7E, 0x3C, 0x18, // 0x12 original 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x66, 0x00, - 0x7F, 0xDB, 0xDB, 0x7B, 0x1B, 0x1B, 0x1B, 0x00, - 0x3E, 0x63, 0x38, 0x6C, 0x6C, 0x38, 0xCC, 0x78, + 0x7F, 0xDB, 0xDB, 0xDB, 0x7B, 0x1B, 0x1B, 0x00, // 0x14 changed + 0x1C, 0x22, 0x38, 0x44, 0x44, 0x38, 0x88, 0x70, // 0x14 changed + //0x7F, 0xDB, 0xDB, 0x7B, 0x1B, 0x1B, 0x1B, 0x00, // 0x14 original + //0x3E, 0x63, 0x38, 0x6C, 0x6C, 0x38, 0xCC, 0x78, // 0x15 original 0x00, 0x00, 0x00, 0x00, 0x7E, 0x7E, 0x7E, 0x00, - 0x18, 0x3C, 0x7E, 0x18, 0x7E, 0x3C, 0x18, 0xFF, - 0x18, 0x3C, 0x7E, 0x18, 0x18, 0x18, 0x18, 0x00, - 0x18, 0x18, 0x18, 0x18, 0x7E, 0x3C, 0x18, 0x00, + 0x18, 0x3C, 0x5A, 0x18, 0x5A, 0x3C, 0x18, 0x7E, // 0x17 changed + 0x18, 0x3C, 0x5A, 0x18, 0x18, 0x18, 0x18, 0x00, // 0x18 changed + 0x18, 0x18, 0x18, 0x18, 0x5A, 0x3C, 0x18, 0x00, // 0x19 changed + //0x18, 0x3C, 0x7E, 0x18, 0x7E, 0x3C, 0x18, 0xFF, // 0x17 original + //0x18, 0x3C, 0x7E, 0x18, 0x18, 0x18, 0x18, 0x00, // 0x18 original + //0x18, 0x18, 0x18, 0x18, 0x7E, 0x3C, 0x18, 0x00, // 0x19 original 0x00, 0x18, 0x0C, 0xFE, 0x0C, 0x18, 0x00, 0x00, 0x00, 0x30, 0x60, 0xFE, 0x60, 0x30, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xFE, 0x00, 0x00, - 0x00, 0x24, 0x66, 0xFF, 0x66, 0x24, 0x00, 0x00, - 0x00, 0x18, 0x3C, 0x7E, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0x7E, 0x3C, 0x18, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x24, 0x42, 0xFF, 0x42, 0x24, 0x00, 0x00, // 0x1D changed + 0x00, 0x10, 0x38, 0x7C, 0xFE, 0xFE, 0x00, 0x00, // 0x1E changed + 0x00, 0xFE, 0xFE, 0x7C, 0x38, 0x10, 0x00, 0x00, // 0x1F changed + //0x00, 0x24, 0x66, 0xFF, 0x66, 0x24, 0x00, 0x00, // 0x1D original + //0x00, 0x18, 0x3C, 0x7E, 0xFF, 0xFF, 0x00, 0x00, // 0x1E original + //0x00, 0xFF, 0xFF, 0x7E, 0x3C, 0x18, 0x00, 0x00, // 0x1F original + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x20 0x30, 0x78, 0x78, 0x30, 0x30, 0x00, 0x30, 0x00, 0x6C, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x6C, 0xFE, 0x6C, 0xFE, 0x6C, 0x6C, 0x00, @@ -782,7 +276,7 @@ static const uint8 fontData_IBM[] = { 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC0, 0x80, 0x00, - 0x7C, 0xC6, 0xCE, 0xDE, 0xF6, 0xE6, 0x7C, 0x00, + 0x7C, 0xC6, 0xCE, 0xDE, 0xF6, 0xE6, 0x7C, 0x00, // 0x30 0x30, 0x70, 0x30, 0x30, 0x30, 0x30, 0xFC, 0x00, 0x78, 0xCC, 0x0C, 0x38, 0x60, 0xCC, 0xFC, 0x00, 0x78, 0xCC, 0x0C, 0x38, 0x0C, 0xCC, 0x78, 0x00, @@ -798,7 +292,7 @@ static const uint8 fontData_IBM[] = { 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x60, 0x30, 0x18, 0x0C, 0x18, 0x30, 0x60, 0x00, 0x78, 0xCC, 0x0C, 0x18, 0x30, 0x00, 0x30, 0x00, - 0x7C, 0xC6, 0xDE, 0xDE, 0xDE, 0xC0, 0x78, 0x00, + 0x7C, 0xC6, 0xDE, 0xDE, 0xDE, 0xC0, 0x78, 0x00, // 0x40 0x30, 0x78, 0xCC, 0xCC, 0xFC, 0xCC, 0xCC, 0x00, 0xFC, 0x66, 0x66, 0x7C, 0x66, 0x66, 0xFC, 0x00, 0x3C, 0x66, 0xC0, 0xC0, 0xC0, 0x66, 0x3C, 0x00, @@ -814,7 +308,7 @@ static const uint8 fontData_IBM[] = { 0xC6, 0xEE, 0xFE, 0xFE, 0xD6, 0xC6, 0xC6, 0x00, 0xC6, 0xE6, 0xF6, 0xDE, 0xCE, 0xC6, 0xC6, 0x00, 0x38, 0x6C, 0xC6, 0xC6, 0xC6, 0x6C, 0x38, 0x00, - 0xFC, 0x66, 0x66, 0x7C, 0x60, 0x60, 0xF0, 0x00, + 0xFC, 0x66, 0x66, 0x7C, 0x60, 0x60, 0xF0, 0x00, // 0x50 0x78, 0xCC, 0xCC, 0xCC, 0xDC, 0x78, 0x1C, 0x00, 0xFC, 0x66, 0x66, 0x7C, 0x6C, 0x66, 0xE6, 0x00, 0x78, 0xCC, 0xE0, 0x70, 0x1C, 0xCC, 0x78, 0x00, @@ -830,7 +324,7 @@ static const uint8 fontData_IBM[] = { 0x78, 0x18, 0x18, 0x18, 0x18, 0x18, 0x78, 0x00, 0x10, 0x38, 0x6C, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, - 0x30, 0x30, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x30, 0x30, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x60 0x00, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0x76, 0x00, 0xE0, 0x60, 0x60, 0x7C, 0x66, 0x66, 0xDC, 0x00, 0x00, 0x00, 0x78, 0xCC, 0xC0, 0xCC, 0x78, 0x00, @@ -846,7 +340,7 @@ static const uint8 fontData_IBM[] = { 0x00, 0x00, 0xCC, 0xFE, 0xFE, 0xD6, 0xC6, 0x00, 0x00, 0x00, 0xF8, 0xCC, 0xCC, 0xCC, 0xCC, 0x00, 0x00, 0x00, 0x78, 0xCC, 0xCC, 0xCC, 0x78, 0x00, - 0x00, 0x00, 0xDC, 0x66, 0x66, 0x7C, 0x60, 0xF0, + 0x00, 0x00, 0xDC, 0x66, 0x66, 0x7C, 0x60, 0xF0, // 0x70 0x00, 0x00, 0x76, 0xCC, 0xCC, 0x7C, 0x0C, 0x1E, 0x00, 0x00, 0xDC, 0x76, 0x66, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x7C, 0xC0, 0x78, 0x0C, 0xF8, 0x00, @@ -862,7 +356,7 @@ static const uint8 fontData_IBM[] = { 0xE0, 0x30, 0x30, 0x1C, 0x30, 0x30, 0xE0, 0x00, 0x76, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0x00, - 0x78, 0xCC, 0xC0, 0xCC, 0x78, 0x18, 0x0C, 0x78, + 0x78, 0xCC, 0xC0, 0xCC, 0x78, 0x18, 0x0C, 0x78, // 0x80 0x00, 0xCC, 0x00, 0xCC, 0xCC, 0xCC, 0x7E, 0x00, 0x1C, 0x00, 0x78, 0xCC, 0xFC, 0xC0, 0x78, 0x00, 0x7E, 0xC3, 0x3C, 0x06, 0x3E, 0x66, 0x3F, 0x00, @@ -992,18 +486,139 @@ static const uint8 fontData_IBM[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; -void GfxFont::init() { - // We are currently using the custom font for all fanmade games - if (_vm->getFeatures() & (GF_FANMADE | GF_AGDS)) { - // fanmade game, use custom font for now - loadFontScummVMFile("agi-font-fangame.bin"); - if (!_fontData) { - _fontData = fontData_FanGames; // our (own?) custom font, that supports umlauts etc. - debug("Using fanmade custom font"); - } - return; - } +// Extended set (0x80-0xFF) for Russian versions of games +static const uint8 fontData_ExtendedRussian[] = { + 0x1E, 0x36, 0x66, 0x66, 0x7E, 0x66, 0x66, 0x00, // 0x80 + 0x7C, 0x60, 0x60, 0x7C, 0x66, 0x66, 0x7C, 0x00, + 0x7C, 0x66, 0x66, 0x7C, 0x66, 0x66, 0x7C, 0x00, + 0x7E, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, + 0x38, 0x6C, 0x6C, 0x6C, 0x6C, 0x6C, 0xFE, 0xC6, + 0x7E, 0x60, 0x60, 0x7C, 0x60, 0x60, 0x7E, 0x00, + 0xDB, 0xDB, 0x7E, 0x3C, 0x7E, 0xDB, 0xDB, 0x00, + 0x3C, 0x66, 0x06, 0x1C, 0x06, 0x66, 0x3C, 0x00, + 0x66, 0x66, 0x6E, 0x7E, 0x76, 0x66, 0x66, 0x00, + 0x3C, 0x66, 0x6E, 0x7E, 0x76, 0x66, 0x66, 0x00, + 0x66, 0x6C, 0x78, 0x70, 0x78, 0x6C, 0x66, 0x00, + 0x1E, 0x36, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, + 0xC6, 0xEE, 0xFE, 0xFE, 0xD6, 0xC6, 0xC6, 0x00, + 0x66, 0x66, 0x66, 0x7E, 0x66, 0x66, 0x66, 0x00, + 0x3C, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x00, + 0x7E, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, + 0x7C, 0x66, 0x66, 0x66, 0x7C, 0x60, 0x60, 0x00, + 0x3C, 0x66, 0x60, 0x60, 0x60, 0x66, 0x3C, 0x00, + 0x7E, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, + 0x66, 0x66, 0x66, 0x3E, 0x06, 0x66, 0x3C, 0x00, + 0x7E, 0xDB, 0xDB, 0xDB, 0x7E, 0x18, 0x18, 0x00, + 0x66, 0x66, 0x3C, 0x18, 0x3C, 0x66, 0x66, 0x00, + 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7F, 0x03, + 0x66, 0x66, 0x66, 0x3E, 0x06, 0x06, 0x06, 0x00, + 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xFF, 0x00, + 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xFF, 0x03, + 0xE0, 0x60, 0x60, 0x7C, 0x66, 0x66, 0x7C, 0x00, + 0xC6, 0xC6, 0xC6, 0xF6, 0xDE, 0xDE, 0xF6, 0x00, + 0x60, 0x60, 0x60, 0x7C, 0x66, 0x66, 0x7C, 0x00, + 0x78, 0x8C, 0x06, 0x3E, 0x06, 0x8C, 0x78, 0x00, + 0xCE, 0xDB, 0xDB, 0xFB, 0xDB, 0xDB, 0xCE, 0x00, + 0x3E, 0x66, 0x66, 0x66, 0x3E, 0x36, 0x66, 0x00, + 0x00, 0x00, 0x3C, 0x06, 0x3E, 0x66, 0x3A, 0x00, + 0x00, 0x3C, 0x60, 0x3C, 0x66, 0x66, 0x3C, 0x00, + 0x00, 0x00, 0x7C, 0x66, 0x7C, 0x66, 0x7C, 0x00, + 0x00, 0x00, 0x7E, 0x60, 0x60, 0x60, 0x60, 0x00, + 0x00, 0x00, 0x3C, 0x6C, 0x6C, 0x6C, 0xFE, 0xC6, + 0x00, 0x00, 0x3C, 0x66, 0x7E, 0x60, 0x3C, 0x00, + 0x00, 0x00, 0xDB, 0x7E, 0x3C, 0x7E, 0xDB, 0x00, + 0x00, 0x00, 0x3C, 0x66, 0x0C, 0x66, 0x3C, 0x00, + 0x00, 0x00, 0x66, 0x6E, 0x7E, 0x76, 0x66, 0x00, + 0x00, 0x18, 0x66, 0x6E, 0x7E, 0x76, 0x66, 0x00, + 0x00, 0x00, 0x66, 0x6C, 0x78, 0x6C, 0x66, 0x00, + 0x00, 0x00, 0x1E, 0x36, 0x66, 0x66, 0x66, 0x00, + 0x00, 0x00, 0xC6, 0xFE, 0xFE, 0xD6, 0xC6, 0x00, + 0x00, 0x00, 0x66, 0x66, 0x7E, 0x66, 0x66, 0x00, + 0x00, 0x00, 0x3C, 0x66, 0x66, 0x66, 0x3C, 0x00, + 0x00, 0x00, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x00, + 0x11, 0x44, 0x11, 0x44, 0x11, 0x44, 0x11, 0x44, + 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, + 0xDD, 0x77, 0xDD, 0x77, 0xDD, 0x77, 0xDD, 0x77, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0xF8, 0x18, 0x18, 0x18, 0x18, + 0x18, 0xF8, 0x18, 0xF8, 0x18, 0x18, 0x18, 0x18, + 0x36, 0x36, 0x36, 0xF6, 0x36, 0x36, 0x36, 0x36, + 0x00, 0x00, 0x00, 0xFE, 0x36, 0x36, 0x36, 0x36, + 0x00, 0xF8, 0x18, 0xF8, 0x18, 0x18, 0x18, 0x18, + 0x36, 0xF6, 0x06, 0xF6, 0x36, 0x36, 0x36, 0x36, + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + 0x00, 0xFE, 0x06, 0xF6, 0x36, 0x36, 0x36, 0x36, + 0x36, 0xF6, 0x06, 0xFE, 0x00, 0x00, 0x00, 0x00, + 0x36, 0x36, 0x36, 0xFE, 0x00, 0x00, 0x00, 0x00, + 0x18, 0xF8, 0x18, 0xF8, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xF8, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x1F, 0x00, 0x00, 0x00, 0x00, + 0x18, 0x18, 0x18, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x1F, 0x18, 0x18, 0x18, 0x18, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0x18, 0x18, 0x18, 0xFF, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x1F, 0x18, 0x1F, 0x18, 0x18, 0x18, 0x18, + 0x36, 0x36, 0x36, 0x37, 0x36, 0x36, 0x36, 0x36, + 0x36, 0x37, 0x30, 0x3F, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3F, 0x30, 0x37, 0x36, 0x36, 0x36, 0x36, + 0x36, 0xF7, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0xF7, 0x36, 0x36, 0x36, 0x36, + 0x36, 0x37, 0x30, 0x37, 0x36, 0x36, 0x36, 0x36, + 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0x36, 0xF7, 0x00, 0xF7, 0x36, 0x36, 0x36, 0x36, + 0x18, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0x36, 0x36, 0x36, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0xFF, 0x18, 0x18, 0x18, 0x18, + 0x00, 0x00, 0x00, 0xFF, 0x36, 0x36, 0x36, 0x36, + 0x36, 0x36, 0x36, 0x3F, 0x00, 0x00, 0x00, 0x00, + 0x18, 0x1F, 0x18, 0x1F, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1F, 0x18, 0x1F, 0x18, 0x18, 0x18, 0x18, + 0x00, 0x00, 0x00, 0x3F, 0x36, 0x36, 0x36, 0x36, + 0x36, 0x36, 0x36, 0xFF, 0x36, 0x36, 0x36, 0x36, + 0x18, 0xFF, 0x18, 0xFF, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0xF8, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1F, 0x18, 0x18, 0x18, 0x18, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, + 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, + 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7C, 0x66, 0x66, 0x7C, 0x60, 0x00, + 0x00, 0x00, 0x3C, 0x66, 0x60, 0x66, 0x3C, 0x00, + 0x00, 0x00, 0x7E, 0x18, 0x18, 0x18, 0x18, 0x00, + 0x00, 0x00, 0x66, 0x66, 0x3E, 0x06, 0x7C, 0x00, + 0x00, 0x00, 0x7E, 0xDB, 0xDB, 0x7E, 0x18, 0x00, + 0x00, 0x00, 0x66, 0x3C, 0x18, 0x3C, 0x66, 0x00, + 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x7F, 0x03, + 0x00, 0x00, 0x66, 0x66, 0x3E, 0x06, 0x06, 0x00, + 0x00, 0x00, 0xDB, 0xDB, 0xDB, 0xDB, 0xFF, 0x00, + 0x00, 0x00, 0xDB, 0xDB, 0xDB, 0xDB, 0xFF, 0x03, + 0x00, 0x00, 0xE0, 0x60, 0x7C, 0x66, 0x7C, 0x00, + 0x00, 0x00, 0xC6, 0xC6, 0xF6, 0xDE, 0xF6, 0x00, + 0x00, 0x00, 0x60, 0x60, 0x7C, 0x66, 0x7C, 0x00, + 0x00, 0x00, 0x7C, 0x06, 0x3E, 0x06, 0x7C, 0x00, + 0x00, 0x00, 0xCE, 0xDB, 0xFB, 0xDB, 0xCE, 0x00, + 0x00, 0x00, 0x3E, 0x66, 0x3E, 0x36, 0x66, 0x00, + 0x00, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, + 0x10, 0x10, 0x7C, 0x10, 0x10, 0x00, 0x7C, 0x00, + 0x00, 0x30, 0x18, 0x0C, 0x06, 0x0C, 0x18, 0x30, + 0x00, 0x0C, 0x18, 0x30, 0x60, 0x30, 0x18, 0x0C, + 0x0E, 0x1B, 0x1B, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0xD8, 0xD8, 0x70, + 0x00, 0x18, 0x18, 0x00, 0x7E, 0x00, 0x18, 0x18, + 0x00, 0x76, 0xDC, 0x00, 0x76, 0xDC, 0x00, 0x00, + 0x00, 0x38, 0x6C, 0x6C, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x03, 0x02, 0x06, 0x04, 0xCC, 0x68, 0x38, 0x10, + 0x3C, 0x42, 0x99, 0xA1, 0xA1, 0x99, 0x42, 0x3C, + 0x30, 0x48, 0x10, 0x20, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7C, 0x7C, 0x7C, 0x7C, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x7E, 0x00 +}; +void GfxFont::init() { switch (_vm->_renderMode) { case Common::kRenderAmiga: // Try user-file first, if that fails use our internal inaccurate topaz font @@ -1046,19 +661,14 @@ void GfxFont::init() { } if (!_fontData) { - // no font asigned? - switch (_vm->getGameID()) { - case GID_MICKEY: - case GID_TROLL: - case GID_WINNIE: - // use IBM font for pre-AGI games as standard - _fontData = fontData_IBM; - break; - default: - // for everything else use Sierra PC font - _fontData = fontData_Sierra; - break; - } + // no font assigned? + // use regular VGA font (taken from Dos-Box with a few modifications) + _fontData = fontData_VGA; + } + + if (_vm->getLanguage() == Common::RU_RUS) { + // Russian versions need special extended set + overwriteExtendedWithRussianSet(); } } @@ -1073,6 +683,18 @@ void GfxFont::overwriteSaveRestoreDialogCharacter() { memcpy(_fontDataAllocated + (0x1A * 8), fontData_ArrowRightCharacter, sizeof(fontData_ArrowRightCharacter)); } +// Overwrite extended character set (0x80-0xFF) with Russian characters +void GfxFont::overwriteExtendedWithRussianSet() { + if (!_fontDataAllocated) { + // nothing allocated, we need to allocate space ourselves to be able to modify an internal font + _fontDataAllocated = (uint8 *)calloc(256, 8); + memcpy(_fontDataAllocated, _fontData, 128 * 8); // copy ASCII set over + _fontData = _fontDataAllocated; + } + // Overwrite extended set with Russian characters + memcpy(_fontDataAllocated + (128 * 8), fontData_ExtendedRussian, 128 * 8); +} + // This code loads a ScummVM-specific user-supplied binary font file // It's assumed that it's a plain binary file, that contains 256 characters. 8 bytes per character. // 8x8 pixels per character. File size 2048 bytes. @@ -1081,7 +703,6 @@ void GfxFont::overwriteSaveRestoreDialogCharacter() { // Atari ST - "agi-font-atarist.bin" -> should be the Atari ST 8x8 system font // Amiga - "agi-font-amiga.bin" -> should be the Amiga 8x8 Topaz font // DOS - "agi-font-dos.bin" -// Fangames - "agi-font-fangame.bin" void GfxFont::loadFontScummVMFile(Common::String fontFilename) { Common::File fontFile; int32 fontFileSize = 0; @@ -1189,8 +810,8 @@ void GfxFont::loadFontAmigaPseudoTopaz() { assert(topazLowChar == ' '); assert(topazHighChar == 0xFF); - // copy first 32 characters over - memcpy(fontData, fontData_Sierra, FONT_DISPLAY_WIDTH * 32); + // copy first 32 VGA characters over + memcpy(fontData, fontData_VGA, FONT_DISPLAY_WIDTH * 32); fontData += FONT_DISPLAY_WIDTH * 32; // now actually convert from topaz data @@ -1216,8 +837,6 @@ void GfxFont::loadFontAmigaPseudoTopaz() { } } - overwriteSaveRestoreDialogCharacter(); - debug("Using recreation of Amiga Topaz font"); } diff --git a/engines/agi/font.h b/engines/agi/font.h index 833cf7331a..0bb1bbb18d 100644 --- a/engines/agi/font.h +++ b/engines/agi/font.h @@ -39,6 +39,7 @@ public: private: void overwriteSaveRestoreDialogCharacter(); + void overwriteExtendedWithRussianSet(); void loadFontScummVMFile(Common::String fontFilename); void loadFontMickey(); -- cgit v1.2.3