aboutsummaryrefslogtreecommitdiff
path: root/engines/agos/charset.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2006-09-29 08:37:24 +0000
committerEugene Sandulenko2006-09-29 08:37:24 +0000
commit798c7ee6822517601ef3c4096ad76a2fc0eefb50 (patch)
tree02b63f44348a35d6e3b6ab53540e94b2e45738e7 /engines/agos/charset.cpp
parent8e2c703baba570b18aec9d871fdc8ee7efe49e57 (diff)
downloadscummvm-rg350-798c7ee6822517601ef3c4096ad76a2fc0eefb50.tar.gz
scummvm-rg350-798c7ee6822517601ef3c4096ad76a2fc0eefb50.tar.bz2
scummvm-rg350-798c7ee6822517601ef3c4096ad76a2fc0eefb50.zip
Phase 2 of Simon renaming. Simon directory renaming
svn-id: r24009
Diffstat (limited to 'engines/agos/charset.cpp')
-rw-r--r--engines/agos/charset.cpp1629
1 files changed, 1629 insertions, 0 deletions
diff --git a/engines/agos/charset.cpp b/engines/agos/charset.cpp
new file mode 100644
index 0000000000..f051197d4b
--- /dev/null
+++ b/engines/agos/charset.cpp
@@ -0,0 +1,1629 @@
+/* ScummVM - Scumm Interpreter
+ * Copyright (C) 2001 Ludvig Strigeus
+ * Copyright (C) 2001-2006 The ScummVM project
+ *
+ * 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 "common/stdafx.h"
+
+#include "agos/agos.h"
+#include "agos/intern.h"
+
+namespace Simon {
+
+void SimonEngine::print_char_helper_1(const byte *src, uint len) {
+ uint idx;
+
+ if (_textWindow == NULL)
+ return;
+
+ while (len-- != 0) {
+ if (getGameType() == GType_FF || getGameType() == GType_PP) {
+ if (getBitFlag(93)) {
+ if (_curWindow == 3) {
+ if ((_newLines >= _textWindow->scrollY) && (_newLines < (_textWindow->scrollY + 3)))
+ windowPutChar(*src);
+ if (*src == '\n') // Do two top lines of text only
+ _newLines++;
+ src++;
+ }
+ } else {
+ if (getBitFlag(94)) {
+ if (_curWindow == 3) {
+ if (_newLines == (_textWindow->scrollY + 7))
+ windowPutChar(*src);
+ if (*src == '\n') // Do two top lines of text only
+ _newLines++;
+ src++;
+ }
+ } else {
+ if (getBitFlag(92))
+ delay(50);
+ windowPutChar(*src++);
+ }
+ }
+ } else {
+ if (*src != 12 && _textWindow->iconPtr != NULL &&
+ _fcsData1[idx = getWindowNum(_textWindow)] != 2) {
+
+ _fcsData1[idx] = 2;
+ _fcsData2[idx] = 1;
+ }
+
+ windowPutChar(*src++);
+ }
+ }
+}
+
+void SimonEngine::print_char_helper_5(WindowBlock *window) {
+ uint index = getWindowNum(window);
+ tidyIconArray(index);
+ _fcsData1[index] = 0;
+}
+
+void SimonEngine::tidyIconArray(uint i) {
+ WindowBlock *window;
+
+ if (_fcsData2[i]) {
+ mouseOff();
+ window = _windowArray[i];
+ drawIconArray(i, window->iconPtr->itemRef, window->iconPtr->line, window->iconPtr->classMask);
+ _fcsData2[i] = 0;
+ mouseOn();
+ }
+}
+
+void SimonEngine::renderStringAmiga(uint vga_sprite_id, uint color, uint width, uint height, const char *txt) {
+ VgaPointersEntry *vpe = &_vgaBufferPointers[2];
+ byte *src, *dst, *dst_org, chr;
+ uint count;
+
+ if (vga_sprite_id >= 100) {
+ vga_sprite_id -= 100;
+ vpe++;
+ }
+
+ src = dst = vpe->vgaFile2;
+
+ count = 499;
+ if (vga_sprite_id == 1)
+ count *= 2;
+
+ src += vga_sprite_id * 8;
+ dst += READ_BE_UINT32(src);
+ WRITE_BE_UINT16(dst + 4, height);
+ WRITE_BE_UINT16(dst + 6, width);
+
+ uint charsize = width/8 * height;
+ memset(dst, 0, count);
+ dst_org = dst;
+ int delta = 0;
+ while ((chr = *txt++) != 0) {
+ int tmp = chr;
+ if (chr == 10) {
+ dst_org += width * 10;
+ dst = dst_org;
+ delta = 0;
+ } else if ((tmp -= '!') < 0) {
+ delta += 6;
+ if (delta > 8)
+ {
+ delta -= 8;
+ dst_org++;
+ }
+ } else {
+ byte *img = src + chr * 41;
+ int CTR = img[40];
+ int D3 = 8 - delta;
+ for (int D2 = 9; D2 != 0; D2--)
+ {
+ byte *cur_dst = dst_org;
+ for (int D7 = 2; D7 != 0; D7--)
+ {
+ chr = *img >> delta;
+ if (chr)
+ {
+ if (color & 1) *(cur_dst + charsize * 0) |= chr;
+ if (color & 2) *(cur_dst + charsize * 1) |= chr;
+ if (color & 4) *(cur_dst + charsize * 2) |= chr;
+ if (color & 8) *(cur_dst + charsize * 3) |= chr;
+ }
+ if ((D3 >= CTR) && (chr = *img++ << (D3)))
+ {
+ if (color & 1) *(cur_dst + charsize * 0) |= chr;
+ if (color & 2) *(cur_dst + charsize * 1) |= chr;
+ if (color & 4) *(cur_dst + charsize * 2) |= chr;
+ if (color & 8) *(cur_dst + charsize * 3) |= chr;
+ }
+ color++;
+ }
+ chr = *img >> delta;
+ if (chr)
+ {
+ *(cur_dst + charsize * 0) |= chr;
+ *(cur_dst + charsize * 1) |= chr;
+ *(cur_dst + charsize * 2) |= chr;
+ *(cur_dst + charsize * 3) |= chr;
+ }
+ if ((D3 >= CTR) && (chr = *img++ << (D3)))
+ {
+ *(cur_dst + charsize * 0) |= chr;
+ *(cur_dst + charsize * 1) |= chr;
+ *(cur_dst + charsize * 2) |= chr;
+ *(cur_dst + charsize * 3) |= chr;
+ }
+ cur_dst += width/8;
+ }
+ delta += CTR;
+ if (delta > 8)
+ {
+ delta -= 8;
+ dst_org++;
+ }
+ }
+ }
+}
+
+void SimonEngine::renderString(uint vga_sprite_id, uint color, uint width, uint height, const char *txt) {
+ VgaPointersEntry *vpe = &_vgaBufferPointers[2];
+ byte *src, *dst, *p, *dst_org, chr;
+ const int textHeight = (getGameType() == GType_FF || getGameType() == GType_PP) ? 15: 10;
+ uint count = 0;
+
+ if (vga_sprite_id >= 100) {
+ vga_sprite_id -= 100;
+ vpe++;
+ }
+
+ src = dst = vpe->vgaFile2;
+
+ if (getGameType() == GType_FF || getGameType() == GType_PP) {
+ if (vga_sprite_id == 1)
+ count = 45000;
+ } else {
+ count = 4000;
+ if (vga_sprite_id == 1)
+ count *= 2;
+ }
+
+ p = dst + vga_sprite_id * 8;
+
+ if (getGameType() == GType_FF || getGameType() == GType_PP) {
+ WRITE_LE_UINT16(p + 4, height);
+ WRITE_LE_UINT16(p + 6, width);
+ // We need to adjust the offset to the next buffer to be right
+ // after this one. By default, each buffer is only 9000 bytes
+ // long. A two-line string can very well be more than twice
+ // that size!
+ //
+ // The original seems to make an exception for sprite id 1, but
+ // even the first conversation option can be a long line. For
+ // some reason, I cannot reproduce the text corruption with the
+ // original interpreter, though, so maybe we're missing some
+ // detail here. Let's hope it's safe to always adjust the
+ // buffer size anyway.
+ WRITE_LE_UINT16(p + 8, READ_LE_UINT32(p) + width * height);
+ } else {
+ WRITE_BE_UINT16(p + 4, height);
+ WRITE_BE_UINT16(p + 6, width);
+ }
+ dst += readUint32Wrapper(p);
+
+ if (count != 0)
+ memset(dst, 0, count);
+
+ if (_language == Common::HB_ISR)
+ dst += width - 1; // For Hebrew, start at the right edge, not the left.
+
+ dst_org = dst;
+ while ((chr = *txt++) != 0) {
+ if (chr == 10) {
+ dst_org += width * textHeight;
+ dst = dst_org;
+ } else if ((chr -= ' ') == 0) {
+ dst += (_language == Common::HB_ISR ? -6 : 6); // Hebrew moves to the left, all others to the right
+ } else {
+ byte *img_hdr, *img;
+ uint i, img_width, img_height;
+
+ if (getGameType() == GType_FF || getGameType() == GType_PP) {
+ img_hdr = src + 96 + chr * 8;
+ img_height = READ_LE_UINT16(img_hdr + 4);
+ img_width = READ_LE_UINT16(img_hdr + 6);
+ img = src + READ_LE_UINT32(img_hdr);
+ } else {
+ img_hdr = src + 48 + chr * 4;
+ img_height = img_hdr[2];
+ img_width = img_hdr[3];
+ img = src + READ_LE_UINT16(img_hdr);
+ }
+
+ if (_language == Common::HB_ISR)
+ dst -= img_width - 1; // For Hebrew, move from right edge to left edge of image.
+ byte *cur_dst = dst;
+
+ assert(img_width > 0 && img_width < 50 && img_height > 0 && img_height < 50);
+
+ do {
+ for (i = 0; i != img_width; i++) {
+ chr = *img++;
+ if (chr) {
+ if (chr == 0xF)
+ chr = 207;
+ else
+ chr += color;
+ cur_dst[i] = chr;
+ }
+ }
+ cur_dst += width;
+ } while (--img_height);
+
+ if (_language != Common::HB_ISR) // Hebrew character movement is done higher up
+ dst += img_width - 1;
+ }
+ }
+}
+
+static const byte feebleFontSize[208] = {
+ 8, 2, 5, 7, 8, 8, 8, 2, 4, 4, 8, 8, 3, 8, 2, 9,
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 2, 3, 5, 8, 5, 8,
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 4, 8, 8, 8, 8, 8, 8,
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 4, 9, 4, 4, 9,
+ 4, 8, 8, 8, 8, 8, 7, 8, 8, 4, 5, 7, 3, 8, 8, 8,
+ 8, 8, 8, 7, 7, 8, 8, 8, 8, 8, 8, 5, 2, 5, 8, 8,
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 4, 4, 4, 8, 8,
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+ 8, 4, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 2, 8, 8,
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+};
+
+uint SimonEngine::getFeebleFontSize(byte chr) {
+ return feebleFontSize[chr - 32];
+}
+
+void SimonEngine::showMessageFormat(const char *s, ...) {
+ char buf[STRINGBUFLEN];
+ char *str;
+ va_list va;
+
+ va_start(va, s);
+ vsnprintf(buf, STRINGBUFLEN, s, va);
+ va_end(va);
+
+ if (!_fcsData1[_curWindow]) {
+ openTextWindow();
+ if (!_showMessageFlag) {
+ _windowArray[0] = _textWindow;
+ if (getGameType() == GType_FF || getGameType() == GType_PP)
+ showmessage_helper_3(_textWindow->textColumn, _textWindow->width);
+ else
+ showmessage_helper_3(_textWindow->textLength, _textWindow->textMaxLength);
+ }
+ _showMessageFlag = true;
+ _fcsData1[_curWindow] = 1;
+ }
+
+ for (str = buf; *str; str++)
+ showmessage_print_char(*str);
+}
+
+void SimonEngine::showmessage_print_char(byte chr) {
+ if (chr == 12) {
+ _numLettersToPrint = 0;
+ _printCharCurPos = 0;
+ _printCharPixelCount = 0;
+ print_char_helper_1(&chr, 1);
+ print_char_helper_5(_textWindow);
+ } else if (chr == 0 || chr == ' ' || chr == 10) {
+ bool fit;
+
+ // Note that in FF, _printCharCurPos may be greater than
+ // _printCharMaxPos. In Simon, that is probably prevented by
+ // testing if _printCharCurPos == _printCharMaxPos below.
+
+ if (getGameType() == GType_FF || getGameType() == GType_PP) {
+ fit = _printCharMaxPos > _printCharCurPos + _printCharPixelCount;
+ } else {
+ fit = _printCharMaxPos - _printCharCurPos >= _printCharPixelCount;
+ }
+
+ if (fit) {
+ _printCharCurPos += _printCharPixelCount;
+ print_char_helper_1(_lettersToPrintBuf, _numLettersToPrint);
+
+ if (_printCharCurPos == _printCharMaxPos) {
+ _printCharCurPos = 0;
+ } else {
+ if (chr)
+ print_char_helper_1(&chr, 1);
+ if (chr == 10)
+ _printCharCurPos = 0;
+ else if (chr != 0)
+ _printCharCurPos += (getGameType() == GType_FF || getGameType() == GType_PP) ? feebleFontSize[chr - 32] : 1;
+ }
+ } else {
+ const byte newline_character = 10;
+ _printCharCurPos = _printCharPixelCount;
+ print_char_helper_1(&newline_character, 1);
+ print_char_helper_1(_lettersToPrintBuf, _numLettersToPrint);
+ if (chr == ' ') {
+ print_char_helper_1(&chr, 1);
+ _printCharCurPos += (getGameType() == GType_FF || getGameType() == GType_PP) ? feebleFontSize[chr - 32] : 1;
+ } else {
+ print_char_helper_1(&chr, 1);
+ _printCharCurPos = 0;
+ }
+ }
+ _numLettersToPrint = 0;
+ _printCharPixelCount = 0;
+ } else {
+ _lettersToPrintBuf[_numLettersToPrint++] = chr;
+ _printCharPixelCount += (getGameType() == GType_FF || getGameType() == GType_PP) ? feebleFontSize[chr - 32] : 1;
+ }
+}
+
+void SimonEngine::openTextWindow() {
+ if (_textWindow)
+ return;
+
+ if (getGameType() == GType_FF || getGameType() == GType_PP)
+ _textWindow = openWindow(64, 96, 384, 172, 1, 0, 15);
+ else
+ _textWindow = openWindow(8, 144, 24, 6, 1, 0, 15);
+}
+
+void SimonEngine::showmessage_helper_3(uint a, uint b) {
+ _printCharCurPos = a;
+ _printCharMaxPos = b;
+ _printCharPixelCount = 0;
+ _numLettersToPrint = 0;
+ _newLines = 0;
+}
+
+void SimonEngine::windowPutChar(WindowBlock *window, byte c, byte b) {
+ byte width = 6;
+
+ if (c == 12) {
+ clearWindow(window);
+ } else if (c == 13 || c == 10) {
+ video_putchar_newline(window);
+ } else if ((c == 1 && _language != Common::HB_ISR) || (c == 8)) {
+ if (_language == Common::HB_ISR) {
+ if (b >= 64 && b < 91)
+ width = _hebrewCharWidths [b - 64];
+
+ if (window->textLength != 0) {
+ window->textLength--;
+ window->textColumnOffset += width;
+ if (window->textColumnOffset >= 8) {
+ window->textColumnOffset -= 8;
+ window->textColumn--;
+ }
+ }
+ } else {
+ int8 val = (c == 8) ? 6 : 4;
+
+ if (window->textLength != 0) {
+ window->textLength--;
+ window->textColumnOffset -= val;
+ if ((int8)window->textColumnOffset < val) {
+ window->textColumnOffset += 8;
+ window->textColumn--;
+ }
+ }
+ }
+ } else if (c >= 32) {
+ if (getGameType() == GType_FF || getGameType() == GType_PP) {
+ video_putchar_drawchar(window, window->textColumn + window->x, window->textRow + window->y, c);
+ window->textColumn += feebleFontSize[c - 32];
+ return;
+ }
+
+ if (window->textLength == window->textMaxLength) {
+ video_putchar_newline(window);
+ } else if (window->textRow == window->height) {
+ video_putchar_newline(window);
+ window->textRow--;
+ }
+
+ if (_language == Common::HB_ISR) {
+ if (c >= 64 && c < 91)
+ width = _hebrewCharWidths [c - 64];
+ window->textColumnOffset -= width;
+ if (window->textColumnOffset >= width) {
+ window->textColumnOffset += 8;
+ window->textColumn++;
+ }
+ video_putchar_drawchar(window, (window->width + window->x - window->textColumn) * 8, window->textRow * 8 + window->y, c);
+ window->textLength++;
+ } else {
+ video_putchar_drawchar(window, (window->textColumn + window->x) * 8, window->textRow * 8 + window->y, c);
+
+ window->textLength++;
+ window->textColumnOffset += 6;
+ if (c == 'i' || c == 'l')
+ window->textColumnOffset -= 2;
+
+ if (window->textColumnOffset >= 8) {
+ window->textColumnOffset -= 8;
+ window->textColumn++;
+ }
+ }
+ }
+}
+
+void SimonEngine::video_putchar_newline(WindowBlock *window) {
+ if (getGameType() == GType_FF) {
+ if (_noOracleScroll == 0) {
+ if (window->height < window->textRow + 30) {
+ if (!getBitFlag(94)) {
+ _noOracleScroll = 1;
+ if (getBitFlag(92)) {
+ _noOracleScroll = 0;
+ checkLinkBox();
+ scrollOracle();
+ linksUp();
+ window->scrollY++;
+ _oracleMaxScrollY++;
+ } else {
+ _oracleMaxScrollY++;
+ checkLinkBox();
+ }
+ }
+ } else {
+ window->textRow += 15;
+ checkLinkBox();
+ }
+ } else {
+ _oracleMaxScrollY++;
+ checkLinkBox();
+ }
+ } else {
+ if (window->textRow != window->height)
+ window->textRow++;
+ }
+
+ window->textColumn = 0;
+ window->textColumnOffset = 0;
+ window->textLength = 0;
+}
+
+#ifdef PALMOS_68K
+static const byte *russian_video_font;
+static const byte *polish_video_font;
+static const byte *french_video_font;
+static const byte *german_video_font;
+static const byte *hebrew_video_font;
+static const byte *italian_video_font;
+static const byte *spanish_video_font;
+static const byte *video_font;
+#else
+static const byte russian_video_font[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 32, 112, 112, 32, 32, 0, 32, 0,
+ 48, 48, 96, 0, 0, 0, 0, 0,
+ 0, 0, 100, 40, 48, 40, 100, 0,
+ 0, 0, 96, 48, 40, 40, 112, 0,
+ 60, 68, 68, 60, 36, 68, 68, 0,
+ 0, 16, 40, 16, 42, 68, 58, 0,
+ 48, 48, 96, 0, 0, 0, 0, 0,
+ 0, 4, 8, 8, 8, 8, 4, 0,
+ 0, 32, 16, 16, 16, 16, 32, 0,
+ 72, 84, 84, 116, 84, 84, 72, 0,
+ 0, 0, 60, 68, 60, 36, 100, 0,
+ 0, 0, 0, 0, 0, 48, 48, 96,
+ 0, 0, 0, 240, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 48, 48, 0,
+ 16, 32, 0, 120, 112, 64, 56, 0,
+ 112, 136, 152, 168, 200, 136, 112, 0,
+ 32, 96, 32, 32, 32, 32, 112, 0,
+ 112, 136, 8, 48, 64, 136, 248, 0,
+ 112, 136, 8, 48, 8, 136, 112, 0,
+ 16, 48, 80, 144, 248, 16, 56, 0,
+ 248, 128, 240, 8, 8, 136, 112, 0,
+ 48, 64, 128, 240, 136, 136, 112, 0,
+ 248, 136, 8, 16, 32, 32, 32, 0,
+ 112, 136, 136, 112, 136, 136, 112, 0,
+ 112, 136, 136, 120, 8, 16, 96, 0,
+ 0, 0, 48, 48, 0, 48, 48, 0,
+ 32, 16, 0, 112, 8, 248, 120, 0,
+ 0, 0, 96, 48, 40, 40, 112, 0,
+ 0, 0, 112, 88, 20, 20, 56, 0,
+ 0, 0, 120, 4, 28, 4, 120, 0,
+ 112, 136, 8, 16, 32, 0, 32, 0,
+ 0, 0, 84, 84, 84, 84, 56, 4,
+ 56, 68, 68, 124, 68, 68, 68, 0,
+ 124, 36, 32, 56, 36, 36, 120, 0,
+ 120, 36, 36, 56, 36, 36, 120, 0,
+ 124, 36, 32, 32, 32, 32, 112, 0,
+ 56, 40, 40, 40, 40, 40, 124, 68,
+ 124, 36, 32, 56, 32, 36, 124, 0,
+ 84, 84, 84, 56, 84, 84, 84, 0,
+ 56, 68, 4, 24, 4, 68, 56, 0,
+ 68, 68, 76, 84, 100, 68, 68, 0,
+ 100, 40, 40, 48, 40, 36, 100, 0,
+ 28, 36, 36, 36, 36, 36, 100, 0,
+ 68, 108, 84, 68, 68, 68, 68, 0,
+ 68, 68, 68, 124, 68, 68, 68, 0,
+ 56, 68, 68, 68, 68, 68, 56, 0,
+ 124, 68, 68, 68, 68, 68, 68, 0,
+ 120, 36, 36, 56, 32, 32, 112, 0,
+ 56, 68, 64, 64, 64, 68, 56, 0,
+ 124, 84, 16, 16, 16, 16, 56, 0,
+ 100, 36, 36, 28, 4, 4, 56, 0,
+ 56, 84, 84, 84, 56, 16, 56, 0,
+ 108, 40, 16, 16, 40, 40, 108, 0,
+ 72, 72, 72, 72, 72, 72, 60, 4,
+ 76, 72, 72, 56, 8, 8, 28, 0,
+ 84, 84, 84, 84, 84, 84, 60, 0,
+ 84, 84, 84, 84, 84, 84, 56, 4,
+ 56, 68, 4, 28, 4, 68, 56, 0,
+ 0, 0, 68, 100, 84, 84, 100, 0,
+ 0, 0, 72, 84, 116, 84, 72, 0,
+ 0, 0, 60, 68, 60, 36, 100, 0,
+ 0, 0, 120, 4, 24, 4, 120, 0,
+ 0, 0, 100, 40, 48, 40, 100, 0,
+ 60, 68, 68, 60, 36, 68, 68, 0,
+ 0, 0, 56, 4, 60, 68, 60, 0,
+ 60, 64, 32, 56, 68, 68, 56, 0,
+ 48, 72, 80, 120, 68, 68, 56, 0,
+ 0, 0, 120, 4, 56, 64, 60, 0,
+ 56, 4, 4, 60, 68, 68, 56, 0,
+ 0, 0, 56, 68, 120, 64, 56, 0,
+ 40, 0, 56, 68, 120, 64, 56, 0,
+ 0, 0, 84, 84, 56, 84, 84, 0,
+ 64, 0, 192, 64, 64, 64, 224, 0,
+ 0, 0, 68, 68, 68, 68, 60, 0,
+ 56, 0, 68, 68, 68, 68, 60, 0,
+ 192, 64, 64, 64, 64, 64, 224, 0,
+ 0, 0, 28, 36, 36, 36, 100, 0,
+ 0, 0, 68, 108, 84, 68, 68, 0,
+ 0, 0, 56, 68, 68, 68, 56, 0,
+ 0, 0, 68, 68, 124, 68, 68, 0,
+ 0, 0, 124, 68, 68, 68, 68, 0,
+ 0, 0, 120, 36, 36, 56, 32, 112,
+ 0, 0, 60, 64, 64, 64, 60, 0,
+ 0, 0, 124, 84, 16, 16, 56, 0,
+ 0, 0, 68, 68, 60, 4, 56, 0,
+ 48, 16, 56, 84, 84, 56, 16, 56,
+ 0, 0, 68, 40, 16, 40, 68, 0,
+ 0, 0, 72, 72, 72, 72, 60, 4,
+ 0, 0, 76, 72, 72, 56, 8, 28,
+ 0, 0, 84, 84, 84, 84, 60, 0,
+ 32, 80, 0, 96, 144, 144, 96, 0,
+ 0, 14, 8, 48, 8, 8, 14, 0,
+ 0, 8, 8, 8, 8, 8, 8, 0,
+ 0, 112, 16, 12, 16, 16, 112, 0,
+ 0, 0, 0, 0, 0, 0, 248, 0,
+ 252, 252, 252, 252, 252, 252, 252, 252,
+ 240, 240, 240, 240, 240, 240, 240, 240,
+};
+
+static const byte polish_video_font[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 32, 112, 112, 32, 32, 0, 32, 0,
+ 48, 48, 96, 0, 0, 0, 0, 0,
+ 0, 0, 112, 136, 248, 128, 112, 8,
+ 0, 16, 120, 128, 112, 8, 240, 0,
+ 192, 64, 64, 96, 192, 64, 224, 0,
+ 0, 16, 40, 16, 42, 68, 58, 0,
+ 48, 48, 96, 0, 0, 0, 0, 0,
+ 0, 4, 8, 8, 8, 8, 4, 0,
+ 0, 32, 16, 16, 16, 16, 32, 0,
+ 0, 0, 20, 8, 62, 8, 20, 0,
+ 0, 32, 112, 136, 136, 136, 112, 0,
+ 0, 0, 0, 0, 0, 48, 48, 96,
+ 0, 0, 0, 240, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 48, 48, 0,
+ 0, 32, 112, 136, 128, 136, 112, 0,
+ 112, 136, 152, 168, 200, 136, 112, 0,
+ 32, 96, 32, 32, 32, 32, 112, 0,
+ 112, 136, 8, 48, 64, 136, 248, 0,
+ 112, 136, 8, 48, 8, 136, 112, 0,
+ 16, 48, 80, 144, 248, 16, 56, 0,
+ 248, 128, 240, 8, 8, 136, 112, 0,
+ 48, 64, 128, 240, 136, 136, 112, 0,
+ 248, 136, 8, 16, 32, 32, 32, 0,
+ 112, 136, 136, 112, 136, 136, 112, 0,
+ 112, 136, 136, 120, 8, 16, 96, 0,
+ 0, 0, 48, 48, 0, 48, 48, 0,
+ 0, 32, 240, 136, 136, 136, 136, 0,
+ 80, 0, 136, 136, 136, 136, 112, 0,
+ 0, 32, 248, 144, 32, 72, 248, 0,
+ 8, 32, 248, 144, 32, 72, 248, 0,
+ 112, 136, 8, 16, 32, 0, 32, 0,
+ 0, 0, 112, 8, 120, 136, 120, 4,
+ 112, 136, 136, 248, 136, 136, 136, 0,
+ 240, 72, 72, 112, 72, 72, 240, 0,
+ 48, 72, 128, 128, 128, 72, 48, 0,
+ 224, 80, 72, 72, 72, 80, 224, 0,
+ 248, 72, 64, 112, 64, 72, 248, 0,
+ 248, 72, 64, 112, 64, 64, 224, 0,
+ 48, 72, 128, 152, 136, 72, 56, 0,
+ 136, 136, 136, 248, 136, 136, 136, 0,
+ 248, 32, 32, 32, 32, 32, 248, 0,
+ 24, 8, 8, 8, 136, 136, 112, 0,
+ 200, 72, 80, 96, 80, 72, 200, 0,
+ 224, 64, 64, 64, 64, 72, 248, 0,
+ 136, 216, 168, 168, 136, 136, 136, 0,
+ 136, 200, 168, 152, 136, 136, 136, 0,
+ 112, 136, 136, 136, 136, 136, 112, 0,
+ 240, 72, 72, 112, 64, 64, 224, 0,
+ 112, 136, 136, 136, 136, 168, 112, 8,
+ 240, 72, 72, 112, 72, 72, 200, 0,
+ 112, 136, 128, 112, 8, 136, 112, 0,
+ 248, 168, 32, 32, 32, 32, 112, 0,
+ 136, 136, 136, 136, 136, 136, 120, 0,
+ 136, 136, 136, 80, 80, 32, 32, 0,
+ 136, 136, 136, 136, 168, 216, 136, 0,
+ 136, 136, 80, 32, 80, 136, 136, 0,
+ 136, 136, 136, 112, 32, 32, 112, 0,
+ 248, 136, 16, 32, 64, 136, 248, 0,
+ 0, 14, 8, 8, 8, 8, 14, 0,
+ 0, 128, 64, 32, 16, 8, 4, 0,
+ 224, 64, 64, 96, 192, 72, 248, 0,
+ 16, 120, 128, 112, 8, 136, 112, 0,
+ 248, 72, 64, 112, 64, 72, 248, 16,
+ 32, 248, 16, 32, 64, 136, 248, 0,
+ 0, 0, 112, 8, 120, 136, 120, 0,
+ 192, 64, 80, 104, 72, 72, 112, 0,
+ 0, 0, 112, 136, 128, 136, 112, 0,
+ 24, 16, 80, 176, 144, 144, 112, 0,
+ 0, 0, 112, 136, 248, 128, 112, 0,
+ 48, 72, 64, 224, 64, 64, 224, 0,
+ 0, 0, 104, 144, 144, 112, 136, 112,
+ 192, 64, 80, 104, 72, 72, 200, 0,
+ 64, 0, 192, 64, 64, 64, 224, 0,
+ 8, 0, 8, 8, 8, 8, 136, 112,
+ 192, 64, 72, 80, 96, 80, 200, 0,
+ 192, 64, 64, 64, 64, 64, 224, 0,
+ 0, 0, 144, 216, 168, 136, 136, 0,
+ 0, 0, 240, 136, 136, 136, 136, 0,
+ 0, 0, 112, 136, 136, 136, 112, 0,
+ 0, 0, 176, 72, 72, 112, 64, 224,
+ 0, 0, 104, 144, 144, 112, 16, 56,
+ 0, 0, 176, 72, 72, 64, 224, 0,
+ 0, 0, 120, 128, 112, 8, 240, 0,
+ 64, 64, 240, 64, 64, 72, 48, 0,
+ 0, 0, 144, 144, 144, 144, 104, 0,
+ 0, 0, 136, 136, 136, 80, 32, 0,
+ 0, 0, 136, 136, 168, 216, 144, 0,
+ 0, 0, 136, 80, 32, 80, 136, 0,
+ 0, 0, 136, 136, 136, 112, 32, 192,
+ 0, 0, 248, 144, 32, 72, 248, 0,
+ 32, 80, 0, 96, 144, 144, 96, 0,
+ 0, 14, 8, 48, 8, 8, 14, 0,
+ 0, 8, 8, 8, 8, 8, 8, 0,
+ 0, 112, 16, 12, 16, 16, 112, 0,
+ 0, 0, 0, 0, 0, 0, 248, 0,
+ 252, 252, 252, 252, 252, 252, 252, 252,
+ 240, 240, 240, 240, 240, 240, 240, 240,
+};
+
+static const byte french_video_font[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 32, 112, 112, 32, 32, 0, 32, 0,
+ 48, 48, 96, 0, 0, 0, 0, 0,
+ 32, 80, 0, 112, 136, 136, 112, 0,
+ 32, 80, 0, 112, 8, 248, 120, 0,
+ 112, 136, 128, 128, 136, 112, 32, 96,
+ 0, 16, 40, 16, 42, 68, 58, 0,
+ 48, 48, 96, 0, 0, 0, 0, 0,
+ 0, 4, 8, 8, 8, 8, 4, 0,
+ 0, 32, 16, 16, 16, 16, 32, 0,
+ 0, 0, 20, 8, 62, 8, 20, 0,
+ 112, 136, 128, 128, 136, 112, 32, 96,
+ 0, 0, 0, 0, 0, 48, 48, 96,
+ 0, 0, 0, 240, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 48, 48, 0,
+ 32, 64, 0, 112, 248, 128, 112, 0,
+ 112, 136, 152, 168, 200, 136, 112, 0,
+ 32, 96, 32, 32, 32, 32, 112, 0,
+ 112, 136, 8, 48, 64, 136, 248, 0,
+ 112, 136, 8, 48, 8, 136, 112, 0,
+ 16, 48, 80, 144, 248, 16, 56, 0,
+ 248, 128, 240, 8, 8, 136, 112, 0,
+ 48, 64, 128, 240, 136, 136, 112, 0,
+ 248, 136, 8, 16, 32, 32, 32, 0,
+ 112, 136, 136, 112, 136, 136, 112, 0,
+ 112, 136, 136, 120, 8, 16, 96, 0,
+ 0, 0, 48, 48, 0, 48, 48, 0,
+ 32, 16, 0, 112, 8, 248, 120, 0,
+ 32, 80, 0, 144, 144, 144, 104, 0,
+ 32, 16, 0, 112, 248, 128, 112, 0,
+ 32, 80, 0, 112, 248, 128, 112, 0,
+ 112, 136, 8, 16, 32, 0, 32, 0,
+ 32, 80, 0, 192, 64, 64, 224, 0,
+ 112, 136, 136, 248, 136, 136, 136, 0,
+ 240, 72, 72, 112, 72, 72, 240, 0,
+ 48, 72, 128, 128, 128, 72, 48, 0,
+ 224, 80, 72, 72, 72, 80, 224, 0,
+ 248, 72, 64, 112, 64, 72, 248, 0,
+ 248, 72, 64, 112, 64, 64, 224, 0,
+ 48, 72, 128, 152, 136, 72, 56, 0,
+ 136, 136, 136, 248, 136, 136, 136, 0,
+ 248, 32, 32, 32, 32, 32, 248, 0,
+ 24, 8, 8, 8, 136, 136, 112, 0,
+ 200, 72, 80, 96, 80, 72, 200, 0,
+ 224, 64, 64, 64, 64, 72, 248, 0,
+ 136, 216, 168, 168, 136, 136, 136, 0,
+ 136, 200, 168, 152, 136, 136, 136, 0,
+ 112, 136, 136, 136, 136, 136, 112, 0,
+ 240, 72, 72, 112, 64, 64, 224, 0,
+ 112, 136, 136, 136, 136, 168, 112, 8,
+ 240, 72, 72, 112, 72, 72, 200, 0,
+ 112, 136, 128, 112, 8, 136, 112, 0,
+ 248, 168, 32, 32, 32, 32, 112, 0,
+ 136, 136, 136, 136, 136, 136, 120, 0,
+ 136, 136, 136, 80, 80, 32, 32, 0,
+ 136, 136, 136, 136, 168, 216, 136, 0,
+ 136, 136, 80, 32, 80, 136, 136, 0,
+ 136, 136, 136, 112, 32, 32, 112, 0,
+ 248, 136, 16, 32, 64, 136, 248, 0,
+ 0, 14, 8, 8, 8, 8, 14, 0,
+ 0, 128, 64, 32, 16, 8, 4, 0,
+ 0, 112, 16, 16, 16, 16, 112, 0,
+ 0, 0, 112, 136, 128, 112, 32, 96,
+ 160, 0, 192, 64, 64, 64, 224, 0,
+ 32, 16, 0, 144, 144, 144, 104, 0,
+ 0, 0, 112, 8, 120, 136, 120, 0,
+ 192, 64, 80, 104, 72, 72, 112, 0,
+ 0, 0, 112, 136, 128, 136, 112, 0,
+ 24, 16, 80, 176, 144, 144, 112, 0,
+ 0, 0, 112, 136, 248, 128, 112, 0,
+ 48, 72, 64, 224, 64, 64, 224, 0,
+ 0, 0, 104, 144, 144, 112, 136, 112,
+ 192, 64, 80, 104, 72, 72, 200, 0,
+ 64, 0, 192, 64, 64, 64, 224, 0,
+ 8, 0, 8, 8, 8, 8, 136, 112,
+ 192, 64, 72, 80, 96, 80, 200, 0,
+ 192, 64, 64, 64, 64, 64, 224, 0,
+ 0, 0, 144, 216, 168, 136, 136, 0,
+ 0, 0, 240, 136, 136, 136, 136, 0,
+ 0, 0, 112, 136, 136, 136, 112, 0,
+ 0, 0, 176, 72, 72, 112, 64, 224,
+ 0, 0, 104, 144, 144, 112, 16, 56,
+ 0, 0, 176, 72, 72, 64, 224, 0,
+ 0, 0, 120, 128, 112, 8, 240, 0,
+ 64, 64, 240, 64, 64, 72, 48, 0,
+ 0, 0, 144, 144, 144, 144, 104, 0,
+ 0, 0, 136, 136, 136, 80, 32, 0,
+ 0, 0, 136, 136, 168, 216, 144, 0,
+ 0, 0, 136, 80, 32, 80, 136, 0,
+ 0, 0, 136, 136, 136, 112, 32, 192,
+ 0, 0, 248, 144, 32, 72, 248, 0,
+ 32, 80, 0, 96, 144, 144, 96, 0,
+ 0, 14, 8, 48, 8, 8, 14, 0,
+ 0, 8, 8, 8, 8, 8, 8, 0,
+ 0, 112, 16, 12, 16, 16, 112, 0,
+ 0, 0, 0, 0, 0, 0, 248, 0,
+ 252, 252, 252, 252, 252, 252, 252, 252,
+ 240, 240, 240, 240, 240, 240, 240, 240,
+};
+
+static const byte german_video_font[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 32, 112, 112, 32, 32, 0, 32, 0,
+ 48, 48, 96, 0, 0, 0, 0, 0,
+ 80, 0, 112, 8, 120, 136, 120, 0,
+ 80, 0, 112, 136, 136, 136, 112, 0,
+ 80, 0, 144, 144, 144, 144, 104, 0,
+ 0, 16, 40, 16, 42, 68, 58, 0,
+ 48, 48, 96, 0, 0, 0, 0, 0,
+ 0, 4, 8, 8, 8, 8, 4, 0,
+ 0, 32, 16, 16, 16, 16, 32, 0,
+ 0, 0, 20, 8, 62, 8, 20, 0,
+ 96, 144, 144, 160, 144, 144, 160, 128,
+ 0, 0, 0, 0, 0, 48, 48, 96,
+ 0, 0, 0, 240, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 48, 48, 0,
+ 80, 0, 112, 136, 248, 136, 136, 0,
+ 112, 136, 152, 168, 200, 136, 112, 0,
+ 32, 96, 32, 32, 32, 32, 112, 0,
+ 112, 136, 8, 48, 64, 136, 248, 0,
+ 112, 136, 8, 48, 8, 136, 112, 0,
+ 16, 48, 80, 144, 248, 16, 56, 0,
+ 248, 128, 240, 8, 8, 136, 112, 0,
+ 48, 64, 128, 240, 136, 136, 112, 0,
+ 248, 136, 8, 16, 32, 32, 32, 0,
+ 112, 136, 136, 112, 136, 136, 112, 0,
+ 112, 136, 136, 120, 8, 16, 96, 0,
+ 0, 0, 48, 48, 0, 48, 48, 0,
+ 136, 112, 136, 136, 136, 136, 112, 0,
+ 80, 0, 136, 136, 136, 136, 112, 0,
+ 80, 0, 144, 144, 144, 144, 104, 0,
+ 32, 64, 0, 112, 248, 128, 112, 0,
+ 112, 136, 8, 16, 32, 0, 32, 0,
+ 32, 80, 0, 192, 64, 64, 224, 0,
+ 112, 136, 136, 248, 136, 136, 136, 0,
+ 240, 72, 72, 112, 72, 72, 240, 0,
+ 48, 72, 128, 128, 128, 72, 48, 0,
+ 224, 80, 72, 72, 72, 80, 224, 0,
+ 248, 72, 64, 112, 64, 72, 248, 0,
+ 248, 72, 64, 112, 64, 64, 224, 0,
+ 48, 72, 128, 152, 136, 72, 56, 0,
+ 136, 136, 136, 248, 136, 136, 136, 0,
+ 248, 32, 32, 32, 32, 32, 248, 0,
+ 24, 8, 8, 8, 136, 136, 112, 0,
+ 200, 72, 80, 96, 80, 72, 200, 0,
+ 224, 64, 64, 64, 64, 72, 248, 0,
+ 136, 216, 168, 168, 136, 136, 136, 0,
+ 136, 200, 168, 152, 136, 136, 136, 0,
+ 112, 136, 136, 136, 136, 136, 112, 0,
+ 240, 72, 72, 112, 64, 64, 224, 0,
+ 112, 136, 136, 136, 136, 168, 112, 8,
+ 240, 72, 72, 112, 72, 72, 200, 0,
+ 112, 136, 128, 112, 8, 136, 112, 0,
+ 248, 168, 32, 32, 32, 32, 112, 0,
+ 136, 136, 136, 136, 136, 136, 120, 0,
+ 136, 136, 136, 80, 80, 32, 32, 0,
+ 136, 136, 136, 136, 168, 216, 136, 0,
+ 136, 136, 80, 32, 80, 136, 136, 0,
+ 136, 136, 136, 112, 32, 32, 112, 0,
+ 248, 136, 16, 32, 64, 136, 248, 0,
+ 0, 14, 8, 8, 8, 8, 14, 0,
+ 0, 128, 64, 32, 16, 8, 4, 0,
+ 0, 112, 16, 16, 16, 16, 112, 0,
+ 0, 48, 72, 64, 72, 48, 16, 48,
+ 0, 80, 0, 96, 32, 40, 48, 0,
+ 32, 16, 0, 152, 144, 144, 232, 0,
+ 0, 0, 112, 8, 120, 136, 120, 0,
+ 192, 64, 80, 104, 72, 72, 112, 0,
+ 0, 0, 112, 136, 128, 136, 112, 0,
+ 24, 16, 80, 176, 144, 144, 112, 0,
+ 0, 0, 112, 136, 248, 128, 112, 0,
+ 48, 72, 64, 224, 64, 64, 224, 0,
+ 0, 0, 104, 144, 144, 112, 136, 112,
+ 192, 64, 80, 104, 72, 72, 200, 0,
+ 64, 0, 192, 64, 64, 64, 224, 0,
+ 8, 0, 8, 8, 8, 8, 136, 112,
+ 192, 64, 72, 80, 96, 80, 200, 0,
+ 192, 64, 64, 64, 64, 64, 224, 0,
+ 0, 0, 144, 216, 168, 136, 136, 0,
+ 0, 0, 240, 136, 136, 136, 136, 0,
+ 0, 0, 112, 136, 136, 136, 112, 0,
+ 0, 0, 176, 72, 72, 112, 64, 224,
+ 0, 0, 104, 144, 144, 112, 16, 56,
+ 0, 0, 176, 72, 72, 64, 224, 0,
+ 0, 0, 120, 128, 112, 8, 240, 0,
+ 64, 64, 240, 64, 64, 72, 48, 0,
+ 0, 0, 144, 144, 144, 144, 104, 0,
+ 0, 0, 136, 136, 136, 80, 32, 0,
+ 0, 0, 136, 136, 168, 216, 144, 0,
+ 0, 0, 136, 80, 32, 80, 136, 0,
+ 0, 0, 136, 136, 136, 112, 32, 192,
+ 0, 0, 248, 144, 32, 72, 248, 0,
+ 32, 80, 0, 96, 144, 144, 96, 0,
+ 0, 14, 8, 48, 8, 8, 14, 0,
+ 0, 8, 8, 8, 8, 8, 8, 0,
+ 0, 112, 16, 12, 16, 16, 112, 0,
+ 0, 0, 0, 0, 0, 0, 248, 0,
+ 252, 252, 252, 252, 252, 252, 252, 252,
+ 240, 240, 240, 240, 240, 240, 240, 240,
+};
+
+static const byte hebrew_video_font[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 32, 112, 112, 32, 32, 0, 32, 0,
+ 48, 48, 96, 0, 0, 0, 0, 0,
+ 0, 144, 0, 96, 144, 144, 104, 0,
+ 0, 144, 0, 96, 144, 144, 96, 0,
+ 0, 144, 0, 144, 144, 144, 96, 0,
+ 0, 16, 40, 16, 42, 68, 58, 0,
+ 48, 48, 96, 0, 0, 0, 0, 0,
+ 0, 4, 8, 8, 8, 8, 4, 0,
+ 0, 32, 16, 16, 16, 16, 32, 0,
+ 0, 0, 20, 8, 62, 8, 20, 0,
+ 0, 112, 136, 240, 136, 136, 240, 0,
+ 0, 0, 0, 0, 0, 48, 48, 96,
+ 0, 0, 0, 240, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 48, 48, 0,
+ 16, 32, 0, 120, 112, 64, 56, 0,
+ 112, 136, 152, 168, 200, 136, 112, 0,
+ 32, 96, 32, 32, 32, 32, 112, 0,
+ 112, 136, 8, 48, 64, 136, 248, 0,
+ 112, 136, 8, 48, 8, 136, 112, 0,
+ 16, 48, 80, 144, 248, 16, 56, 0,
+ 248, 128, 240, 8, 8, 136, 112, 0,
+ 48, 64, 128, 240, 136, 136, 112, 0,
+ 248, 136, 8, 16, 32, 32, 32, 0,
+ 112, 136, 136, 112, 136, 136, 112, 0,
+ 112, 136, 136, 120, 8, 16, 96, 0,
+ 0, 0, 48, 48, 0, 48, 48, 0,
+ 5, 5, 4, 6, 5, 3, 4, 5,
+ 6, 3, 5, 5, 4, 6, 5, 3,
+ 4, 6, 5, 6, 6, 6, 5, 5,
+ 5, 6, 5, 6, 6, 6, 6, 6,
+ 112, 136, 8, 16, 32, 0, 32, 0,
+ 0, 0, 144, 80, 160, 144, 144, 0,
+ 0, 0, 224, 32, 32, 32, 240, 0,
+ 0, 0, 224, 32, 96, 160, 160, 0,
+ 0, 0, 248, 16, 16, 16, 16, 0,
+ 0, 0, 240, 16, 16, 144, 144, 0,
+ 0, 0, 192, 64, 64, 64, 64, 0,
+ 0, 0, 224, 64, 32, 64, 64, 0,
+ 0, 0, 240, 144, 144, 144, 144, 0,
+ 0, 0, 184, 168, 136, 136, 112, 0,
+ 0, 0, 192, 64, 0, 0, 0, 0,
+ 0, 0, 240, 16, 16, 16, 16, 16,
+ 0, 0, 224, 16, 16, 16, 224, 0,
+ 128, 128, 224, 32, 32, 32, 192, 0,
+ 0, 0, 248, 72, 72, 72, 120, 0,
+ 0, 0, 176, 208, 144, 144, 176, 0,
+ 0, 0, 192, 64, 64, 64, 64, 64,
+ 0, 0, 96, 32, 32, 32, 224, 0,
+ 0, 0, 248, 72, 72, 72, 48, 0,
+ 0, 0, 80, 80, 80, 80, 224, 0,
+ 0, 0, 248, 72, 104, 8, 8, 8,
+ 0, 0, 248, 72, 104, 8, 248, 0,
+ 0, 0, 216, 72, 48, 16, 16, 16,
+ 0, 0, 144, 80, 32, 16, 240, 0,
+ 0, 0, 240, 16, 144, 160, 128, 128,
+ 0, 0, 240, 16, 16, 16, 16, 0,
+ 0, 0, 168, 168, 200, 136, 112, 0,
+ 0, 0, 240, 80, 80, 80, 208, 0,
+ 0, 14, 8, 8, 8, 8, 14, 0,
+ 0, 128, 64, 32, 16, 8, 4, 0,
+ 0, 112, 16, 16, 16, 16, 112, 0,
+ 0, 48, 72, 64, 72, 48, 16, 48,
+ 0, 80, 0, 96, 32, 40, 48, 0,
+ 32, 16, 0, 152, 144, 144, 232, 0,
+ 0, 0, 112, 8, 120, 136, 120, 0,
+ 192, 64, 80, 104, 72, 72, 112, 0,
+ 0, 0, 112, 136, 128, 136, 112, 0,
+ 24, 16, 80, 176, 144, 144, 112, 0,
+ 0, 0, 112, 136, 248, 128, 112, 0,
+ 48, 72, 64, 224, 64, 64, 224, 0,
+ 0, 0, 104, 144, 144, 112, 136, 112,
+ 192, 64, 80, 104, 72, 72, 200, 0,
+ 64, 0, 192, 64, 64, 64, 224, 0,
+ 8, 0, 8, 8, 8, 8, 136, 112,
+ 192, 64, 72, 80, 96, 80, 200, 0,
+ 192, 64, 64, 64, 64, 64, 224, 0,
+ 0, 0, 144, 216, 168, 136, 136, 0,
+ 0, 0, 240, 136, 136, 136, 136, 0,
+ 0, 0, 112, 136, 136, 136, 112, 0,
+ 0, 0, 176, 72, 72, 112, 64, 224,
+ 0, 0, 104, 144, 144, 112, 16, 56,
+ 0, 0, 176, 72, 72, 64, 224, 0,
+ 0, 0, 120, 128, 112, 8, 240, 0,
+ 64, 64, 240, 64, 64, 72, 48, 0,
+ 0, 0, 144, 144, 144, 144, 104, 0,
+ 0, 0, 136, 136, 136, 80, 32, 0,
+ 0, 0, 136, 136, 168, 216, 144, 0,
+ 0, 0, 136, 80, 32, 80, 136, 0,
+ 0, 0, 136, 136, 136, 112, 32, 192,
+ 0, 0, 248, 144, 32, 72, 248, 0,
+ 32, 80, 0, 96, 144, 144, 96, 0,
+ 0, 14, 8, 48, 8, 8, 14, 0,
+ 0, 8, 8, 8, 8, 8, 8, 0,
+ 0, 112, 16, 12, 16, 16, 112, 0,
+ 0, 0, 0, 0, 0, 0, 248, 0,
+ 252, 252, 252, 252, 252, 252, 252, 252,
+ 240, 240, 240, 240, 240, 240, 240, 240,
+};
+
+static const byte italian_video_font[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 32, 112, 112, 32, 32, 0, 32, 0,
+ 48, 48, 96, 0, 0, 0, 0, 0,
+ 80, 0, 112, 8, 120, 136, 120, 0,
+ 80, 0, 112, 136, 136, 136, 112, 0,
+ 32, 16, 0, 112, 136, 136, 112, 0,
+ 0, 16, 40, 16, 42, 68, 58, 0,
+ 48, 48, 96, 0, 0, 0, 0, 0,
+ 0, 4, 8, 8, 8, 8, 4, 0,
+ 0, 32, 16, 16, 16, 16, 32, 0,
+ 0, 0, 20, 8, 62, 8, 20, 0,
+ 32, 16, 0, 192, 64, 64, 224, 0,
+ 0, 0, 0, 0, 0, 48, 48, 96,
+ 0, 0, 0, 240, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 48, 48, 0,
+ 32, 64, 0, 112, 248, 128, 112, 0,
+ 112, 136, 152, 168, 200, 136, 112, 0,
+ 32, 96, 32, 32, 32, 32, 112, 0,
+ 112, 136, 8, 48, 64, 136, 248, 0,
+ 112, 136, 8, 48, 8, 136, 112, 0,
+ 16, 48, 80, 144, 248, 16, 56, 0,
+ 248, 128, 240, 8, 8, 136, 112, 0,
+ 48, 64, 128, 240, 136, 136, 112, 0,
+ 248, 136, 8, 16, 32, 32, 32, 0,
+ 112, 136, 136, 112, 136, 136, 112, 0,
+ 112, 136, 136, 120, 8, 16, 96, 0,
+ 0, 0, 48, 48, 0, 48, 48, 0,
+ 32, 16, 0, 112, 8, 248, 120, 0,
+ 32, 16, 0, 112, 136, 136, 112, 0,
+ 32, 16, 0, 112, 248, 128, 112, 0,
+ 32, 80, 0, 112, 248, 128, 112, 0,
+ 112, 136, 8, 16, 32, 0, 32, 0,
+ 32, 80, 0, 96, 32, 40, 48, 0,
+ 112, 136, 136, 248, 136, 136, 136, 0,
+ 240, 72, 72, 112, 72, 72, 240, 0,
+ 48, 72, 128, 128, 128, 72, 48, 0,
+ 224, 80, 72, 72, 72, 80, 224, 0,
+ 248, 72, 64, 112, 64, 72, 248, 0,
+ 248, 72, 64, 112, 64, 64, 224, 0,
+ 48, 72, 128, 152, 136, 72, 56, 0,
+ 136, 136, 136, 248, 136, 136, 136, 0,
+ 248, 32, 32, 32, 32, 32, 248, 0,
+ 24, 8, 8, 8, 136, 136, 112, 0,
+ 200, 72, 80, 96, 80, 72, 200, 0,
+ 224, 64, 64, 64, 64, 72, 248, 0,
+ 136, 216, 168, 168, 136, 136, 136, 0,
+ 136, 200, 168, 152, 136, 136, 136, 0,
+ 112, 136, 136, 136, 136, 136, 112, 0,
+ 240, 72, 72, 112, 64, 64, 224, 0,
+ 112, 136, 136, 136, 136, 168, 112, 8,
+ 240, 72, 72, 112, 72, 72, 200, 0,
+ 112, 136, 128, 112, 8, 136, 112, 0,
+ 248, 168, 32, 32, 32, 32, 112, 0,
+ 136, 136, 136, 136, 136, 136, 120, 0,
+ 136, 136, 136, 80, 80, 32, 32, 0,
+ 136, 136, 136, 136, 168, 216, 136, 0,
+ 136, 136, 80, 32, 80, 136, 136, 0,
+ 136, 136, 136, 112, 32, 32, 112, 0,
+ 248, 136, 16, 32, 64, 136, 248, 0,
+ 0, 14, 8, 8, 8, 8, 14, 0,
+ 0, 128, 64, 32, 16, 8, 4, 0,
+ 0, 112, 16, 16, 16, 16, 112, 0,
+ 0, 0, 112, 136, 128, 112, 32, 96,
+ 160, 0, 192, 64, 64, 64, 224, 0,
+ 32, 16, 0, 144, 144, 144, 104, 0,
+ 0, 0, 112, 8, 120, 136, 120, 0,
+ 192, 64, 80, 104, 72, 72, 112, 0,
+ 0, 0, 112, 136, 128, 136, 112, 0,
+ 24, 16, 80, 176, 144, 144, 112, 0,
+ 0, 0, 112, 136, 248, 128, 112, 0,
+ 48, 72, 64, 224, 64, 64, 224, 0,
+ 0, 0, 104, 144, 144, 112, 136, 112,
+ 192, 64, 80, 104, 72, 72, 200, 0,
+ 64, 0, 192, 64, 64, 64, 224, 0,
+ 8, 0, 8, 8, 8, 8, 136, 112,
+ 192, 64, 72, 80, 96, 80, 200, 0,
+ 192, 64, 64, 64, 64, 64, 224, 0,
+ 0, 0, 144, 216, 168, 136, 136, 0,
+ 0, 0, 240, 136, 136, 136, 136, 0,
+ 0, 0, 112, 136, 136, 136, 112, 0,
+ 0, 0, 176, 72, 72, 112, 64, 224,
+ 0, 0, 104, 144, 144, 112, 16, 56,
+ 0, 0, 176, 72, 72, 64, 224, 0,
+ 0, 0, 120, 128, 112, 8, 240, 0,
+ 64, 64, 240, 64, 64, 72, 48, 0,
+ 0, 0, 144, 144, 144, 144, 104, 0,
+ 0, 0, 136, 136, 136, 80, 32, 0,
+ 0, 0, 136, 136, 168, 216, 144, 0,
+ 0, 0, 136, 80, 32, 80, 136, 0,
+ 0, 0, 136, 136, 136, 112, 32, 192,
+ 0, 0, 248, 144, 32, 72, 248, 0,
+ 32, 80, 0, 96, 144, 144, 96, 0,
+ 0, 14, 8, 48, 8, 8, 14, 0,
+ 0, 8, 8, 8, 8, 8, 8, 0,
+ 0, 112, 16, 12, 16, 16, 112, 0,
+ 0, 0, 0, 0, 0, 0, 248, 0,
+ 252, 252, 252, 252, 252, 252, 252, 252,
+ 240, 240, 240, 240, 240, 240, 240, 240,
+};
+
+static const byte spanish_video_font[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 32, 112, 112, 32, 32, 0, 32, 0,
+ 48, 48, 96, 0, 0, 0, 0, 0,
+ 80, 0, 112, 8, 120, 136, 120, 0,
+ 80, 0, 112, 136, 136, 136, 112, 0,
+ 80, 0, 144, 144, 144, 144, 104, 0,
+ 0, 16, 40, 16, 42, 68, 58, 0,
+ 48, 48, 96, 0, 0, 0, 0, 0,
+ 0, 4, 8, 8, 8, 8, 4, 0,
+ 0, 32, 16, 16, 16, 16, 32, 0,
+ 0, 0, 20, 8, 62, 8, 20, 0,
+ 96, 144, 144, 160, 144, 144, 160, 128,
+ 0, 0, 0, 0, 0, 48, 48, 96,
+ 0, 0, 0, 240, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 48, 48, 0,
+ 32, 64, 0, 112, 248, 128, 112, 0,
+ 112, 136, 152, 168, 200, 136, 112, 0,
+ 32, 96, 32, 32, 32, 32, 112, 0,
+ 112, 136, 8, 48, 64, 136, 248, 0,
+ 112, 136, 8, 48, 8, 136, 112, 0,
+ 16, 48, 80, 144, 248, 16, 56, 0,
+ 248, 128, 240, 8, 8, 136, 112, 0,
+ 48, 64, 128, 240, 136, 136, 112, 0,
+ 248, 136, 8, 16, 32, 32, 32, 0,
+ 112, 136, 136, 112, 136, 136, 112, 0,
+ 112, 136, 136, 120, 8, 16, 96, 0,
+ 0, 0, 48, 48, 0, 48, 48, 0,
+ 32, 64, 0, 112, 8, 248, 120, 0,
+ 32, 64, 0, 192, 64, 64, 224, 0,
+ 32, 64, 0, 112, 136, 136, 112, 0,
+ 32, 64, 0, 144, 144, 144, 104, 0,
+ 112, 136, 8, 16, 32, 0, 32, 0,
+ 80, 160, 0, 240, 136, 136, 136, 0,
+ 112, 136, 136, 248, 136, 136, 136, 0,
+ 240, 72, 72, 112, 72, 72, 240, 0,
+ 48, 72, 128, 128, 128, 72, 48, 0,
+ 224, 80, 72, 72, 72, 80, 224, 0,
+ 248, 72, 64, 112, 64, 72, 248, 0,
+ 248, 72, 64, 112, 64, 64, 224, 0,
+ 48, 72, 128, 152, 136, 72, 56, 0,
+ 136, 136, 136, 248, 136, 136, 136, 0,
+ 248, 32, 32, 32, 32, 32, 248, 0,
+ 24, 8, 8, 8, 136, 136, 112, 0,
+ 200, 72, 80, 96, 80, 72, 200, 0,
+ 224, 64, 64, 64, 64, 72, 248, 0,
+ 136, 216, 168, 168, 136, 136, 136, 0,
+ 136, 200, 168, 152, 136, 136, 136, 0,
+ 112, 136, 136, 136, 136, 136, 112, 0,
+ 240, 72, 72, 112, 64, 64, 224, 0,
+ 112, 136, 136, 136, 136, 168, 112, 8,
+ 240, 72, 72, 112, 72, 72, 200, 0,
+ 112, 136, 128, 112, 8, 136, 112, 0,
+ 248, 168, 32, 32, 32, 32, 112, 0,
+ 136, 136, 136, 136, 136, 136, 120, 0,
+ 136, 136, 136, 80, 80, 32, 32, 0,
+ 136, 136, 136, 136, 168, 216, 136, 0,
+ 136, 136, 80, 32, 80, 136, 136, 0,
+ 136, 136, 136, 112, 32, 32, 112, 0,
+ 248, 136, 16, 32, 64, 136, 248, 0,
+ 0, 14, 8, 8, 8, 8, 14, 0,
+ 0, 128, 64, 32, 16, 8, 4, 0,
+ 0, 112, 16, 16, 16, 16, 112, 0,
+ 32, 0, 32, 64, 128, 136, 112, 0,
+ 32, 0, 32, 32, 112, 112, 32, 0,
+ 80, 0, 144, 144, 144, 144, 104, 0,
+ 0, 0, 112, 8, 120, 136, 120, 0,
+ 192, 64, 80, 104, 72, 72, 112, 0,
+ 0, 0, 112, 136, 128, 136, 112, 0,
+ 24, 16, 80, 176, 144, 144, 112, 0,
+ 0, 0, 112, 136, 248, 128, 112, 0,
+ 48, 72, 64, 224, 64, 64, 224, 0,
+ 0, 0, 104, 144, 144, 112, 136, 112,
+ 192, 64, 80, 104, 72, 72, 200, 0,
+ 64, 0, 192, 64, 64, 64, 224, 0,
+ 8, 0, 8, 8, 8, 8, 136, 112,
+ 192, 64, 72, 80, 96, 80, 200, 0,
+ 192, 64, 64, 64, 64, 64, 224, 0,
+ 0, 0, 144, 216, 168, 136, 136, 0,
+ 0, 0, 240, 136, 136, 136, 136, 0,
+ 0, 0, 112, 136, 136, 136, 112, 0,
+ 0, 0, 176, 72, 72, 112, 64, 224,
+ 0, 0, 104, 144, 144, 112, 16, 56,
+ 0, 0, 176, 72, 72, 64, 224, 0,
+ 0, 0, 120, 128, 112, 8, 240, 0,
+ 64, 64, 240, 64, 64, 72, 48, 0,
+ 0, 0, 144, 144, 144, 144, 104, 0,
+ 0, 0, 136, 136, 136, 80, 32, 0,
+ 0, 0, 136, 136, 168, 216, 144, 0,
+ 0, 0, 136, 80, 32, 80, 136, 0,
+ 0, 0, 136, 136, 136, 112, 32, 192,
+ 0, 0, 248, 144, 32, 72, 248, 0,
+ 32, 80, 0, 96, 144, 144, 96, 0,
+ 0, 14, 8, 48, 8, 8, 14, 0,
+ 0, 8, 8, 8, 8, 8, 8, 0,
+ 0, 112, 16, 12, 16, 16, 112, 0,
+ 0, 0, 0, 0, 0, 0, 248, 0,
+ 252, 252, 252, 252, 252, 252, 252, 252,
+ 240, 240, 240, 240, 240, 240, 240, 240,
+};
+
+static const byte video_font[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 32, 112, 112, 32, 32, 0, 32, 0,
+ 48, 48, 96, 0, 0, 0, 0, 0,
+ 0, 144, 0, 96, 144, 144, 104, 0,
+ 0, 144, 0, 96, 144, 144, 96, 0,
+ 0, 144, 0, 144, 144, 144, 96, 0,
+ 0, 16, 40, 16, 42, 68, 58, 0,
+ 48, 48, 96, 0, 0, 0, 0, 0,
+ 0, 4, 8, 8, 8, 8, 4, 0,
+ 0, 32, 16, 16, 16, 16, 32, 0,
+ 0, 0, 20, 8, 62, 8, 20, 0,
+ 0, 112, 136, 240, 136, 136, 240, 0,
+ 0, 0, 0, 0, 0, 48, 48, 96,
+ 0, 0, 0, 240, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 48, 48, 0,
+ 16, 32, 0, 120, 112, 64, 56, 0,
+ 112, 136, 152, 168, 200, 136, 112, 0,
+ 32, 96, 32, 32, 32, 32, 112, 0,
+ 112, 136, 8, 48, 64, 136, 248, 0,
+ 112, 136, 8, 48, 8, 136, 112, 0,
+ 16, 48, 80, 144, 248, 16, 56, 0,
+ 248, 128, 240, 8, 8, 136, 112, 0,
+ 48, 64, 128, 240, 136, 136, 112, 0,
+ 248, 136, 8, 16, 32, 32, 32, 0,
+ 112, 136, 136, 112, 136, 136, 112, 0,
+ 112, 136, 136, 120, 8, 16, 96, 0,
+ 0, 0, 48, 48, 0, 48, 48, 0,
+ 32, 16, 0, 112, 8, 248, 120, 0,
+ 32, 80, 0, 144, 144, 144, 104, 0,
+ 80, 0, 144, 144, 144, 144, 104, 0,
+ 32, 80, 0, 112, 248, 128, 112, 0,
+ 112, 136, 8, 16, 32, 0, 32, 0,
+ 32, 80, 0, 192, 64, 64, 224, 0,
+ 112, 136, 136, 248, 136, 136, 136, 0,
+ 240, 72, 72, 112, 72, 72, 240, 0,
+ 48, 72, 128, 128, 128, 72, 48, 0,
+ 224, 80, 72, 72, 72, 80, 224, 0,
+ 248, 72, 64, 112, 64, 72, 248, 0,
+ 248, 72, 64, 112, 64, 64, 224, 0,
+ 48, 72, 128, 152, 136, 72, 56, 0,
+ 136, 136, 136, 248, 136, 136, 136, 0,
+ 248, 32, 32, 32, 32, 32, 248, 0,
+ 24, 8, 8, 8, 136, 136, 112, 0,
+ 200, 72, 80, 96, 80, 72, 200, 0,
+ 224, 64, 64, 64, 64, 72, 248, 0,
+ 136, 216, 168, 168, 136, 136, 136, 0,
+ 136, 200, 168, 152, 136, 136, 136, 0,
+ 112, 136, 136, 136, 136, 136, 112, 0,
+ 240, 72, 72, 112, 64, 64, 224, 0,
+ 112, 136, 136, 136, 136, 168, 112, 8,
+ 240, 72, 72, 112, 72, 72, 200, 0,
+ 112, 136, 128, 112, 8, 136, 112, 0,
+ 248, 168, 32, 32, 32, 32, 112, 0,
+ 136, 136, 136, 136, 136, 136, 120, 0,
+ 136, 136, 136, 80, 80, 32, 32, 0,
+ 136, 136, 136, 136, 168, 216, 136, 0,
+ 136, 136, 80, 32, 80, 136, 136, 0,
+ 136, 136, 136, 112, 32, 32, 112, 0,
+ 248, 136, 16, 32, 64, 136, 248, 0,
+ 0, 14, 8, 8, 8, 8, 14, 0,
+ 0, 128, 64, 32, 16, 8, 4, 0,
+ 0, 112, 16, 16, 16, 16, 112, 0,
+ 0, 48, 72, 64, 72, 48, 16, 48,
+ 0, 80, 0, 96, 32, 40, 48, 0,
+ 32, 16, 0, 152, 144, 144, 232, 0,
+ 0, 0, 112, 8, 120, 136, 120, 0,
+ 192, 64, 80, 104, 72, 72, 112, 0,
+ 0, 0, 112, 136, 128, 136, 112, 0,
+ 24, 16, 80, 176, 144, 144, 112, 0,
+ 0, 0, 112, 136, 248, 128, 112, 0,
+ 48, 72, 64, 224, 64, 64, 224, 0,
+ 0, 0, 104, 144, 144, 112, 136, 112,
+ 192, 64, 80, 104, 72, 72, 200, 0,
+ 64, 0, 192, 64, 64, 64, 224, 0,
+ 8, 0, 8, 8, 8, 8, 136, 112,
+ 192, 64, 72, 80, 96, 80, 200, 0,
+ 192, 64, 64, 64, 64, 64, 224, 0,
+ 0, 0, 144, 216, 168, 136, 136, 0,
+ 0, 0, 240, 136, 136, 136, 136, 0,
+ 0, 0, 112, 136, 136, 136, 112, 0,
+ 0, 0, 176, 72, 72, 112, 64, 224,
+ 0, 0, 104, 144, 144, 112, 16, 56,
+ 0, 0, 176, 72, 72, 64, 224, 0,
+ 0, 0, 120, 128, 112, 8, 240, 0,
+ 64, 64, 240, 64, 64, 72, 48, 0,
+ 0, 0, 144, 144, 144, 144, 104, 0,
+ 0, 0, 136, 136, 136, 80, 32, 0,
+ 0, 0, 136, 136, 168, 216, 144, 0,
+ 0, 0, 136, 80, 32, 80, 136, 0,
+ 0, 0, 136, 136, 136, 112, 32, 192,
+ 0, 0, 248, 144, 32, 72, 248, 0,
+ 32, 80, 0, 96, 144, 144, 96, 0,
+ 0, 14, 8, 48, 8, 8, 14, 0,
+ 0, 8, 8, 8, 8, 8, 8, 0,
+ 0, 112, 16, 12, 16, 16, 112, 0,
+ 0, 0, 0, 0, 0, 0, 248, 0,
+ 252, 252, 252, 252, 252, 252, 252, 252,
+ 240, 240, 240, 240, 240, 240, 240, 240,
+};
+#endif
+
+static const byte feeble_video_font[] = {
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 128,128,128,128,128,128,128,0,0,128,0,0,0,
+ 144,144,144,0,0,0,0,0,0,0,0,0,0,
+ 0,72,252,72,72,252,72,0,0,0,0,0,0,
+ 124,146,144,144,124,18,18,18,146,124,16,16,0,
+ 62,98,146,100,8,16,32,76,146,140,0,0,0,
+ 0,112,136,136,80,32,82,138,132,122,0,0,0,
+ 128,128,128,0,0,0,0,0,0,0,0,0,0,
+ 32,64,128,128,128,128,128,128,64,32,0,0,0,
+ 128,64,32,32,32,32,32,32,64,128,0,0,0,
+ 16,146,84,56,56,84,146,16,0,0,0,0,0,
+ 0,0,16,16,16,254,16,16,16,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,64,64,128,0,
+ 0,0,0,0,0,254,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,128,0,0,0,
+ 0,0,1,2,4,8,16,32,64,128,128,0,0,
+ 120,132,132,132,132,132,132,132,132,120,0,0,0,
+ 16,48,16,16,16,16,16,16,16,56,0,0,0,
+ 120,132,132,4,4,8,16,32,64,252,0,0,0,
+ 124,130,130,2,2,28,2,2,130,124,0,0,0,
+ 4,12,20,36,68,132,254,4,4,4,0,0,0,
+ 254,128,128,252,2,2,2,2,130,124,0,0,0,
+ 62,64,128,252,130,130,130,130,130,124,0,0,0,
+ 254,2,2,2,2,4,8,16,16,16,0,0,0,
+ 120,132,132,132,120,132,132,132,132,120,0,0,0,
+ 124,130,130,130,130,130,126,2,2,124,0,0,0,
+ 0,0,0,0,128,0,0,0,128,0,0,0,0,
+ 0,0,0,0,0,64,0,0,0,64,64,128,0,
+ 0,0,16,32,64,128,64,32,16,0,0,0,0,
+ 0,0,0,254,0,0,254,0,0,0,0,0,0,
+ 0,0,128,64,32,16,32,64,128,0,0,0,0,
+ 60,66,130,2,4,8,16,16,0,16,16,0,0,
+ 60,66,130,154,166,166,156,128,128,126,0,0,0,
+ 124,130,130,130,130,254,130,130,130,130,0,0,0,
+ 252,130,130,130,252,130,130,130,130,252,0,0,0,
+ 124,130,130,128,128,128,128,130,130,124,0,0,0,
+ 252,130,130,130,130,130,130,130,130,252,0,0,0,
+ 254,128,128,128,128,252,128,128,128,254,0,0,0,
+ 254,128,128,128,128,252,128,128,128,128,0,0,0,
+ 124,130,130,128,128,134,130,130,130,124,0,0,0,
+ 130,130,130,130,130,254,130,130,130,130,0,0,0,
+ 224,64,64,64,64,64,64,64,64,224,0,0,0,
+ 30,2,2,2,2,2,130,130,130,124,0,0,0,
+ 130,130,132,136,144,224,144,136,132,130,0,0,0,
+ 128,128,128,128,128,128,128,128,128,254,0,0,0,
+ 130,198,170,146,130,130,130,130,130,130,0,0,0,
+ 130,130,194,162,146,138,134,130,130,130,0,0,0,
+ 124,130,130,130,130,130,130,130,130,124,0,0,0,
+ 252,130,130,130,130,252,128,128,128,128,0,0,0,
+ 124,130,130,130,130,130,130,130,130,126,2,2,0,
+ 252,130,130,130,130,252,130,130,130,130,0,0,0,
+ 124,130,128,128,124,2,2,130,130,124,0,0,0,
+ 254,16,16,16,16,16,16,16,16,16,0,0,0,
+ 130,130,130,130,130,130,130,130,130,124,0,0,0,
+ 130,130,130,130,130,130,130,68,40,16,0,0,0,
+ 130,130,130,130,130,130,130,146,170,198,0,0,0,
+ 130,68,40,16,16,16,16,40,68,130,0,0,0,
+ 130,130,130,130,68,40,16,16,16,16,0,0,0,
+ 254,2,2,4,8,16,32,64,128,254,0,0,0,
+ 224,128,128,128,128,128,128,128,128,224,0,0,0,
+ 128,128,64,32,16,8,4,2,1,0,0,0,0,
+ 224,32,32,32,32,32,32,32,32,224,0,0,0,
+ 160,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,255,0,0,0,
+ 32,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,62,66,130,130,130,134,122,0,0,0,
+ 128,128,128,252,130,130,130,130,130,252,0,0,0,
+ 0,0,0,124,130,128,128,128,130,124,0,0,0,
+ 2,2,2,126,130,130,130,130,130,126,0,0,0,
+ 0,0,0,124,130,130,254,128,128,126,0,0,0,
+ 28,32,32,248,32,32,32,32,32,32,0,0,0,
+ 0,0,0,62,66,130,130,130,130,126,2,2,124,
+ 128,128,128,252,130,130,130,130,130,130,0,0,0,
+ 64,0,0,64,192,64,64,64,64,224,0,0,0,
+ 16,0,0,16,16,16,16,16,16,16,16,16,224,
+ 128,128,128,132,136,144,224,144,136,132,0,0,0,
+ 192,64,64,64,64,64,64,64,64,64,0,0,0,
+ 0,0,0,252,146,146,146,146,146,146,0,0,0,
+ 0,0,0,156,162,194,130,130,130,130,0,0,0,
+ 0,0,0,124,130,130,130,130,130,124,0,0,0,
+ 0,0,0,252,130,130,130,130,130,252,128,128,128,
+ 0,0,0,126,130,130,130,130,130,126,2,2,2,
+ 0,0,0,156,162,194,128,128,128,128,0,0,0,
+ 0,0,0,124,128,128,120,4,4,248,0,0,0,
+ 32,32,32,248,32,32,32,32,32,28,0,0,0,
+ 0,0,0,130,130,130,130,130,130,126,0,0,0,
+ 0,0,0,130,130,130,130,68,40,16,0,0,0,
+ 0,0,0,146,146,146,146,146,146,124,0,0,0,
+ 0,0,0,130,68,40,16,40,68,130,0,0,0,
+ 0,0,0,130,130,130,130,130,130,126,2,2,124,
+ 0,0,0,254,4,8,16,32,64,254,0,0,0,
+ 48,64,64,64,64,128,64,64,64,64,48,0,0,
+ 128,128,128,128,128,128,128,128,128,128,128,128,0,
+ 192,32,32,32,32,16,32,32,32,32,192,0,0,
+ 152,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,254,0,0,
+ 124,130,130,128,128,128,128,130,130,124,16,16,48,
+ 0,40,0,130,130,130,130,130,130,126,0,0,0,
+ 16,32,0,124,130,130,254,128,128,126,0,0,0,
+ 16,40,0,62,66,130,130,130,134,122,0,0,0,
+ 0,40,0,62,66,130,130,130,134,122,0,0,0,
+ 16,8,0,62,66,130,130,130,134,122,0,0,0,
+ 8,20,8,62,66,130,130,130,134,122,0,0,0,
+ 0,0,0,124,130,128,128,128,130,124,16,16,48,
+ 16,40,0,124,130,130,254,128,128,126,0,0,0,
+ 0,40,0,124,130,130,254,128,128,126,0,0,0,
+ 16,8,0,124,130,130,254,128,128,126,0,0,0,
+ 0,160,0,64,192,64,64,64,64,224,0,0,0,
+ 64,160,0,64,192,64,64,64,64,224,0,0,0,
+ 128,64,0,64,192,64,64,64,64,224,0,0,0,
+ 40,0,124,130,130,130,254,130,130,130,0,0,0,
+ 16,40,124,130,130,130,254,130,130,130,0,0,0,
+ 40,0,254,128,128,252,128,128,128,254,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 16,40,0,124,130,130,130,130,130,124,0,0,0,
+ 0,40,0,124,130,130,130,130,130,124,0,0,0,
+ 32,16,0,124,130,130,130,130,130,124,0,0,0,
+ 16,40,0,130,130,130,130,130,130,126,0,0,0,
+ 16,8,0,130,130,130,130,130,130,126,0,0,0,
+ 0,40,0,130,130,130,130,130,130,126,2,2,124,
+ 40,0,124,130,130,130,130,130,130,124,0,0,0,
+ 40,0,130,130,130,130,130,130,130,124,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 8,16,0,62,66,130,130,130,134,122,0,0,0,
+ 64,128,0,64,192,64,64,64,64,224,0,0,0,
+ 16,32,0,124,130,130,130,130,130,124,0,0,0,
+ 8,16,0,130,130,130,130,130,130,126,0,0,0,
+ 20,40,0,156,162,194,130,130,130,130,0,0,0,
+ 20,40,130,194,162,146,138,134,130,130,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 16,16,0,16,16,32,64,128,130,132,120,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 128,0,0,128,128,128,128,128,128,128,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 60,66,130,130,130,132,132,130,130,130,156,128,128,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,
+};
+
+void SimonEngine::video_putchar_drawchar(WindowBlock *window, uint x, uint y, byte chr) {
+ const byte *src;
+ byte color, *dst;
+ uint h, w, i;
+
+ if (_noOracleScroll)
+ return;
+
+ _lockWord |= 0x8000;
+
+ dst = getFrontBuf() + y * _dxSurfacePitch + x + window->textColumnOffset;
+
+ if (getGameType() == GType_FF || getGameType() == GType_PP) {
+ h = 13;
+ w = feebleFontSize[chr - 0x20];
+
+ src = feeble_video_font + (chr - 0x20) * 13;
+ } else {
+ h = 8;
+ w = 6;
+
+ switch (_language) {
+ case Common::RU_RUS:
+ src = russian_video_font + (chr - 0x20) * 8;
+ break;
+ case Common::PL_POL:
+ src = polish_video_font + (chr - 0x20) * 8;
+ break;
+ case Common::HB_ISR:
+ src = hebrew_video_font + (chr - 0x20) * 8;
+ break;
+ case Common::ES_ESP:
+ src = spanish_video_font + (chr - 0x20) * 8;
+ break;
+ case Common::IT_ITA:
+ src = italian_video_font + (chr - 0x20) * 8;
+ break;
+ case Common::FR_FRA:
+ src = french_video_font + (chr - 0x20) * 8;
+ break;
+ case Common::DE_DEU:
+ src = german_video_font + (chr - 0x20) * 8;
+ break;
+ case Common::EN_ANY:
+ src = video_font + (chr - 0x20) * 8;
+ break;
+ default:
+ error("video_putchar_drawchar: Unknown language %d\n", _language);
+ }
+ }
+
+ color = window->text_color;
+
+ do {
+ int8 b = *src++;
+ i = 0;
+ do {
+ if (b < 0) {
+ if (getGameType() == GType_FF || getGameType() == GType_PP) {
+ if (dst[i] == 0)
+ dst[i] = color;
+ } else {
+ dst[i] = color;
+ }
+ }
+
+ b <<= 1;
+ } while (++i != w);
+ dst += _dxSurfacePitch;
+ } while (--h);
+
+ _lockWord &= ~0x8000;
+}
+
+} // End of namespace Simon
+
+#ifdef PALMOS_68K
+#include "scumm_globals.h"
+
+_GINIT(AGOS_Charset)
+_GSETPTR(Simon::russian_video_font, GBVARS_RUSSIANVIDEOFONT_INDEX, byte, GBVARS_SIMON)
+//_GSETPTR(Simon::polish_video_font, GBVARS_POLISHVIDEOFONT_INDEX, byte, GBVARS_SIMON)
+_GSETPTR(Simon::french_video_font, GBVARS_FRENCHVIDEOFONT_INDEX, byte, GBVARS_SIMON)
+_GSETPTR(Simon::german_video_font, GBVARS_GERMANVIDEOFONT_INDEX, byte, GBVARS_SIMON)
+_GSETPTR(Simon::hebrew_video_font, GBVARS_HEBREWVIDEOFONT_INDEX, byte, GBVARS_SIMON)
+_GSETPTR(Simon::italian_video_font, GBVARS_ITALIANVIDEOFONT_INDEX, byte, GBVARS_SIMON)
+_GSETPTR(Simon::spanish_video_font, GBVARS_SPANISHVIDEOFONT_INDEX, byte, GBVARS_SIMON)
+_GSETPTR(Simon::video_font, GBVARS_VIDEOFONT_INDEX, byte, GBVARS_SIMON)
+_GEND
+
+_GRELEASE(AGOS_Charset)
+_GRELEASEPTR(GBVARS_RUSSIANVIDEOFONT_INDEX, GBVARS_SIMON)
+//_GRELEASEPTR(GBVARS_POLISHVIDEOFONT_INDEX, GBVARS_SIMON)
+_GRELEASEPTR(GBVARS_FRENCHVIDEOFONT_INDEX, GBVARS_SIMON)
+_GRELEASEPTR(GBVARS_GERMANVIDEOFONT_INDEX, GBVARS_SIMON)
+_GRELEASEPTR(GBVARS_HEBREWVIDEOFONT_INDEX, GBVARS_SIMON)
+_GRELEASEPTR(GBVARS_ITALIANVIDEOFONT_INDEX, GBVARS_SIMON)
+_GRELEASEPTR(GBVARS_SPANISHVIDEOFONT_INDEX, GBVARS_SIMON)
+_GRELEASEPTR(GBVARS_VIDEOFONT_INDEX, GBVARS_SIMON)
+_GEND
+
+#endif