diff options
author | Strangerke | 2017-03-22 21:35:22 +0100 |
---|---|---|
committer | Strangerke | 2017-03-22 21:35:22 +0100 |
commit | 26199eba381e0c523bf20846a6493229b1ef497d (patch) | |
tree | 28841042d893a3049fd0e8da5ff63e0331a4606e | |
parent | d84535192ac02351cf5a7a04005aaa6fa097c9bb (diff) | |
download | scummvm-rg350-26199eba381e0c523bf20846a6493229b1ef497d.tar.gz scummvm-rg350-26199eba381e0c523bf20846a6493229b1ef497d.tar.bz2 scummvm-rg350-26199eba381e0c523bf20846a6493229b1ef497d.zip |
GNAP: Split font description array in two
-rw-r--r-- | engines/gnap/fontdata.h | 140 | ||||
-rw-r--r-- | engines/gnap/gamesys.cpp | 8 |
2 files changed, 47 insertions, 101 deletions
diff --git a/engines/gnap/fontdata.h b/engines/gnap/fontdata.h index 0631d1d214..10f7b15ba5 100644 --- a/engines/gnap/fontdata.h +++ b/engines/gnap/fontdata.h @@ -747,105 +747,51 @@ const byte _dejaVuSans9ptCharBitmaps[] = { }; /* Character descriptors for DejaVu Sans 9pt */ -/* { [Char width in bits], [Offset into dejaVuSans9ptCharBitmaps in bytes] } */ -const FONT_CHAR_INFO _dejaVuSans9ptCharDescriptors[] = { - FONT_CHAR_INFO(5, 0), /* */ - FONT_CHAR_INFO(1, 10), /* ! */ - FONT_CHAR_INFO(3, 12), /* " */ - FONT_CHAR_INFO(8, 18), /* # */ - FONT_CHAR_INFO(5, 34), /* $ */ - FONT_CHAR_INFO(10, 44), /* % */ - FONT_CHAR_INFO(8, 64), /* & */ - FONT_CHAR_INFO(1, 80), /* ' */ - FONT_CHAR_INFO(3, 82), /* ( */ - FONT_CHAR_INFO(3, 88), /* ) */ - FONT_CHAR_INFO(5, 94), /* * */ - FONT_CHAR_INFO(7, 104), /* + */ - FONT_CHAR_INFO(1, 118), /* , */ - FONT_CHAR_INFO(3, 120), /* - */ - FONT_CHAR_INFO(1, 126), /* . */ - FONT_CHAR_INFO(4, 128), /* / */ - FONT_CHAR_INFO(6, 136), /* 0 */ - FONT_CHAR_INFO(5, 148), /* 1 */ - FONT_CHAR_INFO(6, 158), /* 2 */ - FONT_CHAR_INFO(6, 170), /* 3 */ - FONT_CHAR_INFO(6, 182), /* 4 */ - FONT_CHAR_INFO(6, 194), /* 5 */ - FONT_CHAR_INFO(6, 206), /* 6 */ - FONT_CHAR_INFO(6, 218), /* 7 */ - FONT_CHAR_INFO(6, 230), /* 8 */ - FONT_CHAR_INFO(6, 242), /* 9 */ - FONT_CHAR_INFO(1, 254), /* : */ - FONT_CHAR_INFO(1, 256), /* ; */ - FONT_CHAR_INFO(8, 258), /* < */ - FONT_CHAR_INFO(8, 274), /* = */ - FONT_CHAR_INFO(8, 290), /* > */ - FONT_CHAR_INFO(5, 306), /* ? */ - FONT_CHAR_INFO(11, 316), /* @ */ - FONT_CHAR_INFO(8, 338), /* A */ - FONT_CHAR_INFO(6, 354), /* B */ - FONT_CHAR_INFO(6, 366), /* C */ - FONT_CHAR_INFO(7, 378), /* D */ - FONT_CHAR_INFO(6, 392), /* E */ - FONT_CHAR_INFO(5, 404), /* F */ - FONT_CHAR_INFO(7, 414), /* G */ - FONT_CHAR_INFO(7, 428), /* H */ - FONT_CHAR_INFO(1, 442), /* I */ - FONT_CHAR_INFO(3, 444), /* J */ - FONT_CHAR_INFO(6, 450), /* K */ - FONT_CHAR_INFO(5, 462), /* L */ - FONT_CHAR_INFO(8, 472), /* M */ - FONT_CHAR_INFO(7, 488), /* N */ - FONT_CHAR_INFO(7, 502), /* O */ - FONT_CHAR_INFO(6, 516), /* P */ - FONT_CHAR_INFO(7, 528), /* Q */ - FONT_CHAR_INFO(7, 542), /* R */ - FONT_CHAR_INFO(6, 556), /* S */ - FONT_CHAR_INFO(7, 568), /* T */ - FONT_CHAR_INFO(7, 582), /* U */ - FONT_CHAR_INFO(8, 596), /* V */ - FONT_CHAR_INFO(11, 612), /* W */ - FONT_CHAR_INFO(7, 634), /* X */ - FONT_CHAR_INFO(7, 648), /* Y */ - FONT_CHAR_INFO(7, 662), /* Z */ - FONT_CHAR_INFO(2, 676), /* [ */ - FONT_CHAR_INFO(4, 680), /* \ */ - FONT_CHAR_INFO(2, 688), /* ] */ - FONT_CHAR_INFO(6, 692), /* ^ */ - FONT_CHAR_INFO(6, 704), /* _ */ - FONT_CHAR_INFO(2, 716), /* ` */ - FONT_CHAR_INFO(6, 720), /* a */ - FONT_CHAR_INFO(6, 732), /* b */ - FONT_CHAR_INFO(5, 744), /* c */ - FONT_CHAR_INFO(6, 754), /* d */ - FONT_CHAR_INFO(6, 766), /* e */ - FONT_CHAR_INFO(4, 778), /* f */ - FONT_CHAR_INFO(6, 786), /* g */ - FONT_CHAR_INFO(6, 798), /* h */ - FONT_CHAR_INFO(1, 810), /* i */ - FONT_CHAR_INFO(2, 812), /* j */ - FONT_CHAR_INFO(5, 816), /* k */ - FONT_CHAR_INFO(1, 826), /* l */ - FONT_CHAR_INFO(9, 828), /* m */ - FONT_CHAR_INFO(6, 846), /* n */ - FONT_CHAR_INFO(6, 858), /* o */ - FONT_CHAR_INFO(6, 870), /* p */ - FONT_CHAR_INFO(6, 882), /* q */ - FONT_CHAR_INFO(4, 894), /* r */ - FONT_CHAR_INFO(5, 902), /* s */ - FONT_CHAR_INFO(4, 912), /* t */ - FONT_CHAR_INFO(6, 920), /* u */ - FONT_CHAR_INFO(6, 932), /* v */ - FONT_CHAR_INFO(9, 944), /* w */ - FONT_CHAR_INFO(6, 962), /* x */ - FONT_CHAR_INFO(6, 974), /* y */ - FONT_CHAR_INFO(5, 986), /* z */ - FONT_CHAR_INFO(5, 996), /* { */ - FONT_CHAR_INFO(1, 1006), /* | */ - FONT_CHAR_INFO(5, 1008), /* ) */ - FONT_CHAR_INFO(8, 1018) /* ~ */ +const byte _dejaVuSans9ptWidth[] = { + 5, /* */ 1, /* ! */ 3, /* " */ 8, /* # */ 5, /* $ */ + 10,/* % */ 8, /* & */ 1, /* ' */ 3, /* ( */ 3, /* ) */ + 5, /* * */ 7, /* + */ 1, /* , */ 3, /* - */ 1, /* . */ + 4, /* / */ 6, /* 0 */ 5, /* 1 */ 6, /* 2 */ 6, /* 3 */ + 6, /* 4 */ 6, /* 5 */ 6, /* 6 */ 6, /* 7 */ 6, /* 8 */ + 6, /* 9 */ 1, /* : */ 1, /* ; */ 8, /* < */ 8, /* = */ + 8, /* > */ 5, /* ? */ 11,/* @ */ 8, /* A */ 6, /* B */ + 6, /* C */ 7, /* D */ 6, /* E */ 5, /* F */ 7, /* G */ + 7, /* H */ 1, /* I */ 3, /* J */ 6, /* K */ 5, /* L */ + 8, /* M */ 7, /* N */ 7, /* O */ 6, /* P */ 7, /* Q */ + 7, /* R */ 6, /* S */ 7, /* T */ 7, /* U */ 8, /* V */ + 11,/* W */ 7, /* X */ 7, /* Y */ 7, /* Z */ 2, /* [ */ + 4, /* \ */ 2, /* ] */ 6, /* ^ */ 6, /* _ */ 2, /* ` */ + 6, /* a */ 6, /* b */ 5, /* c */ 6, /* d */ 6, /* e */ + 4, /* f */ 6, /* g */ 6, /* h */ 1, /* i */ 2, /* j */ + 5, /* k */ 1, /* l */ 9, /* m */ 6, /* n */ 6, /* o */ + 6, /* p */ 6, /* q */ 4, /* r */ 5, /* s */ 4, /* t */ + 6, /* u */ 6, /* v */ 9, /* w */ 6, /* x */ 6, /* y */ + 5, /* z */ 5, /* { */ 1, /* | */ 5, /* ) */ 8 /* ~ */ +}; + +const uint16 _dejaVuSans9ptOffsets[] = { + 0, /* */ 10, /* ! */ 12, /* " */ 18, /* # */ 34, /* $ */ + 44, /* % */ 64, /* & */ 80, /* ' */ 82, /* ( */ 88, /* */ + 94, /* * */ 104, /* + */ 118, /* , */ 120, /* - */ 126, /* . */ + 128, /* / */ 136, /* 0 */ 148, /* 1 */ 158, /* 2 */ 170, /* 3 */ + 182, /* 4 */ 194, /* 5 */ 206, /* 6 */ 218, /* 7 */ 230, /* 8 */ + 242, /* 9 */ 254, /* : */ 256, /* ; */ 258, /* < */ 274, /* = */ + 290, /* > */ 306, /* ? */ 316, /* @ */ 338, /* A */ 354, /* B */ + 366, /* C */ 378, /* D */ 392, /* E */ 404, /* F */ 414, /* G */ + 428, /* H */ 442, /* I */ 444, /* J */ 450, /* K */ 462, /* L */ + 472, /* M */ 488, /* N */ 502, /* O */ 516, /* P */ 528, /* Q */ + 542, /* R */ 556, /* S */ 568, /* T */ 582, /* U */ 596, /* V */ + 612, /* W */ 634, /* X */ 648, /* Y */ 662, /* Z */ 676, /* [ */ + 680, /* \ */ 688, /* ] */ 692, /* ^ */ 704, /* _ */ 716, /* ` */ + 720, /* a */ 732, /* b */ 744, /* c */ 754, /* d */ 766, /* e */ + 778, /* f */ 786, /* g */ 798, /* h */ 810, /* i */ 812, /* j */ + 816, /* k */ 826, /* l */ 828, /* m */ 846, /* n */ 858, /* o */ + 870, /* p */ 882, /* q */ 894, /* r */ 902, /* s */ 912, /* t */ + 920, /* u */ 932, /* v */ 944, /* w */ 962, /* x */ 974, /* y */ + 986, /* z */ 996, /* { */ 1006, /* | */ 1008, /* */ 1018 /* ~ */ }; } // End of namespace Gnap #endif // GNAP_RESOURCE_H + diff --git a/engines/gnap/gamesys.cpp b/engines/gnap/gamesys.cpp index 08a4af39ee..c5f7e1b9c5 100644 --- a/engines/gnap/gamesys.cpp +++ b/engines/gnap/gamesys.cpp @@ -294,8 +294,8 @@ void GameSys::drawTextToSurface(Graphics::Surface *surface, int x, int y, byte r if (c < 32 || c >= 127) c = (byte)'_'; c -= 32; - int w = _dejaVuSans9ptCharDescriptors[c]._width; - const byte *data = _dejaVuSans9ptCharBitmaps + _dejaVuSans9ptCharDescriptors[c]._offset; + int w = _dejaVuSans9ptWidth[c]; + const byte *data = _dejaVuSans9ptCharBitmaps + _dejaVuSans9ptOffsets[c]; for (int xc = 0; xc < w; ++xc) { for (int yc = 15; yc >= 0; --yc) { byte *dst = (byte *)surface->getBasePtr(x + xc, y + yc); @@ -319,7 +319,7 @@ int GameSys::getTextHeight(const char *text) { if (c < 32 || c >= 127) c = (byte)'_'; c -= 32; - height = MAX(height, _dejaVuSans9ptCharDescriptors[c]._width); + height = MAX(height, _dejaVuSans9ptWidth[c]); } return height; } @@ -331,7 +331,7 @@ int GameSys::getTextWidth(const char *text) { if (c < 32 || c >= 127) c = (byte)'_'; c -= 32; - width += _dejaVuSans9ptCharDescriptors[c]._width + 1; + width += _dejaVuSans9ptWidth[c] + 1; } return width; } |