diff options
Diffstat (limited to 'gui')
-rw-r--r-- | gui/console.cpp | 40 | ||||
-rw-r--r-- | gui/consolefont.cpp | 4784 | ||||
-rw-r--r-- | gui/module.mk | 1 |
3 files changed, 4807 insertions, 18 deletions
diff --git a/gui/console.cpp b/gui/console.cpp index 673d3dc83b..325b00691d 100644 --- a/gui/console.cpp +++ b/gui/console.cpp @@ -27,10 +27,14 @@ #include "graphics/font.h" -#define kCharWidth g_gui.getFont().getMaxCharWidth() +namespace GUI { + +extern const Graphics::NewFont g_consolefont; + +#define kConsoleCharWidth (g_consolefont.getMaxCharWidth()) +#define kConsoleLineHeight (g_consolefont.getFontHeight() + 2) -namespace GUI { #define PROMPT ") " @@ -83,14 +87,14 @@ ConsoleDialog::ConsoleDialog(float widthPercent, float heightPercent) void ConsoleDialog::reflowLayout() { // Calculate the real width/height (rounded to char/line multiples) _w = (uint16)(_widthPercent * g_system->getOverlayWidth()); -// _w = (_widthPercent * g_system->getOverlayWidth() - kScrollBarWidth - 2) / kCharWidth; -// _w = _w * kCharWidth + kScrollBarWidth + 2; - _h = (uint16)((_heightPercent * g_system->getOverlayHeight() - 2) / kLineHeight); - _h = _h * kLineHeight + 2; +// _w = (_widthPercent * g_system->getOverlayWidth() - kScrollBarWidth - 2) / kConsoleCharWidth; +// _w = _w * kConsoleCharWidth + kScrollBarWidth + 2; + _h = (uint16)((_heightPercent * g_system->getOverlayHeight() - 2) / kConsoleLineHeight); + _h = _h * kConsoleLineHeight + 2; // Calculate depending values - _lineWidth = (_w - kScrollBarWidth - 2) / kCharWidth; - _linesPerPage = (_h - 2) / kLineHeight; + _lineWidth = (_w - kScrollBarWidth - 2) / kConsoleCharWidth; + _linesPerPage = (_h - 2) / kConsoleLineHeight; } void ConsoleDialog::open() { @@ -121,10 +125,10 @@ void ConsoleDialog::drawDialog() { #else byte c = buffer((start + line) * _lineWidth + column); #endif - g_gui.drawChar(c, x, y, g_gui._textcolor); - x += kCharWidth; + g_gui.drawChar(c, x, y, g_gui._textcolor, &g_consolefont); + x += kConsoleCharWidth; } - y += kLineHeight; + y += kConsoleLineHeight; } // Draw the scrollbar @@ -534,18 +538,18 @@ void ConsoleDialog::drawCaret(bool erase) { return; } - int x = _x + 1 + (_currentPos % _lineWidth) * kCharWidth; - int y = _y + displayLine * kLineHeight; + int x = _x + 1 + (_currentPos % _lineWidth) * kConsoleCharWidth; + int y = _y + displayLine * kConsoleLineHeight; char c = buffer(_currentPos); if (erase) { - g_gui.fillRect(x, y, kCharWidth, kLineHeight, g_gui._bgcolor); - g_gui.drawChar(c, x, y + 2, g_gui._textcolor); + g_gui.fillRect(x, y, kConsoleCharWidth, kConsoleLineHeight, g_gui._bgcolor); + g_gui.drawChar(c, x, y + 2, g_gui._textcolor, &g_consolefont); } else { - g_gui.fillRect(x, y, kCharWidth, kLineHeight, g_gui._textcolor); - g_gui.drawChar(c, x, y + 2, g_gui._bgcolor); + g_gui.fillRect(x, y, kConsoleCharWidth, kConsoleLineHeight, g_gui._textcolor); + g_gui.drawChar(c, x, y + 2, g_gui._bgcolor, &g_consolefont); } - g_gui.addDirtyRect(x, y, kCharWidth, kLineHeight); + g_gui.addDirtyRect(x, y, kConsoleCharWidth, kConsoleLineHeight); _caretVisible = !erase; } diff --git a/gui/consolefont.cpp b/gui/consolefont.cpp new file mode 100644 index 0000000000..edbff22aa3 --- /dev/null +++ b/gui/consolefont.cpp @@ -0,0 +1,4784 @@ +/* Generated by convbdf on Sun Aug 15 16:38:06 2004. */ +#include "common/stdafx.h" +#include "graphics/font.h" + +/* Font information: + name: 5x7 + facename: -Misc-Fixed-Medium-R-Normal--7-70-75-75-C-50-ISO8859-1 + w x h: 5x7 + size: 256 + ascent: 6 + descent: 1 + first char: 0 (0x00) + last char: 255 (0xff) + default char: 0 (0x00) + proportional: no + Copyright 1991, 1998 The Open Group +*/ + +namespace GUI { + +using namespace Graphics; + +/* Font character bitmap data. */ +static const bitmap_t _font_bits[] = { + +/* Character 0 (0x00): + width 5 + +-----+ + |**** | + |**** | + |**** | + |**** | + |**** | + |**** | + | | + +-----+ +*/ +0xf000, +0xf000, +0xf000, +0xf000, +0xf000, +0xf000, +0x0000, + +/* Character 1 (0x01): + width 5 + +-----+ + | | + | * | + | *** | + |*****| + | *** | + | * | + | | + +-----+ +*/ +0x0000, +0x2000, +0x7000, +0xf800, +0x7000, +0x2000, +0x0000, + +/* Character 2 (0x02): + width 5 + +-----+ + | * * | + |* * | + | * * | + |* * | + | * * | + |* * | + | | + +-----+ +*/ +0x5000, +0xa000, +0x5000, +0xa000, +0x5000, +0xa000, +0x0000, + +/* Character 3 (0x03): + width 5 + +-----+ + |* * | + |*** | + |* * | + |* * | + | *** | + | * | + | * | + +-----+ +*/ +0xa000, +0xe000, +0xa000, +0xa000, +0x7000, +0x2000, +0x2000, + +/* Character 4 (0x04): + width 5 + +-----+ + |** | + |* | + |** | + |* ** | + | * | + | ** | + | * | + +-----+ +*/ +0xc000, +0x8000, +0xc000, +0xb000, +0x2000, +0x3000, +0x2000, + +/* Character 5 (0x05): + width 5 + +-----+ + |** | + |* | + |** | + | ** | + | * * | + | ** | + | * * | + +-----+ +*/ +0xc000, +0x8000, +0xc000, +0x6000, +0x5000, +0x6000, +0x5000, + +/* Character 6 (0x06): + width 5 + +-----+ + |* | + |* | + |** | + | ** | + | * | + | ** | + | * | + +-----+ +*/ +0x8000, +0x8000, +0xc000, +0x3000, +0x2000, +0x3000, +0x2000, + +/* Character 7 (0x07): + width 5 + +-----+ + | * | + | * * | + | * | + | | + | | + | | + | | + +-----+ +*/ +0x2000, +0x5000, +0x2000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 8 (0x08): + width 5 + +-----+ + | * | + | *** | + | * | + | | + | *** | + | | + | | + +-----+ +*/ +0x2000, +0x7000, +0x2000, +0x0000, +0x7000, +0x0000, +0x0000, + +/* Character 9 (0x09): + width 5 + +-----+ + |* * | + |** * | + |* ** | + |* * | + | * | + | * | + | ** | + +-----+ +*/ +0x9000, +0xd000, +0xb000, +0x9000, +0x2000, +0x2000, +0x3000, + +/* Character 10 (0x0a): + width 5 + +-----+ + |* * | + |* * | + |* * | + | * | + | *** | + | * | + | * | + +-----+ +*/ +0xa000, +0xa000, +0xa000, +0x4000, +0x7000, +0x2000, +0x2000, + +/* Character 11 (0x0b): + width 5 + +-----+ + | * | + | * | + | * | + |*** | + | | + | | + | | + +-----+ +*/ +0x2000, +0x2000, +0x2000, +0xe000, +0x0000, +0x0000, +0x0000, + +/* Character 12 (0x0c): + width 5 + +-----+ + | | + | | + | | + |*** | + | * | + | * | + | * | + +-----+ +*/ +0x0000, +0x0000, +0x0000, +0xe000, +0x2000, +0x2000, +0x2000, + +/* Character 13 (0x0d): + width 5 + +-----+ + | | + | | + | | + | ***| + | * | + | * | + | * | + +-----+ +*/ +0x0000, +0x0000, +0x0000, +0x3800, +0x2000, +0x2000, +0x2000, + +/* Character 14 (0x0e): + width 5 + +-----+ + | * | + | * | + | * | + | ***| + | | + | | + | | + +-----+ +*/ +0x2000, +0x2000, +0x2000, +0x3800, +0x0000, +0x0000, +0x0000, + +/* Character 15 (0x0f): + width 5 + +-----+ + | * | + | * | + | * | + |*****| + | * | + | * | + | * | + +-----+ +*/ +0x2000, +0x2000, +0x2000, +0xf800, +0x2000, +0x2000, +0x2000, + +/* Character 16 (0x10): + width 5 + +-----+ + | | + |*****| + | | + | | + | | + | | + | | + +-----+ +*/ +0x0000, +0xf800, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 17 (0x11): + width 5 + +-----+ + | | + | | + |*****| + | | + | | + | | + | | + +-----+ +*/ +0x0000, +0x0000, +0xf800, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 18 (0x12): + width 5 + +-----+ + | | + | | + | | + |*****| + | | + | | + | | + +-----+ +*/ +0x0000, +0x0000, +0x0000, +0xf800, +0x0000, +0x0000, +0x0000, + +/* Character 19 (0x13): + width 5 + +-----+ + | | + | | + | | + | | + |*****| + | | + | | + +-----+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0xf800, +0x0000, +0x0000, + +/* Character 20 (0x14): + width 5 + +-----+ + | | + | | + | | + | | + | | + |*****| + | | + +-----+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0xf800, +0x0000, + +/* Character 21 (0x15): + width 5 + +-----+ + | * | + | * | + | * | + | ***| + | * | + | * | + | * | + +-----+ +*/ +0x2000, +0x2000, +0x2000, +0x3800, +0x2000, +0x2000, +0x2000, + +/* Character 22 (0x16): + width 5 + +-----+ + | * | + | * | + | * | + |*** | + | * | + | * | + | * | + +-----+ +*/ +0x2000, +0x2000, +0x2000, +0xe000, +0x2000, +0x2000, +0x2000, + +/* Character 23 (0x17): + width 5 + +-----+ + | * | + | * | + | * | + |*****| + | | + | | + | | + +-----+ +*/ +0x2000, +0x2000, +0x2000, +0xf800, +0x0000, +0x0000, +0x0000, + +/* Character 24 (0x18): + width 5 + +-----+ + | | + | | + | | + |*****| + | * | + | * | + | * | + +-----+ +*/ +0x0000, +0x0000, +0x0000, +0xf800, +0x2000, +0x2000, +0x2000, + +/* Character 25 (0x19): + width 5 + +-----+ + | * | + | * | + | * | + | * | + | * | + | * | + | * | + +-----+ +*/ +0x2000, +0x2000, +0x2000, +0x2000, +0x2000, +0x2000, +0x2000, + +/* Character 26 (0x1a): + width 5 + +-----+ + | * | + | * | + | * | + | * | + | * | + | *** | + | | + +-----+ +*/ +0x1000, +0x2000, +0x4000, +0x2000, +0x1000, +0x7000, +0x0000, + +/* Character 27 (0x1b): + width 5 + +-----+ + | * | + | * | + | * | + | * | + | * | + | *** | + | | + +-----+ +*/ +0x4000, +0x2000, +0x1000, +0x2000, +0x4000, +0x7000, +0x0000, + +/* Character 28 (0x1c): + width 5 + +-----+ + | | + | | + | *** | + | * * | + | * * | + | * * | + | | + +-----+ +*/ +0x0000, +0x0000, +0x7000, +0x5000, +0x5000, +0x5000, +0x0000, + +/* Character 29 (0x1d): + width 5 + +-----+ + | | + | * | + | *** | + | * | + | *** | + | * | + | | + +-----+ +*/ +0x0000, +0x1000, +0x7000, +0x2000, +0x7000, +0x4000, +0x0000, + +/* Character 30 (0x1e): + width 5 + +-----+ + | | + | ** | + | * | + |*** | + | * | + |* ** | + | | + +-----+ +*/ +0x0000, +0x3000, +0x4000, +0xe000, +0x4000, +0xb000, +0x0000, + +/* Character 31 (0x1f): + width 5 + +-----+ + | | + | | + | | + | * | + | | + | | + | | + +-----+ +*/ +0x0000, +0x0000, +0x0000, +0x2000, +0x0000, +0x0000, +0x0000, + +/* Character 32 (0x20): + width 5 + +-----+ + | | + | | + | | + | | + | | + | | + | | + +-----+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 33 (0x21): + width 5 + +-----+ + | * | + | * | + | * | + | * | + | | + | * | + | | + +-----+ +*/ +0x2000, +0x2000, +0x2000, +0x2000, +0x0000, +0x2000, +0x0000, + +/* Character 34 (0x22): + width 5 + +-----+ + | * * | + | * * | + | * * | + | | + | | + | | + | | + +-----+ +*/ +0x5000, +0x5000, +0x5000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 35 (0x23): + width 5 + +-----+ + | | + | * * | + |*****| + | * * | + |*****| + | * * | + | | + +-----+ +*/ +0x0000, +0x5000, +0xf800, +0x5000, +0xf800, +0x5000, +0x0000, + +/* Character 36 (0x24): + width 5 + +-----+ + | | + | *** | + |* * | + | *** | + | * *| + | *** | + | | + +-----+ +*/ +0x0000, +0x7000, +0xa000, +0x7000, +0x2800, +0x7000, +0x0000, + +/* Character 37 (0x25): + width 5 + +-----+ + |* | + |* * | + | * | + | * | + |* * | + | * | + | | + +-----+ +*/ +0x8000, +0x9000, +0x2000, +0x4000, +0x9000, +0x1000, +0x0000, + +/* Character 38 (0x26): + width 5 + +-----+ + | | + | * | + |* * | + | * | + |* * | + | * * | + | | + +-----+ +*/ +0x0000, +0x4000, +0xa000, +0x4000, +0xa000, +0x5000, +0x0000, + +/* Character 39 (0x27): + width 5 + +-----+ + | ** | + | * | + |* | + | | + | | + | | + | | + +-----+ +*/ +0x6000, +0x4000, +0x8000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 40 (0x28): + width 5 + +-----+ + | * | + | * | + | * | + | * | + | * | + | * | + | | + +-----+ +*/ +0x2000, +0x4000, +0x4000, +0x4000, +0x4000, +0x2000, +0x0000, + +/* Character 41 (0x29): + width 5 + +-----+ + | * | + | * | + | * | + | * | + | * | + | * | + | | + +-----+ +*/ +0x4000, +0x2000, +0x2000, +0x2000, +0x2000, +0x4000, +0x0000, + +/* Character 42 (0x2a): + width 5 + +-----+ + | | + |* * | + | * | + |*** | + | * | + |* * | + | | + +-----+ +*/ +0x0000, +0xa000, +0x4000, +0xe000, +0x4000, +0xa000, +0x0000, + +/* Character 43 (0x2b): + width 5 + +-----+ + | | + | * | + | * | + |*****| + | * | + | * | + | | + +-----+ +*/ +0x0000, +0x2000, +0x2000, +0xf800, +0x2000, +0x2000, +0x0000, + +/* Character 44 (0x2c): + width 5 + +-----+ + | | + | | + | | + | | + | ** | + | * | + |* | + +-----+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x6000, +0x4000, +0x8000, + +/* Character 45 (0x2d): + width 5 + +-----+ + | | + | | + | | + |**** | + | | + | | + | | + +-----+ +*/ +0x0000, +0x0000, +0x0000, +0xf000, +0x0000, +0x0000, +0x0000, + +/* Character 46 (0x2e): + width 5 + +-----+ + | | + | | + | | + | | + | ** | + | ** | + | | + +-----+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x6000, +0x6000, +0x0000, + +/* Character 47 (0x2f): + width 5 + +-----+ + | | + | * | + | * | + | * | + |* | + | | + | | + +-----+ +*/ +0x0000, +0x1000, +0x2000, +0x4000, +0x8000, +0x0000, +0x0000, + +/* Character 48 (0x30): + width 5 + +-----+ + | * | + |* * | + |* * | + |* * | + |* * | + | * | + | | + +-----+ +*/ +0x4000, +0xa000, +0xa000, +0xa000, +0xa000, +0x4000, +0x0000, + +/* Character 49 (0x31): + width 5 + +-----+ + | * | + |** | + | * | + | * | + | * | + |*** | + | | + +-----+ +*/ +0x4000, +0xc000, +0x4000, +0x4000, +0x4000, +0xe000, +0x0000, + +/* Character 50 (0x32): + width 5 + +-----+ + | ** | + |* * | + | * | + | * | + | * | + |**** | + | | + +-----+ +*/ +0x6000, +0x9000, +0x1000, +0x2000, +0x4000, +0xf000, +0x0000, + +/* Character 51 (0x33): + width 5 + +-----+ + |**** | + | * | + | ** | + | * | + |* * | + | ** | + | | + +-----+ +*/ +0xf000, +0x1000, +0x6000, +0x1000, +0x9000, +0x6000, +0x0000, + +/* Character 52 (0x34): + width 5 + +-----+ + | * | + | ** | + |* * | + |**** | + | * | + | * | + | | + +-----+ +*/ +0x2000, +0x6000, +0xa000, +0xf000, +0x2000, +0x2000, +0x0000, + +/* Character 53 (0x35): + width 5 + +-----+ + |**** | + |* | + |*** | + | * | + |* * | + | ** | + | | + +-----+ +*/ +0xf000, +0x8000, +0xe000, +0x1000, +0x9000, +0x6000, +0x0000, + +/* Character 54 (0x36): + width 5 + +-----+ + | ** | + |* | + |*** | + |* * | + |* * | + | ** | + | | + +-----+ +*/ +0x6000, +0x8000, +0xe000, +0x9000, +0x9000, +0x6000, +0x0000, + +/* Character 55 (0x37): + width 5 + +-----+ + |**** | + | * | + | * | + | * | + | * | + | * | + | | + +-----+ +*/ +0xf000, +0x1000, +0x2000, +0x2000, +0x4000, +0x4000, +0x0000, + +/* Character 56 (0x38): + width 5 + +-----+ + | ** | + |* * | + | ** | + |* * | + |* * | + | ** | + | | + +-----+ +*/ +0x6000, +0x9000, +0x6000, +0x9000, +0x9000, +0x6000, +0x0000, + +/* Character 57 (0x39): + width 5 + +-----+ + | ** | + |* * | + |* * | + | *** | + | * | + | ** | + | | + +-----+ +*/ +0x6000, +0x9000, +0x9000, +0x7000, +0x1000, +0x6000, +0x0000, + +/* Character 58 (0x3a): + width 5 + +-----+ + | | + | ** | + | ** | + | | + | ** | + | ** | + | | + +-----+ +*/ +0x0000, +0x6000, +0x6000, +0x0000, +0x6000, +0x6000, +0x0000, + +/* Character 59 (0x3b): + width 5 + +-----+ + | | + | ** | + | ** | + | | + | ** | + | * | + |* | + +-----+ +*/ +0x0000, +0x6000, +0x6000, +0x0000, +0x6000, +0x4000, +0x8000, + +/* Character 60 (0x3c): + width 5 + +-----+ + | | + | * | + | * | + |* | + | * | + | * | + | | + +-----+ +*/ +0x0000, +0x2000, +0x4000, +0x8000, +0x4000, +0x2000, +0x0000, + +/* Character 61 (0x3d): + width 5 + +-----+ + | | + | | + |**** | + | | + |**** | + | | + | | + +-----+ +*/ +0x0000, +0x0000, +0xf000, +0x0000, +0xf000, +0x0000, +0x0000, + +/* Character 62 (0x3e): + width 5 + +-----+ + | | + |* | + | * | + | * | + | * | + |* | + | | + +-----+ +*/ +0x0000, +0x8000, +0x4000, +0x2000, +0x4000, +0x8000, +0x0000, + +/* Character 63 (0x3f): + width 5 + +-----+ + | * | + |* * | + | * | + | * | + | | + | * | + | | + +-----+ +*/ +0x4000, +0xa000, +0x2000, +0x4000, +0x0000, +0x4000, +0x0000, + +/* Character 64 (0x40): + width 5 + +-----+ + | ** | + |* * | + |* ** | + |* ** | + |* | + | ** | + | | + +-----+ +*/ +0x6000, +0x9000, +0xb000, +0xb000, +0x8000, +0x6000, +0x0000, + +/* Character 65 (0x41): + width 5 + +-----+ + | ** | + |* * | + |* * | + |**** | + |* * | + |* * | + | | + +-----+ +*/ +0x6000, +0x9000, +0x9000, +0xf000, +0x9000, +0x9000, +0x0000, + +/* Character 66 (0x42): + width 5 + +-----+ + |*** | + |* * | + |*** | + |* * | + |* * | + |*** | + | | + +-----+ +*/ +0xe000, +0x9000, +0xe000, +0x9000, +0x9000, +0xe000, +0x0000, + +/* Character 67 (0x43): + width 5 + +-----+ + | ** | + |* * | + |* | + |* | + |* * | + | ** | + | | + +-----+ +*/ +0x6000, +0x9000, +0x8000, +0x8000, +0x9000, +0x6000, +0x0000, + +/* Character 68 (0x44): + width 5 + +-----+ + |*** | + |* * | + |* * | + |* * | + |* * | + |*** | + | | + +-----+ +*/ +0xe000, +0x9000, +0x9000, +0x9000, +0x9000, +0xe000, +0x0000, + +/* Character 69 (0x45): + width 5 + +-----+ + |**** | + |* | + |*** | + |* | + |* | + |**** | + | | + +-----+ +*/ +0xf000, +0x8000, +0xe000, +0x8000, +0x8000, +0xf000, +0x0000, + +/* Character 70 (0x46): + width 5 + +-----+ + |**** | + |* | + |*** | + |* | + |* | + |* | + | | + +-----+ +*/ +0xf000, +0x8000, +0xe000, +0x8000, +0x8000, +0x8000, +0x0000, + +/* Character 71 (0x47): + width 5 + +-----+ + | ** | + |* * | + |* | + |* ** | + |* * | + | *** | + | | + +-----+ +*/ +0x6000, +0x9000, +0x8000, +0xb000, +0x9000, +0x7000, +0x0000, + +/* Character 72 (0x48): + width 5 + +-----+ + |* * | + |* * | + |**** | + |* * | + |* * | + |* * | + | | + +-----+ +*/ +0x9000, +0x9000, +0xf000, +0x9000, +0x9000, +0x9000, +0x0000, + +/* Character 73 (0x49): + width 5 + +-----+ + |*** | + | * | + | * | + | * | + | * | + |*** | + | | + +-----+ +*/ +0xe000, +0x4000, +0x4000, +0x4000, +0x4000, +0xe000, +0x0000, + +/* Character 74 (0x4a): + width 5 + +-----+ + | * | + | * | + | * | + | * | + |* * | + | ** | + | | + +-----+ +*/ +0x1000, +0x1000, +0x1000, +0x1000, +0x9000, +0x6000, +0x0000, + +/* Character 75 (0x4b): + width 5 + +-----+ + |* * | + |* * | + |** | + |** | + |* * | + |* * | + | | + +-----+ +*/ +0x9000, +0xa000, +0xc000, +0xc000, +0xa000, +0x9000, +0x0000, + +/* Character 76 (0x4c): + width 5 + +-----+ + |* | + |* | + |* | + |* | + |* | + |**** | + | | + +-----+ +*/ +0x8000, +0x8000, +0x8000, +0x8000, +0x8000, +0xf000, +0x0000, + +/* Character 77 (0x4d): + width 5 + +-----+ + |* * | + |**** | + |**** | + |* * | + |* * | + |* * | + | | + +-----+ +*/ +0x9000, +0xf000, +0xf000, +0x9000, +0x9000, +0x9000, +0x0000, + +/* Character 78 (0x4e): + width 5 + +-----+ + |* * | + |** * | + |** * | + |* ** | + |* ** | + |* * | + | | + +-----+ +*/ +0x9000, +0xd000, +0xd000, +0xb000, +0xb000, +0x9000, +0x0000, + +/* Character 79 (0x4f): + width 5 + +-----+ + | ** | + |* * | + |* * | + |* * | + |* * | + | ** | + | | + +-----+ +*/ +0x6000, +0x9000, +0x9000, +0x9000, +0x9000, +0x6000, +0x0000, + +/* Character 80 (0x50): + width 5 + +-----+ + |*** | + |* * | + |* * | + |*** | + |* | + |* | + | | + +-----+ +*/ +0xe000, +0x9000, +0x9000, +0xe000, +0x8000, +0x8000, +0x0000, + +/* Character 81 (0x51): + width 5 + +-----+ + | ** | + |* * | + |* * | + |* * | + |** * | + | ** | + | * | + +-----+ +*/ +0x6000, +0x9000, +0x9000, +0x9000, +0xd000, +0x6000, +0x1000, + +/* Character 82 (0x52): + width 5 + +-----+ + |*** | + |* * | + |* * | + |*** | + |* * | + |* * | + | | + +-----+ +*/ +0xe000, +0x9000, +0x9000, +0xe000, +0xa000, +0x9000, +0x0000, + +/* Character 83 (0x53): + width 5 + +-----+ + | ** | + |* * | + | * | + | * | + |* * | + | ** | + | | + +-----+ +*/ +0x6000, +0x9000, +0x4000, +0x2000, +0x9000, +0x6000, +0x0000, + +/* Character 84 (0x54): + width 5 + +-----+ + |*** | + | * | + | * | + | * | + | * | + | * | + | | + +-----+ +*/ +0xe000, +0x4000, +0x4000, +0x4000, +0x4000, +0x4000, +0x0000, + +/* Character 85 (0x55): + width 5 + +-----+ + |* * | + |* * | + |* * | + |* * | + |* * | + | ** | + | | + +-----+ +*/ +0x9000, +0x9000, +0x9000, +0x9000, +0x9000, +0x6000, +0x0000, + +/* Character 86 (0x56): + width 5 + +-----+ + |* * | + |* * | + |* * | + |* * | + | ** | + | ** | + | | + +-----+ +*/ +0x9000, +0x9000, +0x9000, +0x9000, +0x6000, +0x6000, +0x0000, + +/* Character 87 (0x57): + width 5 + +-----+ + |* * | + |* * | + |* * | + |**** | + |**** | + |* * | + | | + +-----+ +*/ +0x9000, +0x9000, +0x9000, +0xf000, +0xf000, +0x9000, +0x0000, + +/* Character 88 (0x58): + width 5 + +-----+ + |* * | + |* * | + | ** | + | ** | + |* * | + |* * | + | | + +-----+ +*/ +0x9000, +0x9000, +0x6000, +0x6000, +0x9000, +0x9000, +0x0000, + +/* Character 89 (0x59): + width 5 + +-----+ + |* * | + |* * | + |* * | + | * | + | * | + | * | + | | + +-----+ +*/ +0xa000, +0xa000, +0xa000, +0x4000, +0x4000, +0x4000, +0x0000, + +/* Character 90 (0x5a): + width 5 + +-----+ + |**** | + | * | + | * | + | * | + |* | + |**** | + | | + +-----+ +*/ +0xf000, +0x1000, +0x2000, +0x4000, +0x8000, +0xf000, +0x0000, + +/* Character 91 (0x5b): + width 5 + +-----+ + |*** | + |* | + |* | + |* | + |* | + |*** | + | | + +-----+ +*/ +0xe000, +0x8000, +0x8000, +0x8000, +0x8000, +0xe000, +0x0000, + +/* Character 92 (0x5c): + width 5 + +-----+ + | | + |* | + | * | + | * | + | * | + | | + | | + +-----+ +*/ +0x0000, +0x8000, +0x4000, +0x2000, +0x1000, +0x0000, +0x0000, + +/* Character 93 (0x5d): + width 5 + +-----+ + |*** | + | * | + | * | + | * | + | * | + |*** | + | | + +-----+ +*/ +0xe000, +0x2000, +0x2000, +0x2000, +0x2000, +0xe000, +0x0000, + +/* Character 94 (0x5e): + width 5 + +-----+ + | * | + |* * | + | | + | | + | | + | | + | | + +-----+ +*/ +0x4000, +0xa000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 95 (0x5f): + width 5 + +-----+ + | | + | | + | | + | | + | | + |**** | + | | + +-----+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0xf000, +0x0000, + +/* Character 96 (0x60): + width 5 + +-----+ + |** | + | * | + | * | + | | + | | + | | + | | + +-----+ +*/ +0xc000, +0x4000, +0x2000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 97 (0x61): + width 5 + +-----+ + | | + | | + | *** | + |* * | + |* ** | + | * * | + | | + +-----+ +*/ +0x0000, +0x0000, +0x7000, +0x9000, +0xb000, +0x5000, +0x0000, + +/* Character 98 (0x62): + width 5 + +-----+ + |* | + |* | + |*** | + |* * | + |* * | + |*** | + | | + +-----+ +*/ +0x8000, +0x8000, +0xe000, +0x9000, +0x9000, +0xe000, +0x0000, + +/* Character 99 (0x63): + width 5 + +-----+ + | | + | | + | ** | + |* | + |* | + | ** | + | | + +-----+ +*/ +0x0000, +0x0000, +0x6000, +0x8000, +0x8000, +0x6000, +0x0000, + +/* Character 100 (0x64): + width 5 + +-----+ + | * | + | * | + | *** | + |* * | + |* * | + | *** | + | | + +-----+ +*/ +0x1000, +0x1000, +0x7000, +0x9000, +0x9000, +0x7000, +0x0000, + +/* Character 101 (0x65): + width 5 + +-----+ + | | + | | + | ** | + |* ** | + |** | + | ** | + | | + +-----+ +*/ +0x0000, +0x0000, +0x6000, +0xb000, +0xc000, +0x6000, +0x0000, + +/* Character 102 (0x66): + width 5 + +-----+ + | * | + | * * | + | * | + |*** | + | * | + | * | + | | + +-----+ +*/ +0x2000, +0x5000, +0x4000, +0xe000, +0x4000, +0x4000, +0x0000, + +/* Character 103 (0x67): + width 5 + +-----+ + | | + | | + | *** | + |* * | + | ** | + |* | + | *** | + +-----+ +*/ +0x0000, +0x0000, +0x7000, +0x9000, +0x6000, +0x8000, +0x7000, + +/* Character 104 (0x68): + width 5 + +-----+ + |* | + |* | + |*** | + |* * | + |* * | + |* * | + | | + +-----+ +*/ +0x8000, +0x8000, +0xe000, +0x9000, +0x9000, +0x9000, +0x0000, + +/* Character 105 (0x69): + width 5 + +-----+ + | * | + | | + |** | + | * | + | * | + |*** | + | | + +-----+ +*/ +0x4000, +0x0000, +0xc000, +0x4000, +0x4000, +0xe000, +0x0000, + +/* Character 106 (0x6a): + width 5 + +-----+ + | * | + | | + | * | + | * | + | * | + |* * | + | * | + +-----+ +*/ +0x2000, +0x0000, +0x2000, +0x2000, +0x2000, +0xa000, +0x4000, + +/* Character 107 (0x6b): + width 5 + +-----+ + |* | + |* | + |* * | + |** | + |* * | + |* * | + | | + +-----+ +*/ +0x8000, +0x8000, +0xa000, +0xc000, +0xa000, +0x9000, +0x0000, + +/* Character 108 (0x6c): + width 5 + +-----+ + |** | + | * | + | * | + | * | + | * | + |*** | + | | + +-----+ +*/ +0xc000, +0x4000, +0x4000, +0x4000, +0x4000, +0xe000, +0x0000, + +/* Character 109 (0x6d): + width 5 + +-----+ + | | + | | + |* * | + |**** | + |* * | + |* * | + | | + +-----+ +*/ +0x0000, +0x0000, +0xa000, +0xf000, +0x9000, +0x9000, +0x0000, + +/* Character 110 (0x6e): + width 5 + +-----+ + | | + | | + |*** | + |* * | + |* * | + |* * | + | | + +-----+ +*/ +0x0000, +0x0000, +0xe000, +0x9000, +0x9000, +0x9000, +0x0000, + +/* Character 111 (0x6f): + width 5 + +-----+ + | | + | | + | ** | + |* * | + |* * | + | ** | + | | + +-----+ +*/ +0x0000, +0x0000, +0x6000, +0x9000, +0x9000, +0x6000, +0x0000, + +/* Character 112 (0x70): + width 5 + +-----+ + | | + | | + |*** | + |* * | + |* * | + |*** | + |* | + +-----+ +*/ +0x0000, +0x0000, +0xe000, +0x9000, +0x9000, +0xe000, +0x8000, + +/* Character 113 (0x71): + width 5 + +-----+ + | | + | | + | *** | + |* * | + |* * | + | *** | + | * | + +-----+ +*/ +0x0000, +0x0000, +0x7000, +0x9000, +0x9000, +0x7000, +0x1000, + +/* Character 114 (0x72): + width 5 + +-----+ + | | + | | + |*** | + |* * | + |* | + |* | + | | + +-----+ +*/ +0x0000, +0x0000, +0xe000, +0x9000, +0x8000, +0x8000, +0x0000, + +/* Character 115 (0x73): + width 5 + +-----+ + | | + | | + | *** | + |** | + | ** | + |*** | + | | + +-----+ +*/ +0x0000, +0x0000, +0x7000, +0xc000, +0x3000, +0xe000, +0x0000, + +/* Character 116 (0x74): + width 5 + +-----+ + | * | + | * | + |*** | + | * | + | * | + | ** | + | | + +-----+ +*/ +0x4000, +0x4000, +0xe000, +0x4000, +0x4000, +0x3000, +0x0000, + +/* Character 117 (0x75): + width 5 + +-----+ + | | + | | + |* * | + |* * | + |* * | + | *** | + | | + +-----+ +*/ +0x0000, +0x0000, +0x9000, +0x9000, +0x9000, +0x7000, +0x0000, + +/* Character 118 (0x76): + width 5 + +-----+ + | | + | | + |* * | + |* * | + |* * | + | * | + | | + +-----+ +*/ +0x0000, +0x0000, +0xa000, +0xa000, +0xa000, +0x4000, +0x0000, + +/* Character 119 (0x77): + width 5 + +-----+ + | | + | | + |* * | + |* * | + |**** | + |**** | + | | + +-----+ +*/ +0x0000, +0x0000, +0x9000, +0x9000, +0xf000, +0xf000, +0x0000, + +/* Character 120 (0x78): + width 5 + +-----+ + | | + | | + |* * | + | ** | + | ** | + |* * | + | | + +-----+ +*/ +0x0000, +0x0000, +0x9000, +0x6000, +0x6000, +0x9000, +0x0000, + +/* Character 121 (0x79): + width 5 + +-----+ + | | + | | + |* * | + |* * | + | * * | + | * | + | * | + +-----+ +*/ +0x0000, +0x0000, +0x9000, +0x9000, +0x5000, +0x2000, +0x4000, + +/* Character 122 (0x7a): + width 5 + +-----+ + | | + | | + |**** | + | * | + | * | + |**** | + | | + +-----+ +*/ +0x0000, +0x0000, +0xf000, +0x2000, +0x4000, +0xf000, +0x0000, + +/* Character 123 (0x7b): + width 5 + +-----+ + | * | + | * | + |** | + | * | + | * | + | * | + | | + +-----+ +*/ +0x2000, +0x4000, +0xc000, +0x4000, +0x4000, +0x2000, +0x0000, + +/* Character 124 (0x7c): + width 5 + +-----+ + | * | + | * | + | * | + | * | + | * | + | * | + | | + +-----+ +*/ +0x4000, +0x4000, +0x4000, +0x4000, +0x4000, +0x4000, +0x0000, + +/* Character 125 (0x7d): + width 5 + +-----+ + |* | + | * | + | ** | + | * | + | * | + |* | + | | + +-----+ +*/ +0x8000, +0x4000, +0x6000, +0x4000, +0x4000, +0x8000, +0x0000, + +/* Character 126 (0x7e): + width 5 + +-----+ + | * * | + |* * | + | | + | | + | | + | | + | | + +-----+ +*/ +0x5000, +0xa000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 127 (0x7f): + width 5 + +-----+ + | | + | | + | | + | | + | | + | | + | | + +-----+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 160 (0xa0): + width 5 + +-----+ + | | + | | + | | + | | + | | + | | + | | + +-----+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 161 (0xa1): + width 5 + +-----+ + | * | + | | + | * | + | * | + | * | + | * | + | | + +-----+ +*/ +0x2000, +0x0000, +0x2000, +0x2000, +0x2000, +0x2000, +0x0000, + +/* Character 162 (0xa2): + width 5 + +-----+ + | | + | * | + | *** | + |* * | + |* * | + | *** | + | * | + +-----+ +*/ +0x0000, +0x2000, +0x7000, +0xa000, +0xa000, +0x7000, +0x2000, + +/* Character 163 (0xa3): + width 5 + +-----+ + | | + | ** | + | * | + |*** | + | * | + |* ** | + | | + +-----+ +*/ +0x0000, +0x3000, +0x4000, +0xe000, +0x4000, +0xb000, +0x0000, + +/* Character 164 (0xa4): + width 5 + +-----+ + | | + |* *| + | *** | + | * * | + | *** | + |* *| + | | + +-----+ +*/ +0x0000, +0x8800, +0x7000, +0x5000, +0x7000, +0x8800, +0x0000, + +/* Character 165 (0xa5): + width 5 + +-----+ + |* * | + |* * | + | * | + |*** | + | * | + | * | + | | + +-----+ +*/ +0xa000, +0xa000, +0x4000, +0xe000, +0x4000, +0x4000, +0x0000, + +/* Character 166 (0xa6): + width 5 + +-----+ + | | + | * | + | * | + | | + | * | + | * | + | | + +-----+ +*/ +0x0000, +0x2000, +0x2000, +0x0000, +0x2000, +0x2000, +0x0000, + +/* Character 167 (0xa7): + width 5 + +-----+ + | ** | + | * | + | ** | + | * * | + | ** | + | * | + | ** | + +-----+ +*/ +0x3000, +0x4000, +0x6000, +0x5000, +0x3000, +0x1000, +0x6000, + +/* Character 168 (0xa8): + width 5 + +-----+ + | * * | + | | + | | + | | + | | + | | + | | + +-----+ +*/ +0x5000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 169 (0xa9): + width 5 + +-----+ + | *** | + |* *| + |* * *| + |** *| + |* * *| + |* *| + | *** | + +-----+ +*/ +0x7000, +0x8800, +0xa800, +0xc800, +0xa800, +0x8800, +0x7000, + +/* Character 170 (0xaa): + width 5 + +-----+ + | ** | + |* * | + | ** | + | | + | | + | | + | | + +-----+ +*/ +0x6000, +0xa000, +0x6000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 171 (0xab): + width 5 + +-----+ + | | + | | + | * *| + |* * | + | * *| + | | + | | + +-----+ +*/ +0x0000, +0x0000, +0x4800, +0x9000, +0x4800, +0x0000, +0x0000, + +/* Character 172 (0xac): + width 5 + +-----+ + | | + | | + |**** | + | * | + | | + | | + | | + +-----+ +*/ +0x0000, +0x0000, +0xf000, +0x1000, +0x0000, +0x0000, +0x0000, + +/* Character 173 (0xad): + width 5 + +-----+ + | | + | | + | | + |**** | + | | + | | + | | + +-----+ +*/ +0x0000, +0x0000, +0x0000, +0xf000, +0x0000, +0x0000, +0x0000, + +/* Character 174 (0xae): + width 5 + +-----+ + | *** | + |* *| + |*** *| + |** *| + |** *| + |* *| + | *** | + +-----+ +*/ +0x7000, +0x8800, +0xe800, +0xc800, +0xc800, +0x8800, +0x7000, + +/* Character 175 (0xaf): + width 5 + +-----+ + |**** | + | | + | | + | | + | | + | | + | | + +-----+ +*/ +0xf000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 176 (0xb0): + width 5 + +-----+ + | * | + | * * | + | * | + | | + | | + | | + | | + +-----+ +*/ +0x2000, +0x5000, +0x2000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 177 (0xb1): + width 5 + +-----+ + | * | + | * | + |*****| + | * | + | * | + |*****| + | | + +-----+ +*/ +0x2000, +0x2000, +0xf800, +0x2000, +0x2000, +0xf800, +0x0000, + +/* Character 178 (0xb2): + width 5 + +-----+ + | ** | + | * | + | * | + | ** | + | | + | | + | | + +-----+ +*/ +0x6000, +0x2000, +0x4000, +0x6000, +0x0000, +0x0000, +0x0000, + +/* Character 179 (0xb3): + width 5 + +-----+ + | ** | + | ** | + | * | + | ** | + | | + | | + | | + +-----+ +*/ +0x6000, +0x6000, +0x2000, +0x6000, +0x0000, +0x0000, +0x0000, + +/* Character 180 (0xb4): + width 5 + +-----+ + | * | + | * | + | | + | | + | | + | | + | | + +-----+ +*/ +0x2000, +0x4000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 181 (0xb5): + width 5 + +-----+ + | | + | | + |* * | + |* * | + |* * | + |*** | + |* | + +-----+ +*/ +0x0000, +0x0000, +0x9000, +0x9000, +0x9000, +0xe000, +0x8000, + +/* Character 182 (0xb6): + width 5 + +-----+ + | *** | + |** * | + |** * | + | * * | + | * * | + | * * | + | | + +-----+ +*/ +0x7000, +0xd000, +0xd000, +0x5000, +0x5000, +0x5000, +0x0000, + +/* Character 183 (0xb7): + width 5 + +-----+ + | | + | ** | + | ** | + | | + | | + | | + | | + +-----+ +*/ +0x0000, +0x6000, +0x6000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 184 (0xb8): + width 5 + +-----+ + | | + | | + | | + | | + | | + | * | + | * | + +-----+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x2000, +0x4000, + +/* Character 185 (0xb9): + width 5 + +-----+ + | * | + | ** | + | * | + | *** | + | | + | | + | | + +-----+ +*/ +0x2000, +0x6000, +0x2000, +0x7000, +0x0000, +0x0000, +0x0000, + +/* Character 186 (0xba): + width 5 + +-----+ + | * | + |* * | + | * | + | | + | | + | | + | | + +-----+ +*/ +0x4000, +0xa000, +0x4000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 187 (0xbb): + width 5 + +-----+ + | | + | | + |* * | + | * *| + |* * | + | | + | | + +-----+ +*/ +0x0000, +0x0000, +0x9000, +0x4800, +0x9000, +0x0000, +0x0000, + +/* Character 188 (0xbc): + width 5 + +-----+ + |* | + |* | + |* | + |* * | + | ** | + | *** | + | * | + +-----+ +*/ +0x8000, +0x8000, +0x8000, +0x9000, +0x3000, +0x7000, +0x1000, + +/* Character 189 (0xbd): + width 5 + +-----+ + |* | + |* | + |* | + |* ** | + | * | + | * | + | ** | + +-----+ +*/ +0x8000, +0x8000, +0x8000, +0xb000, +0x1000, +0x2000, +0x3000, + +/* Character 190 (0xbe): + width 5 + +-----+ + |** | + |** | + | * | + |** * | + | ** | + | *** | + | * | + +-----+ +*/ +0xc000, +0xc000, +0x4000, +0xd000, +0x3000, +0x7000, +0x1000, + +/* Character 191 (0xbf): + width 5 + +-----+ + | * | + | | + | * | + |* | + |* * | + | * | + | | + +-----+ +*/ +0x4000, +0x0000, +0x4000, +0x8000, +0xa000, +0x4000, +0x0000, + +/* Character 192 (0xc0): + width 5 + +-----+ + | ** | + |* * | + |* * | + |**** | + |* * | + |* * | + | | + +-----+ +*/ +0x6000, +0x9000, +0x9000, +0xf000, +0x9000, +0x9000, +0x0000, + +/* Character 193 (0xc1): + width 5 + +-----+ + | ** | + |* * | + |* * | + |**** | + |* * | + |* * | + | | + +-----+ +*/ +0x6000, +0x9000, +0x9000, +0xf000, +0x9000, +0x9000, +0x0000, + +/* Character 194 (0xc2): + width 5 + +-----+ + | ** | + |* * | + |* * | + |**** | + |* * | + |* * | + | | + +-----+ +*/ +0x6000, +0x9000, +0x9000, +0xf000, +0x9000, +0x9000, +0x0000, + +/* Character 195 (0xc3): + width 5 + +-----+ + | ** | + |* * | + |* * | + |**** | + |* * | + |* * | + | | + +-----+ +*/ +0x6000, +0x9000, +0x9000, +0xf000, +0x9000, +0x9000, +0x0000, + +/* Character 196 (0xc4): + width 5 + +-----+ + | ** | + |* * | + |* * | + |**** | + |* * | + |* * | + | | + +-----+ +*/ +0x6000, +0x9000, +0x9000, +0xf000, +0x9000, +0x9000, +0x0000, + +/* Character 197 (0xc5): + width 5 + +-----+ + | ** | + |* * | + |* * | + |**** | + |* * | + |* * | + | | + +-----+ +*/ +0x6000, +0x9000, +0x9000, +0xf000, +0x9000, +0x9000, +0x0000, + +/* Character 198 (0xc6): + width 5 + +-----+ + | *** | + |* * | + |* ** | + |*** | + |* * | + |* ** | + | | + +-----+ +*/ +0x7000, +0xa000, +0xb000, +0xe000, +0xa000, +0xb000, +0x0000, + +/* Character 199 (0xc7): + width 5 + +-----+ + | ** | + |* * | + |* | + |* | + |* * | + | ** | + | * | + +-----+ +*/ +0x6000, +0x9000, +0x8000, +0x8000, +0x9000, +0x6000, +0x4000, + +/* Character 200 (0xc8): + width 5 + +-----+ + |**** | + |* | + |*** | + |* | + |* | + |**** | + | | + +-----+ +*/ +0xf000, +0x8000, +0xe000, +0x8000, +0x8000, +0xf000, +0x0000, + +/* Character 201 (0xc9): + width 5 + +-----+ + |**** | + |* | + |*** | + |* | + |* | + |**** | + | | + +-----+ +*/ +0xf000, +0x8000, +0xe000, +0x8000, +0x8000, +0xf000, +0x0000, + +/* Character 202 (0xca): + width 5 + +-----+ + |**** | + |* | + |*** | + |* | + |* | + |**** | + | | + +-----+ +*/ +0xf000, +0x8000, +0xe000, +0x8000, +0x8000, +0xf000, +0x0000, + +/* Character 203 (0xcb): + width 5 + +-----+ + |**** | + |* | + |*** | + |* | + |* | + |**** | + | | + +-----+ +*/ +0xf000, +0x8000, +0xe000, +0x8000, +0x8000, +0xf000, +0x0000, + +/* Character 204 (0xcc): + width 5 + +-----+ + |*** | + | * | + | * | + | * | + | * | + |*** | + | | + +-----+ +*/ +0xe000, +0x4000, +0x4000, +0x4000, +0x4000, +0xe000, +0x0000, + +/* Character 205 (0xcd): + width 5 + +-----+ + |*** | + | * | + | * | + | * | + | * | + |*** | + | | + +-----+ +*/ +0xe000, +0x4000, +0x4000, +0x4000, +0x4000, +0xe000, +0x0000, + +/* Character 206 (0xce): + width 5 + +-----+ + |*** | + | * | + | * | + | * | + | * | + |*** | + | | + +-----+ +*/ +0xe000, +0x4000, +0x4000, +0x4000, +0x4000, +0xe000, +0x0000, + +/* Character 207 (0xcf): + width 5 + +-----+ + |*** | + | * | + | * | + | * | + | * | + |*** | + | | + +-----+ +*/ +0xe000, +0x4000, +0x4000, +0x4000, +0x4000, +0xe000, +0x0000, + +/* Character 208 (0xd0): + width 5 + +-----+ + |*** | + | * * | + |** * | + | * * | + | * * | + |*** | + | | + +-----+ +*/ +0xe000, +0x5000, +0xd000, +0x5000, +0x5000, +0xe000, +0x0000, + +/* Character 209 (0xd1): + width 5 + +-----+ + |* ** | + |* * | + |** * | + |* ** | + |* ** | + |* * | + | | + +-----+ +*/ +0xb000, +0x9000, +0xd000, +0xb000, +0xb000, +0x9000, +0x0000, + +/* Character 210 (0xd2): + width 5 + +-----+ + | ** | + |* * | + |* * | + |* * | + |* * | + | ** | + | | + +-----+ +*/ +0x6000, +0x9000, +0x9000, +0x9000, +0x9000, +0x6000, +0x0000, + +/* Character 211 (0xd3): + width 5 + +-----+ + | ** | + |* * | + |* * | + |* * | + |* * | + | ** | + | | + +-----+ +*/ +0x6000, +0x9000, +0x9000, +0x9000, +0x9000, +0x6000, +0x0000, + +/* Character 212 (0xd4): + width 5 + +-----+ + | ** | + |* * | + |* * | + |* * | + |* * | + | ** | + | | + +-----+ +*/ +0x6000, +0x9000, +0x9000, +0x9000, +0x9000, +0x6000, +0x0000, + +/* Character 213 (0xd5): + width 5 + +-----+ + | ** | + |* * | + |* * | + |* * | + |* * | + | ** | + | | + +-----+ +*/ +0x6000, +0x9000, +0x9000, +0x9000, +0x9000, +0x6000, +0x0000, + +/* Character 214 (0xd6): + width 5 + +-----+ + | ** | + |* * | + |* * | + |* * | + |* * | + | ** | + | | + +-----+ +*/ +0x6000, +0x9000, +0x9000, +0x9000, +0x9000, +0x6000, +0x0000, + +/* Character 215 (0xd7): + width 5 + +-----+ + | | + | | + |* * | + | ** | + | ** | + |* * | + | | + +-----+ +*/ +0x0000, +0x0000, +0x9000, +0x6000, +0x6000, +0x9000, +0x0000, + +/* Character 216 (0xd8): + width 5 + +-----+ + | *** | + |* ** | + |* ** | + |** * | + |** * | + |*** | + | | + +-----+ +*/ +0x7000, +0xb000, +0xb000, +0xd000, +0xd000, +0xe000, +0x0000, + +/* Character 217 (0xd9): + width 5 + +-----+ + |* * | + |* * | + |* * | + |* * | + |* * | + | ** | + | | + +-----+ +*/ +0x9000, +0x9000, +0x9000, +0x9000, +0x9000, +0x6000, +0x0000, + +/* Character 218 (0xda): + width 5 + +-----+ + |* * | + |* * | + |* * | + |* * | + |* * | + | ** | + | | + +-----+ +*/ +0x9000, +0x9000, +0x9000, +0x9000, +0x9000, +0x6000, +0x0000, + +/* Character 219 (0xdb): + width 5 + +-----+ + |* * | + |* * | + |* * | + |* * | + |* * | + | ** | + | | + +-----+ +*/ +0x9000, +0x9000, +0x9000, +0x9000, +0x9000, +0x6000, +0x0000, + +/* Character 220 (0xdc): + width 5 + +-----+ + |* * | + |* * | + |* * | + |* * | + |* * | + | ** | + | | + +-----+ +*/ +0x9000, +0x9000, +0x9000, +0x9000, +0x9000, +0x6000, +0x0000, + +/* Character 221 (0xdd): + width 5 + +-----+ + |* * | + |* * | + |* * | + | * | + | * | + | * | + | | + +-----+ +*/ +0xa000, +0xa000, +0xa000, +0x4000, +0x4000, +0x4000, +0x0000, + +/* Character 222 (0xde): + width 5 + +-----+ + |* | + |*** | + |* * | + |*** | + |* | + |* | + | | + +-----+ +*/ +0x8000, +0xe000, +0x9000, +0xe000, +0x8000, +0x8000, +0x0000, + +/* Character 223 (0xdf): + width 5 + +-----+ + | ** | + |* * | + |*** | + |* * | + |** * | + |* * | + |* | + +-----+ +*/ +0x6000, +0x9000, +0xe000, +0x9000, +0xd000, +0xa000, +0x8000, + +/* Character 224 (0xe0): + width 5 + +-----+ + | * | + | * | + | *** | + |* * | + |* ** | + | * * | + | | + +-----+ +*/ +0x4000, +0x2000, +0x7000, +0x9000, +0xb000, +0x5000, +0x0000, + +/* Character 225 (0xe1): + width 5 + +-----+ + | * | + | * | + | *** | + |* * | + |* ** | + | * * | + | | + +-----+ +*/ +0x2000, +0x4000, +0x7000, +0x9000, +0xb000, +0x5000, +0x0000, + +/* Character 226 (0xe2): + width 5 + +-----+ + | * | + | * * | + | *** | + |* * | + |* ** | + | * * | + | | + +-----+ +*/ +0x2000, +0x5000, +0x7000, +0x9000, +0xb000, +0x5000, +0x0000, + +/* Character 227 (0xe3): + width 5 + +-----+ + | * * | + |* * | + | *** | + |* * | + |* ** | + | * * | + | | + +-----+ +*/ +0x5000, +0xa000, +0x7000, +0x9000, +0xb000, +0x5000, +0x0000, + +/* Character 228 (0xe4): + width 5 + +-----+ + | * * | + | | + | *** | + |* * | + |* ** | + | * * | + | | + +-----+ +*/ +0x5000, +0x0000, +0x7000, +0x9000, +0xb000, +0x5000, +0x0000, + +/* Character 229 (0xe5): + width 5 + +-----+ + | ** | + | ** | + | *** | + |* * | + |* ** | + | * * | + | | + +-----+ +*/ +0x6000, +0x6000, +0x7000, +0x9000, +0xb000, +0x5000, +0x0000, + +/* Character 230 (0xe6): + width 5 + +-----+ + | | + | | + | *** | + |* ** | + |* * | + | *** | + | | + +-----+ +*/ +0x0000, +0x0000, +0x7000, +0xb000, +0xa000, +0x7000, +0x0000, + +/* Character 231 (0xe7): + width 5 + +-----+ + | | + | | + | ** | + |* | + |* | + | ** | + | * | + +-----+ +*/ +0x0000, +0x0000, +0x6000, +0x8000, +0x8000, +0x6000, +0x4000, + +/* Character 232 (0xe8): + width 5 + +-----+ + | * | + | * | + | ** | + |* ** | + |** | + | ** | + | | + +-----+ +*/ +0x4000, +0x2000, +0x6000, +0xb000, +0xc000, +0x6000, +0x0000, + +/* Character 233 (0xe9): + width 5 + +-----+ + | * | + | * | + | ** | + |* ** | + |** | + | ** | + | | + +-----+ +*/ +0x2000, +0x4000, +0x6000, +0xb000, +0xc000, +0x6000, +0x0000, + +/* Character 234 (0xea): + width 5 + +-----+ + | * | + |* * | + | ** | + |* ** | + |** | + | ** | + | | + +-----+ +*/ +0x4000, +0xa000, +0x6000, +0xb000, +0xc000, +0x6000, +0x0000, + +/* Character 235 (0xeb): + width 5 + +-----+ + |* * | + | | + | ** | + |* ** | + |** | + | ** | + | | + +-----+ +*/ +0xa000, +0x0000, +0x6000, +0xb000, +0xc000, +0x6000, +0x0000, + +/* Character 236 (0xec): + width 5 + +-----+ + |* | + | * | + |** | + | * | + | * | + |*** | + | | + +-----+ +*/ +0x8000, +0x4000, +0xc000, +0x4000, +0x4000, +0xe000, +0x0000, + +/* Character 237 (0xed): + width 5 + +-----+ + | * | + |* | + |** | + | * | + | * | + |*** | + | | + +-----+ +*/ +0x4000, +0x8000, +0xc000, +0x4000, +0x4000, +0xe000, +0x0000, + +/* Character 238 (0xee): + width 5 + +-----+ + | * | + |* * | + |** | + | * | + | * | + |*** | + | | + +-----+ +*/ +0x4000, +0xa000, +0xc000, +0x4000, +0x4000, +0xe000, +0x0000, + +/* Character 239 (0xef): + width 5 + +-----+ + |* * | + | | + |** | + | * | + | * | + |*** | + | | + +-----+ +*/ +0xa000, +0x0000, +0xc000, +0x4000, +0x4000, +0xe000, +0x0000, + +/* Character 240 (0xf0): + width 5 + +-----+ + | * | + | ** | + | ** | + |* * | + |* * | + | ** | + | | + +-----+ +*/ +0x4000, +0x3000, +0x6000, +0x9000, +0x9000, +0x6000, +0x0000, + +/* Character 241 (0xf1): + width 5 + +-----+ + | * * | + |* * | + |*** | + |* * | + |* * | + |* * | + | | + +-----+ +*/ +0x5000, +0xa000, +0xe000, +0x9000, +0x9000, +0x9000, +0x0000, + +/* Character 242 (0xf2): + width 5 + +-----+ + | * | + | * | + | ** | + |* * | + |* * | + | ** | + | | + +-----+ +*/ +0x4000, +0x2000, +0x6000, +0x9000, +0x9000, +0x6000, +0x0000, + +/* Character 243 (0xf3): + width 5 + +-----+ + | * | + | * | + | ** | + |* * | + |* * | + | ** | + | | + +-----+ +*/ +0x2000, +0x4000, +0x6000, +0x9000, +0x9000, +0x6000, +0x0000, + +/* Character 244 (0xf4): + width 5 + +-----+ + | ** | + | | + | ** | + |* * | + |* * | + | ** | + | | + +-----+ +*/ +0x6000, +0x0000, +0x6000, +0x9000, +0x9000, +0x6000, +0x0000, + +/* Character 245 (0xf5): + width 5 + +-----+ + | * * | + |* * | + | ** | + |* * | + |* * | + | ** | + | | + +-----+ +*/ +0x5000, +0xa000, +0x6000, +0x9000, +0x9000, +0x6000, +0x0000, + +/* Character 246 (0xf6): + width 5 + +-----+ + |* * | + | | + | ** | + |* * | + |* * | + | ** | + | | + +-----+ +*/ +0xa000, +0x0000, +0x6000, +0x9000, +0x9000, +0x6000, +0x0000, + +/* Character 247 (0xf7): + width 5 + +-----+ + | | + | ** | + | | + |**** | + | | + | ** | + | | + +-----+ +*/ +0x0000, +0x6000, +0x0000, +0xf000, +0x0000, +0x6000, +0x0000, + +/* Character 248 (0xf8): + width 5 + +-----+ + | | + | | + | *** | + |* ** | + |** * | + |*** | + | | + +-----+ +*/ +0x0000, +0x0000, +0x7000, +0xb000, +0xd000, +0xe000, +0x0000, + +/* Character 249 (0xf9): + width 5 + +-----+ + | * | + | * | + |* * | + |* * | + |* * | + | *** | + | | + +-----+ +*/ +0x4000, +0x2000, +0x9000, +0x9000, +0x9000, +0x7000, +0x0000, + +/* Character 250 (0xfa): + width 5 + +-----+ + | * | + | * | + |* * | + |* * | + |* * | + | *** | + | | + +-----+ +*/ +0x2000, +0x4000, +0x9000, +0x9000, +0x9000, +0x7000, +0x0000, + +/* Character 251 (0xfb): + width 5 + +-----+ + | ** | + | | + |* * | + |* * | + |* * | + | *** | + | | + +-----+ +*/ +0x6000, +0x0000, +0x9000, +0x9000, +0x9000, +0x7000, +0x0000, + +/* Character 252 (0xfc): + width 5 + +-----+ + | * * | + | | + |* * | + |* * | + |* * | + | *** | + | | + +-----+ +*/ +0x5000, +0x0000, +0x9000, +0x9000, +0x9000, +0x7000, +0x0000, + +/* Character 253 (0xfd): + width 5 + +-----+ + | * | + | * | + |* * | + |* * | + | * * | + | * | + | * | + +-----+ +*/ +0x2000, +0x4000, +0x9000, +0x9000, +0x5000, +0x2000, +0x4000, + +/* Character 254 (0xfe): + width 5 + +-----+ + | | + |* | + |*** | + |* * | + |* * | + |*** | + |* | + +-----+ +*/ +0x0000, +0x8000, +0xe000, +0x9000, +0x9000, +0xe000, +0x8000, + +/* Character 255 (0xff): + width 5 + +-----+ + | * * | + | | + |* * | + |* * | + | * * | + | * | + | * | + +-----+ +*/ +0x5000, +0x0000, +0x9000, +0x9000, +0x5000, +0x2000, +0x4000, +}; + +/* Character->glyph mapping. */ +static const unsigned long _sysfont_offset[] = { + 0, /* (0x00) */ + 7, /* (0x01) */ + 14, /* (0x02) */ + 21, /* (0x03) */ + 28, /* (0x04) */ + 35, /* (0x05) */ + 42, /* (0x06) */ + 49, /* (0x07) */ + 56, /* (0x08) */ + 63, /* (0x09) */ + 70, /* (0x0a) */ + 77, /* (0x0b) */ + 84, /* (0x0c) */ + 91, /* (0x0d) */ + 98, /* (0x0e) */ + 105, /* (0x0f) */ + 112, /* (0x10) */ + 119, /* (0x11) */ + 126, /* (0x12) */ + 133, /* (0x13) */ + 140, /* (0x14) */ + 147, /* (0x15) */ + 154, /* (0x16) */ + 161, /* (0x17) */ + 168, /* (0x18) */ + 175, /* (0x19) */ + 182, /* (0x1a) */ + 189, /* (0x1b) */ + 196, /* (0x1c) */ + 203, /* (0x1d) */ + 210, /* (0x1e) */ + 217, /* (0x1f) */ + 224, /* (0x20) */ + 231, /* (0x21) */ + 238, /* (0x22) */ + 245, /* (0x23) */ + 252, /* (0x24) */ + 259, /* (0x25) */ + 266, /* (0x26) */ + 273, /* (0x27) */ + 280, /* (0x28) */ + 287, /* (0x29) */ + 294, /* (0x2a) */ + 301, /* (0x2b) */ + 308, /* (0x2c) */ + 315, /* (0x2d) */ + 322, /* (0x2e) */ + 329, /* (0x2f) */ + 336, /* (0x30) */ + 343, /* (0x31) */ + 350, /* (0x32) */ + 357, /* (0x33) */ + 364, /* (0x34) */ + 371, /* (0x35) */ + 378, /* (0x36) */ + 385, /* (0x37) */ + 392, /* (0x38) */ + 399, /* (0x39) */ + 406, /* (0x3a) */ + 413, /* (0x3b) */ + 420, /* (0x3c) */ + 427, /* (0x3d) */ + 434, /* (0x3e) */ + 441, /* (0x3f) */ + 448, /* (0x40) */ + 455, /* (0x41) */ + 462, /* (0x42) */ + 469, /* (0x43) */ + 476, /* (0x44) */ + 483, /* (0x45) */ + 490, /* (0x46) */ + 497, /* (0x47) */ + 504, /* (0x48) */ + 511, /* (0x49) */ + 518, /* (0x4a) */ + 525, /* (0x4b) */ + 532, /* (0x4c) */ + 539, /* (0x4d) */ + 546, /* (0x4e) */ + 553, /* (0x4f) */ + 560, /* (0x50) */ + 567, /* (0x51) */ + 574, /* (0x52) */ + 581, /* (0x53) */ + 588, /* (0x54) */ + 595, /* (0x55) */ + 602, /* (0x56) */ + 609, /* (0x57) */ + 616, /* (0x58) */ + 623, /* (0x59) */ + 630, /* (0x5a) */ + 637, /* (0x5b) */ + 644, /* (0x5c) */ + 651, /* (0x5d) */ + 658, /* (0x5e) */ + 665, /* (0x5f) */ + 672, /* (0x60) */ + 679, /* (0x61) */ + 686, /* (0x62) */ + 693, /* (0x63) */ + 700, /* (0x64) */ + 707, /* (0x65) */ + 714, /* (0x66) */ + 721, /* (0x67) */ + 728, /* (0x68) */ + 735, /* (0x69) */ + 742, /* (0x6a) */ + 749, /* (0x6b) */ + 756, /* (0x6c) */ + 763, /* (0x6d) */ + 770, /* (0x6e) */ + 777, /* (0x6f) */ + 784, /* (0x70) */ + 791, /* (0x71) */ + 798, /* (0x72) */ + 805, /* (0x73) */ + 812, /* (0x74) */ + 819, /* (0x75) */ + 826, /* (0x76) */ + 833, /* (0x77) */ + 840, /* (0x78) */ + 847, /* (0x79) */ + 854, /* (0x7a) */ + 861, /* (0x7b) */ + 868, /* (0x7c) */ + 875, /* (0x7d) */ + 882, /* (0x7e) */ + 889, /* (0x7f) */ + 0, /* (0x80) */ + 0, /* (0x81) */ + 0, /* (0x82) */ + 0, /* (0x83) */ + 0, /* (0x84) */ + 0, /* (0x85) */ + 0, /* (0x86) */ + 0, /* (0x87) */ + 0, /* (0x88) */ + 0, /* (0x89) */ + 0, /* (0x8a) */ + 0, /* (0x8b) */ + 0, /* (0x8c) */ + 0, /* (0x8d) */ + 0, /* (0x8e) */ + 0, /* (0x8f) */ + 0, /* (0x90) */ + 0, /* (0x91) */ + 0, /* (0x92) */ + 0, /* (0x93) */ + 0, /* (0x94) */ + 0, /* (0x95) */ + 0, /* (0x96) */ + 0, /* (0x97) */ + 0, /* (0x98) */ + 0, /* (0x99) */ + 0, /* (0x9a) */ + 0, /* (0x9b) */ + 0, /* (0x9c) */ + 0, /* (0x9d) */ + 0, /* (0x9e) */ + 0, /* (0x9f) */ + 896, /* (0xa0) */ + 903, /* (0xa1) */ + 910, /* (0xa2) */ + 917, /* (0xa3) */ + 924, /* (0xa4) */ + 931, /* (0xa5) */ + 938, /* (0xa6) */ + 945, /* (0xa7) */ + 952, /* (0xa8) */ + 959, /* (0xa9) */ + 966, /* (0xaa) */ + 973, /* (0xab) */ + 980, /* (0xac) */ + 987, /* (0xad) */ + 994, /* (0xae) */ + 1001, /* (0xaf) */ + 1008, /* (0xb0) */ + 1015, /* (0xb1) */ + 1022, /* (0xb2) */ + 1029, /* (0xb3) */ + 1036, /* (0xb4) */ + 1043, /* (0xb5) */ + 1050, /* (0xb6) */ + 1057, /* (0xb7) */ + 1064, /* (0xb8) */ + 1071, /* (0xb9) */ + 1078, /* (0xba) */ + 1085, /* (0xbb) */ + 1092, /* (0xbc) */ + 1099, /* (0xbd) */ + 1106, /* (0xbe) */ + 1113, /* (0xbf) */ + 1120, /* (0xc0) */ + 1127, /* (0xc1) */ + 1134, /* (0xc2) */ + 1141, /* (0xc3) */ + 1148, /* (0xc4) */ + 1155, /* (0xc5) */ + 1162, /* (0xc6) */ + 1169, /* (0xc7) */ + 1176, /* (0xc8) */ + 1183, /* (0xc9) */ + 1190, /* (0xca) */ + 1197, /* (0xcb) */ + 1204, /* (0xcc) */ + 1211, /* (0xcd) */ + 1218, /* (0xce) */ + 1225, /* (0xcf) */ + 1232, /* (0xd0) */ + 1239, /* (0xd1) */ + 1246, /* (0xd2) */ + 1253, /* (0xd3) */ + 1260, /* (0xd4) */ + 1267, /* (0xd5) */ + 1274, /* (0xd6) */ + 1281, /* (0xd7) */ + 1288, /* (0xd8) */ + 1295, /* (0xd9) */ + 1302, /* (0xda) */ + 1309, /* (0xdb) */ + 1316, /* (0xdc) */ + 1323, /* (0xdd) */ + 1330, /* (0xde) */ + 1337, /* (0xdf) */ + 1344, /* (0xe0) */ + 1351, /* (0xe1) */ + 1358, /* (0xe2) */ + 1365, /* (0xe3) */ + 1372, /* (0xe4) */ + 1379, /* (0xe5) */ + 1386, /* (0xe6) */ + 1393, /* (0xe7) */ + 1400, /* (0xe8) */ + 1407, /* (0xe9) */ + 1414, /* (0xea) */ + 1421, /* (0xeb) */ + 1428, /* (0xec) */ + 1435, /* (0xed) */ + 1442, /* (0xee) */ + 1449, /* (0xef) */ + 1456, /* (0xf0) */ + 1463, /* (0xf1) */ + 1470, /* (0xf2) */ + 1477, /* (0xf3) */ + 1484, /* (0xf4) */ + 1491, /* (0xf5) */ + 1498, /* (0xf6) */ + 1505, /* (0xf7) */ + 1512, /* (0xf8) */ + 1519, /* (0xf9) */ + 1526, /* (0xfa) */ + 1533, /* (0xfb) */ + 1540, /* (0xfc) */ + 1547, /* (0xfd) */ + 1554, /* (0xfe) */ + 1561, /* (0xff) */ +}; + +/* Exported structure definition. */ +static const FontDesc desc = { + "5x7", + 5, + 7, + 6, + 0, + 256, + _font_bits, + _sysfont_offset, + 0, /* fixed width*/ + 0, + sizeof(_font_bits)/sizeof(bitmap_t) +}; + +extern const NewFont g_consolefont(desc); + +} // End of namespace GUI diff --git a/gui/module.mk b/gui/module.mk index 95b4d15b99..443cb96fef 100644 --- a/gui/module.mk +++ b/gui/module.mk @@ -5,6 +5,7 @@ MODULE_OBJS := \ gui/browser.o \ gui/chooser.o \ gui/console.o \ + gui/consolefont.o \ gui/dialog.o \ gui/EditTextWidget.o \ gui/launcher.o \ |