From 08b6f28d5476505ce62748f691e861fd7f9dd3e4 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Fri, 6 Jan 2012 14:52:58 +0100 Subject: GRAPHICS: Rework BDF font code. --- graphics/fonts/bdf.cpp | 1054 ++- graphics/fonts/bdf.h | 55 +- graphics/fonts/consolefont.cpp | 11501 +++++++++++++++--------------- graphics/fonts/newfont.cpp | 15069 ++++++++++++++++++++------------------- graphics/fonts/newfont_big.cpp | 11368 +++++++++++++++-------------- 5 files changed, 19796 insertions(+), 19251 deletions(-) (limited to 'graphics/fonts') diff --git a/graphics/fonts/bdf.cpp b/graphics/fonts/bdf.cpp index 58c48ed877..2bc0582584 100644 --- a/graphics/fonts/bdf.cpp +++ b/graphics/fonts/bdf.cpp @@ -29,768 +29,590 @@ namespace Graphics { -void free_font(BdfFontData *pf); +BdfFont::BdfFont(const BdfFontData &data, DisposeAfterUse::Flag dispose) + : _data(data), _dispose(dispose) { +} BdfFont::~BdfFont() { - if (_font) { - free_font(_font); + if (_dispose == DisposeAfterUse::YES) { + for (int i = 0; i < _data.numCharacters; ++i) + delete[] _data.bitmaps[i]; + delete[] _data.bitmaps; + delete[] _data.advances; + delete[] _data.boxes; } } int BdfFont::getFontHeight() const { - return _desc.height; + return _data.height; } int BdfFont::getMaxCharWidth() const { - return _desc.maxwidth; + return _data.maxAdvance; } int BdfFont::getCharWidth(byte chr) const { - // If no width table is specified, return the maximum width - if (!_desc.width) - return _desc.maxwidth; - // If this character is not included in the font, use the default char. - if (chr < _desc.firstchar || _desc.firstchar + _desc.size < chr) { - chr = _desc.defaultchar; - } - return _desc.width[chr - _desc.firstchar]; + // In case all font have the same advance value, we use the maximum. + if (!_data.advances) + return _data.maxAdvance; + + const int ch = mapToIndex(chr); + // In case no mapping exists, we use the maximum advance. + if (ch < 0) + return _data.maxAdvance; + else + return _data.advances[ch]; } template -void drawCharIntern(byte *ptr, uint pitch, const bitmap_t *src, int h, int minX, int maxX, const PixelType color) { - const bitmap_t maxXMask = ~((1 << (16 - maxX)) - 1); - while (h-- > 0) { - bitmap_t buffer = READ_UINT16(src); - src++; - - buffer &= maxXMask; - buffer <<= minX; - PixelType *tmp = (PixelType *)ptr; - while (buffer != 0) { - if ((buffer & 0x8000) != 0) - *tmp = color; - tmp++; - buffer <<= 1; +void drawCharIntern(byte *ptr, uint pitch, const byte *src, int h, int width, int minX, int maxX, const PixelType color) { + byte data; + while (h--) { + PixelType *dst = (PixelType *)ptr; + + for (int x = 0; x < width; ++x) { + if (!(x % 8)) + data = *src++; + + if (x >= minX && x <= maxX && (data & 0x80)) + dst[x] = color; + + data <<= 1; } ptr += pitch; } } +int BdfFont::mapToIndex(byte ch) const { + // Check whether the character is included + if (_data.firstCharacter <= ch && ch <= _data.firstCharacter + _data.numCharacters) { + if (_data.bitmaps[ch - _data.firstCharacter]) + return ch - _data.firstCharacter; + } + + return _data.defaultCharacter - _data.firstCharacter; +} + void BdfFont::drawChar(Surface *dst, byte chr, const int tx, const int ty, const uint32 color) const { assert(dst != 0); - // asserting _desc.maxwidth <= 50: let the theme designer decide what looks best - assert(_desc.bits != 0 && _desc.maxwidth <= 50); + // TODO: Where is the relation between the max advance being smaller or + // equal to 50 and the decision of the theme designer? + // asserting _data.maxAdvance <= 50: let the theme designer decide what looks best + assert(_data.maxAdvance <= 50); assert(dst->format.bytesPerPixel == 1 || dst->format.bytesPerPixel == 2); - // If this character is not included in the font, use the default char. - if (chr < _desc.firstchar || chr >= _desc.firstchar + _desc.size) { - chr = _desc.defaultchar; - } - - chr -= _desc.firstchar; + const int idx = mapToIndex(chr); + if (idx < 0) + return; - int bbw, bbh, bbx, bby; + int width, height, xOffset, yOffset; // Get the bounding box of the character - if (!_desc.bbx) { - bbw = _desc.fbbw; - bbh = _desc.fbbh; - bbx = _desc.fbbx; - bby = _desc.fbby; + if (!_data.boxes) { + width = _data.defaultBox.width; + height = _data.defaultBox.height; + xOffset = _data.defaultBox.xOffset; + yOffset = _data.defaultBox.yOffset; } else { - bbw = _desc.bbx[chr].w; - bbh = _desc.bbx[chr].h; - bbx = _desc.bbx[chr].x; - bby = _desc.bbx[chr].y; + width = _data.boxes[idx].width; + height = _data.boxes[idx].height; + xOffset = _data.boxes[idx].xOffset; + yOffset = _data.boxes[idx].yOffset; } - byte *ptr = (byte *)dst->getBasePtr(tx + bbx, ty + _desc.ascent - bby - bbh); + int y = ty + _data.ascent - yOffset - height; + int x = tx + xOffset; - const bitmap_t *tmp = _desc.bits + (_desc.offset ? _desc.offset[chr] : (chr * _desc.fbbh)); + const byte *src = _data.bitmaps[idx]; - int y = MIN(bbh, ty + _desc.ascent - bby); - tmp += bbh - y; - y -= MAX(0, ty + _desc.ascent - bby - dst->h); + const int bytesPerRow = (width + 7) / 8; + const int originalWidth = width; - if (dst->format.bytesPerPixel == 1) - drawCharIntern(ptr, dst->pitch, tmp, y, MAX(0, -(tx + bbx)), MIN(bbw, dst->w - tx - bbx), color); - else if (dst->format.bytesPerPixel == 2) - drawCharIntern(ptr, dst->pitch, tmp, y, MAX(0, -(tx + bbx)), MIN(bbw, dst->w - tx - bbx), color); -} + // Make sure we do not draw outside the surface + if (y < 0) { + src -= y * bytesPerRow; + height += y; + y = 0; + } + if (y + height > dst->h) + height = dst->h - y; -#pragma mark - - -/* BEGIN font.h*/ -/* bitmap_t helper macros*/ -#define BITMAP_WORDS(x) (((x)+15)/16) /* image size in words*/ -#define BITMAP_BYTES(x) (BITMAP_WORDS(x)*sizeof(bitmap_t)) -#define BITMAP_BITSPERIMAGE (sizeof(bitmap_t) * 8) -#define BITMAP_BITVALUE(n) ((bitmap_t) (((bitmap_t) 1) << (n))) -#define BITMAP_FIRSTBIT (BITMAP_BITVALUE(BITMAP_BITSPERIMAGE - 1)) -#define BITMAP_TESTBIT(m) ((m) & BITMAP_FIRSTBIT) -#define BITMAP_SHIFTBIT(m) ((bitmap_t) ((m) << 1)) - -/* builtin C-based proportional/fixed font structure */ -/* based on The Microwindows Project http://microwindows.org */ -struct BdfFontData { - char *name; /* font name */ - int maxwidth; /* max width in pixels */ - int height; /* height in pixels */ - int ascent; /* ascent (baseline) height */ - int firstchar; /* first character in bitmap */ - int size; /* font size in glyphs */ - bitmap_t *bits; /* 16-bit right-padded bitmap data */ - unsigned long *offset; /* offsets into bitmap data */ - unsigned char *width; /* character widths or NULL if fixed */ - BBX *bbx; /* character bounding box or NULL if fixed */ - int defaultchar; /* default char (not glyph index) */ - long bits_size; /* # words of bitmap_t bits */ - - /* unused by runtime system, read in by convbdf */ - char *facename; /* facename of font */ - char *copyright; /* copyright info for loadable fonts */ - int pixel_size; - int descent; - int fbbw, fbbh, fbbx, fbby; -}; -/* END font.h */ - -#define isprefix(buf,str) (!strncmp(buf, str, strlen(str))) -#define strequal(s1,s2) (!strcmp(s1, s2)) - -#define EXTRA 300 - -int start_char = 0; -int limit_char = 255; - -BdfFontData *bdf_read_font(Common::SeekableReadStream &fp); -int bdf_read_header(Common::SeekableReadStream &fp, BdfFontData *pf); -int bdf_read_bitmaps(Common::SeekableReadStream &fp, BdfFontData *pf); -char *bdf_getline(Common::SeekableReadStream &fp, char *buf, int len); -bitmap_t bdf_hexval(unsigned char *buf); - -void free_font(BdfFontData *pf) { - if (!pf) + if (height <= 0) return; - free(pf->name); - free(pf->facename); - free(pf->copyright); - free(pf->bits); - free(pf->offset); - free(pf->width); - free(pf->bbx); - free(pf); -} - -/* build incore structure from .bdf file*/ -BdfFontData *bdf_read_font(Common::SeekableReadStream &fp) { - BdfFontData *pf; - uint32 pos = fp.pos(); - pf = (BdfFontData *)calloc(1, sizeof(BdfFontData)); - if (!pf) - goto errout; - - if (!bdf_read_header(fp, pf)) { - warning("Error reading font header"); - goto errout; + int xStart = 0; + if (x < 0) { + xStart = -x; + width += x; + x = 0; } - fp.seek(pos, SEEK_SET); + if (x + width > dst->w) + width = dst->w - x; - if (!bdf_read_bitmaps(fp, pf)) { - warning("Error reading font bitmaps"); - goto errout; - } + if (width <= 0) + return; - return pf; + const int xEnd = xStart + width - 1; -errout: - free_font(pf); - return NULL; + byte *ptr = (byte *)dst->getBasePtr(x, y); + + if (dst->format.bytesPerPixel == 1) + drawCharIntern(ptr, dst->pitch, src, height, originalWidth, xStart, xEnd, color); + else if (dst->format.bytesPerPixel == 2) + drawCharIntern(ptr, dst->pitch, src, height, originalWidth, xStart, xEnd, color); } -/* read bdf font header information, return 0 on error*/ -int bdf_read_header(Common::SeekableReadStream &fp, BdfFontData *pf) { - int encoding = 0; - int nchars = 0, maxwidth, maxheight; - int firstchar = 65535; - int lastchar = -1; - char buf[256]; - char facename[256]; - char copyright[256]; - memset(facename, 0, sizeof(facename)); - memset(copyright, 0, sizeof(copyright)); - - /* set certain values to errors for later error checking*/ - pf->defaultchar = -1; - pf->ascent = -1; - pf->descent = -1; - - for (;;) { - if (!bdf_getline(fp, buf, sizeof(buf))) { - warning("Error: EOF on file"); - return 0; - } +namespace { - /* note: the way sscanf is used here ensures that a terminating null - character is automatically added. Refer to: - http://pubs.opengroup.org/onlinepubs/009695399/functions/fscanf.html */ +inline byte hexToInt(char c) { + if (c >= '0' && c <= '9') + return c - '0'; + else if (c >= 'A' && c <= 'F') + return c - 'A' + 10; + else if (c >= 'a' && c <= 'f') + return c - 'a' + 10; + else + return 0; +} - if (isprefix(buf, "FONT ")) { /* not required*/ - if (sscanf(buf, "FONT %[^\n]", facename) != 1) { - warning("Error: bad 'FONT'"); - return 0; - } +byte *loadCharacter(Common::SeekableReadStream &stream, int &encoding, int &advance, BdfBoundingBox &box) { + Common::String line; + byte *bitmap = 0; - pf->facename = strdup(facename); - continue; + while (true) { + line = stream.readLine(); + if (stream.err() || stream.eos()) { + warning("BdfFont::loadCharacter: Premature end of file"); + delete[] bitmap; + return 0; } - if (isprefix(buf, "COPYRIGHT ")) { /* not required*/ - if (sscanf(buf, "COPYRIGHT \"%[^\"]", copyright) != 1) { - warning("Error: bad 'COPYRIGHT'"); - return 0; - } - pf->copyright = strdup(copyright); - continue; - } - if (isprefix(buf, "DEFAULT_CHAR ")) { /* not required*/ - if (sscanf(buf, "DEFAULT_CHAR %d", &pf->defaultchar) != 1) { - warning("Error: bad 'DEFAULT_CHAR'"); + if (line.hasPrefix("ENCODING ")) { + if (sscanf(line.c_str(), "ENCODING %d", &encoding) != 1) { + warning("BdfFont::loadCharacter: Invalid ENCODING"); + delete[] bitmap; return 0; } - } - if (isprefix(buf, "FONT_DESCENT ")) { - if (sscanf(buf, "FONT_DESCENT %d", &pf->descent) != 1) { - warning("Error: bad 'FONT_DESCENT'"); + } else if (line.hasPrefix("DWIDTH ")) { + int yAdvance; + if (sscanf(line.c_str(), "DWIDTH %d %d", &advance, &yAdvance) != 2) { + warning("BdfFont::loadCharacter: Invalid DWIDTH"); + delete[] bitmap; return 0; } - continue; - } - if (isprefix(buf, "FONT_ASCENT ")) { - if (sscanf(buf, "FONT_ASCENT %d", &pf->ascent) != 1) { - warning("Error: bad 'FONT_ASCENT'"); + + if (yAdvance != 0) { + warning("BdfFont::loadCharacter: Character %d has an y advance of %d", encoding, yAdvance); + delete[] bitmap; return 0; } - continue; - } - if (isprefix(buf, "FONTBOUNDINGBOX ")) { - if (sscanf(buf, "FONTBOUNDINGBOX %d %d %d %d", - &pf->fbbw, &pf->fbbh, &pf->fbbx, &pf->fbby) != 4) { - warning("Error: bad 'FONTBOUNDINGBOX'"); + + if (advance < 0) { + warning("BdfFont::loadCharacter: Character %d has an x advance of %d", encoding, advance); + delete[] bitmap; return 0; } - continue; - } - if (isprefix(buf, "CHARS ")) { - if (sscanf(buf, "CHARS %d", &nchars) != 1) { - warning("Error: bad 'CHARS'"); + } else if (line.hasPrefix("BBX ")) { + int width, height, xOffset, yOffset; + if (sscanf(line.c_str(), "BBX %d %d %d %d", + &width, &height, &xOffset, &yOffset) != 4) { + warning("BdfFont::loadCharacter: Invalid BBX"); + delete[] bitmap; return 0; } - continue; - } - /* - * Reading ENCODING is necessary to get firstchar/lastchar - * which is needed to pre-calculate our offset and widths - * array sizes. - */ - if (isprefix(buf, "ENCODING ")) { - if (sscanf(buf, "ENCODING %d", &encoding) != 1) { - warning("Error: bad 'ENCODING'"); - return 0; - } - if (encoding >= 0 && - encoding <= limit_char && - encoding >= start_char) { - - if (firstchar > encoding) - firstchar = encoding; - if (lastchar < encoding) - lastchar = encoding; + box.width = width; + box.height = height; + box.xOffset = xOffset; + box.yOffset = yOffset; + } else if (line == "BITMAP") { + const uint bytesPerRow = (box.width + 7) / 8; + byte *dst = bitmap = new byte[box.height * bytesPerRow]; + + for (int y = 0; y < box.height; ++y) { + line = stream.readLine(); + if (stream.err() || stream.eos()) { + warning("BdfFont::loadCharacter: Premature end of file"); + delete[] bitmap; + return 0; + } + + if (line.size() != 2 * bytesPerRow) { + warning("BdfFont::loadCharacter: Pixel line has wrong size"); + delete[] bitmap; + return 0; + } + + for (uint x = 0; x < bytesPerRow; ++x) { + char nibble1 = line[x * 2 + 0]; + char nibble2 = line[x * 2 + 1]; + *dst++ = (hexToInt(nibble1) << 4) | hexToInt(nibble2); + } } - continue; + } else if (line == "ENDCHAR") { + return bitmap; } - if (strequal(buf, "ENDFONT")) - break; } - /* calc font height*/ - if (pf->ascent < 0 || pf->descent < 0 || firstchar < 0) { - warning("Error: Invalid BDF file, requires FONT_ASCENT/FONT_DESCENT/ENCODING"); - return 0; - } - pf->height = pf->ascent + pf->descent; - - /* calc default char*/ - if (pf->defaultchar < 0 || - pf->defaultchar < firstchar || - pf->defaultchar > limit_char) - pf->defaultchar = firstchar; - - /* calc font size (offset/width entries)*/ - pf->firstchar = firstchar; - pf->size = lastchar - firstchar + 1; - - /* use the font boundingbox to get initial maxwidth*/ - /*maxwidth = pf->fbbw - pf->fbbx;*/ - maxwidth = pf->fbbw; - maxheight = pf->fbbh; - - /* initially use font bounding box for bits allocation*/ - pf->bits_size = nchars * BITMAP_WORDS(maxwidth) * maxheight; - - /* allocate bits, offset, and width arrays*/ - pf->bits = (bitmap_t *)malloc(pf->bits_size * sizeof(bitmap_t) + EXTRA); - pf->offset = (unsigned long *)malloc(pf->size * sizeof(unsigned long)); - pf->width = (unsigned char *)malloc(pf->size * sizeof(unsigned char)); - pf->bbx = (BBX *)malloc(pf->size * sizeof(BBX)); - - if (!pf->bits || !pf->offset || !pf->width) { - warning("Error: no memory for font load"); - return 0; - } + delete[] bitmap; + return 0; +} - return 1; +void freeBitmaps(byte **bitmaps, int size) { + for (int i = 0; i < size; ++i) + delete[] bitmaps[i]; } -/* read bdf font bitmaps, return 0 on error*/ -int bdf_read_bitmaps(Common::SeekableReadStream &fp, BdfFontData *pf) { - long ofs = 0; - int maxwidth = 0; - int i, k, encoding = 0, width = 0; - int bbw = 0, bbh = 0, bbx = 0, bby = 0; - int proportional = 0; - int need_bbx = 0; - int encodetable = 0; - long l; - char buf[256]; - - /* initially mark offsets as not used*/ - for (i = 0; i < pf->size; ++i) - pf->offset[i] = (unsigned long)-1; - - for (;;) { - if (!bdf_getline(fp, buf, sizeof(buf))) { - warning("Error: EOF on file"); +} // End of anonymous namespace + +BdfFont *BdfFont::loadFont(Common::SeekableReadStream &stream) { + BdfFontData font; + memset(&font, 0, sizeof(font)); + font.ascent = -1; + font.defaultCharacter = -1; + + // We only load the first 256 characters + font.numCharacters = 256; + byte **bitmaps = new byte *[font.numCharacters]; + memset(bitmaps, 0, sizeof(byte *) * font.numCharacters); + byte *advances = new byte[font.numCharacters]; + BdfBoundingBox *boxes = new BdfBoundingBox[font.numCharacters]; + + int descent = -1; + + Common::String line; + while (true) { + line = stream.readLine(); + if (stream.err() || stream.eos()) { + warning("BdfFont::loadFont: Premature end of file"); + freeBitmaps(bitmaps, font.numCharacters); + delete[] bitmaps; + delete[] advances; + delete[] boxes; return 0; } - if (isprefix(buf, "STARTCHAR")) { - encoding = width = bbw = bbh = bbx = bby = -1; - continue; - } - if (isprefix(buf, "ENCODING ")) { - if (sscanf(buf, "ENCODING %d", &encoding) != 1) { - warning("Error: bad 'ENCODING'"); + + // Only parse and handle declarations we actually need + if (line.hasPrefix("FONTBOUNDINGBOX ")) { + int width, height, xOffset, yOffset; + if (sscanf(line.c_str(), "FONTBOUNDINGBOX %d %d %d %d", + &width, &height, &xOffset, &yOffset) != 4) { + warning("BdfFont::loadFont: Invalid FONTBOUNDINGBOX"); + freeBitmaps(bitmaps, font.numCharacters); + delete[] bitmaps; + delete[] advances; + delete[] boxes; return 0; } - if (encoding < start_char || encoding > limit_char) - encoding = -1; - continue; - } - if (isprefix(buf, "DWIDTH ")) { - if (sscanf(buf, "DWIDTH %d", &width) != 1) { - warning("Error: bad 'DWIDTH'"); + + font.defaultBox.width = width; + font.defaultBox.height = height; + font.defaultBox.xOffset = xOffset; + font.defaultBox.yOffset = yOffset; + } else if (line.hasPrefix("FONT_ASCENT ")) { + if (sscanf(line.c_str(), "FONT_ASCENT %d", &font.ascent) != 1) { + warning("BdfFont::loadFont: Invalid FONT_ASCENT"); + freeBitmaps(bitmaps, font.numCharacters); + delete[] bitmaps; + delete[] advances; + delete[] boxes; return 0; } - /* use font boundingbox width if DWIDTH <= 0*/ - if (width <= 0) - width = pf->fbbw - pf->fbbx; - continue; - } - if (isprefix(buf, "BBX ")) { - if (sscanf(buf, "BBX %d %d %d %d", &bbw, &bbh, &bbx, &bby) != 4) { - warning("Error: bad 'BBX'"); + } else if (line.hasPrefix("FONT_DESCENT ")) { + if (sscanf(line.c_str(), "FONT_DESCENT %d", &descent) != 1) { + warning("BdfFont::loadFont: Invalid FONT_DESCENT"); + freeBitmaps(bitmaps, font.numCharacters); + delete[] bitmaps; + delete[] advances; + delete[] boxes; return 0; } - continue; - } - if (strequal(buf, "BITMAP")) { - bitmap_t *ch_bitmap = pf->bits + ofs; - int ch_words; - - if (encoding < 0) - continue; - - /* set bits offset in encode map*/ - if (pf->offset[encoding - pf->firstchar] != (unsigned long)-1) { - warning("Error: duplicate encoding for character %d (0x%02x), ignoring duplicate", - encoding, encoding); - continue; + } else if (line.hasPrefix("DEFAULT_CHAR ")) { + if (sscanf(line.c_str(), "DEFAULT_CHAR %d", &font.defaultCharacter) != 1) { + warning("BdfFont::loadFont: Invalid DEFAULT_CHAR"); + freeBitmaps(bitmaps, font.numCharacters); + delete[] bitmaps; + delete[] advances; + delete[] boxes; + return 0; + } + } else if (line.hasPrefix("STARTCHAR ")) { + BdfBoundingBox box = font.defaultBox; + int encoding = -1; + int advance = -1; + byte *bitmap = loadCharacter(stream, encoding, advance, box); + + // Ignore all characters above 255. + if (encoding < -1 || encoding >= font.numCharacters) { + delete[] bitmap; + encoding = -1; } - pf->offset[encoding - pf->firstchar] = ofs; - pf->width[encoding - pf->firstchar] = width; - pf->bbx[encoding - pf->firstchar].w = bbw; - pf->bbx[encoding - pf->firstchar].h = bbh; - pf->bbx[encoding - pf->firstchar].x = bbx; - pf->bbx[encoding - pf->firstchar].y = bby; + // Calculate the max advance + if (encoding != -1 && advance > font.maxAdvance) + font.maxAdvance = advance; - if (width > maxwidth) - maxwidth = width; + if (!bitmap && encoding != -1) { + warning("BdfFont::loadFont: Character %d invalid", encoding); + freeBitmaps(bitmaps, font.numCharacters); + delete[] bitmaps; + delete[] advances; + delete[] boxes; + return 0; + } - /* clear bitmap*/ - memset(ch_bitmap, 0, BITMAP_BYTES(bbw) * bbh); + if (encoding != -1) { + bitmaps[encoding] = bitmap; + advances[encoding] = advance; + boxes[encoding] = box; + } + } else if (line == "ENDFONT") { + break; + } + } - ch_words = BITMAP_WORDS(bbw); + if (font.ascent < 0 || descent < 0) { + warning("BdfFont::loadFont: Invalid ascent or descent"); + freeBitmaps(bitmaps, font.numCharacters); + delete[] bitmaps; + delete[] advances; + delete[] boxes; + return 0; + } - /* read bitmaps*/ - for (i = 0; i < bbh; ++i) { - if (!bdf_getline(fp, buf, sizeof(buf))) { - warning("Error: EOF reading BITMAP data"); - return 0; - } - if (isprefix(buf, "ENDCHAR")) - break; - - for (k = 0; k < ch_words; ++k) { - bitmap_t value; - - value = bdf_hexval((unsigned char *)buf); - if (bbw > 8) { - WRITE_UINT16(ch_bitmap, value); - } else { - WRITE_UINT16(ch_bitmap, value << 8); - } - ch_bitmap++; - } - } + font.height = font.ascent + descent; + + font.bitmaps = bitmaps; + font.advances = advances; + font.boxes = boxes; + + int firstCharacter = font.numCharacters; + int lastCharacter = -1; + bool hasFixedBBox = true; + bool hasFixedAdvance = true; - ofs += ch_words * bbh; + for (int i = 0; i < font.numCharacters; ++i) { + if (!font.bitmaps[i]) continue; - } - if (strequal(buf, "ENDFONT")) - break; - } - /* set max width*/ - pf->maxwidth = maxwidth; + if (i < firstCharacter) + firstCharacter = i; - /* change unused offset/width values to default char values*/ - for (i = 0; i < pf->size; ++i) { - int defchar = pf->defaultchar - pf->firstchar; + if (i > lastCharacter) + lastCharacter = i; - if (pf->offset[i] == (unsigned long)-1) { - pf->offset[i] = pf->offset[defchar]; - pf->width[i] = pf->width[defchar]; - pf->bbx[i].w = pf->bbx[defchar].w; - pf->bbx[i].h = pf->bbx[defchar].h; - pf->bbx[i].x = pf->bbx[defchar].x; - pf->bbx[i].y = pf->bbx[defchar].y; - } - } + if (font.advances[i] != font.maxAdvance) + hasFixedAdvance = false; - /* determine whether font doesn't require encode table*/ - l = 0; - for (i = 0; i < pf->size; ++i) { - if (pf->offset[i] != (unsigned long)l) { - encodetable = 1; - break; - } - l += BITMAP_WORDS(pf->bbx[i].w) * pf->bbx[i].h; - } - if (!encodetable) { - free(pf->offset); - pf->offset = NULL; + const BdfBoundingBox &bbox = font.boxes[i]; + if (bbox.width != font.defaultBox.width + || bbox.height != font.defaultBox.height + || bbox.xOffset != font.defaultBox.xOffset + || bbox.yOffset != font.defaultBox.yOffset) + hasFixedBBox = false; } - /* determine whether font is fixed-width*/ - for (i = 0; i < pf->size; ++i) { - if (pf->width[i] != maxwidth) { - proportional = 1; - break; - } - } - if (!proportional) { - free(pf->width); - pf->width = NULL; + if (lastCharacter == -1) { + warning("BdfFont::loadFont: No glyphs found"); + delete[] font.bitmaps; + delete[] font.advances; + delete[] font.boxes; + return 0; } - /* determine if the font needs a bbx table */ - for (i = 0; i < pf->size; ++i) { - if (pf->bbx[i].w != pf->fbbw || pf->bbx[i].h != pf->fbbh || pf->bbx[i].x != pf->fbbx || pf->bbx[i].y != pf->fbby) { - need_bbx = 1; - break; - } - } - if (!need_bbx) { - free(pf->bbx); - pf->bbx = NULL; + // Free the advance table, in case all glyphs use the same advance + if (hasFixedAdvance) { + delete[] font.advances; + font.advances = 0; } - /* reallocate bits array to actual bits used*/ - if (ofs < pf->bits_size) { - bitmap_t *tmp = (bitmap_t *)realloc(pf->bits, ofs * sizeof(bitmap_t)); - if (tmp != NULL || ofs == 0) - pf->bits = tmp; - else - error("bdf_read_bitmaps: Error while reallocating memory"); - pf->bits_size = ofs; - } else { - if (ofs > pf->bits_size) { - warning("Warning: DWIDTH spec > max FONTBOUNDINGBOX"); - if (ofs > pf->bits_size + EXTRA) { - warning("Error: Not enough bits initially allocated"); - return 0; - } - pf->bits_size = ofs; - } + // Free the box table, in case all glyphs use the same box + if (hasFixedBBox) { + delete[] font.boxes; + font.boxes = 0; } - return 1; -} + // Adapt for the fact that we never use encoding 0. + if (font.defaultCharacter < firstCharacter + || font.defaultCharacter > lastCharacter) + font.defaultCharacter = -1; -/* read the next non-comment line, returns buf or NULL if EOF*/ -// TODO: Can we use SeekableReadStream::readLine instead? -char *bdf_getline(Common::SeekableReadStream &fp, char *buf, int len) { - int c; - char *b; - - for (;;) { - b = buf; - while (!fp.eos()) { - c = fp.readByte(); - if (c == '\r') - continue; - if (c == '\n') - break; - if (b - buf >= (len - 1)) - break; - *b++ = c; + font.firstCharacter = firstCharacter; + + const int charsAvailable = lastCharacter - firstCharacter + 1; + // Try to compact the tables + if (charsAvailable < font.numCharacters) { + byte **newBitmaps = new byte *[charsAvailable]; + boxes = 0; + advances = 0; + if (!hasFixedBBox) + boxes = new BdfBoundingBox[charsAvailable]; + if (!hasFixedAdvance) + advances = new byte[charsAvailable]; + + for (int i = 0; i < charsAvailable; ++i) { + const int encoding = i + firstCharacter; + if (font.bitmaps[encoding]) { + newBitmaps[i] = bitmaps[encoding]; + + if (!hasFixedBBox) + boxes[i] = font.boxes[encoding]; + if (!hasFixedAdvance) + advances[i] = font.advances[encoding]; + } else { + newBitmaps[i] = 0; + } } - *b = '\0'; - if (fp.eos() && b == buf) - return NULL; - if (b != buf && !isprefix(buf, "COMMENT")) - break; - } - return buf; -} -/* return hex value of buffer */ -bitmap_t bdf_hexval(unsigned char *buf) { - bitmap_t val = 0; - - for (unsigned char *ptr = buf; *ptr; ptr++) { - int c = *ptr; - - if (c >= '0' && c <= '9') - c -= '0'; - else if (c >= 'A' && c <= 'F') - c = c - 'A' + 10; - else if (c >= 'a' && c <= 'f') - c = c - 'a' + 10; - else - c = 0; - val = (val << 4) | c; - } - return val; -} + delete[] font.bitmaps; + font.bitmaps = newBitmaps; + delete[] font.advances; + font.advances = advances; + delete[] font.boxes; + font.boxes = boxes; -BdfFont *BdfFont::loadFont(Common::SeekableReadStream &stream) { - BdfFontData *data = bdf_read_font(stream); - if (!data || stream.err()) { - free_font(data); - return 0; + font.numCharacters = charsAvailable; } - BdfFontDesc desc; - desc.name = data->name; - desc.maxwidth = data->maxwidth; - desc.height = data->height; - desc.fbbw = data->fbbw; - desc.fbbh = data->fbbh; - desc.fbbx = data->fbbx; - desc.fbby = data->fbby; - desc.ascent = data->ascent; - desc.firstchar = data->firstchar; - desc.size = data->size; - desc.bits = data->bits; - desc.offset = data->offset; - desc.width = data->width; - desc.bbx = data->bbx; - desc.defaultchar = data->defaultchar; - desc.bits_size = data->bits_size; - - return new BdfFont(desc, data); + return new BdfFont(font, DisposeAfterUse::YES); } bool BdfFont::cacheFontData(const BdfFont &font, const Common::String &filename) { Common::DumpFile cacheFile; if (!cacheFile.open(filename)) { - warning("Couldn't open file '%s' for writing", filename.c_str()); + warning("BdfFont::cacheFontData: Couldn't open file '%s' for writing", filename.c_str()); return false; } - cacheFile.writeUint16BE(font._desc.maxwidth); - cacheFile.writeUint16BE(font._desc.height); - cacheFile.writeUint16BE(font._desc.fbbw); - cacheFile.writeUint16BE(font._desc.fbbh); - cacheFile.writeSint16BE(font._desc.fbbx); - cacheFile.writeSint16BE(font._desc.fbby); - cacheFile.writeUint16BE(font._desc.ascent); - cacheFile.writeUint16BE(font._desc.firstchar); - cacheFile.writeUint16BE(font._desc.size); - cacheFile.writeUint16BE(font._desc.defaultchar); - cacheFile.writeUint32BE(font._desc.bits_size); - - for (long i = 0; i < font._desc.bits_size; ++i) { - cacheFile.writeUint16BE(font._desc.bits[i]); - } - - if (font._desc.offset) { - cacheFile.writeByte(1); - for (int i = 0; i < font._desc.size; ++i) { - cacheFile.writeUint32BE(font._desc.offset[i]); + const BdfFontData &data = font._data; + + cacheFile.writeUint32BE(MKTAG('S', 'V', 'F', 'C')); + cacheFile.writeUint32BE(1); + cacheFile.writeUint16BE(data.maxAdvance); + cacheFile.writeByte(data.height); + cacheFile.writeByte(data.defaultBox.width); + cacheFile.writeByte(data.defaultBox.height); + cacheFile.writeSByte(data.defaultBox.xOffset); + cacheFile.writeSByte(data.defaultBox.yOffset); + cacheFile.writeByte(data.ascent); + cacheFile.writeUint16BE(data.firstCharacter); + cacheFile.writeSint16BE(data.defaultCharacter); + cacheFile.writeUint16BE(data.numCharacters); + + for (int i = 0; i < data.numCharacters; ++i) { + const BdfBoundingBox &box = data.boxes ? data.boxes[i] : data.defaultBox; + if (data.bitmaps[i]) { + const int bytes = ((box.width + 7) / 8) * box.height; + cacheFile.writeUint32BE(bytes); + cacheFile.write(data.bitmaps[i], bytes); + } else { + cacheFile.writeUint32BE(0); } - } else { - cacheFile.writeByte(0); } - if (font._desc.width) { - cacheFile.writeByte(1); - for (int i = 0; i < font._desc.size; ++i) { - cacheFile.writeByte(font._desc.width[i]); - } + if (data.advances) { + cacheFile.writeByte(0xFF); + cacheFile.write(data.advances, data.numCharacters); } else { - cacheFile.writeByte(0); + cacheFile.writeByte(0x00); } - if (font._desc.bbx) { - cacheFile.writeByte(1); - for (int i = 0; i < font._desc.size; ++i) { - cacheFile.writeByte(font._desc.bbx[i].w); - cacheFile.writeByte(font._desc.bbx[i].h); - cacheFile.writeByte(font._desc.bbx[i].x); - cacheFile.writeByte(font._desc.bbx[i].y); + if (data.boxes) { + cacheFile.writeByte(0xFF); + + for (int i = 0; i < data.numCharacters; ++i) { + const BdfBoundingBox &box = data.boxes[i]; + cacheFile.writeByte(box.width); + cacheFile.writeByte(box.height); + cacheFile.writeSByte(box.xOffset); + cacheFile.writeSByte(box.yOffset); } } else { - cacheFile.writeByte(0); + cacheFile.writeByte(0x00); } return !cacheFile.err(); } BdfFont *BdfFont::loadFromCache(Common::SeekableReadStream &stream) { - BdfFont *font = 0; - - BdfFontData *data = (BdfFontData *)malloc(sizeof(BdfFontData)); - if (!data) + const uint32 magic = stream.readUint32BE(); + if (magic != MKTAG('S', 'V', 'F', 'C')) return 0; - memset(data, 0, sizeof(BdfFontData)); - - data->maxwidth = stream.readUint16BE(); - data->height = stream.readUint16BE(); - data->fbbw = stream.readUint16BE(); - data->fbbh = stream.readUint16BE(); - data->fbbx = stream.readSint16BE(); - data->fbby = stream.readSint16BE(); - data->ascent = stream.readUint16BE(); - data->firstchar = stream.readUint16BE(); - data->size = stream.readUint16BE(); - data->defaultchar = stream.readUint16BE(); - data->bits_size = stream.readUint32BE(); - - data->bits = (bitmap_t *)malloc(sizeof(bitmap_t) * data->bits_size); - if (!data->bits) { - free(data); + const uint32 version = stream.readUint32BE(); + if (version != 1) return 0; - } - for (long i = 0; i < data->bits_size; ++i) { - data->bits[i] = stream.readUint16BE(); - } + BdfFontData data; - bool hasOffsetTable = (stream.readByte() != 0); - if (hasOffsetTable) { - data->offset = (unsigned long *)malloc(sizeof(unsigned long) * data->size); - if (!data->offset) { - free(data->bits); - free(data); - return 0; - } + data.maxAdvance = stream.readUint16BE(); + data.height = stream.readByte(); + data.defaultBox.width = stream.readByte(); + data.defaultBox.height = stream.readByte(); + data.defaultBox.xOffset = stream.readSByte(); + data.defaultBox.yOffset = stream.readSByte(); + data.ascent = stream.readByte(); + data.firstCharacter = stream.readUint16BE(); + data.defaultCharacter = stream.readSint16BE(); + data.numCharacters = stream.readUint16BE(); - for (int i = 0; i < data->size; ++i) { - data->offset[i] = stream.readUint32BE(); - } - } + if (stream.err() || stream.eos()) + return 0; + + byte **bitmaps = new byte *[data.numCharacters]; + byte *advances = 0; + BdfBoundingBox *boxes = 0; + for (int i = 0; i < data.numCharacters; ++i) { + uint32 size = stream.readUint32BE(); - bool hasWidthTable = (stream.readByte() != 0); - if (hasWidthTable) { - data->width = (unsigned char *)malloc(sizeof(unsigned char) * data->size); - if (!data->width) { - free(data->bits); - free(data->offset); - free(data); + if (stream.err() || stream.eos()) { + for (int j = 0; j < i; ++j) + delete[] bitmaps[i]; + delete[] bitmaps; return 0; } - for (int i = 0; i < data->size; ++i) { - data->width[i] = stream.readByte(); + if (size) { + bitmaps[i] = new byte[size]; + stream.read(bitmaps[i], size); + } else { + bitmaps[i] = 0; } } - bool hasBBXTable = (stream.readByte() != 0); - if (hasBBXTable) { - data->bbx = (BBX *)malloc(sizeof(BBX) * data->size); - if (!data->bbx) { - free(data->bits); - free(data->offset); - free(data->width); - free(data); - return 0; - } - for (int i = 0; i < data->size; ++i) { - data->bbx[i].w = (int8)stream.readByte(); - data->bbx[i].h = (int8)stream.readByte(); - data->bbx[i].x = (int8)stream.readByte(); - data->bbx[i].y = (int8)stream.readByte(); - } + if (stream.readByte() == 0xFF) { + advances = new byte[data.numCharacters]; + stream.read(advances, data.numCharacters); } - if (stream.err() || stream.eos()) { - free(data->bits); - free(data->offset); - free(data->width); - free(data); - return 0; + if (stream.readByte() == 0xFF) { + boxes = new BdfBoundingBox[data.numCharacters]; + for (int i = 0; i < data.numCharacters; ++i) { + boxes[i].width = stream.readByte(); + boxes[i].height = stream.readByte(); + boxes[i].xOffset = stream.readSByte(); + boxes[i].yOffset = stream.readSByte(); + } } - BdfFontDesc desc; - desc.name = data->name; - desc.maxwidth = data->maxwidth; - desc.height = data->height; - desc.fbbw = data->fbbw; - desc.fbbh = data->fbbh; - desc.fbbx = data->fbbx; - desc.fbby = data->fbby; - desc.ascent = data->ascent; - desc.firstchar = data->firstchar; - desc.size = data->size; - desc.bits = data->bits; - desc.offset = data->offset; - desc.width = data->width; - desc.bbx = data->bbx; - desc.defaultchar = data->defaultchar; - desc.bits_size = data->bits_size; - - font = new BdfFont(desc, data); - if (!font) { - free(data->bits); - free(data->offset); - free(data->width); - free(data); - return 0; + if (stream.eos() || stream.err()) { + for (int i = 0; i < data.numCharacters; ++i) + delete[] bitmaps[i]; + delete[] bitmaps; + delete[] advances; + delete[] boxes; } - return font; + data.bitmaps = bitmaps; + data.advances = advances; + data.boxes = boxes; + return new BdfFont(data, DisposeAfterUse::YES); } } // End of namespace Graphics diff --git a/graphics/fonts/bdf.h b/graphics/fonts/bdf.h index 0d60693736..5b615cc043 100644 --- a/graphics/fonts/bdf.h +++ b/graphics/fonts/bdf.h @@ -23,6 +23,7 @@ #define GRAPHICS_FONTS_BDF_H #include "common/system.h" +#include "common/types.h" #include "graphics/font.h" @@ -32,42 +33,29 @@ class SeekableReadStream; namespace Graphics { -typedef uint16 bitmap_t; /* bitmap image unit size*/ - -struct BBX { - int8 w; - int8 h; - int8 x; - int8 y; +struct BdfBoundingBox { + uint8 width, height; + int8 xOffset, yOffset; }; -/* builtin C-based proportional/fixed font structure */ -/* based on The Microwindows Project http://microwindows.org */ -struct BdfFontDesc { - const char *name; /* font name */ - int maxwidth; /* max width in pixels */ - int height; /* height in pixels */ - int fbbw, fbbh, fbbx, fbby; /* max bounding box */ - int ascent; /* ascent (baseline) height */ - int firstchar; /* first character in bitmap */ - int size; /* font size in glyphs */ - const bitmap_t *bits; /* 16-bit right-padded bitmap data */ - const unsigned long *offset; /* offsets into bitmap data */ - const unsigned char *width; /* character widths or NULL if fixed */ - const BBX *bbx; /* character bounding box or NULL if fixed */ - int defaultchar; /* default char (not glyph index) */ - long bits_size; /* # words of bitmap_t bits */ -}; +struct BdfFontData { + int maxAdvance; + int height; + BdfBoundingBox defaultBox; + int ascent; -struct BdfFontData; + int firstCharacter; + int defaultCharacter; + int numCharacters; -class BdfFont : public Font { -protected: - BdfFontDesc _desc; - BdfFontData *_font; + const byte *const *bitmaps; + const byte *advances; + const BdfBoundingBox *boxes; +}; +class BdfFont : public Font { public: - BdfFont(const BdfFontDesc &desc, BdfFontData *font = 0) : _desc(desc), _font(font) {} + BdfFont(const BdfFontData &data, DisposeAfterUse::Flag dispose); ~BdfFont(); virtual int getFontHeight() const; @@ -79,12 +67,17 @@ public: static BdfFont *loadFont(Common::SeekableReadStream &stream); static bool cacheFontData(const BdfFont &font, const Common::String &filename); static BdfFont *loadFromCache(Common::SeekableReadStream &stream); +private: + int mapToIndex(byte ch) const; + + const BdfFontData _data; + const DisposeAfterUse::Flag _dispose; }; #define DEFINE_FONT(n) \ const BdfFont *n = 0; \ void create_##n() { \ - n = new BdfFont(desc); \ + n = new BdfFont(desc, DisposeAfterUse::YES); \ } #define FORWARD_DECLARE_FONT(n) \ diff --git a/graphics/fonts/consolefont.cpp b/graphics/fonts/consolefont.cpp index 5b4768327a..8244d75fc2 100644 --- a/graphics/fonts/consolefont.cpp +++ b/graphics/fonts/consolefont.cpp @@ -1,5654 +1,5867 @@ -/* Generated by convbdf on Sat Jun 17 01:37:46 2006. */ +// Generated by convbdf on Fri Jan 6 14:32:21 2012 #include "graphics/fonts/bdf.h" -/* Font information: - name: 5x8-L1 - facename: -Misc-Fixed-Medium-R-Normal--8-80-75-75-C-50-ISO8859-1 - w x h: 5x8 - bbx: 5 8 0 -1 - size: 256 - ascent: 7 - descent: 1 - first char: 0 (0x00) - last char: 255 (0xff) - default char: 0 (0x00) - proportional: no - Public domain font. Share and enjoy. -*/ +// Font information: +// Name: -Misc-Fixed-Medium-R-Normal--8-80-75-75-C-50-ISO8859-1 +// Size: 5x8 +// Box: 5 8 0 -1 +// Ascent: 7 +// First character: 0 +// Default character: 0 +// Characters: 256 +// Copyright: "Public domain font. Share and enjoy." namespace Graphics { -/* Font character bitmap data. */ -static const bitmap_t _font_bits[] = { - -/* Character 0 (0x00): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - |* * | - | * | - |* | - | * | - |* | - | * * | - | | - +-----+ -*/ -0x0000, -0xa000, -0x1000, -0x8000, -0x1000, -0x8000, -0x5000, -0x0000, - -/* Character 1 (0x01): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | * | - | *** | - |*****| - | *** | - | * | - | | - +-----+ -*/ -0x0000, -0x0000, -0x2000, -0x7000, -0xf800, -0x7000, -0x2000, -0x0000, - -/* Character 2 (0x02): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * * | - |* * *| - | * * | - |* * *| - | * * | - |* * *| - | * * | - |* * *| - +-----+ -*/ -0x5000, -0xa800, -0x5000, -0xa800, -0x5000, -0xa800, -0x5000, -0xa800, - -/* Character 3 (0x03): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - |* * | - |* * | - |*** | - |* * | - |* * | - | *** | - | * | - | * | - +-----+ -*/ -0xa000, -0xa000, -0xe000, -0xa000, -0xa000, -0x7000, -0x2000, -0x2000, - -/* Character 4 (0x04): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - |*** | - |* | - |** | - |* ***| - |* * | - | ** | - | * | - | * | - +-----+ -*/ -0xe000, -0x8000, -0xc000, -0xb800, -0xa000, -0x3000, -0x2000, -0x2000, - -/* Character 5 (0x05): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | ** | - |* | - |* | - | ** | - | ** | - | * *| - | ** | - | * *| - +-----+ -*/ -0x6000, -0x8000, -0x8000, -0x6000, -0x3000, -0x2800, -0x3000, -0x2800, - -/* Character 6 (0x06): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - |* | - |* | - |* | - |*** | - | ***| - | * | - | ** | - | * | - +-----+ -*/ -0x8000, -0x8000, -0x8000, -0xe000, -0x3800, -0x2000, -0x3000, -0x2000, - -/* Character 7 (0x07): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | * | - | * * | - | * | - | | - | | - | | - | | - +-----+ -*/ -0x0000, -0x2000, -0x5000, -0x2000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 8 (0x08): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | * | - | *** | - | * | - | | - | *** | - | | - +-----+ -*/ -0x0000, -0x0000, -0x2000, -0x7000, -0x2000, -0x0000, -0x7000, -0x0000, - -/* Character 9 (0x09): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - |* * | - |** * | - |* ** | - |* * | - | * | - | * | - | * | - | ***| - +-----+ -*/ -0x9000, -0xd000, -0xb000, -0x9000, -0x2000, -0x2000, -0x2000, -0x3800, - -/* Character 10 (0x0a): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - |* * | - |* * | - |* * | - | * | - | ***| - | * | - | * | - | * | - +-----+ -*/ -0xa000, -0xa000, -0xa000, -0x4000, -0x3800, -0x1000, -0x1000, -0x1000, - -/* Character 11 (0x0b): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | * | - | * | - |*** | - | | - | | - | | - | | - +-----+ -*/ -0x2000, -0x2000, -0x2000, -0xe000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 12 (0x0c): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - |*** | - | * | - | * | - | * | - | * | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0xe000, -0x2000, -0x2000, -0x2000, -0x2000, - -/* Character 13 (0x0d): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - | ***| - | * | - | * | - | * | - | * | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0x3800, -0x2000, -0x2000, -0x2000, -0x2000, - -/* Character 14 (0x0e): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | * | - | * | - | ***| - | | - | | - | | - | | - +-----+ -*/ -0x2000, -0x2000, -0x2000, -0x3800, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 15 (0x0f): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | * | - | * | - |*****| - | * | - | * | - | * | - | * | - +-----+ -*/ -0x2000, -0x2000, -0x2000, -0xf800, -0x2000, -0x2000, -0x2000, -0x2000, - -/* Character 16 (0x10): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - |*****| - | | - | | - | | - | | - | | - | | - | | - +-----+ -*/ -0xf800, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 17 (0x11): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - |*****| - | | - | | - | | - | | - | | - | | - +-----+ -*/ -0x0000, -0xf800, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 18 (0x12): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - |*****| - | | - | | - | | - | | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0xf800, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 19 (0x13): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - | | - | | - | | - |*****| - | | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0xf800, -0x0000, - -/* Character 20 (0x14): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - | | - | | - | | - | | - |*****| - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0xf800, - -/* Character 21 (0x15): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | * | - | * | - | ***| - | * | - | * | - | * | - | * | - +-----+ -*/ -0x2000, -0x2000, -0x2000, -0x3800, -0x2000, -0x2000, -0x2000, -0x2000, - -/* Character 22 (0x16): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | * | - | * | - |*** | - | * | - | * | - | * | - | * | - +-----+ -*/ -0x2000, -0x2000, -0x2000, -0xe000, -0x2000, -0x2000, -0x2000, -0x2000, - -/* Character 23 (0x17): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | * | - | * | - |*****| - | | - | | - | | - | | - +-----+ -*/ -0x2000, -0x2000, -0x2000, -0xf800, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 24 (0x18): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - |*****| - | * | - | * | - | * | - | * | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0xf800, -0x2000, -0x2000, -0x2000, -0x2000, - -/* Character 25 (0x19): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - +-----+ -*/ -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, - -/* Character 26 (0x1a): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | * | - | * | - | * | - | * | - | * | - | *** | - | | - +-----+ -*/ -0x0000, -0x1000, -0x2000, -0x4000, -0x2000, -0x1000, -0x7000, -0x0000, - -/* Character 27 (0x1b): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | * | - | * | - | * | - | * | - | * | - | *** | - | | - +-----+ -*/ -0x0000, -0x4000, -0x2000, -0x1000, -0x2000, -0x4000, -0x7000, -0x0000, - -/* Character 28 (0x1c): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - |*****| - | * * | - | * * | - | * * | - | | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0xf800, -0x5000, -0x5000, -0x5000, -0x0000, - -/* Character 29 (0x1d): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | * | - |**** | - | ** | - |**** | - | * | - | | - +-----+ -*/ -0x0000, -0x0000, -0x2000, -0xf000, -0x6000, -0xf000, -0x4000, -0x0000, - -/* Character 30 (0x1e): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | * | - | * * | - |*** | - | * | - | * * | - |* * | - | | - +-----+ -*/ -0x0000, -0x2000, -0x5000, -0xe000, -0x4000, -0x5000, -0xa000, -0x0000, - -/* Character 31 (0x1f): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - | | - | * | - | | - | | - | | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x2000, -0x0000, -0x0000, -0x0000, - -/* Character 32 (0x20): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - | | - | | - | | - | | - | | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 33 (0x21): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | * | - | * | - | * | - | * | - | | - | * | - | | - +-----+ -*/ -0x0000, -0x2000, -0x2000, -0x2000, -0x2000, -0x0000, -0x2000, -0x0000, - -/* Character 34 (0x22): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | * * | - | * * | - | * * | - | | - | | - | | - | | - +-----+ -*/ -0x0000, -0x5000, -0x5000, -0x5000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 35 (0x23): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * * | - | * * | - |*****| - | * * | - |*****| - | * * | - | * * | - | | - +-----+ -*/ -0x5000, -0x5000, -0xf800, -0x5000, -0xf800, -0x5000, -0x5000, -0x0000, - -/* Character 36 (0x24): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | *** | - |* * | - | *** | - | * *| - | *** | - | * | - | | - +-----+ -*/ -0x2000, -0x7000, -0xa000, -0x7000, -0x2800, -0x7000, -0x2000, -0x0000, - -/* Character 37 (0x25): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | * | - | * * | - | * | - | * * | - | * | - | | - | | - +-----+ -*/ -0x0000, -0x4000, -0x5000, -0x2000, -0x5000, -0x1000, -0x0000, -0x0000, - -/* Character 38 (0x26): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - |* * | - |* * | - | * | - |* * | - |* * | - | * * | - | | - +-----+ -*/ -0x4000, -0xa000, -0xa000, -0x4000, -0xa000, -0xa000, -0x5000, -0x0000, - -/* Character 39 (0x27): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | * | - | * | - | * | - | | - | | - | | - | | - +-----+ -*/ -0x0000, -0x2000, -0x2000, -0x2000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 40 (0x28): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | * | - | * | - | * | - | * | - | * | - | * | - | | - +-----+ -*/ -0x0000, -0x2000, -0x4000, -0x4000, -0x4000, -0x4000, -0x2000, -0x0000, - -/* Character 41 (0x29): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | * | - | * | - | * | - | * | - | * | - | * | - | | - +-----+ -*/ -0x0000, -0x4000, -0x2000, -0x2000, -0x2000, -0x2000, -0x4000, -0x0000, - -/* Character 42 (0x2a): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - |* * | - | ** | - |**** | - | ** | - |* * | - | | - +-----+ -*/ -0x0000, -0x0000, -0x9000, -0x6000, -0xf000, -0x6000, -0x9000, -0x0000, - -/* Character 43 (0x2b): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | * | - | * | - |*****| - | * | - | * | - | | - +-----+ -*/ -0x0000, -0x0000, -0x2000, -0x2000, -0xf800, -0x2000, -0x2000, -0x0000, - -/* Character 44 (0x2c): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - | | - | | - | ** | - | * | - | * | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x3000, -0x2000, -0x4000, - -/* Character 45 (0x2d): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - | | - |**** | - | | - | | - | | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0xf000, -0x0000, -0x0000, -0x0000, - -/* Character 46 (0x2e): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - | | - | | - | * | - | *** | - | * | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x2000, -0x7000, -0x2000, - -/* Character 47 (0x2f): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | * | - | * | - | * | - | * | - |* | - |* | - | | - +-----+ -*/ -0x0000, -0x1000, -0x1000, -0x2000, -0x4000, -0x8000, -0x8000, -0x0000, - -/* Character 48 (0x30): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | * | - | * * | - | * * | - | * * | - | * * | - | * | - | | - +-----+ -*/ -0x0000, -0x2000, -0x5000, -0x5000, -0x5000, -0x5000, -0x2000, -0x0000, - -/* Character 49 (0x31): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | * | - | ** | - | * | - | * | - | * | - | *** | - | | - +-----+ -*/ -0x0000, -0x2000, -0x6000, -0x2000, -0x2000, -0x2000, -0x7000, -0x0000, - -/* Character 50 (0x32): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | ** | - |* * | - | * | - | ** | - |* | - |**** | - | | - +-----+ -*/ -0x0000, -0x6000, -0x9000, -0x1000, -0x6000, -0x8000, -0xf000, -0x0000, - -/* Character 51 (0x33): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - |**** | - | * | - | ** | - | * | - |* * | - | ** | - | | - +-----+ -*/ -0x0000, -0xf000, -0x2000, -0x6000, -0x1000, -0x9000, -0x6000, -0x0000, - -/* Character 52 (0x34): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | * | - | ** | - |* * | - |**** | - | * | - | * | - | | - +-----+ -*/ -0x0000, -0x2000, -0x6000, -0xa000, -0xf000, -0x2000, -0x2000, -0x0000, - -/* Character 53 (0x35): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - |**** | - |* | - |*** | - | * | - |* * | - | ** | - | | - +-----+ -*/ -0x0000, -0xf000, -0x8000, -0xe000, -0x1000, -0x9000, -0x6000, -0x0000, - -/* Character 54 (0x36): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | ** | - |* | - |*** | - |* * | - |* * | - | ** | - | | - +-----+ -*/ -0x0000, -0x6000, -0x8000, -0xe000, -0x9000, -0x9000, -0x6000, -0x0000, - -/* Character 55 (0x37): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - |**** | - | * | - | * | - | * | - | * | - | * | - | | - +-----+ -*/ -0x0000, -0xf000, -0x1000, -0x2000, -0x2000, -0x4000, -0x4000, -0x0000, - -/* Character 56 (0x38): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | ** | - |* * | - | ** | - |* * | - |* * | - | ** | - | | - +-----+ -*/ -0x0000, -0x6000, -0x9000, -0x6000, -0x9000, -0x9000, -0x6000, -0x0000, - -/* Character 57 (0x39): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | ** | - |* * | - |* * | - | *** | - | * | - | ** | - | | - +-----+ -*/ -0x0000, -0x6000, -0x9000, -0x9000, -0x7000, -0x1000, -0x6000, -0x0000, - -/* Character 58 (0x3a): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | ** | - | ** | - | | - | ** | - | ** | - | | - +-----+ -*/ -0x0000, -0x0000, -0x6000, -0x6000, -0x0000, -0x6000, -0x6000, -0x0000, - -/* Character 59 (0x3b): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | ** | - | ** | - | | - | ** | - | * | - | * | - +-----+ -*/ -0x0000, -0x0000, -0x3000, -0x3000, -0x0000, -0x3000, -0x2000, -0x4000, - -/* Character 60 (0x3c): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | * | - | * | - | * | - | * | - | * | - | * | - | | - +-----+ -*/ -0x0000, -0x1000, -0x2000, -0x4000, -0x4000, -0x2000, -0x1000, -0x0000, - -/* Character 61 (0x3d): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - |**** | - | | - |**** | - | | - | | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0xf000, -0x0000, -0xf000, -0x0000, -0x0000, - -/* Character 62 (0x3e): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | * | - | * | - | * | - | * | - | * | - | * | - | | - +-----+ -*/ -0x0000, -0x4000, -0x2000, -0x1000, -0x1000, -0x2000, -0x4000, -0x0000, - -/* Character 63 (0x3f): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | * | - | * * | - | * | - | * | - | | - | * | - | | - +-----+ -*/ -0x0000, -0x2000, -0x5000, -0x1000, -0x2000, -0x0000, -0x2000, -0x0000, - -/* Character 64 (0x40): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | ** | - | * *| - |* **| - |* * *| - |* * *| - |* * | - | * | - | ** | - +-----+ -*/ -0x3000, -0x4800, -0x9800, -0xa800, -0xa800, -0x9000, -0x4000, -0x3000, - -/* Character 65 (0x41): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | ** | - |* * | - |* * | - |**** | - |* * | - |* * | - | | - +-----+ -*/ -0x0000, -0x6000, -0x9000, -0x9000, -0xf000, -0x9000, -0x9000, -0x0000, - -/* Character 66 (0x42): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - |*** | - |* * | - |*** | - |* * | - |* * | - |*** | - | | - +-----+ -*/ -0x0000, -0xe000, -0x9000, -0xe000, -0x9000, -0x9000, -0xe000, -0x0000, - -/* Character 67 (0x43): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | ** | - |* * | - |* | - |* | - |* * | - | ** | - | | - +-----+ -*/ -0x0000, -0x6000, -0x9000, -0x8000, -0x8000, -0x9000, -0x6000, -0x0000, - -/* Character 68 (0x44): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - |*** | - |* * | - |* * | - |* * | - |* * | - |*** | - | | - +-----+ -*/ -0x0000, -0xe000, -0x9000, -0x9000, -0x9000, -0x9000, -0xe000, -0x0000, - -/* Character 69 (0x45): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - |**** | - |* | - |*** | - |* | - |* | - |**** | - | | - +-----+ -*/ -0x0000, -0xf000, -0x8000, -0xe000, -0x8000, -0x8000, -0xf000, -0x0000, - -/* Character 70 (0x46): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - |**** | - |* | - |*** | - |* | - |* | - |* | - | | - +-----+ -*/ -0x0000, -0xf000, -0x8000, -0xe000, -0x8000, -0x8000, -0x8000, -0x0000, - -/* Character 71 (0x47): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | ** | - |* * | - |* | - |* ** | - |* * | - | ** | - | | - +-----+ -*/ -0x0000, -0x6000, -0x9000, -0x8000, -0xb000, -0x9000, -0x6000, -0x0000, - -/* Character 72 (0x48): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - |* * | - |* * | - |**** | - |* * | - |* * | - |* * | - | | - +-----+ -*/ -0x0000, -0x9000, -0x9000, -0xf000, -0x9000, -0x9000, -0x9000, -0x0000, - -/* Character 73 (0x49): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | *** | - | * | - | * | - | * | - | * | - | *** | - | | - +-----+ -*/ -0x0000, -0x7000, -0x2000, -0x2000, -0x2000, -0x2000, -0x7000, -0x0000, - -/* Character 74 (0x4a): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | *** | - | * | - | * | - | * | - |* * | - | * | - | | - +-----+ -*/ -0x0000, -0x7000, -0x2000, -0x2000, -0x2000, -0xa000, -0x4000, -0x0000, - -/* Character 75 (0x4b): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - |* * | - |* * | - |** | - |* * | - |* * | - |* * | - | | - +-----+ -*/ -0x0000, -0x9000, -0xa000, -0xc000, -0xa000, -0xa000, -0x9000, -0x0000, - -/* Character 76 (0x4c): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - |* | - |* | - |* | - |* | - |* | - |**** | - | | - +-----+ -*/ -0x0000, -0x8000, -0x8000, -0x8000, -0x8000, -0x8000, -0xf000, -0x0000, - -/* Character 77 (0x4d): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - |* * | - |**** | - |**** | - |* * | - |* * | - |* * | - | | - +-----+ -*/ -0x0000, -0x9000, -0xf000, -0xf000, -0x9000, -0x9000, -0x9000, -0x0000, - -/* Character 78 (0x4e): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - |* * | - |** * | - |**** | - |* ** | - |* ** | - |* * | - | | - +-----+ -*/ -0x0000, -0x9000, -0xd000, -0xf000, -0xb000, -0xb000, -0x9000, -0x0000, - -/* Character 79 (0x4f): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | ** | - |* * | - |* * | - |* * | - |* * | - | ** | - | | - +-----+ -*/ -0x0000, -0x6000, -0x9000, -0x9000, -0x9000, -0x9000, -0x6000, -0x0000, - -/* Character 80 (0x50): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - |*** | - |* * | - |* * | - |*** | - |* | - |* | - | | - +-----+ -*/ -0x0000, -0xe000, -0x9000, -0x9000, -0xe000, -0x8000, -0x8000, -0x0000, - -/* Character 81 (0x51): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | ** | - |* * | - |* * | - |** * | - |* ** | - | ** | - | * | - +-----+ -*/ -0x0000, -0x6000, -0x9000, -0x9000, -0xd000, -0xb000, -0x6000, -0x1000, - -/* Character 82 (0x52): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - |*** | - |* * | - |* * | - |*** | - |* * | - |* * | - | | - +-----+ -*/ -0x0000, -0xe000, -0x9000, -0x9000, -0xe000, -0x9000, -0x9000, -0x0000, - -/* Character 83 (0x53): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | ** | - |* * | - | * | - | * | - |* * | - | ** | - | | - +-----+ -*/ -0x0000, -0x6000, -0x9000, -0x4000, -0x2000, -0x9000, -0x6000, -0x0000, - -/* Character 84 (0x54): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | *** | - | * | - | * | - | * | - | * | - | * | - | | - +-----+ -*/ -0x0000, -0x7000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x0000, - -/* Character 85 (0x55): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - |* * | - |* * | - |* * | - |* * | - |* * | - | ** | - | | - +-----+ -*/ -0x0000, -0x9000, -0x9000, -0x9000, -0x9000, -0x9000, -0x6000, -0x0000, - -/* Character 86 (0x56): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - |* * | - |* * | - |* * | - |* * | - | ** | - | ** | - | | - +-----+ -*/ -0x0000, -0x9000, -0x9000, -0x9000, -0x9000, -0x6000, -0x6000, -0x0000, - -/* Character 87 (0x57): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - |* * | - |* * | - |* * | - |**** | - |**** | - |* * | - | | - +-----+ -*/ -0x0000, -0x9000, -0x9000, -0x9000, -0xf000, -0xf000, -0x9000, -0x0000, - -/* Character 88 (0x58): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - |* * | - |* * | - | ** | - | ** | - |* * | - |* * | - | | - +-----+ -*/ -0x0000, -0x9000, -0x9000, -0x6000, -0x6000, -0x9000, -0x9000, -0x0000, - -/* Character 89 (0x59): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - |* *| - |* *| - | * * | - | * | - | * | - | * | - | | - +-----+ -*/ -0x0000, -0x8800, -0x8800, -0x5000, -0x2000, -0x2000, -0x2000, -0x0000, - -/* Character 90 (0x5a): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - |**** | - | * | - | * | - | * | - |* | - |**** | - | | - +-----+ -*/ -0x0000, -0xf000, -0x1000, -0x2000, -0x4000, -0x8000, -0xf000, -0x0000, - -/* Character 91 (0x5b): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | *** | - | * | - | * | - | * | - | * | - | *** | - | | - +-----+ -*/ -0x0000, -0x7000, -0x4000, -0x4000, -0x4000, -0x4000, -0x7000, -0x0000, - -/* Character 92 (0x5c): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - |* | - |* | - | * | - | * | - | * | - | * | - | | - +-----+ -*/ -0x0000, -0x8000, -0x8000, -0x4000, -0x2000, -0x1000, -0x1000, -0x0000, - -/* Character 93 (0x5d): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | *** | - | * | - | * | - | * | - | * | - | *** | - | | - +-----+ -*/ -0x0000, -0x7000, -0x1000, -0x1000, -0x1000, -0x1000, -0x7000, -0x0000, - -/* Character 94 (0x5e): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | * | - | * * | - | | - | | - | | - | | - | | - +-----+ -*/ -0x0000, -0x2000, -0x5000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 95 (0x5f): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - | | - | | - | | - | | - |**** | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0xf000, - -/* Character 96 (0x60): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | * | - | * | - | | - | | - | | - | | - | | - +-----+ -*/ -0x0000, -0x4000, -0x2000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 97 (0x61): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - | *** | - |* * | - |* * | - | *** | - | | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0x7000, -0x9000, -0x9000, -0x7000, -0x0000, - -/* Character 98 (0x62): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - |* | - |* | - |*** | - |* * | - |* * | - |*** | - | | - +-----+ -*/ -0x0000, -0x8000, -0x8000, -0xe000, -0x9000, -0x9000, -0xe000, -0x0000, - -/* Character 99 (0x63): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - | ** | - | * | - | * | - | ** | - | | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0x3000, -0x4000, -0x4000, -0x3000, -0x0000, - -/* Character 100 (0x64): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | * | - | * | - | *** | - |* * | - |* * | - | *** | - | | - +-----+ -*/ -0x0000, -0x1000, -0x1000, -0x7000, -0x9000, -0x9000, -0x7000, -0x0000, - -/* Character 101 (0x65): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - | ** | - |* ** | - |** | - | ** | - | | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0x6000, -0xb000, -0xc000, -0x6000, -0x0000, - -/* Character 102 (0x66): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | * | - | * * | - | * | - |*** | - | * | - | * | - | | - +-----+ -*/ -0x0000, -0x2000, -0x5000, -0x4000, -0xe000, -0x4000, -0x4000, -0x0000, - -/* Character 103 (0x67): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - | ** | - |* * | - | *** | - | * | - | ** | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0x6000, -0x9000, -0x7000, -0x1000, -0x6000, - -/* Character 104 (0x68): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - |* | - |* | - |*** | - |* * | - |* * | - |* * | - | | - +-----+ -*/ -0x0000, -0x8000, -0x8000, -0xe000, -0x9000, -0x9000, -0x9000, -0x0000, - -/* Character 105 (0x69): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | * | - | | - | ** | - | * | - | * | - | *** | - | | - +-----+ -*/ -0x0000, -0x2000, -0x0000, -0x6000, -0x2000, -0x2000, -0x7000, -0x0000, - -/* Character 106 (0x6a): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | * | - | | - | * | - | * | - | * | - | * * | - | * | - +-----+ -*/ -0x0000, -0x1000, -0x0000, -0x1000, -0x1000, -0x1000, -0x5000, -0x2000, - -/* Character 107 (0x6b): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - |* | - |* | - |* * | - |*** | - |* * | - |* * | - | | - +-----+ -*/ -0x0000, -0x8000, -0x8000, -0x9000, -0xe000, -0x9000, -0x9000, -0x0000, - -/* Character 108 (0x6c): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | ** | - | * | - | * | - | * | - | * | - | *** | - | | - +-----+ -*/ -0x0000, -0x6000, -0x2000, -0x2000, -0x2000, -0x2000, -0x7000, -0x0000, - -/* Character 109 (0x6d): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - |** * | - |* * *| - |* * *| - |* * *| - | | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0xd000, -0xa800, -0xa800, -0xa800, -0x0000, - -/* Character 110 (0x6e): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - |*** | - |* * | - |* * | - |* * | - | | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0xe000, -0x9000, -0x9000, -0x9000, -0x0000, - -/* Character 111 (0x6f): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - | ** | - |* * | - |* * | - | ** | - | | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0x6000, -0x9000, -0x9000, -0x6000, -0x0000, - -/* Character 112 (0x70): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - |*** | - |* * | - |*** | - |* | - |* | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0xe000, -0x9000, -0xe000, -0x8000, -0x8000, - -/* Character 113 (0x71): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - | *** | - |* * | - | *** | - | * | - | * | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0x7000, -0x9000, -0x7000, -0x1000, -0x1000, - -/* Character 114 (0x72): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - |* * | - |** * | - |* | - |* | - | | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0xa000, -0xd000, -0x8000, -0x8000, -0x0000, - -/* Character 115 (0x73): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - | ** | - | ** | - | * | - | ** | - | | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0x3000, -0x6000, -0x1000, -0x6000, -0x0000, - -/* Character 116 (0x74): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | * | - | * | - |*** | - | * | - | * * | - | * | - | | - +-----+ -*/ -0x0000, -0x4000, -0x4000, -0xe000, -0x4000, -0x5000, -0x2000, -0x0000, - -/* Character 117 (0x75): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - |* * | - |* * | - |* * | - | *** | - | | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0x9000, -0x9000, -0x9000, -0x7000, -0x0000, - -/* Character 118 (0x76): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - | * * | - | * * | - | * * | - | * | - | | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0x5000, -0x5000, -0x5000, -0x2000, -0x0000, - -/* Character 119 (0x77): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - |* *| - |* * *| - |* * *| - | * * | - | | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0x8800, -0xa800, -0xa800, -0x5000, -0x0000, - -/* Character 120 (0x78): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - |* * | - | ** | - | ** | - |* * | - | | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0x9000, -0x6000, -0x6000, -0x9000, -0x0000, - -/* Character 121 (0x79): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - |* * | - |* * | - | *** | - |* * | - | ** | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0x9000, -0x9000, -0x7000, -0x9000, -0x6000, - -/* Character 122 (0x7a): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - |**** | - | * | - | * | - |**** | - | | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0xf000, -0x2000, -0x4000, -0xf000, -0x0000, - -/* Character 123 (0x7b): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | ** | - | * | - | * | - |** | - | * | - | * | - | ** | - | | - +-----+ -*/ -0x3000, -0x4000, -0x2000, -0xc000, -0x2000, -0x4000, -0x3000, -0x0000, - -/* Character 124 (0x7c): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | * | - | * | - | * | - | * | - | * | - | * | - | | - +-----+ -*/ -0x0000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x0000, - -/* Character 125 (0x7d): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - |** | - | * | - | * | - | ** | - | * | - | * | - |** | - | | - +-----+ -*/ -0xc000, -0x2000, -0x4000, -0x3000, -0x4000, -0x2000, -0xc000, -0x0000, - -/* Character 126 (0x7e): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | * * | - |* * | - | | - | | - | | - | | - | | - +-----+ -*/ -0x0000, -0x5000, -0xa000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 160 (0xa0): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - | | - | | - | | - | | - | | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 161 (0xa1): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | * | - | | - | * | - | * | - | * | - | * | - | | - +-----+ -*/ -0x0000, -0x2000, -0x0000, -0x2000, -0x2000, -0x2000, -0x2000, -0x0000, - -/* Character 162 (0xa2): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | * | - | *** | - |* * | - |* * | - | *** | - | * | - +-----+ -*/ -0x0000, -0x0000, -0x2000, -0x7000, -0xa000, -0xa000, -0x7000, -0x2000, - -/* Character 163 (0xa3): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | * | - | * * | - |*** | - | * | - | * * | - |* * | - | | - +-----+ -*/ -0x0000, -0x2000, -0x5000, -0xe000, -0x4000, -0x5000, -0xa000, -0x0000, - -/* Character 164 (0xa4): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - |* *| - | *** | - | * * | - | *** | - |* *| - | | - +-----+ -*/ -0x0000, -0x0000, -0x8800, -0x7000, -0x5000, -0x7000, -0x8800, -0x0000, - -/* Character 165 (0xa5): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - |* *| - | * * | - |*****| - | * | - |*****| - | * | - | | - +-----+ -*/ -0x0000, -0x8800, -0x5000, -0xf800, -0x2000, -0xf800, -0x2000, -0x0000, - -/* Character 166 (0xa6): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | * | - | * | - | | - | * | - | * | - | * | - | | - +-----+ -*/ -0x2000, -0x2000, -0x2000, -0x0000, -0x2000, -0x2000, -0x2000, -0x0000, - -/* Character 167 (0xa7): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | *** | - |* | - |*** | - |* * | - | *** | - | * | - |*** | - | | - +-----+ -*/ -0x7000, -0x8000, -0xe000, -0x9000, -0x7000, -0x1000, -0xe000, -0x0000, - -/* Character 168 (0xa8): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | * * | - | | - | | - | | - | | - | | - | | - +-----+ -*/ -0x0000, -0x5000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 169 (0xa9): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | *** | - |* * *| - |** *| - |** *| - |* * *| - | *** | - | | - +-----+ -*/ -0x0000, -0x7000, -0xa800, -0xc800, -0xc800, -0xa800, -0x7000, -0x0000, - -/* Character 170 (0xaa): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | ** | - | * * | - | ** | - | | - | *** | - | | - | | - | | - +-----+ -*/ -0x3000, -0x5000, -0x3000, -0x0000, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 171 (0xab): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - | * * | - |* * | - | * * | - | | - | | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0x5000, -0xa000, -0x5000, -0x0000, -0x0000, - -/* Character 172 (0xac): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - | | - | *** | - | * | - | * | - | | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x7000, -0x1000, -0x1000, -0x0000, - -/* Character 173 (0xad): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - | | - | *** | - | | - | | - | | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 174 (0xae): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | *** | - |*** *| - |** **| - |*** *| - |** **| - | *** | - | | - +-----+ -*/ -0x0000, -0x7000, -0xe800, -0xd800, -0xe800, -0xd800, -0x7000, -0x0000, - -/* Character 175 (0xaf): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | *** | - | | - | | - | | - | | - | | - | | - +-----+ -*/ -0x0000, -0x7000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 176 (0xb0): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | * | - | * * | - | * | - | | - | | - | | - | | - +-----+ -*/ -0x0000, -0x2000, -0x5000, -0x2000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 177 (0xb1): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | * | - | *** | - | * | - | | - | *** | - | | - +-----+ -*/ -0x0000, -0x0000, -0x2000, -0x7000, -0x2000, -0x0000, -0x7000, -0x0000, - -/* Character 178 (0xb2): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | * * | - | * | - | * | - | *** | - | | - | | - | | - +-----+ -*/ -0x2000, -0x5000, -0x1000, -0x2000, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 179 (0xb3): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | ** | - | * | - | ** | - | * | - | ** | - | | - | | - | | - +-----+ -*/ -0x6000, -0x1000, -0x6000, -0x1000, -0x6000, -0x0000, -0x0000, -0x0000, - -/* Character 180 (0xb4): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | * | - | * | - | | - | | - | | - | | - | | - +-----+ -*/ -0x0000, -0x2000, -0x4000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 181 (0xb5): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - |* * | - |* * | - |* * | - |*** | - |* | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0x9000, -0x9000, -0x9000, -0xe000, -0x8000, - -/* Character 182 (0xb6): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | ****| - |*** *| - |*** *| - | ** *| - | * *| - | * *| - | | - +-----+ -*/ -0x0000, -0x7800, -0xe800, -0xe800, -0x6800, -0x2800, -0x2800, -0x0000, - -/* Character 183 (0xb7): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - | | - | * | - | | - | | - | | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x2000, -0x0000, -0x0000, -0x0000, - -/* Character 184 (0xb8): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - | | - | | - | | - | * | - | * | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x2000, -0x4000, - -/* Character 185 (0xb9): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | ** | - | * | - | * | - | *** | - | | - | | - | | - +-----+ -*/ -0x2000, -0x6000, -0x2000, -0x2000, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 186 (0xba): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | * * | - | * | - | | - | *** | - | | - | | - | | - +-----+ -*/ -0x2000, -0x5000, -0x2000, -0x0000, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 187 (0xbb): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - |* * | - | * * | - |* * | - | | - | | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0xa000, -0x5000, -0xa000, -0x0000, -0x0000, - -/* Character 188 (0xbc): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - |* | - |* | - |* | - |* * | - | ** | - |**** | - | * | - | | - +-----+ -*/ -0x8000, -0x8000, -0x8000, -0xa000, -0x6000, -0xf000, -0x2000, -0x0000, - -/* Character 189 (0xbd): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - |* | - |* | - |* * | - |** * | - | * | - | * | - | *** | - | | - +-----+ -*/ -0x8000, -0x8000, -0xa000, -0xd000, -0x1000, -0x2000, -0x7000, -0x0000, - -/* Character 190 (0xbe): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - |* | - | * | - |* | - | ** | - |* * | - |**** | - | * | - | | - +-----+ -*/ -0x8000, -0x4000, -0x8000, -0x6000, -0xa000, -0xf000, -0x2000, -0x0000, - -/* Character 191 (0xbf): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | * | - | | - | * | - | * | - | * * | - | * | - | | - +-----+ -*/ -0x0000, -0x2000, -0x0000, -0x2000, -0x4000, -0x5000, -0x2000, -0x0000, - -/* Character 192 (0xc0): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | * | - | ** | - |* * | - |**** | - |* * | - |* * | - | | - +-----+ -*/ -0x4000, -0x2000, -0x6000, -0x9000, -0xf000, -0x9000, -0x9000, -0x0000, - -/* Character 193 (0xc1): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | * | - | ** | - |* * | - |**** | - |* * | - |* * | - | | - +-----+ -*/ -0x2000, -0x4000, -0x6000, -0x9000, -0xf000, -0x9000, -0x9000, -0x0000, - -/* Character 194 (0xc2): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | ** | - |* * | - | ** | - |* * | - |**** | - |* * | - |* * | - | | - +-----+ -*/ -0x6000, -0x9000, -0x6000, -0x9000, -0xf000, -0x9000, -0x9000, -0x0000, - -/* Character 195 (0xc3): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * * | - |* * | - | ** | - |* * | - |**** | - |* * | - |* * | - | | - +-----+ -*/ -0x5000, -0xa000, -0x6000, -0x9000, -0xf000, -0x9000, -0x9000, -0x0000, - -/* Character 196 (0xc4): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - |* * | - | | - | ** | - |* * | - |**** | - |* * | - |* * | - | | - +-----+ -*/ -0x9000, -0x0000, -0x6000, -0x9000, -0xf000, -0x9000, -0x9000, -0x0000, - -/* Character 197 (0xc5): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | ** | - |* * | - | ** | - |* * | - |**** | - |* * | - |* * | - | | - +-----+ -*/ -0x6000, -0x9000, -0x6000, -0x9000, -0xf000, -0x9000, -0x9000, -0x0000, - -/* Character 198 (0xc6): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | *** | - |* * | - |* * | - |**** | - |* * | - |* ** | - | | - +-----+ -*/ -0x0000, -0x7000, -0xa000, -0xa000, -0xf000, -0xa000, -0xb000, -0x0000, - -/* Character 199 (0xc7): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | ** | - |* * | - |* | - |* | - |* * | - | ** | - | * | - +-----+ -*/ -0x0000, -0x6000, -0x9000, -0x8000, -0x8000, -0x9000, -0x6000, -0x4000, - -/* Character 200 (0xc8): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | * | - |**** | - |* | - |*** | - |* | - |**** | - | | - +-----+ -*/ -0x4000, -0x2000, -0xf000, -0x8000, -0xe000, -0x8000, -0xf000, -0x0000, - -/* Character 201 (0xc9): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | * | - |**** | - |* | - |*** | - |* | - |**** | - | | - +-----+ -*/ -0x2000, -0x4000, -0xf000, -0x8000, -0xe000, -0x8000, -0xf000, -0x0000, - -/* Character 202 (0xca): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | ** | - |* * | - |**** | - |* | - |*** | - |* | - |**** | - | | - +-----+ -*/ -0x6000, -0x9000, -0xf000, -0x8000, -0xe000, -0x8000, -0xf000, -0x0000, - -/* Character 203 (0xcb): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - |* * | - | | - |**** | - |* | - |*** | - |* | - |**** | - | | - +-----+ -*/ -0x9000, -0x0000, -0xf000, -0x8000, -0xe000, -0x8000, -0xf000, -0x0000, - -/* Character 204 (0xcc): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | * | - | *** | - | * | - | * | - | * | - | *** | - | | - +-----+ -*/ -0x4000, -0x2000, -0x7000, -0x2000, -0x2000, -0x2000, -0x7000, -0x0000, - -/* Character 205 (0xcd): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | * | - | *** | - | * | - | * | - | * | - | *** | - | | - +-----+ -*/ -0x1000, -0x2000, -0x7000, -0x2000, -0x2000, -0x2000, -0x7000, -0x0000, - -/* Character 206 (0xce): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | * * | - | *** | - | * | - | * | - | * | - | *** | - | | - +-----+ -*/ -0x2000, -0x5000, -0x7000, -0x2000, -0x2000, -0x2000, -0x7000, -0x0000, - -/* Character 207 (0xcf): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * * | - | | - | *** | - | * | - | * | - | * | - | *** | - | | - +-----+ -*/ -0x5000, -0x0000, -0x7000, -0x2000, -0x2000, -0x2000, -0x7000, -0x0000, - -/* Character 208 (0xd0): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | *** | - | * *| - |*** *| - | * *| - | * *| - | *** | - | | - +-----+ -*/ -0x0000, -0x7000, -0x4800, -0xe800, -0x4800, -0x4800, -0x7000, -0x0000, - -/* Character 209 (0xd1): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * * | - |* * | - |* * | - |** * | - |* ** | - |* * | - |* * | - | | - +-----+ -*/ -0x5000, -0xa000, -0x9000, -0xd000, -0xb000, -0x9000, -0x9000, -0x0000, - -/* Character 210 (0xd2): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | * | - | ** | - |* * | - |* * | - |* * | - | ** | - | | - +-----+ -*/ -0x4000, -0x2000, -0x6000, -0x9000, -0x9000, -0x9000, -0x6000, -0x0000, - -/* Character 211 (0xd3): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | * | - | ** | - |* * | - |* * | - |* * | - | ** | - | | - +-----+ -*/ -0x2000, -0x4000, -0x6000, -0x9000, -0x9000, -0x9000, -0x6000, -0x0000, - -/* Character 212 (0xd4): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | ** | - |* * | - | ** | - |* * | - |* * | - |* * | - | ** | - | | - +-----+ -*/ -0x6000, -0x9000, -0x6000, -0x9000, -0x9000, -0x9000, -0x6000, -0x0000, - -/* Character 213 (0xd5): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * * | - |* * | - | ** | - |* * | - |* * | - |* * | - | ** | - | | - +-----+ -*/ -0x5000, -0xa000, -0x6000, -0x9000, -0x9000, -0x9000, -0x6000, -0x0000, - -/* Character 214 (0xd6): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - |* * | - | | - | ** | - |* * | - |* * | - |* * | - | ** | - | | - +-----+ -*/ -0x9000, -0x0000, -0x6000, -0x9000, -0x9000, -0x9000, -0x6000, -0x0000, - -/* Character 215 (0xd7): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - | | - | * * | - | * | - | * * | - | | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x5000, -0x2000, -0x5000, -0x0000, - -/* Character 216 (0xd8): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | *** | - |* ** | - |* ** | - |** * | - |** * | - |*** | - | | - +-----+ -*/ -0x0000, -0x7000, -0xb000, -0xb000, -0xd000, -0xd000, -0xe000, -0x0000, - -/* Character 217 (0xd9): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | * | - |* * | - |* * | - |* * | - |* * | - | ** | - | | - +-----+ -*/ -0x4000, -0x2000, -0x9000, -0x9000, -0x9000, -0x9000, -0x6000, -0x0000, - -/* Character 218 (0xda): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | * | - |* * | - |* * | - |* * | - |* * | - | ** | - | | - +-----+ -*/ -0x2000, -0x4000, -0x9000, -0x9000, -0x9000, -0x9000, -0x6000, -0x0000, - -/* Character 219 (0xdb): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | ** | - |* * | - |* * | - |* * | - |* * | - |* * | - | ** | - | | - +-----+ -*/ -0x6000, -0x9000, -0x9000, -0x9000, -0x9000, -0x9000, -0x6000, -0x0000, - -/* Character 220 (0xdc): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - |* * | - | | - |* * | - |* * | - |* * | - |* * | - | ** | - | | - +-----+ -*/ -0x9000, -0x0000, -0x9000, -0x9000, -0x9000, -0x9000, -0x6000, -0x0000, - -/* Character 221 (0xdd): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | * | - |* *| - | * * | - | * | - | * | - | * | - | | - +-----+ -*/ -0x1000, -0x2000, -0x8800, -0x5000, -0x2000, -0x2000, -0x2000, -0x0000, - -/* Character 222 (0xde): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - |* | - |*** | - |* * | - |* * | - |*** | - |* | - | | - +-----+ -*/ -0x0000, -0x8000, -0xe000, -0x9000, -0x9000, -0xe000, -0x8000, -0x0000, - -/* Character 223 (0xdf): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | ** | - |* * | - |* * | - |* * | - |* * | - |* * | - | | - +-----+ -*/ -0x0000, -0x6000, -0x9000, -0xa000, -0xa000, -0x9000, -0xa000, -0x0000, - -/* Character 224 (0xe0): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | * | - | | - | *** | - |* * | - |* * | - | *** | - | | - +-----+ -*/ -0x4000, -0x2000, -0x0000, -0x7000, -0x9000, -0x9000, -0x7000, -0x0000, - -/* Character 225 (0xe1): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | * | - | | - | *** | - |* * | - |* * | - | *** | - | | - +-----+ -*/ -0x2000, -0x4000, -0x0000, -0x7000, -0x9000, -0x9000, -0x7000, -0x0000, - -/* Character 226 (0xe2): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | * * | - | | - | *** | - |* * | - |* * | - | *** | - | | - +-----+ -*/ -0x2000, -0x5000, -0x0000, -0x7000, -0x9000, -0x9000, -0x7000, -0x0000, - -/* Character 227 (0xe3): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * * | - |* * | - | | - | *** | - |* * | - |* * | - | *** | - | | - +-----+ -*/ -0x5000, -0xa000, -0x0000, -0x7000, -0x9000, -0x9000, -0x7000, -0x0000, - -/* Character 228 (0xe4): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | * * | - | | - | *** | - |* * | - |* * | - | *** | - | | - +-----+ -*/ -0x0000, -0x5000, -0x0000, -0x7000, -0x9000, -0x9000, -0x7000, -0x0000, - -/* Character 229 (0xe5): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | ** | - |* * | - | ** | - | *** | - |* * | - |* * | - | *** | - | | - +-----+ -*/ -0x6000, -0x9000, -0x6000, -0x7000, -0x9000, -0x9000, -0x7000, -0x0000, - -/* Character 230 (0xe6): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - |**** | - | ** *| - |* ** | - | ****| - | | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0xf000, -0x6800, -0xb000, -0x7800, -0x0000, - -/* Character 231 (0xe7): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - | ** | - | * | - | * | - | ** | - | * | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0x3000, -0x4000, -0x4000, -0x3000, -0x2000, - -/* Character 232 (0xe8): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | * | - | | - | ** | - |* ** | - |** | - | ** | - | | - +-----+ -*/ -0x4000, -0x2000, -0x0000, -0x6000, -0xb000, -0xc000, -0x6000, -0x0000, - -/* Character 233 (0xe9): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | * | - | | - | ** | - |* ** | - |** | - | ** | - | | - +-----+ -*/ -0x2000, -0x4000, -0x0000, -0x6000, -0xb000, -0xc000, -0x6000, -0x0000, - -/* Character 234 (0xea): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | ** | - |* * | - | | - | ** | - |* ** | - |** | - | ** | - | | - +-----+ -*/ -0x6000, -0x9000, -0x0000, -0x6000, -0xb000, -0xc000, -0x6000, -0x0000, - -/* Character 235 (0xeb): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | * * | - | | - | ** | - |* ** | - |** | - | ** | - | | - +-----+ -*/ -0x0000, -0x5000, -0x0000, -0x6000, -0xb000, -0xc000, -0x6000, -0x0000, - -/* Character 236 (0xec): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | * | - | | - | ** | - | * | - | * | - | *** | - | | - +-----+ -*/ -0x4000, -0x2000, -0x0000, -0x6000, -0x2000, -0x2000, -0x7000, -0x0000, - -/* Character 237 (0xed): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | * | - | | - | ** | - | * | - | * | - | *** | - | | - +-----+ -*/ -0x1000, -0x2000, -0x0000, -0x6000, -0x2000, -0x2000, -0x7000, -0x0000, - -/* Character 238 (0xee): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | * * | - | | - | ** | - | * | - | * | - | *** | - | | - +-----+ -*/ -0x2000, -0x5000, -0x0000, -0x6000, -0x2000, -0x2000, -0x7000, -0x0000, - -/* Character 239 (0xef): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | * * | - | | - | ** | - | * | - | * | - | *** | - | | - +-----+ -*/ -0x0000, -0x5000, -0x0000, -0x6000, -0x2000, -0x2000, -0x7000, -0x0000, - -/* Character 240 (0xf0): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - |* * | - | * | - |* * | - | * | - | *** | - |* * | - | ** | - | | - +-----+ -*/ -0xa000, -0x4000, -0xa000, -0x1000, -0x7000, -0x9000, -0x6000, -0x0000, - -/* Character 241 (0xf1): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * * | - |* * | - | | - |*** | - |* * | - |* * | - |* * | - | | - +-----+ -*/ -0x5000, -0xa000, -0x0000, -0xe000, -0x9000, -0x9000, -0x9000, -0x0000, - -/* Character 242 (0xf2): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | * | - | | - | ** | - |* * | - |* * | - | ** | - | | - +-----+ -*/ -0x4000, -0x2000, -0x0000, -0x6000, -0x9000, -0x9000, -0x6000, -0x0000, - -/* Character 243 (0xf3): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | * | - | | - | ** | - |* * | - |* * | - | ** | - | | - +-----+ -*/ -0x2000, -0x4000, -0x0000, -0x6000, -0x9000, -0x9000, -0x6000, -0x0000, - -/* Character 244 (0xf4): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | ** | - |* * | - | | - | ** | - |* * | - |* * | - | ** | - | | - +-----+ -*/ -0x6000, -0x9000, -0x0000, -0x6000, -0x9000, -0x9000, -0x6000, -0x0000, - -/* Character 245 (0xf5): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * * | - |* * | - | | - | ** | - |* * | - |* * | - | ** | - | | - +-----+ -*/ -0x5000, -0xa000, -0x0000, -0x6000, -0x9000, -0x9000, -0x6000, -0x0000, - -/* Character 246 (0xf6): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - |* * | - | | - | ** | - |* * | - |* * | - | ** | - | | - +-----+ -*/ -0x0000, -0x9000, -0x0000, -0x6000, -0x9000, -0x9000, -0x6000, -0x0000, - -/* Character 247 (0xf7): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | * | - | | - | *** | - | | - | * | - | | - +-----+ -*/ -0x0000, -0x0000, -0x2000, -0x0000, -0x7000, -0x0000, -0x2000, -0x0000, - -/* Character 248 (0xf8): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - | | - | | - | *** | - |* ** | - |** * | - |*** | - | | - +-----+ -*/ -0x0000, -0x0000, -0x0000, -0x7000, -0xb000, -0xd000, -0xe000, -0x0000, - -/* Character 249 (0xf9): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | * | - | | - |* * | - |* * | - |* * | - | *** | - | | - +-----+ -*/ -0x4000, -0x2000, -0x0000, -0x9000, -0x9000, -0x9000, -0x7000, -0x0000, - -/* Character 250 (0xfa): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | * | - | | - |* * | - |* * | - |* * | - | *** | - | | - +-----+ -*/ -0x2000, -0x4000, -0x0000, -0x9000, -0x9000, -0x9000, -0x7000, -0x0000, - -/* Character 251 (0xfb): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | ** | - |* * | - | | - |* * | - |* * | - |* * | - | *** | - | | - +-----+ -*/ -0x6000, -0x9000, -0x0000, -0x9000, -0x9000, -0x9000, -0x7000, -0x0000, - -/* Character 252 (0xfc): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - |* * | - | | - |* * | - |* * | - |* * | - | *** | - | | - +-----+ -*/ -0x0000, -0x9000, -0x0000, -0x9000, -0x9000, -0x9000, -0x7000, -0x0000, - -/* Character 253 (0xfd): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | * | - | * | - | | - |* * | - |* * | - | *** | - |* * | - | ** | - +-----+ -*/ -0x2000, -0x4000, -0x0000, -0x9000, -0x9000, -0x7000, -0x9000, -0x6000, - -/* Character 254 (0xfe): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - |* | - |* | - |*** | - |* * | - |*** | - |* | - |* | - +-----+ -*/ -0x0000, -0x8000, -0x8000, -0xe000, -0x9000, -0xe000, -0x8000, -0x8000, - -/* Character 255 (0xff): - width 5 - bbx ( 5, 8, 0, -1 ) - - +-----+ - | | - |* * | - | | - |* * | - |* * | - | *** | - |* * | - | ** | - +-----+ -*/ -0x0000, -0x9000, -0x0000, -0x9000, -0x9000, -0x7000, -0x9000, -0x6000, -}; - -/* Character->glyph mapping. */ -static const unsigned long _sysfont_offset[] = { - 0, /* (0x00) */ - 8, /* (0x01) */ - 16, /* (0x02) */ - 24, /* (0x03) */ - 32, /* (0x04) */ - 40, /* (0x05) */ - 48, /* (0x06) */ - 56, /* (0x07) */ - 64, /* (0x08) */ - 72, /* (0x09) */ - 80, /* (0x0a) */ - 88, /* (0x0b) */ - 96, /* (0x0c) */ - 104, /* (0x0d) */ - 112, /* (0x0e) */ - 120, /* (0x0f) */ - 128, /* (0x10) */ - 136, /* (0x11) */ - 144, /* (0x12) */ - 152, /* (0x13) */ - 160, /* (0x14) */ - 168, /* (0x15) */ - 176, /* (0x16) */ - 184, /* (0x17) */ - 192, /* (0x18) */ - 200, /* (0x19) */ - 208, /* (0x1a) */ - 216, /* (0x1b) */ - 224, /* (0x1c) */ - 232, /* (0x1d) */ - 240, /* (0x1e) */ - 248, /* (0x1f) */ - 256, /* (0x20) */ - 264, /* (0x21) */ - 272, /* (0x22) */ - 280, /* (0x23) */ - 288, /* (0x24) */ - 296, /* (0x25) */ - 304, /* (0x26) */ - 312, /* (0x27) */ - 320, /* (0x28) */ - 328, /* (0x29) */ - 336, /* (0x2a) */ - 344, /* (0x2b) */ - 352, /* (0x2c) */ - 360, /* (0x2d) */ - 368, /* (0x2e) */ - 376, /* (0x2f) */ - 384, /* (0x30) */ - 392, /* (0x31) */ - 400, /* (0x32) */ - 408, /* (0x33) */ - 416, /* (0x34) */ - 424, /* (0x35) */ - 432, /* (0x36) */ - 440, /* (0x37) */ - 448, /* (0x38) */ - 456, /* (0x39) */ - 464, /* (0x3a) */ - 472, /* (0x3b) */ - 480, /* (0x3c) */ - 488, /* (0x3d) */ - 496, /* (0x3e) */ - 504, /* (0x3f) */ - 512, /* (0x40) */ - 520, /* (0x41) */ - 528, /* (0x42) */ - 536, /* (0x43) */ - 544, /* (0x44) */ - 552, /* (0x45) */ - 560, /* (0x46) */ - 568, /* (0x47) */ - 576, /* (0x48) */ - 584, /* (0x49) */ - 592, /* (0x4a) */ - 600, /* (0x4b) */ - 608, /* (0x4c) */ - 616, /* (0x4d) */ - 624, /* (0x4e) */ - 632, /* (0x4f) */ - 640, /* (0x50) */ - 648, /* (0x51) */ - 656, /* (0x52) */ - 664, /* (0x53) */ - 672, /* (0x54) */ - 680, /* (0x55) */ - 688, /* (0x56) */ - 696, /* (0x57) */ - 704, /* (0x58) */ - 712, /* (0x59) */ - 720, /* (0x5a) */ - 728, /* (0x5b) */ - 736, /* (0x5c) */ - 744, /* (0x5d) */ - 752, /* (0x5e) */ - 760, /* (0x5f) */ - 768, /* (0x60) */ - 776, /* (0x61) */ - 784, /* (0x62) */ - 792, /* (0x63) */ - 800, /* (0x64) */ - 808, /* (0x65) */ - 816, /* (0x66) */ - 824, /* (0x67) */ - 832, /* (0x68) */ - 840, /* (0x69) */ - 848, /* (0x6a) */ - 856, /* (0x6b) */ - 864, /* (0x6c) */ - 872, /* (0x6d) */ - 880, /* (0x6e) */ - 888, /* (0x6f) */ - 896, /* (0x70) */ - 904, /* (0x71) */ - 912, /* (0x72) */ - 920, /* (0x73) */ - 928, /* (0x74) */ - 936, /* (0x75) */ - 944, /* (0x76) */ - 952, /* (0x77) */ - 960, /* (0x78) */ - 968, /* (0x79) */ - 976, /* (0x7a) */ - 984, /* (0x7b) */ - 992, /* (0x7c) */ - 1000, /* (0x7d) */ - 1008, /* (0x7e) */ - 0, /* (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) */ - 1016, /* (0xa0) */ - 1024, /* (0xa1) */ - 1032, /* (0xa2) */ - 1040, /* (0xa3) */ - 1048, /* (0xa4) */ - 1056, /* (0xa5) */ - 1064, /* (0xa6) */ - 1072, /* (0xa7) */ - 1080, /* (0xa8) */ - 1088, /* (0xa9) */ - 1096, /* (0xaa) */ - 1104, /* (0xab) */ - 1112, /* (0xac) */ - 1120, /* (0xad) */ - 1128, /* (0xae) */ - 1136, /* (0xaf) */ - 1144, /* (0xb0) */ - 1152, /* (0xb1) */ - 1160, /* (0xb2) */ - 1168, /* (0xb3) */ - 1176, /* (0xb4) */ - 1184, /* (0xb5) */ - 1192, /* (0xb6) */ - 1200, /* (0xb7) */ - 1208, /* (0xb8) */ - 1216, /* (0xb9) */ - 1224, /* (0xba) */ - 1232, /* (0xbb) */ - 1240, /* (0xbc) */ - 1248, /* (0xbd) */ - 1256, /* (0xbe) */ - 1264, /* (0xbf) */ - 1272, /* (0xc0) */ - 1280, /* (0xc1) */ - 1288, /* (0xc2) */ - 1296, /* (0xc3) */ - 1304, /* (0xc4) */ - 1312, /* (0xc5) */ - 1320, /* (0xc6) */ - 1328, /* (0xc7) */ - 1336, /* (0xc8) */ - 1344, /* (0xc9) */ - 1352, /* (0xca) */ - 1360, /* (0xcb) */ - 1368, /* (0xcc) */ - 1376, /* (0xcd) */ - 1384, /* (0xce) */ - 1392, /* (0xcf) */ - 1400, /* (0xd0) */ - 1408, /* (0xd1) */ - 1416, /* (0xd2) */ - 1424, /* (0xd3) */ - 1432, /* (0xd4) */ - 1440, /* (0xd5) */ - 1448, /* (0xd6) */ - 1456, /* (0xd7) */ - 1464, /* (0xd8) */ - 1472, /* (0xd9) */ - 1480, /* (0xda) */ - 1488, /* (0xdb) */ - 1496, /* (0xdc) */ - 1504, /* (0xdd) */ - 1512, /* (0xde) */ - 1520, /* (0xdf) */ - 1528, /* (0xe0) */ - 1536, /* (0xe1) */ - 1544, /* (0xe2) */ - 1552, /* (0xe3) */ - 1560, /* (0xe4) */ - 1568, /* (0xe5) */ - 1576, /* (0xe6) */ - 1584, /* (0xe7) */ - 1592, /* (0xe8) */ - 1600, /* (0xe9) */ - 1608, /* (0xea) */ - 1616, /* (0xeb) */ - 1624, /* (0xec) */ - 1632, /* (0xed) */ - 1640, /* (0xee) */ - 1648, /* (0xef) */ - 1656, /* (0xf0) */ - 1664, /* (0xf1) */ - 1672, /* (0xf2) */ - 1680, /* (0xf3) */ - 1688, /* (0xf4) */ - 1696, /* (0xf5) */ - 1704, /* (0xf6) */ - 1712, /* (0xf7) */ - 1720, /* (0xf8) */ - 1728, /* (0xf9) */ - 1736, /* (0xfa) */ - 1744, /* (0xfb) */ - 1752, /* (0xfc) */ - 1760, /* (0xfd) */ - 1768, /* (0xfe) */ - 1776, /* (0xff) */ -}; - -/* Exported structure definition. */ -static const BdfFontDesc desc = { - "5x8-L1", - 5, - 8, - 5, 8, 0, -1, - 7, +// Character 0 (0x00) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// |* * | +// | * | +// |* | +// | * | +// |* | +// | * * | +// | | +// +-----+ +static const byte glyph0[] = { + 0x00, + 0xA0, + 0x10, + 0x80, + 0x10, + 0x80, + 0x50, + 0x00 +}; + +// Character 1 (0x01) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | * | +// | *** | +// |*****| +// | *** | +// | * | +// | | +// +-----+ +static const byte glyph1[] = { + 0x00, + 0x00, + 0x20, + 0x70, + 0xF8, + 0x70, + 0x20, + 0x00 +}; + +// Character 2 (0x02) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * * | +// |* * *| +// | * * | +// |* * *| +// | * * | +// |* * *| +// | * * | +// |* * *| +// +-----+ +static const byte glyph2[] = { + 0x50, + 0xA8, + 0x50, + 0xA8, + 0x50, + 0xA8, + 0x50, + 0xA8 +}; + +// Character 3 (0x03) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// |* * | +// |* * | +// |*** | +// |* * | +// |* * | +// | *** | +// | * | +// | * | +// +-----+ +static const byte glyph3[] = { + 0xA0, + 0xA0, + 0xE0, + 0xA0, + 0xA0, + 0x70, + 0x20, + 0x20 +}; + +// Character 4 (0x04) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// |*** | +// |* | +// |** | +// |* ***| +// |* * | +// | ** | +// | * | +// | * | +// +-----+ +static const byte glyph4[] = { + 0xE0, + 0x80, + 0xC0, + 0xB8, + 0xA0, + 0x30, + 0x20, + 0x20 +}; + +// Character 5 (0x05) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | ** | +// |* | +// |* | +// | ** | +// | ** | +// | * *| +// | ** | +// | * *| +// +-----+ +static const byte glyph5[] = { + 0x60, + 0x80, + 0x80, + 0x60, + 0x30, + 0x28, + 0x30, + 0x28 +}; + +// Character 6 (0x06) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// |* | +// |* | +// |* | +// |*** | +// | ***| +// | * | +// | ** | +// | * | +// +-----+ +static const byte glyph6[] = { + 0x80, + 0x80, + 0x80, + 0xE0, + 0x38, + 0x20, + 0x30, + 0x20 +}; + +// Character 7 (0x07) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | * | +// | * * | +// | * | +// | | +// | | +// | | +// | | +// +-----+ +static const byte glyph7[] = { + 0x00, + 0x20, + 0x50, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 8 (0x08) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | * | +// | *** | +// | * | +// | | +// | *** | +// | | +// +-----+ +static const byte glyph8[] = { + 0x00, + 0x00, + 0x20, + 0x70, + 0x20, + 0x00, + 0x70, + 0x00 +}; + +// Character 9 (0x09) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// |* * | +// |** * | +// |* ** | +// |* * | +// | * | +// | * | +// | * | +// | ***| +// +-----+ +static const byte glyph9[] = { + 0x90, + 0xD0, + 0xB0, + 0x90, + 0x20, + 0x20, + 0x20, + 0x38 +}; + +// Character 10 (0x0A) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// |* * | +// |* * | +// |* * | +// | * | +// | ***| +// | * | +// | * | +// | * | +// +-----+ +static const byte glyph10[] = { + 0xA0, + 0xA0, + 0xA0, + 0x40, + 0x38, + 0x10, + 0x10, + 0x10 +}; + +// Character 11 (0x0B) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | * | +// | * | +// |*** | +// | | +// | | +// | | +// | | +// +-----+ +static const byte glyph11[] = { + 0x20, + 0x20, + 0x20, + 0xE0, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 12 (0x0C) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// |*** | +// | * | +// | * | +// | * | +// | * | +// +-----+ +static const byte glyph12[] = { + 0x00, + 0x00, + 0x00, + 0xE0, + 0x20, + 0x20, + 0x20, + 0x20 +}; + +// Character 13 (0x0D) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// | ***| +// | * | +// | * | +// | * | +// | * | +// +-----+ +static const byte glyph13[] = { + 0x00, + 0x00, + 0x00, + 0x38, + 0x20, + 0x20, + 0x20, + 0x20 +}; + +// Character 14 (0x0E) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | * | +// | * | +// | ***| +// | | +// | | +// | | +// | | +// +-----+ +static const byte glyph14[] = { + 0x20, + 0x20, + 0x20, + 0x38, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 15 (0x0F) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | * | +// | * | +// |*****| +// | * | +// | * | +// | * | +// | * | +// +-----+ +static const byte glyph15[] = { + 0x20, + 0x20, + 0x20, + 0xF8, + 0x20, + 0x20, + 0x20, + 0x20 +}; + +// Character 16 (0x10) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// |*****| +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// +-----+ +static const byte glyph16[] = { + 0xF8, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 17 (0x11) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// |*****| +// | | +// | | +// | | +// | | +// | | +// | | +// +-----+ +static const byte glyph17[] = { + 0x00, + 0xF8, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 18 (0x12) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// |*****| +// | | +// | | +// | | +// | | +// +-----+ +static const byte glyph18[] = { + 0x00, + 0x00, + 0x00, + 0xF8, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 19 (0x13) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// | | +// | | +// | | +// |*****| +// | | +// +-----+ +static const byte glyph19[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xF8, + 0x00 +}; + +// Character 20 (0x14) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// |*****| +// +-----+ +static const byte glyph20[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xF8 +}; + +// Character 21 (0x15) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | * | +// | * | +// | ***| +// | * | +// | * | +// | * | +// | * | +// +-----+ +static const byte glyph21[] = { + 0x20, + 0x20, + 0x20, + 0x38, + 0x20, + 0x20, + 0x20, + 0x20 +}; + +// Character 22 (0x16) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | * | +// | * | +// |*** | +// | * | +// | * | +// | * | +// | * | +// +-----+ +static const byte glyph22[] = { + 0x20, + 0x20, + 0x20, + 0xE0, + 0x20, + 0x20, + 0x20, + 0x20 +}; + +// Character 23 (0x17) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | * | +// | * | +// |*****| +// | | +// | | +// | | +// | | +// +-----+ +static const byte glyph23[] = { + 0x20, + 0x20, + 0x20, + 0xF8, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 24 (0x18) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// |*****| +// | * | +// | * | +// | * | +// | * | +// +-----+ +static const byte glyph24[] = { + 0x00, + 0x00, + 0x00, + 0xF8, + 0x20, + 0x20, + 0x20, + 0x20 +}; + +// Character 25 (0x19) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// +-----+ +static const byte glyph25[] = { + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20 +}; + +// Character 26 (0x1A) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | * | +// | * | +// | * | +// | * | +// | * | +// | *** | +// | | +// +-----+ +static const byte glyph26[] = { + 0x00, + 0x10, + 0x20, + 0x40, + 0x20, + 0x10, + 0x70, + 0x00 +}; + +// Character 27 (0x1B) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | * | +// | * | +// | * | +// | * | +// | * | +// | *** | +// | | +// +-----+ +static const byte glyph27[] = { + 0x00, + 0x40, + 0x20, + 0x10, + 0x20, + 0x40, + 0x70, + 0x00 +}; + +// Character 28 (0x1C) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// |*****| +// | * * | +// | * * | +// | * * | +// | | +// +-----+ +static const byte glyph28[] = { + 0x00, + 0x00, + 0x00, + 0xF8, + 0x50, + 0x50, + 0x50, + 0x00 +}; + +// Character 29 (0x1D) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | * | +// |**** | +// | ** | +// |**** | +// | * | +// | | +// +-----+ +static const byte glyph29[] = { + 0x00, + 0x00, + 0x20, + 0xF0, + 0x60, + 0xF0, + 0x40, + 0x00 +}; + +// Character 30 (0x1E) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | * | +// | * * | +// |*** | +// | * | +// | * * | +// |* * | +// | | +// +-----+ +static const byte glyph30[] = { + 0x00, + 0x20, + 0x50, + 0xE0, + 0x40, + 0x50, + 0xA0, + 0x00 +}; + +// Character 31 (0x1F) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// | | +// | * | +// | | +// | | +// | | +// +-----+ +static const byte glyph31[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0x00, + 0x00, + 0x00 +}; + +// Character 32 (0x20) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// +-----+ +static const byte glyph32[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 33 (0x21) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | * | +// | * | +// | * | +// | * | +// | | +// | * | +// | | +// +-----+ +static const byte glyph33[] = { + 0x00, + 0x20, + 0x20, + 0x20, + 0x20, + 0x00, + 0x20, + 0x00 +}; + +// Character 34 (0x22) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | * * | +// | * * | +// | * * | +// | | +// | | +// | | +// | | +// +-----+ +static const byte glyph34[] = { + 0x00, + 0x50, + 0x50, + 0x50, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 35 (0x23) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * * | +// | * * | +// |*****| +// | * * | +// |*****| +// | * * | +// | * * | +// | | +// +-----+ +static const byte glyph35[] = { + 0x50, + 0x50, + 0xF8, + 0x50, + 0xF8, + 0x50, + 0x50, + 0x00 +}; + +// Character 36 (0x24) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | *** | +// |* * | +// | *** | +// | * *| +// | *** | +// | * | +// | | +// +-----+ +static const byte glyph36[] = { + 0x20, + 0x70, + 0xA0, + 0x70, + 0x28, + 0x70, + 0x20, + 0x00 +}; + +// Character 37 (0x25) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | * | +// | * * | +// | * | +// | * * | +// | * | +// | | +// | | +// +-----+ +static const byte glyph37[] = { + 0x00, + 0x40, + 0x50, + 0x20, + 0x50, + 0x10, + 0x00, + 0x00 +}; + +// Character 38 (0x26) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// |* * | +// |* * | +// | * | +// |* * | +// |* * | +// | * * | +// | | +// +-----+ +static const byte glyph38[] = { + 0x40, + 0xA0, + 0xA0, + 0x40, + 0xA0, + 0xA0, + 0x50, + 0x00 +}; + +// Character 39 (0x27) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | * | +// | * | +// | * | +// | | +// | | +// | | +// | | +// +-----+ +static const byte glyph39[] = { + 0x00, + 0x20, + 0x20, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 40 (0x28) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | | +// +-----+ +static const byte glyph40[] = { + 0x00, + 0x20, + 0x40, + 0x40, + 0x40, + 0x40, + 0x20, + 0x00 +}; + +// Character 41 (0x29) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | | +// +-----+ +static const byte glyph41[] = { + 0x00, + 0x40, + 0x20, + 0x20, + 0x20, + 0x20, + 0x40, + 0x00 +}; + +// Character 42 (0x2A) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// |* * | +// | ** | +// |**** | +// | ** | +// |* * | +// | | +// +-----+ +static const byte glyph42[] = { + 0x00, + 0x00, + 0x90, + 0x60, + 0xF0, + 0x60, + 0x90, + 0x00 +}; + +// Character 43 (0x2B) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | * | +// | * | +// |*****| +// | * | +// | * | +// | | +// +-----+ +static const byte glyph43[] = { + 0x00, + 0x00, + 0x20, + 0x20, + 0xF8, + 0x20, + 0x20, + 0x00 +}; + +// Character 44 (0x2C) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// | | +// | | +// | ** | +// | * | +// | * | +// +-----+ +static const byte glyph44[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x30, + 0x20, + 0x40 +}; + +// Character 45 (0x2D) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// | | +// |**** | +// | | +// | | +// | | +// +-----+ +static const byte glyph45[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0xF0, + 0x00, + 0x00, + 0x00 +}; + +// Character 46 (0x2E) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// | | +// | | +// | * | +// | *** | +// | * | +// +-----+ +static const byte glyph46[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0x70, + 0x20 +}; + +// Character 47 (0x2F) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | * | +// | * | +// | * | +// | * | +// |* | +// |* | +// | | +// +-----+ +static const byte glyph47[] = { + 0x00, + 0x10, + 0x10, + 0x20, + 0x40, + 0x80, + 0x80, + 0x00 +}; + +// Character 48 (0x30) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | * | +// | * * | +// | * * | +// | * * | +// | * * | +// | * | +// | | +// +-----+ +static const byte glyph48[] = { + 0x00, + 0x20, + 0x50, + 0x50, + 0x50, + 0x50, + 0x20, + 0x00 +}; + +// Character 49 (0x31) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | * | +// | ** | +// | * | +// | * | +// | * | +// | *** | +// | | +// +-----+ +static const byte glyph49[] = { + 0x00, + 0x20, + 0x60, + 0x20, + 0x20, + 0x20, + 0x70, + 0x00 +}; + +// Character 50 (0x32) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | ** | +// |* * | +// | * | +// | ** | +// |* | +// |**** | +// | | +// +-----+ +static const byte glyph50[] = { + 0x00, + 0x60, + 0x90, + 0x10, + 0x60, + 0x80, + 0xF0, + 0x00 +}; + +// Character 51 (0x33) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// |**** | +// | * | +// | ** | +// | * | +// |* * | +// | ** | +// | | +// +-----+ +static const byte glyph51[] = { + 0x00, + 0xF0, + 0x20, + 0x60, + 0x10, + 0x90, + 0x60, + 0x00 +}; + +// Character 52 (0x34) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | * | +// | ** | +// |* * | +// |**** | +// | * | +// | * | +// | | +// +-----+ +static const byte glyph52[] = { + 0x00, + 0x20, + 0x60, + 0xA0, + 0xF0, + 0x20, + 0x20, + 0x00 +}; + +// Character 53 (0x35) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// |**** | +// |* | +// |*** | +// | * | +// |* * | +// | ** | +// | | +// +-----+ +static const byte glyph53[] = { + 0x00, + 0xF0, + 0x80, + 0xE0, + 0x10, + 0x90, + 0x60, + 0x00 +}; + +// Character 54 (0x36) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | ** | +// |* | +// |*** | +// |* * | +// |* * | +// | ** | +// | | +// +-----+ +static const byte glyph54[] = { + 0x00, + 0x60, + 0x80, + 0xE0, + 0x90, + 0x90, + 0x60, + 0x00 +}; + +// Character 55 (0x37) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// |**** | +// | * | +// | * | +// | * | +// | * | +// | * | +// | | +// +-----+ +static const byte glyph55[] = { + 0x00, + 0xF0, + 0x10, + 0x20, + 0x20, + 0x40, + 0x40, + 0x00 +}; + +// Character 56 (0x38) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | ** | +// |* * | +// | ** | +// |* * | +// |* * | +// | ** | +// | | +// +-----+ +static const byte glyph56[] = { + 0x00, + 0x60, + 0x90, + 0x60, + 0x90, + 0x90, + 0x60, + 0x00 +}; + +// Character 57 (0x39) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | ** | +// |* * | +// |* * | +// | *** | +// | * | +// | ** | +// | | +// +-----+ +static const byte glyph57[] = { + 0x00, + 0x60, + 0x90, + 0x90, + 0x70, + 0x10, + 0x60, + 0x00 +}; + +// Character 58 (0x3A) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | ** | +// | ** | +// | | +// | ** | +// | ** | +// | | +// +-----+ +static const byte glyph58[] = { + 0x00, + 0x00, + 0x60, + 0x60, + 0x00, + 0x60, + 0x60, + 0x00 +}; + +// Character 59 (0x3B) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | ** | +// | ** | +// | | +// | ** | +// | * | +// | * | +// +-----+ +static const byte glyph59[] = { + 0x00, + 0x00, + 0x30, + 0x30, + 0x00, + 0x30, + 0x20, + 0x40 +}; + +// Character 60 (0x3C) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | | +// +-----+ +static const byte glyph60[] = { + 0x00, + 0x10, + 0x20, + 0x40, + 0x40, + 0x20, + 0x10, + 0x00 +}; + +// Character 61 (0x3D) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// |**** | +// | | +// |**** | +// | | +// | | +// +-----+ +static const byte glyph61[] = { + 0x00, + 0x00, + 0x00, + 0xF0, + 0x00, + 0xF0, + 0x00, + 0x00 +}; + +// Character 62 (0x3E) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | | +// +-----+ +static const byte glyph62[] = { + 0x00, + 0x40, + 0x20, + 0x10, + 0x10, + 0x20, + 0x40, + 0x00 +}; + +// Character 63 (0x3F) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | * | +// | * * | +// | * | +// | * | +// | | +// | * | +// | | +// +-----+ +static const byte glyph63[] = { + 0x00, + 0x20, + 0x50, + 0x10, + 0x20, + 0x00, + 0x20, + 0x00 +}; + +// Character 64 (0x40) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | ** | +// | * *| +// |* **| +// |* * *| +// |* * *| +// |* * | +// | * | +// | ** | +// +-----+ +static const byte glyph64[] = { + 0x30, + 0x48, + 0x98, + 0xA8, + 0xA8, + 0x90, + 0x40, + 0x30 +}; + +// Character 65 (0x41) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | ** | +// |* * | +// |* * | +// |**** | +// |* * | +// |* * | +// | | +// +-----+ +static const byte glyph65[] = { + 0x00, + 0x60, + 0x90, + 0x90, + 0xF0, + 0x90, + 0x90, + 0x00 +}; + +// Character 66 (0x42) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// |*** | +// |* * | +// |*** | +// |* * | +// |* * | +// |*** | +// | | +// +-----+ +static const byte glyph66[] = { + 0x00, + 0xE0, + 0x90, + 0xE0, + 0x90, + 0x90, + 0xE0, + 0x00 +}; + +// Character 67 (0x43) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | ** | +// |* * | +// |* | +// |* | +// |* * | +// | ** | +// | | +// +-----+ +static const byte glyph67[] = { + 0x00, + 0x60, + 0x90, + 0x80, + 0x80, + 0x90, + 0x60, + 0x00 +}; + +// Character 68 (0x44) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// |*** | +// |* * | +// |* * | +// |* * | +// |* * | +// |*** | +// | | +// +-----+ +static const byte glyph68[] = { + 0x00, + 0xE0, + 0x90, + 0x90, + 0x90, + 0x90, + 0xE0, + 0x00 +}; + +// Character 69 (0x45) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// |**** | +// |* | +// |*** | +// |* | +// |* | +// |**** | +// | | +// +-----+ +static const byte glyph69[] = { + 0x00, + 0xF0, + 0x80, + 0xE0, + 0x80, + 0x80, + 0xF0, + 0x00 +}; + +// Character 70 (0x46) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// |**** | +// |* | +// |*** | +// |* | +// |* | +// |* | +// | | +// +-----+ +static const byte glyph70[] = { + 0x00, + 0xF0, + 0x80, + 0xE0, + 0x80, + 0x80, + 0x80, + 0x00 +}; + +// Character 71 (0x47) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | ** | +// |* * | +// |* | +// |* ** | +// |* * | +// | ** | +// | | +// +-----+ +static const byte glyph71[] = { + 0x00, + 0x60, + 0x90, + 0x80, + 0xB0, + 0x90, + 0x60, + 0x00 +}; + +// Character 72 (0x48) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// |* * | +// |* * | +// |**** | +// |* * | +// |* * | +// |* * | +// | | +// +-----+ +static const byte glyph72[] = { + 0x00, + 0x90, + 0x90, + 0xF0, + 0x90, + 0x90, + 0x90, + 0x00 +}; + +// Character 73 (0x49) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | *** | +// | * | +// | * | +// | * | +// | * | +// | *** | +// | | +// +-----+ +static const byte glyph73[] = { + 0x00, + 0x70, + 0x20, + 0x20, + 0x20, + 0x20, + 0x70, + 0x00 +}; + +// Character 74 (0x4A) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | *** | +// | * | +// | * | +// | * | +// |* * | +// | * | +// | | +// +-----+ +static const byte glyph74[] = { + 0x00, + 0x70, + 0x20, + 0x20, + 0x20, + 0xA0, + 0x40, + 0x00 +}; + +// Character 75 (0x4B) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// |* * | +// |* * | +// |** | +// |* * | +// |* * | +// |* * | +// | | +// +-----+ +static const byte glyph75[] = { + 0x00, + 0x90, + 0xA0, + 0xC0, + 0xA0, + 0xA0, + 0x90, + 0x00 +}; + +// Character 76 (0x4C) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// |* | +// |* | +// |* | +// |* | +// |* | +// |**** | +// | | +// +-----+ +static const byte glyph76[] = { + 0x00, + 0x80, + 0x80, + 0x80, + 0x80, + 0x80, + 0xF0, + 0x00 +}; + +// Character 77 (0x4D) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// |* * | +// |**** | +// |**** | +// |* * | +// |* * | +// |* * | +// | | +// +-----+ +static const byte glyph77[] = { + 0x00, + 0x90, + 0xF0, + 0xF0, + 0x90, + 0x90, + 0x90, + 0x00 +}; + +// Character 78 (0x4E) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// |* * | +// |** * | +// |**** | +// |* ** | +// |* ** | +// |* * | +// | | +// +-----+ +static const byte glyph78[] = { + 0x00, + 0x90, + 0xD0, + 0xF0, + 0xB0, + 0xB0, + 0x90, + 0x00 +}; + +// Character 79 (0x4F) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | ** | +// |* * | +// |* * | +// |* * | +// |* * | +// | ** | +// | | +// +-----+ +static const byte glyph79[] = { + 0x00, + 0x60, + 0x90, + 0x90, + 0x90, + 0x90, + 0x60, + 0x00 +}; + +// Character 80 (0x50) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// |*** | +// |* * | +// |* * | +// |*** | +// |* | +// |* | +// | | +// +-----+ +static const byte glyph80[] = { + 0x00, + 0xE0, + 0x90, + 0x90, + 0xE0, + 0x80, + 0x80, + 0x00 +}; + +// Character 81 (0x51) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | ** | +// |* * | +// |* * | +// |** * | +// |* ** | +// | ** | +// | * | +// +-----+ +static const byte glyph81[] = { + 0x00, + 0x60, + 0x90, + 0x90, + 0xD0, + 0xB0, + 0x60, + 0x10 +}; + +// Character 82 (0x52) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// |*** | +// |* * | +// |* * | +// |*** | +// |* * | +// |* * | +// | | +// +-----+ +static const byte glyph82[] = { + 0x00, + 0xE0, + 0x90, + 0x90, + 0xE0, + 0x90, + 0x90, + 0x00 +}; + +// Character 83 (0x53) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | ** | +// |* * | +// | * | +// | * | +// |* * | +// | ** | +// | | +// +-----+ +static const byte glyph83[] = { + 0x00, + 0x60, + 0x90, + 0x40, + 0x20, + 0x90, + 0x60, + 0x00 +}; + +// Character 84 (0x54) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | *** | +// | * | +// | * | +// | * | +// | * | +// | * | +// | | +// +-----+ +static const byte glyph84[] = { + 0x00, + 0x70, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x00 +}; + +// Character 85 (0x55) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// |* * | +// |* * | +// |* * | +// |* * | +// |* * | +// | ** | +// | | +// +-----+ +static const byte glyph85[] = { + 0x00, + 0x90, + 0x90, + 0x90, + 0x90, + 0x90, + 0x60, + 0x00 +}; + +// Character 86 (0x56) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// |* * | +// |* * | +// |* * | +// |* * | +// | ** | +// | ** | +// | | +// +-----+ +static const byte glyph86[] = { + 0x00, + 0x90, + 0x90, + 0x90, + 0x90, + 0x60, + 0x60, + 0x00 +}; + +// Character 87 (0x57) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// |* * | +// |* * | +// |* * | +// |**** | +// |**** | +// |* * | +// | | +// +-----+ +static const byte glyph87[] = { + 0x00, + 0x90, + 0x90, + 0x90, + 0xF0, + 0xF0, + 0x90, + 0x00 +}; + +// Character 88 (0x58) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// |* * | +// |* * | +// | ** | +// | ** | +// |* * | +// |* * | +// | | +// +-----+ +static const byte glyph88[] = { + 0x00, + 0x90, + 0x90, + 0x60, + 0x60, + 0x90, + 0x90, + 0x00 +}; + +// Character 89 (0x59) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// |* *| +// |* *| +// | * * | +// | * | +// | * | +// | * | +// | | +// +-----+ +static const byte glyph89[] = { + 0x00, + 0x88, + 0x88, + 0x50, + 0x20, + 0x20, + 0x20, + 0x00 +}; + +// Character 90 (0x5A) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// |**** | +// | * | +// | * | +// | * | +// |* | +// |**** | +// | | +// +-----+ +static const byte glyph90[] = { + 0x00, + 0xF0, + 0x10, + 0x20, + 0x40, + 0x80, + 0xF0, + 0x00 +}; + +// Character 91 (0x5B) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | *** | +// | * | +// | * | +// | * | +// | * | +// | *** | +// | | +// +-----+ +static const byte glyph91[] = { + 0x00, + 0x70, + 0x40, + 0x40, + 0x40, + 0x40, + 0x70, + 0x00 +}; + +// Character 92 (0x5C) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// |* | +// |* | +// | * | +// | * | +// | * | +// | * | +// | | +// +-----+ +static const byte glyph92[] = { + 0x00, + 0x80, + 0x80, + 0x40, + 0x20, + 0x10, + 0x10, + 0x00 +}; + +// Character 93 (0x5D) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | *** | +// | * | +// | * | +// | * | +// | * | +// | *** | +// | | +// +-----+ +static const byte glyph93[] = { + 0x00, + 0x70, + 0x10, + 0x10, + 0x10, + 0x10, + 0x70, + 0x00 +}; + +// Character 94 (0x5E) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | * | +// | * * | +// | | +// | | +// | | +// | | +// | | +// +-----+ +static const byte glyph94[] = { + 0x00, + 0x20, + 0x50, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 95 (0x5F) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// |**** | +// +-----+ +static const byte glyph95[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xF0 +}; + +// Character 96 (0x60) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | * | +// | * | +// | | +// | | +// | | +// | | +// | | +// +-----+ +static const byte glyph96[] = { + 0x00, + 0x40, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 97 (0x61) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// | *** | +// |* * | +// |* * | +// | *** | +// | | +// +-----+ +static const byte glyph97[] = { + 0x00, + 0x00, + 0x00, + 0x70, + 0x90, + 0x90, + 0x70, + 0x00 +}; + +// Character 98 (0x62) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// |* | +// |* | +// |*** | +// |* * | +// |* * | +// |*** | +// | | +// +-----+ +static const byte glyph98[] = { + 0x00, + 0x80, + 0x80, + 0xE0, + 0x90, + 0x90, + 0xE0, + 0x00 +}; + +// Character 99 (0x63) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// | ** | +// | * | +// | * | +// | ** | +// | | +// +-----+ +static const byte glyph99[] = { + 0x00, + 0x00, + 0x00, + 0x30, + 0x40, + 0x40, + 0x30, + 0x00 +}; + +// Character 100 (0x64) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | * | +// | * | +// | *** | +// |* * | +// |* * | +// | *** | +// | | +// +-----+ +static const byte glyph100[] = { + 0x00, + 0x10, + 0x10, + 0x70, + 0x90, + 0x90, + 0x70, + 0x00 +}; + +// Character 101 (0x65) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// | ** | +// |* ** | +// |** | +// | ** | +// | | +// +-----+ +static const byte glyph101[] = { + 0x00, + 0x00, + 0x00, + 0x60, + 0xB0, + 0xC0, + 0x60, + 0x00 +}; + +// Character 102 (0x66) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | * | +// | * * | +// | * | +// |*** | +// | * | +// | * | +// | | +// +-----+ +static const byte glyph102[] = { + 0x00, + 0x20, + 0x50, + 0x40, + 0xE0, + 0x40, + 0x40, + 0x00 +}; + +// Character 103 (0x67) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// | ** | +// |* * | +// | *** | +// | * | +// | ** | +// +-----+ +static const byte glyph103[] = { + 0x00, + 0x00, + 0x00, + 0x60, + 0x90, + 0x70, + 0x10, + 0x60 +}; + +// Character 104 (0x68) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// |* | +// |* | +// |*** | +// |* * | +// |* * | +// |* * | +// | | +// +-----+ +static const byte glyph104[] = { + 0x00, + 0x80, + 0x80, + 0xE0, + 0x90, + 0x90, + 0x90, + 0x00 +}; + +// Character 105 (0x69) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | * | +// | | +// | ** | +// | * | +// | * | +// | *** | +// | | +// +-----+ +static const byte glyph105[] = { + 0x00, + 0x20, + 0x00, + 0x60, + 0x20, + 0x20, + 0x70, + 0x00 +}; + +// Character 106 (0x6A) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | * | +// | | +// | * | +// | * | +// | * | +// | * * | +// | * | +// +-----+ +static const byte glyph106[] = { + 0x00, + 0x10, + 0x00, + 0x10, + 0x10, + 0x10, + 0x50, + 0x20 +}; + +// Character 107 (0x6B) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// |* | +// |* | +// |* * | +// |*** | +// |* * | +// |* * | +// | | +// +-----+ +static const byte glyph107[] = { + 0x00, + 0x80, + 0x80, + 0x90, + 0xE0, + 0x90, + 0x90, + 0x00 +}; + +// Character 108 (0x6C) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | ** | +// | * | +// | * | +// | * | +// | * | +// | *** | +// | | +// +-----+ +static const byte glyph108[] = { + 0x00, + 0x60, + 0x20, + 0x20, + 0x20, + 0x20, + 0x70, + 0x00 +}; + +// Character 109 (0x6D) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// |** * | +// |* * *| +// |* * *| +// |* * *| +// | | +// +-----+ +static const byte glyph109[] = { + 0x00, + 0x00, + 0x00, + 0xD0, + 0xA8, + 0xA8, + 0xA8, + 0x00 +}; + +// Character 110 (0x6E) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// |*** | +// |* * | +// |* * | +// |* * | +// | | +// +-----+ +static const byte glyph110[] = { + 0x00, + 0x00, + 0x00, + 0xE0, + 0x90, + 0x90, + 0x90, + 0x00 +}; + +// Character 111 (0x6F) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// | ** | +// |* * | +// |* * | +// | ** | +// | | +// +-----+ +static const byte glyph111[] = { + 0x00, + 0x00, + 0x00, + 0x60, + 0x90, + 0x90, + 0x60, + 0x00 +}; + +// Character 112 (0x70) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// |*** | +// |* * | +// |*** | +// |* | +// |* | +// +-----+ +static const byte glyph112[] = { + 0x00, + 0x00, + 0x00, + 0xE0, + 0x90, + 0xE0, + 0x80, + 0x80 +}; + +// Character 113 (0x71) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// | *** | +// |* * | +// | *** | +// | * | +// | * | +// +-----+ +static const byte glyph113[] = { + 0x00, + 0x00, + 0x00, + 0x70, + 0x90, + 0x70, + 0x10, + 0x10 +}; + +// Character 114 (0x72) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// |* * | +// |** * | +// |* | +// |* | +// | | +// +-----+ +static const byte glyph114[] = { + 0x00, + 0x00, + 0x00, + 0xA0, + 0xD0, + 0x80, + 0x80, + 0x00 +}; + +// Character 115 (0x73) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// | ** | +// | ** | +// | * | +// | ** | +// | | +// +-----+ +static const byte glyph115[] = { + 0x00, + 0x00, + 0x00, + 0x30, + 0x60, + 0x10, + 0x60, + 0x00 +}; + +// Character 116 (0x74) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | * | +// | * | +// |*** | +// | * | +// | * * | +// | * | +// | | +// +-----+ +static const byte glyph116[] = { + 0x00, + 0x40, + 0x40, + 0xE0, + 0x40, + 0x50, + 0x20, + 0x00 +}; + +// Character 117 (0x75) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// |* * | +// |* * | +// |* * | +// | *** | +// | | +// +-----+ +static const byte glyph117[] = { + 0x00, + 0x00, + 0x00, + 0x90, + 0x90, + 0x90, + 0x70, + 0x00 +}; + +// Character 118 (0x76) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// | * * | +// | * * | +// | * * | +// | * | +// | | +// +-----+ +static const byte glyph118[] = { + 0x00, + 0x00, + 0x00, + 0x50, + 0x50, + 0x50, + 0x20, + 0x00 +}; + +// Character 119 (0x77) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// |* *| +// |* * *| +// |* * *| +// | * * | +// | | +// +-----+ +static const byte glyph119[] = { + 0x00, + 0x00, + 0x00, + 0x88, + 0xA8, + 0xA8, + 0x50, + 0x00 +}; + +// Character 120 (0x78) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// |* * | +// | ** | +// | ** | +// |* * | +// | | +// +-----+ +static const byte glyph120[] = { + 0x00, + 0x00, + 0x00, + 0x90, + 0x60, + 0x60, + 0x90, + 0x00 +}; + +// Character 121 (0x79) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// |* * | +// |* * | +// | *** | +// |* * | +// | ** | +// +-----+ +static const byte glyph121[] = { + 0x00, + 0x00, + 0x00, + 0x90, + 0x90, + 0x70, + 0x90, + 0x60 +}; + +// Character 122 (0x7A) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// |**** | +// | * | +// | * | +// |**** | +// | | +// +-----+ +static const byte glyph122[] = { + 0x00, + 0x00, + 0x00, + 0xF0, + 0x20, + 0x40, + 0xF0, + 0x00 +}; + +// Character 123 (0x7B) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | ** | +// | * | +// | * | +// |** | +// | * | +// | * | +// | ** | +// | | +// +-----+ +static const byte glyph123[] = { + 0x30, + 0x40, + 0x20, + 0xC0, + 0x20, + 0x40, + 0x30, + 0x00 +}; + +// Character 124 (0x7C) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | | +// +-----+ +static const byte glyph124[] = { + 0x00, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x00 +}; + +// Character 125 (0x7D) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// |** | +// | * | +// | * | +// | ** | +// | * | +// | * | +// |** | +// | | +// +-----+ +static const byte glyph125[] = { + 0xC0, + 0x20, + 0x40, + 0x30, + 0x40, + 0x20, + 0xC0, + 0x00 +}; + +// Character 126 (0x7E) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | * * | +// |* * | +// | | +// | | +// | | +// | | +// | | +// +-----+ +static const byte glyph126[] = { + 0x00, + 0x50, + 0xA0, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 160 (0xA0) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// +-----+ +static const byte glyph160[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 161 (0xA1) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | * | +// | | +// | * | +// | * | +// | * | +// | * | +// | | +// +-----+ +static const byte glyph161[] = { + 0x00, + 0x20, + 0x00, + 0x20, + 0x20, + 0x20, + 0x20, + 0x00 +}; + +// Character 162 (0xA2) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | * | +// | *** | +// |* * | +// |* * | +// | *** | +// | * | +// +-----+ +static const byte glyph162[] = { + 0x00, + 0x00, + 0x20, + 0x70, + 0xA0, + 0xA0, + 0x70, + 0x20 +}; + +// Character 163 (0xA3) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | * | +// | * * | +// |*** | +// | * | +// | * * | +// |* * | +// | | +// +-----+ +static const byte glyph163[] = { + 0x00, + 0x20, + 0x50, + 0xE0, + 0x40, + 0x50, + 0xA0, + 0x00 +}; + +// Character 164 (0xA4) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// |* *| +// | *** | +// | * * | +// | *** | +// |* *| +// | | +// +-----+ +static const byte glyph164[] = { + 0x00, + 0x00, + 0x88, + 0x70, + 0x50, + 0x70, + 0x88, + 0x00 +}; + +// Character 165 (0xA5) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// |* *| +// | * * | +// |*****| +// | * | +// |*****| +// | * | +// | | +// +-----+ +static const byte glyph165[] = { + 0x00, + 0x88, + 0x50, + 0xF8, + 0x20, + 0xF8, + 0x20, + 0x00 +}; + +// Character 166 (0xA6) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | * | +// | * | +// | | +// | * | +// | * | +// | * | +// | | +// +-----+ +static const byte glyph166[] = { + 0x20, + 0x20, + 0x20, + 0x00, + 0x20, + 0x20, + 0x20, + 0x00 +}; + +// Character 167 (0xA7) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | *** | +// |* | +// |*** | +// |* * | +// | *** | +// | * | +// |*** | +// | | +// +-----+ +static const byte glyph167[] = { + 0x70, + 0x80, + 0xE0, + 0x90, + 0x70, + 0x10, + 0xE0, + 0x00 +}; + +// Character 168 (0xA8) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | * * | +// | | +// | | +// | | +// | | +// | | +// | | +// +-----+ +static const byte glyph168[] = { + 0x00, + 0x50, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 169 (0xA9) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | *** | +// |* * *| +// |** *| +// |** *| +// |* * *| +// | *** | +// | | +// +-----+ +static const byte glyph169[] = { + 0x00, + 0x70, + 0xA8, + 0xC8, + 0xC8, + 0xA8, + 0x70, + 0x00 +}; + +// Character 170 (0xAA) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | ** | +// | * * | +// | ** | +// | | +// | *** | +// | | +// | | +// | | +// +-----+ +static const byte glyph170[] = { + 0x30, + 0x50, + 0x30, + 0x00, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 171 (0xAB) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// | * * | +// |* * | +// | * * | +// | | +// | | +// +-----+ +static const byte glyph171[] = { + 0x00, + 0x00, + 0x00, + 0x50, + 0xA0, + 0x50, + 0x00, + 0x00 +}; + +// Character 172 (0xAC) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// | | +// | *** | +// | * | +// | * | +// | | +// +-----+ +static const byte glyph172[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x70, + 0x10, + 0x10, + 0x00 +}; + +// Character 173 (0xAD) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// | | +// | *** | +// | | +// | | +// | | +// +-----+ +static const byte glyph173[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 174 (0xAE) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | *** | +// |*** *| +// |** **| +// |*** *| +// |** **| +// | *** | +// | | +// +-----+ +static const byte glyph174[] = { + 0x00, + 0x70, + 0xE8, + 0xD8, + 0xE8, + 0xD8, + 0x70, + 0x00 +}; + +// Character 175 (0xAF) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | *** | +// | | +// | | +// | | +// | | +// | | +// | | +// +-----+ +static const byte glyph175[] = { + 0x00, + 0x70, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 176 (0xB0) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | * | +// | * * | +// | * | +// | | +// | | +// | | +// | | +// +-----+ +static const byte glyph176[] = { + 0x00, + 0x20, + 0x50, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 177 (0xB1) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | * | +// | *** | +// | * | +// | | +// | *** | +// | | +// +-----+ +static const byte glyph177[] = { + 0x00, + 0x00, + 0x20, + 0x70, + 0x20, + 0x00, + 0x70, + 0x00 +}; + +// Character 178 (0xB2) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | * * | +// | * | +// | * | +// | *** | +// | | +// | | +// | | +// +-----+ +static const byte glyph178[] = { + 0x20, + 0x50, + 0x10, + 0x20, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 179 (0xB3) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | ** | +// | * | +// | ** | +// | * | +// | ** | +// | | +// | | +// | | +// +-----+ +static const byte glyph179[] = { + 0x60, + 0x10, + 0x60, + 0x10, + 0x60, + 0x00, + 0x00, + 0x00 +}; + +// Character 180 (0xB4) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | * | +// | * | +// | | +// | | +// | | +// | | +// | | +// +-----+ +static const byte glyph180[] = { + 0x00, + 0x20, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 181 (0xB5) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// |* * | +// |* * | +// |* * | +// |*** | +// |* | +// +-----+ +static const byte glyph181[] = { + 0x00, + 0x00, + 0x00, + 0x90, + 0x90, + 0x90, + 0xE0, + 0x80 +}; + +// Character 182 (0xB6) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | ****| +// |*** *| +// |*** *| +// | ** *| +// | * *| +// | * *| +// | | +// +-----+ +static const byte glyph182[] = { + 0x00, + 0x78, + 0xE8, + 0xE8, + 0x68, + 0x28, + 0x28, + 0x00 +}; + +// Character 183 (0xB7) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// | | +// | * | +// | | +// | | +// | | +// +-----+ +static const byte glyph183[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0x00, + 0x00, + 0x00 +}; + +// Character 184 (0xB8) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// | | +// | | +// | | +// | * | +// | * | +// +-----+ +static const byte glyph184[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0x40 +}; + +// Character 185 (0xB9) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | ** | +// | * | +// | * | +// | *** | +// | | +// | | +// | | +// +-----+ +static const byte glyph185[] = { + 0x20, + 0x60, + 0x20, + 0x20, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 186 (0xBA) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | * * | +// | * | +// | | +// | *** | +// | | +// | | +// | | +// +-----+ +static const byte glyph186[] = { + 0x20, + 0x50, + 0x20, + 0x00, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 187 (0xBB) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// |* * | +// | * * | +// |* * | +// | | +// | | +// +-----+ +static const byte glyph187[] = { + 0x00, + 0x00, + 0x00, + 0xA0, + 0x50, + 0xA0, + 0x00, + 0x00 +}; + +// Character 188 (0xBC) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// |* | +// |* | +// |* | +// |* * | +// | ** | +// |**** | +// | * | +// | | +// +-----+ +static const byte glyph188[] = { + 0x80, + 0x80, + 0x80, + 0xA0, + 0x60, + 0xF0, + 0x20, + 0x00 +}; + +// Character 189 (0xBD) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// |* | +// |* | +// |* * | +// |** * | +// | * | +// | * | +// | *** | +// | | +// +-----+ +static const byte glyph189[] = { + 0x80, + 0x80, + 0xA0, + 0xD0, + 0x10, + 0x20, + 0x70, + 0x00 +}; + +// Character 190 (0xBE) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// |* | +// | * | +// |* | +// | ** | +// |* * | +// |**** | +// | * | +// | | +// +-----+ +static const byte glyph190[] = { + 0x80, + 0x40, + 0x80, + 0x60, + 0xA0, + 0xF0, + 0x20, + 0x00 +}; + +// Character 191 (0xBF) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | * | +// | | +// | * | +// | * | +// | * * | +// | * | +// | | +// +-----+ +static const byte glyph191[] = { + 0x00, + 0x20, + 0x00, + 0x20, + 0x40, + 0x50, + 0x20, + 0x00 +}; + +// Character 192 (0xC0) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | * | +// | ** | +// |* * | +// |**** | +// |* * | +// |* * | +// | | +// +-----+ +static const byte glyph192[] = { + 0x40, + 0x20, + 0x60, + 0x90, + 0xF0, + 0x90, + 0x90, + 0x00 +}; + +// Character 193 (0xC1) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | * | +// | ** | +// |* * | +// |**** | +// |* * | +// |* * | +// | | +// +-----+ +static const byte glyph193[] = { + 0x20, + 0x40, + 0x60, + 0x90, + 0xF0, + 0x90, + 0x90, + 0x00 +}; + +// Character 194 (0xC2) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | ** | +// |* * | +// | ** | +// |* * | +// |**** | +// |* * | +// |* * | +// | | +// +-----+ +static const byte glyph194[] = { + 0x60, + 0x90, + 0x60, + 0x90, + 0xF0, + 0x90, + 0x90, + 0x00 +}; + +// Character 195 (0xC3) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * * | +// |* * | +// | ** | +// |* * | +// |**** | +// |* * | +// |* * | +// | | +// +-----+ +static const byte glyph195[] = { + 0x50, + 0xA0, + 0x60, + 0x90, + 0xF0, + 0x90, + 0x90, + 0x00 +}; + +// Character 196 (0xC4) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// |* * | +// | | +// | ** | +// |* * | +// |**** | +// |* * | +// |* * | +// | | +// +-----+ +static const byte glyph196[] = { + 0x90, + 0x00, + 0x60, + 0x90, + 0xF0, + 0x90, + 0x90, + 0x00 +}; + +// Character 197 (0xC5) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | ** | +// |* * | +// | ** | +// |* * | +// |**** | +// |* * | +// |* * | +// | | +// +-----+ +static const byte glyph197[] = { + 0x60, + 0x90, + 0x60, + 0x90, + 0xF0, + 0x90, + 0x90, + 0x00 +}; + +// Character 198 (0xC6) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | *** | +// |* * | +// |* * | +// |**** | +// |* * | +// |* ** | +// | | +// +-----+ +static const byte glyph198[] = { + 0x00, + 0x70, + 0xA0, + 0xA0, + 0xF0, + 0xA0, + 0xB0, + 0x00 +}; + +// Character 199 (0xC7) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | ** | +// |* * | +// |* | +// |* | +// |* * | +// | ** | +// | * | +// +-----+ +static const byte glyph199[] = { + 0x00, + 0x60, + 0x90, + 0x80, + 0x80, + 0x90, + 0x60, + 0x40 +}; + +// Character 200 (0xC8) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | * | +// |**** | +// |* | +// |*** | +// |* | +// |**** | +// | | +// +-----+ +static const byte glyph200[] = { + 0x40, + 0x20, + 0xF0, + 0x80, + 0xE0, + 0x80, + 0xF0, + 0x00 +}; + +// Character 201 (0xC9) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | * | +// |**** | +// |* | +// |*** | +// |* | +// |**** | +// | | +// +-----+ +static const byte glyph201[] = { + 0x20, + 0x40, + 0xF0, + 0x80, + 0xE0, + 0x80, + 0xF0, + 0x00 +}; + +// Character 202 (0xCA) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | ** | +// |* * | +// |**** | +// |* | +// |*** | +// |* | +// |**** | +// | | +// +-----+ +static const byte glyph202[] = { + 0x60, + 0x90, + 0xF0, + 0x80, + 0xE0, + 0x80, + 0xF0, + 0x00 +}; + +// Character 203 (0xCB) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// |* * | +// | | +// |**** | +// |* | +// |*** | +// |* | +// |**** | +// | | +// +-----+ +static const byte glyph203[] = { + 0x90, + 0x00, + 0xF0, + 0x80, + 0xE0, + 0x80, + 0xF0, + 0x00 +}; + +// Character 204 (0xCC) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | * | +// | *** | +// | * | +// | * | +// | * | +// | *** | +// | | +// +-----+ +static const byte glyph204[] = { + 0x40, + 0x20, + 0x70, + 0x20, + 0x20, + 0x20, + 0x70, + 0x00 +}; + +// Character 205 (0xCD) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | * | +// | *** | +// | * | +// | * | +// | * | +// | *** | +// | | +// +-----+ +static const byte glyph205[] = { + 0x10, + 0x20, + 0x70, + 0x20, + 0x20, + 0x20, + 0x70, + 0x00 +}; + +// Character 206 (0xCE) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | * * | +// | *** | +// | * | +// | * | +// | * | +// | *** | +// | | +// +-----+ +static const byte glyph206[] = { + 0x20, + 0x50, + 0x70, + 0x20, + 0x20, + 0x20, + 0x70, + 0x00 +}; + +// Character 207 (0xCF) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * * | +// | | +// | *** | +// | * | +// | * | +// | * | +// | *** | +// | | +// +-----+ +static const byte glyph207[] = { + 0x50, + 0x00, + 0x70, + 0x20, + 0x20, + 0x20, + 0x70, + 0x00 +}; + +// Character 208 (0xD0) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | *** | +// | * *| +// |*** *| +// | * *| +// | * *| +// | *** | +// | | +// +-----+ +static const byte glyph208[] = { + 0x00, + 0x70, + 0x48, + 0xE8, + 0x48, + 0x48, + 0x70, + 0x00 +}; + +// Character 209 (0xD1) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * * | +// |* * | +// |* * | +// |** * | +// |* ** | +// |* * | +// |* * | +// | | +// +-----+ +static const byte glyph209[] = { + 0x50, + 0xA0, + 0x90, + 0xD0, + 0xB0, + 0x90, + 0x90, + 0x00 +}; + +// Character 210 (0xD2) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | * | +// | ** | +// |* * | +// |* * | +// |* * | +// | ** | +// | | +// +-----+ +static const byte glyph210[] = { + 0x40, + 0x20, + 0x60, + 0x90, + 0x90, + 0x90, + 0x60, + 0x00 +}; + +// Character 211 (0xD3) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | * | +// | ** | +// |* * | +// |* * | +// |* * | +// | ** | +// | | +// +-----+ +static const byte glyph211[] = { + 0x20, + 0x40, + 0x60, + 0x90, + 0x90, + 0x90, + 0x60, + 0x00 +}; + +// Character 212 (0xD4) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | ** | +// |* * | +// | ** | +// |* * | +// |* * | +// |* * | +// | ** | +// | | +// +-----+ +static const byte glyph212[] = { + 0x60, + 0x90, + 0x60, + 0x90, + 0x90, + 0x90, + 0x60, + 0x00 +}; + +// Character 213 (0xD5) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * * | +// |* * | +// | ** | +// |* * | +// |* * | +// |* * | +// | ** | +// | | +// +-----+ +static const byte glyph213[] = { + 0x50, + 0xA0, + 0x60, + 0x90, + 0x90, + 0x90, + 0x60, + 0x00 +}; + +// Character 214 (0xD6) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// |* * | +// | | +// | ** | +// |* * | +// |* * | +// |* * | +// | ** | +// | | +// +-----+ +static const byte glyph214[] = { + 0x90, + 0x00, + 0x60, + 0x90, + 0x90, + 0x90, + 0x60, + 0x00 +}; + +// Character 215 (0xD7) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// | | +// | * * | +// | * | +// | * * | +// | | +// +-----+ +static const byte glyph215[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x50, + 0x20, + 0x50, + 0x00 +}; + +// Character 216 (0xD8) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | *** | +// |* ** | +// |* ** | +// |** * | +// |** * | +// |*** | +// | | +// +-----+ +static const byte glyph216[] = { + 0x00, + 0x70, + 0xB0, + 0xB0, + 0xD0, + 0xD0, + 0xE0, + 0x00 +}; + +// Character 217 (0xD9) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | * | +// |* * | +// |* * | +// |* * | +// |* * | +// | ** | +// | | +// +-----+ +static const byte glyph217[] = { + 0x40, + 0x20, + 0x90, + 0x90, + 0x90, + 0x90, + 0x60, + 0x00 +}; + +// Character 218 (0xDA) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | * | +// |* * | +// |* * | +// |* * | +// |* * | +// | ** | +// | | +// +-----+ +static const byte glyph218[] = { + 0x20, + 0x40, + 0x90, + 0x90, + 0x90, + 0x90, + 0x60, + 0x00 +}; + +// Character 219 (0xDB) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | ** | +// |* * | +// |* * | +// |* * | +// |* * | +// |* * | +// | ** | +// | | +// +-----+ +static const byte glyph219[] = { + 0x60, + 0x90, + 0x90, + 0x90, + 0x90, + 0x90, + 0x60, + 0x00 +}; + +// Character 220 (0xDC) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// |* * | +// | | +// |* * | +// |* * | +// |* * | +// |* * | +// | ** | +// | | +// +-----+ +static const byte glyph220[] = { + 0x90, + 0x00, + 0x90, + 0x90, + 0x90, + 0x90, + 0x60, + 0x00 +}; + +// Character 221 (0xDD) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | * | +// |* *| +// | * * | +// | * | +// | * | +// | * | +// | | +// +-----+ +static const byte glyph221[] = { + 0x10, + 0x20, + 0x88, + 0x50, + 0x20, + 0x20, + 0x20, + 0x00 +}; + +// Character 222 (0xDE) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// |* | +// |*** | +// |* * | +// |* * | +// |*** | +// |* | +// | | +// +-----+ +static const byte glyph222[] = { + 0x00, + 0x80, + 0xE0, + 0x90, + 0x90, + 0xE0, + 0x80, + 0x00 +}; + +// Character 223 (0xDF) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | ** | +// |* * | +// |* * | +// |* * | +// |* * | +// |* * | +// | | +// +-----+ +static const byte glyph223[] = { + 0x00, + 0x60, + 0x90, + 0xA0, + 0xA0, + 0x90, + 0xA0, + 0x00 +}; + +// Character 224 (0xE0) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | * | +// | | +// | *** | +// |* * | +// |* * | +// | *** | +// | | +// +-----+ +static const byte glyph224[] = { + 0x40, + 0x20, + 0x00, + 0x70, + 0x90, + 0x90, + 0x70, + 0x00 +}; + +// Character 225 (0xE1) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | * | +// | | +// | *** | +// |* * | +// |* * | +// | *** | +// | | +// +-----+ +static const byte glyph225[] = { + 0x20, + 0x40, + 0x00, + 0x70, + 0x90, + 0x90, + 0x70, + 0x00 +}; + +// Character 226 (0xE2) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | * * | +// | | +// | *** | +// |* * | +// |* * | +// | *** | +// | | +// +-----+ +static const byte glyph226[] = { + 0x20, + 0x50, + 0x00, + 0x70, + 0x90, + 0x90, + 0x70, + 0x00 +}; + +// Character 227 (0xE3) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * * | +// |* * | +// | | +// | *** | +// |* * | +// |* * | +// | *** | +// | | +// +-----+ +static const byte glyph227[] = { + 0x50, + 0xA0, + 0x00, + 0x70, + 0x90, + 0x90, + 0x70, + 0x00 +}; + +// Character 228 (0xE4) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | * * | +// | | +// | *** | +// |* * | +// |* * | +// | *** | +// | | +// +-----+ +static const byte glyph228[] = { + 0x00, + 0x50, + 0x00, + 0x70, + 0x90, + 0x90, + 0x70, + 0x00 +}; + +// Character 229 (0xE5) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | ** | +// |* * | +// | ** | +// | *** | +// |* * | +// |* * | +// | *** | +// | | +// +-----+ +static const byte glyph229[] = { + 0x60, + 0x90, + 0x60, + 0x70, + 0x90, + 0x90, + 0x70, + 0x00 +}; + +// Character 230 (0xE6) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// |**** | +// | ** *| +// |* ** | +// | ****| +// | | +// +-----+ +static const byte glyph230[] = { + 0x00, + 0x00, + 0x00, + 0xF0, + 0x68, + 0xB0, + 0x78, + 0x00 +}; + +// Character 231 (0xE7) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// | ** | +// | * | +// | * | +// | ** | +// | * | +// +-----+ +static const byte glyph231[] = { + 0x00, + 0x00, + 0x00, + 0x30, + 0x40, + 0x40, + 0x30, + 0x20 +}; + +// Character 232 (0xE8) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | * | +// | | +// | ** | +// |* ** | +// |** | +// | ** | +// | | +// +-----+ +static const byte glyph232[] = { + 0x40, + 0x20, + 0x00, + 0x60, + 0xB0, + 0xC0, + 0x60, + 0x00 +}; + +// Character 233 (0xE9) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | * | +// | | +// | ** | +// |* ** | +// |** | +// | ** | +// | | +// +-----+ +static const byte glyph233[] = { + 0x20, + 0x40, + 0x00, + 0x60, + 0xB0, + 0xC0, + 0x60, + 0x00 +}; + +// Character 234 (0xEA) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | ** | +// |* * | +// | | +// | ** | +// |* ** | +// |** | +// | ** | +// | | +// +-----+ +static const byte glyph234[] = { + 0x60, + 0x90, + 0x00, + 0x60, + 0xB0, + 0xC0, + 0x60, + 0x00 +}; + +// Character 235 (0xEB) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | * * | +// | | +// | ** | +// |* ** | +// |** | +// | ** | +// | | +// +-----+ +static const byte glyph235[] = { + 0x00, + 0x50, + 0x00, + 0x60, + 0xB0, + 0xC0, + 0x60, + 0x00 +}; + +// Character 236 (0xEC) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | * | +// | | +// | ** | +// | * | +// | * | +// | *** | +// | | +// +-----+ +static const byte glyph236[] = { + 0x40, + 0x20, + 0x00, + 0x60, + 0x20, + 0x20, + 0x70, + 0x00 +}; + +// Character 237 (0xED) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | * | +// | | +// | ** | +// | * | +// | * | +// | *** | +// | | +// +-----+ +static const byte glyph237[] = { + 0x10, + 0x20, + 0x00, + 0x60, + 0x20, + 0x20, + 0x70, + 0x00 +}; + +// Character 238 (0xEE) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | * * | +// | | +// | ** | +// | * | +// | * | +// | *** | +// | | +// +-----+ +static const byte glyph238[] = { + 0x20, + 0x50, + 0x00, + 0x60, + 0x20, + 0x20, + 0x70, + 0x00 +}; + +// Character 239 (0xEF) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | * * | +// | | +// | ** | +// | * | +// | * | +// | *** | +// | | +// +-----+ +static const byte glyph239[] = { + 0x00, + 0x50, + 0x00, + 0x60, + 0x20, + 0x20, + 0x70, + 0x00 +}; + +// Character 240 (0xF0) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// |* * | +// | * | +// |* * | +// | * | +// | *** | +// |* * | +// | ** | +// | | +// +-----+ +static const byte glyph240[] = { + 0xA0, + 0x40, + 0xA0, + 0x10, + 0x70, + 0x90, + 0x60, + 0x00 +}; + +// Character 241 (0xF1) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * * | +// |* * | +// | | +// |*** | +// |* * | +// |* * | +// |* * | +// | | +// +-----+ +static const byte glyph241[] = { + 0x50, + 0xA0, + 0x00, + 0xE0, + 0x90, + 0x90, + 0x90, + 0x00 +}; + +// Character 242 (0xF2) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | * | +// | | +// | ** | +// |* * | +// |* * | +// | ** | +// | | +// +-----+ +static const byte glyph242[] = { + 0x40, + 0x20, + 0x00, + 0x60, + 0x90, + 0x90, + 0x60, + 0x00 +}; + +// Character 243 (0xF3) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | * | +// | | +// | ** | +// |* * | +// |* * | +// | ** | +// | | +// +-----+ +static const byte glyph243[] = { + 0x20, + 0x40, + 0x00, + 0x60, + 0x90, + 0x90, + 0x60, + 0x00 +}; + +// Character 244 (0xF4) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | ** | +// |* * | +// | | +// | ** | +// |* * | +// |* * | +// | ** | +// | | +// +-----+ +static const byte glyph244[] = { + 0x60, + 0x90, + 0x00, + 0x60, + 0x90, + 0x90, + 0x60, + 0x00 +}; + +// Character 245 (0xF5) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * * | +// |* * | +// | | +// | ** | +// |* * | +// |* * | +// | ** | +// | | +// +-----+ +static const byte glyph245[] = { + 0x50, + 0xA0, + 0x00, + 0x60, + 0x90, + 0x90, + 0x60, + 0x00 +}; + +// Character 246 (0xF6) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// |* * | +// | | +// | ** | +// |* * | +// |* * | +// | ** | +// | | +// +-----+ +static const byte glyph246[] = { + 0x00, + 0x90, + 0x00, + 0x60, + 0x90, + 0x90, + 0x60, + 0x00 +}; + +// Character 247 (0xF7) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | * | +// | | +// | *** | +// | | +// | * | +// | | +// +-----+ +static const byte glyph247[] = { + 0x00, + 0x00, + 0x20, + 0x00, + 0x70, + 0x00, + 0x20, + 0x00 +}; + +// Character 248 (0xF8) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// | | +// | | +// | *** | +// |* ** | +// |** * | +// |*** | +// | | +// +-----+ +static const byte glyph248[] = { + 0x00, + 0x00, + 0x00, + 0x70, + 0xB0, + 0xD0, + 0xE0, + 0x00 +}; + +// Character 249 (0xF9) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | * | +// | | +// |* * | +// |* * | +// |* * | +// | *** | +// | | +// +-----+ +static const byte glyph249[] = { + 0x40, + 0x20, + 0x00, + 0x90, + 0x90, + 0x90, + 0x70, + 0x00 +}; + +// Character 250 (0xFA) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | * | +// | | +// |* * | +// |* * | +// |* * | +// | *** | +// | | +// +-----+ +static const byte glyph250[] = { + 0x20, + 0x40, + 0x00, + 0x90, + 0x90, + 0x90, + 0x70, + 0x00 +}; + +// Character 251 (0xFB) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | ** | +// |* * | +// | | +// |* * | +// |* * | +// |* * | +// | *** | +// | | +// +-----+ +static const byte glyph251[] = { + 0x60, + 0x90, + 0x00, + 0x90, + 0x90, + 0x90, + 0x70, + 0x00 +}; + +// Character 252 (0xFC) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// |* * | +// | | +// |* * | +// |* * | +// |* * | +// | *** | +// | | +// +-----+ +static const byte glyph252[] = { + 0x00, + 0x90, + 0x00, + 0x90, + 0x90, + 0x90, + 0x70, + 0x00 +}; + +// Character 253 (0xFD) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | * | +// | * | +// | | +// |* * | +// |* * | +// | *** | +// |* * | +// | ** | +// +-----+ +static const byte glyph253[] = { + 0x20, + 0x40, + 0x00, + 0x90, + 0x90, + 0x70, + 0x90, + 0x60 +}; + +// Character 254 (0xFE) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// |* | +// |* | +// |*** | +// |* * | +// |*** | +// |* | +// |* | +// +-----+ +static const byte glyph254[] = { + 0x00, + 0x80, + 0x80, + 0xE0, + 0x90, + 0xE0, + 0x80, + 0x80 +}; + +// Character 255 (0xFF) +// Box: 5 8 0 -1 +// Advance: 5 +// +// +-----+ +// | | +// |* * | +// | | +// |* * | +// |* * | +// | *** | +// |* * | +// | ** | +// +-----+ +static const byte glyph255[] = { + 0x00, + 0x90, + 0x00, + 0x90, + 0x90, + 0x70, + 0x90, + 0x60 +}; + +// Bitmap pointer table +const byte *const bitmapTable[] = { + glyph0, + glyph1, + glyph2, + glyph3, + glyph4, + glyph5, + glyph6, + glyph7, + glyph8, + glyph9, + glyph10, + glyph11, + glyph12, + glyph13, + glyph14, + glyph15, + glyph16, + glyph17, + glyph18, + glyph19, + glyph20, + glyph21, + glyph22, + glyph23, + glyph24, + glyph25, + glyph26, + glyph27, + glyph28, + glyph29, + glyph30, + glyph31, + glyph32, + glyph33, + glyph34, + glyph35, + glyph36, + glyph37, + glyph38, + glyph39, + glyph40, + glyph41, + glyph42, + glyph43, + glyph44, + glyph45, + glyph46, + glyph47, + glyph48, + glyph49, + glyph50, + glyph51, + glyph52, + glyph53, + glyph54, + glyph55, + glyph56, + glyph57, + glyph58, + glyph59, + glyph60, + glyph61, + glyph62, + glyph63, + glyph64, + glyph65, + glyph66, + glyph67, + glyph68, + glyph69, + glyph70, + glyph71, + glyph72, + glyph73, + glyph74, + glyph75, + glyph76, + glyph77, + glyph78, + glyph79, + glyph80, + glyph81, + glyph82, + glyph83, + glyph84, + glyph85, + glyph86, + glyph87, + glyph88, + glyph89, + glyph90, + glyph91, + glyph92, + glyph93, + glyph94, + glyph95, + glyph96, + glyph97, + glyph98, + glyph99, + glyph100, + glyph101, + glyph102, + glyph103, + glyph104, + glyph105, + glyph106, + glyph107, + glyph108, + glyph109, + glyph110, + glyph111, + glyph112, + glyph113, + glyph114, + glyph115, + glyph116, + glyph117, + glyph118, + glyph119, + glyph120, + glyph121, + glyph122, + glyph123, + glyph124, + glyph125, + glyph126, + 0, + 0, + 0, + 0, + 0, 0, - 256, - _font_bits, - _sysfont_offset, - 0, /* fixed width*/ - 0, /* fixed bbox*/ 0, - sizeof(_font_bits)/sizeof(bitmap_t) + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + glyph160, + glyph161, + glyph162, + glyph163, + glyph164, + glyph165, + glyph166, + glyph167, + glyph168, + glyph169, + glyph170, + glyph171, + glyph172, + glyph173, + glyph174, + glyph175, + glyph176, + glyph177, + glyph178, + glyph179, + glyph180, + glyph181, + glyph182, + glyph183, + glyph184, + glyph185, + glyph186, + glyph187, + glyph188, + glyph189, + glyph190, + glyph191, + glyph192, + glyph193, + glyph194, + glyph195, + glyph196, + glyph197, + glyph198, + glyph199, + glyph200, + glyph201, + glyph202, + glyph203, + glyph204, + glyph205, + glyph206, + glyph207, + glyph208, + glyph209, + glyph210, + glyph211, + glyph212, + glyph213, + glyph214, + glyph215, + glyph216, + glyph217, + glyph218, + glyph219, + glyph220, + glyph221, + glyph222, + glyph223, + glyph224, + glyph225, + glyph226, + glyph227, + glyph228, + glyph229, + glyph230, + glyph231, + glyph232, + glyph233, + glyph234, + glyph235, + glyph236, + glyph237, + glyph238, + glyph239, + glyph240, + glyph241, + glyph242, + glyph243, + glyph244, + glyph245, + glyph246, + glyph247, + glyph248, + glyph249, + glyph250, + glyph251, + glyph252, + glyph253, + glyph254, + glyph255 +}; + +// Font structure +static const BdfFontData desc = { + 5, // Max advance + 8, // Height + { 5, 8, 0, -1 }, // Bounding box + 7, // Ascent + + 0, // First character + 0, // Default character + 256, // Characters + + bitmapTable, // Bitmaps + 0, // Advances + 0 // Boxes }; DEFINE_FONT(g_consolefont) diff --git a/graphics/fonts/newfont.cpp b/graphics/fonts/newfont.cpp index f02baba2de..10af1efb0c 100644 --- a/graphics/fonts/newfont.cpp +++ b/graphics/fonts/newfont.cpp @@ -1,7438 +1,7651 @@ -/* Generated by convbdf on Sat Jun 17 01:34:15 2006. */ +// Generated by convbdf on Fri Jan 6 14:33:07 2012 #include "graphics/fonts/bdf.h" -/* Font information: - name: clR6x12-L1 - facename: -Schumacher-Clean-Medium-R-Normal--12-120-75-75-C-60-ISO8859-1 - w x h: 6x12 - bbx: 6 12 0 -3 - size: 256 - ascent: 9 - descent: 3 - first char: 0 (0x00) - last char: 255 (0xff) - default char: 0 (0x00) - proportional: no - Copyright 1989 Dale Schumacher, 1999 Robert Brady. -*/ +// Font information: +// Name: -Schumacher-Clean-Medium-R-Normal--12-120-75-75-C-60-ISO8859-1 +// Size: 6x12 +// Box: 6 12 0 -3 +// Ascent: 9 +// First character: 0 +// Default character: 0 +// Characters: 256 +// Copyright: "Copyright 1989 Dale Schumacher, 1999 Robert Brady." namespace Graphics { -/* Font character bitmap data. */ -static const bitmap_t _font_bits[] = { - -/* Character 0 (0x00): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - |* * * | - | | - |* * | - | | - |* * | - | | - |* * * | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0xa800, -0x0000, -0x8800, -0x0000, -0x8800, -0x0000, -0xa800, -0x0000, -0x0000, -0x0000, - -/* Character 1 (0x01): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - | * | - | *** | - |***** | - | *** | - | * | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x2000, -0x7000, -0xf800, -0x7000, -0x2000, -0x0000, -0x0000, -0x0000, - -/* Character 2 (0x02): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - |* * * | - | * * *| - |* * * | - | * * *| - |* * * | - | * * *| - |* * * | - | * * *| - |* * * | - | * * *| - |* * * | - | * * *| - +------+ -*/ -0xa800, -0x5400, -0xa800, -0x5400, -0xa800, -0x5400, -0xa800, -0x5400, -0xa800, -0x5400, -0xa800, -0x5400, - -/* Character 3 (0x03): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - |* * | - |* * | - |*** | - |* * | - |* ****| - | * | - | * | - | * | - | * | - | | - | | - +------+ -*/ -0x0000, -0xa000, -0xa000, -0xe000, -0xa000, -0xbc00, -0x0800, -0x0800, -0x0800, -0x0800, -0x0000, -0x0000, - -/* Character 4 (0x04): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - |*** | - |* | - |** | - |* ***| - |* * | - | ***| - | * | - | * | - | | - | | - | | - +------+ -*/ -0x0000, -0xe000, -0x8000, -0xc000, -0x9c00, -0x9000, -0x1c00, -0x1000, -0x1000, -0x0000, -0x0000, -0x0000, - -/* Character 5 (0x05): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | ** | - |* | - |* | - |* ** | - | *** *| - | ** | - | * *| - | * *| - | | - | | - | | - +------+ -*/ -0x0000, -0x6000, -0x8000, -0x8000, -0x9800, -0x7400, -0x1800, -0x1400, -0x1400, -0x0000, -0x0000, -0x0000, - -/* Character 6 (0x06): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - |* | - |* | - |* | - |* ***| - |**** | - | ** | - | * | - | * | - | | - | | - | | - +------+ -*/ -0x0000, -0x8000, -0x8000, -0x8000, -0x9c00, -0xf000, -0x1800, -0x1000, -0x1000, -0x0000, -0x0000, -0x0000, - -/* Character 7 (0x07): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | ** | - | * * | - | * * | - | ** | - | | - | | - | | - | | - | | - | | - | | - +------+ -*/ -0x0000, -0x3000, -0x4800, -0x4800, -0x3000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 8 (0x08): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | * | - | * | - |***** | - | * | - | * | - | | - |***** | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x2000, -0x2000, -0xf800, -0x2000, -0x2000, -0x0000, -0xf800, -0x0000, -0x0000, -0x0000, - -/* Character 9 (0x09): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - |* * | - |*** | - |*** | - |*** | - |* ** | - | * | - | * | - | * | - | ***| - | | - | | - | | - +------+ -*/ -0xa000, -0xe000, -0xe000, -0xe000, -0xb000, -0x1000, -0x1000, -0x1000, -0x1c00, -0x0000, -0x0000, -0x0000, - -/* Character 10 (0x0a): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - |* * | - |* * | - |* * | - | * ***| - | * * | - | * | - | * | - | * | - | | - | | - | | - +------+ -*/ -0x0000, -0xa000, -0xa000, -0xa000, -0x5c00, -0x4800, -0x0800, -0x0800, -0x0800, -0x0000, -0x0000, -0x0000, - -/* Character 11 (0x0b): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | * | - | * | - | * | - | * | - | * | - | * | - |*** | - | | - | | - | | - | | - | | - +------+ -*/ -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0xe000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 12 (0x0c): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - | | - | | - |*** | - | * | - | * | - | * | - | * | - | * | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0xe000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, - -/* Character 13 (0x0d): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - | | - | | - | ****| - | * | - | * | - | * | - | * | - | * | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x3f00, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, - -/* Character 14 (0x0e): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | * | - | * | - | * | - | * | - | * | - | * | - | ****| - | | - | | - | | - | | - | | - +------+ -*/ -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x3f00, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 15 (0x0f): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | * | - | * | - | * | - | * | - | * | - | * | - |******| - | * | - | * | - | * | - | * | - | * | - +------+ -*/ -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0xff00, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, - -/* Character 16 (0x10): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - |******| - | | - | | - | | - | | - | | - | | - | | - | | - | | - | | - | | - +------+ -*/ -0xfc00, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 17 (0x11): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - |******| - | | - | | - | | - | | - | | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0xfc00, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 18 (0x12): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - | | - | | - |******| - | | - | | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0xfc00, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 19 (0x13): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - | | - | | - | | - | | - |******| - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0xfc00, -0x0000, -0x0000, -0x0000, - -/* Character 20 (0x14): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - | | - | | - | | - | | - | | - | | - | | - |******| - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0xfc00, - -/* Character 21 (0x15): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | * | - | * | - | * | - | * | - | * | - | * | - | ****| - | * | - | * | - | * | - | * | - | * | - +------+ -*/ -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x3f00, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, - -/* Character 22 (0x16): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | * | - | * | - | * | - | * | - | * | - | * | - |*** | - | * | - | * | - | * | - | * | - | * | - +------+ -*/ -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0xe000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, - -/* Character 23 (0x17): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | * | - | * | - | * | - | * | - | * | - | * | - |******| - | | - | | - | | - | | - | | - +------+ -*/ -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0xff00, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 24 (0x18): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - | | - | | - |******| - | * | - | * | - | * | - | * | - | * | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0xff00, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, - -/* Character 25 (0x19): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - +------+ -*/ -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, - -/* Character 26 (0x1a): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | ** | - | ** | - |* | - | ** | - | ** | - | | - |***** | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x1800, -0x6000, -0x8000, -0x6000, -0x1800, -0x0000, -0xf800, -0x0000, -0x0000, -0x0000, - -/* Character 27 (0x1b): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - |** | - | ** | - | * | - | ** | - |** | - | | - |***** | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0xc000, -0x3000, -0x0800, -0x3000, -0xc000, -0x0000, -0xf800, -0x0000, -0x0000, -0x0000, - -/* Character 28 (0x1c): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - |***** | - |* * | - |* * | - |* * | - |* * | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0xf800, -0x8800, -0x8800, -0x8800, -0x8800, -0x0000, -0x0000, -0x0000, - -/* Character 29 (0x1d): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | * | - | * | - |***** | - | * | - |***** | - | * | - | * | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x1000, -0x1000, -0xf800, -0x2000, -0xf800, -0x4000, -0x4000, -0x0000, -0x0000, -0x0000, - -/* Character 30 (0x1e): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | ** | - | * * | - | * | - |*** | - | * | - | * | - | * * | - |* ** | - | | - | | - | | - +------+ -*/ -0x0000, -0x3000, -0x4800, -0x4000, -0xe000, -0x4000, -0x4000, -0x4800, -0xb000, -0x0000, -0x0000, -0x0000, - -/* Character 31 (0x1f): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - | | - | | - | ** | - | | - | | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x3000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 32 (0x20): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - | | - | | - | | - | | - | | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 33 (0x21): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * | - | * | - | * | - | * | - | * | - | * | - | | - | * | - | | - | | - | | - +------+ -*/ -0x0000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x0000, -0x2000, -0x0000, -0x0000, -0x0000, - -/* Character 34 (0x22): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * * | - | * * | - | * * | - | | - | | - | | - | | - | | - | | - | | - | | - +------+ -*/ -0x0000, -0x5000, -0x5000, -0x5000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 35 (0x23): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | * * | - | * * | - |***** | - | * * | - |***** | - | * * | - | * * | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x5000, -0x5000, -0xf800, -0x5000, -0xf800, -0x5000, -0x5000, -0x0000, -0x0000, -0x0000, - -/* Character 36 (0x24): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | * | - | **** | - |* * | - | *** | - | * * | - |**** | - | * | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x2000, -0x7800, -0xa000, -0x7000, -0x2800, -0xf000, -0x2000, -0x0000, -0x0000, -0x0000, - -/* Character 37 (0x25): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - |** | - |** * | - | * | - | * | - | * | - |* ** | - | ** | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0xc000, -0xc800, -0x1000, -0x2000, -0x4000, -0x9800, -0x1800, -0x0000, -0x0000, -0x0000, - -/* Character 38 (0x26): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | *** | - |* | - |* | - | * | - |* * * | - |* * | - | ** * | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x7000, -0x8000, -0x8000, -0x4000, -0xa800, -0x9000, -0x6800, -0x0000, -0x0000, -0x0000, - -/* Character 39 (0x27): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * | - | * | - | * | - | | - | | - | | - | | - | | - | | - | | - | | - +------+ -*/ -0x0000, -0x2000, -0x2000, -0x2000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 40 (0x28): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | | - +------+ -*/ -0x0800, -0x1000, -0x1000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x1000, -0x1000, -0x0800, -0x0000, - -/* Character 41 (0x29): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | | - +------+ -*/ -0x4000, -0x2000, -0x2000, -0x1000, -0x1000, -0x1000, -0x1000, -0x1000, -0x2000, -0x2000, -0x4000, -0x0000, - -/* Character 42 (0x2a): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | * | - |* * * | - | *** | - |* * * | - | * | - | | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x2000, -0xa800, -0x7000, -0xa800, -0x2000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 43 (0x2b): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | * | - | * | - |***** | - | * | - | * | - | | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x2000, -0x2000, -0xf800, -0x2000, -0x2000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 44 (0x2c): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - | | - | | - | | - | ** | - | ** | - | * | - | * | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x3000, -0x3000, -0x2000, -0x4000, -0x0000, - -/* Character 45 (0x2d): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - | | - |***** | - | | - | | - | | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0xf800, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 46 (0x2e): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - | | - | | - | | - | ** | - | ** | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x3000, -0x3000, -0x0000, -0x0000, -0x0000, - -/* Character 47 (0x2f): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - |* | - |* | - | | - | | - +------+ -*/ -0x0800, -0x0800, -0x1000, -0x1000, -0x2000, -0x2000, -0x4000, -0x4000, -0x8000, -0x8000, -0x0000, -0x0000, - -/* Character 48 (0x30): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | *** | - |* * | - |* ** | - |* * * | - |** * | - |* * | - |* * | - | *** | - | | - | | - | | - +------+ -*/ -0x0000, -0x7000, -0x8800, -0x9800, -0xa800, -0xc800, -0x8800, -0x8800, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 49 (0x31): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * | - | ** | - | * | - | * | - | * | - | * | - | * | - | * | - | | - | | - | | - +------+ -*/ -0x0000, -0x1000, -0x3000, -0x1000, -0x1000, -0x1000, -0x1000, -0x1000, -0x1000, -0x0000, -0x0000, -0x0000, - -/* Character 50 (0x32): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | *** | - |* * | - | * | - | * | - | * | - | * | - |* | - |***** | - | | - | | - | | - +------+ -*/ -0x0000, -0x7000, -0x8800, -0x0800, -0x1000, -0x2000, -0x4000, -0x8000, -0xf800, -0x0000, -0x0000, -0x0000, - -/* Character 51 (0x33): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | *** | - |* * | - | * | - | ** | - | * | - | * | - |* * | - | *** | - | | - | | - | | - +------+ -*/ -0x0000, -0x7000, -0x8800, -0x0800, -0x3000, -0x0800, -0x0800, -0x8800, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 52 (0x34): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * | - | ** | - | ** | - | * * | - | * * | - |***** | - | * | - | *** | - | | - | | - | | - +------+ -*/ -0x0000, -0x1000, -0x3000, -0x3000, -0x5000, -0x5000, -0xf800, -0x1000, -0x3800, -0x0000, -0x0000, -0x0000, - -/* Character 53 (0x35): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - |***** | - |* | - |* | - |**** | - | * | - | * | - |* * | - | *** | - | | - | | - | | - +------+ -*/ -0x0000, -0xf800, -0x8000, -0x8000, -0xf000, -0x0800, -0x0800, -0x8800, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 54 (0x36): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | ** | - | * | - |* | - |**** | - |* * | - |* * | - |* * | - | *** | - | | - | | - | | - +------+ -*/ -0x0000, -0x3000, -0x4000, -0x8000, -0xf000, -0x8800, -0x8800, -0x8800, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 55 (0x37): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - |***** | - |* * | - | * | - | * | - | * | - | * | - | * | - | * | - | | - | | - | | - +------+ -*/ -0x0000, -0xf800, -0x8800, -0x0800, -0x0800, -0x1000, -0x1000, -0x2000, -0x2000, -0x0000, -0x0000, -0x0000, - -/* Character 56 (0x38): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | *** | - |* * | - |* * | - | *** | - |* * | - |* * | - |* * | - | *** | - | | - | | - | | - +------+ -*/ -0x0000, -0x7000, -0x8800, -0x8800, -0x7000, -0x8800, -0x8800, -0x8800, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 57 (0x39): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | *** | - |* * | - |* * | - |* * | - | **** | - | * | - | * | - | ** | - | | - | | - | | - +------+ -*/ -0x0000, -0x7000, -0x8800, -0x8800, -0x8800, -0x7800, -0x0800, -0x1000, -0x6000, -0x0000, -0x0000, -0x0000, - -/* Character 58 (0x3a): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | ** | - | ** | - | | - | | - | ** | - | ** | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x3000, -0x3000, -0x0000, -0x0000, -0x3000, -0x3000, -0x0000, -0x0000, -0x0000, - -/* Character 59 (0x3b): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | ** | - | ** | - | | - | | - | ** | - | ** | - | * | - | * | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x3000, -0x3000, -0x0000, -0x0000, -0x3000, -0x3000, -0x2000, -0x4000, -0x0000, - -/* Character 60 (0x3c): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | **| - | ** | - |** | - | ** | - | **| - | | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0c00, -0x3000, -0xc000, -0x3000, -0x0c00, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 61 (0x3d): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - |***** | - | | - |***** | - | | - | | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0xf800, -0x0000, -0xf800, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 62 (0x3e): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - |** | - | ** | - | **| - | ** | - |** | - | | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0xc000, -0x3000, -0x0c00, -0x3000, -0xc000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 63 (0x3f): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | *** | - |* * | - | * | - | * | - | * | - | * | - | | - | * | - | | - | | - | | - +------+ -*/ -0x0000, -0x7000, -0x8800, -0x0800, -0x1000, -0x2000, -0x2000, -0x0000, -0x2000, -0x0000, -0x0000, -0x0000, - -/* Character 64 (0x40): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | *** | - |* * | - |* *** | - |* *** | - |* ** | - |* | - | *** | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x7000, -0x8800, -0xb800, -0xb800, -0xb000, -0x8000, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 65 (0x41): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | * | - | * * | - |* * | - |* * | - |***** | - |* * | - |* * | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x2000, -0x5000, -0x8800, -0x8800, -0xf800, -0x8800, -0x8800, -0x0000, -0x0000, -0x0000, - -/* Character 66 (0x42): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - |**** | - |* * | - |* * | - |**** | - |* * | - |* * | - |**** | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0xf000, -0x8800, -0x8800, -0xf000, -0x8800, -0x8800, -0xf000, -0x0000, -0x0000, -0x0000, - -/* Character 67 (0x43): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | *** | - |* * | - |* | - |* | - |* | - |* * | - | *** | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x7000, -0x8800, -0x8000, -0x8000, -0x8000, -0x8800, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 68 (0x44): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - |*** | - |* * | - |* * | - |* * | - |* * | - |* * | - |*** | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0xe000, -0x9000, -0x8800, -0x8800, -0x8800, -0x9000, -0xe000, -0x0000, -0x0000, -0x0000, - -/* Character 69 (0x45): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - |***** | - |* | - |* | - |**** | - |* | - |* | - |***** | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0xf800, -0x8000, -0x8000, -0xf000, -0x8000, -0x8000, -0xf800, -0x0000, -0x0000, -0x0000, - -/* Character 70 (0x46): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - |***** | - |* | - |* | - |**** | - |* | - |* | - |* | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0xf800, -0x8000, -0x8000, -0xf000, -0x8000, -0x8000, -0x8000, -0x0000, -0x0000, -0x0000, - -/* Character 71 (0x47): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | *** | - |* * | - |* | - |* ** | - |* * | - |* * | - | **** | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x7000, -0x8800, -0x8000, -0x9800, -0x8800, -0x8800, -0x7800, -0x0000, -0x0000, -0x0000, - -/* Character 72 (0x48): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - |* * | - |* * | - |* * | - |***** | - |* * | - |* * | - |* * | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x8800, -0x8800, -0x8800, -0xf800, -0x8800, -0x8800, -0x8800, -0x0000, -0x0000, -0x0000, - -/* Character 73 (0x49): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - |***** | - | * | - | * | - | * | - | * | - | * | - |***** | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0xf800, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0xf800, -0x0000, -0x0000, -0x0000, - -/* Character 74 (0x4a): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | *** | - | * | - | * | - | * | - |* * | - |* * | - | *** | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x3800, -0x0800, -0x0800, -0x0800, -0x8800, -0x8800, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 75 (0x4b): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - |* * | - |* * | - |* * | - |** | - |* * | - |* * | - |* * | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x8800, -0x9000, -0xa000, -0xc000, -0xa000, -0x9000, -0x8800, -0x0000, -0x0000, -0x0000, - -/* Character 76 (0x4c): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - |* | - |* | - |* | - |* | - |* | - |* | - |***** | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x8000, -0x8000, -0x8000, -0x8000, -0x8000, -0x8000, -0xf800, -0x0000, -0x0000, -0x0000, - -/* Character 77 (0x4d): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - |* * | - |** ** | - |* * * | - |* * * | - |* * | - |* * | - |* * | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x8800, -0xd800, -0xa800, -0xa800, -0x8800, -0x8800, -0x8800, -0x0000, -0x0000, -0x0000, - -/* Character 78 (0x4e): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - |* * | - |** * | - |** * | - |* * * | - |* ** | - |* ** | - |* * | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x8800, -0xc800, -0xc800, -0xa800, -0x9800, -0x9800, -0x8800, -0x0000, -0x0000, -0x0000, - -/* Character 79 (0x4f): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | *** | - |* * | - |* * | - |* * | - |* * | - |* * | - | *** | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x7000, -0x8800, -0x8800, -0x8800, -0x8800, -0x8800, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 80 (0x50): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - |**** | - |* * | - |* * | - |**** | - |* | - |* | - |* | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0xf000, -0x8800, -0x8800, -0xf000, -0x8000, -0x8000, -0x8000, -0x0000, -0x0000, -0x0000, - -/* Character 81 (0x51): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | *** | - |* * | - |* * | - |* * | - |* * | - |* * | - | *** | - | ** | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x7000, -0x8800, -0x8800, -0x8800, -0x8800, -0x8800, -0x7000, -0x1800, -0x0000, -0x0000, - -/* Character 82 (0x52): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - |**** | - |* * | - |* * | - |**** | - |* * | - |* * | - |* * | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0xf000, -0x8800, -0x8800, -0xf000, -0xa000, -0x9000, -0x8800, -0x0000, -0x0000, -0x0000, - -/* Character 83 (0x53): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | *** | - |* * | - |* | - | *** | - | * | - |* * | - | *** | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x7000, -0x8800, -0x8000, -0x7000, -0x0800, -0x8800, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 84 (0x54): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - |***** | - | * | - | * | - | * | - | * | - | * | - | * | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0xf800, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x0000, -0x0000, -0x0000, - -/* Character 85 (0x55): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - |* * | - |* * | - |* * | - |* * | - |* * | - |* * | - | *** | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x8800, -0x8800, -0x8800, -0x8800, -0x8800, -0x8800, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 86 (0x56): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - |* * | - |* * | - |* * | - | * * | - | * * | - | * | - | * | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x8800, -0x8800, -0x8800, -0x5000, -0x5000, -0x2000, -0x2000, -0x0000, -0x0000, -0x0000, - -/* Character 87 (0x57): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - |* * | - |* * | - |* * | - |* * * | - |* * * | - |** ** | - |* * | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x8800, -0x8800, -0x8800, -0xa800, -0xa800, -0xd800, -0x8800, -0x0000, -0x0000, -0x0000, - -/* Character 88 (0x58): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - |* * | - |* * | - | * * | - | * | - | * * | - |* * | - |* * | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x8800, -0x8800, -0x5000, -0x2000, -0x5000, -0x8800, -0x8800, -0x0000, -0x0000, -0x0000, - -/* Character 89 (0x59): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - |* * | - |* * | - | * * | - | * | - | * | - | * | - | * | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x8800, -0x8800, -0x5000, -0x2000, -0x2000, -0x2000, -0x2000, -0x0000, -0x0000, -0x0000, - -/* Character 90 (0x5a): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - |***** | - | * | - | * | - | * | - | * | - |* | - |***** | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0xf800, -0x0800, -0x1000, -0x2000, -0x4000, -0x8000, -0xf800, -0x0000, -0x0000, -0x0000, - -/* Character 91 (0x5b): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | *** | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | *** | - | | - +------+ -*/ -0x3800, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x3800, -0x0000, - -/* Character 92 (0x5c): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - |* | - |* | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | | - | | - +------+ -*/ -0x8000, -0x8000, -0x4000, -0x4000, -0x2000, -0x2000, -0x1000, -0x1000, -0x0800, -0x0800, -0x0000, -0x0000, - -/* Character 93 (0x5d): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | *** | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | *** | - | | - +------+ -*/ -0x7000, -0x1000, -0x1000, -0x1000, -0x1000, -0x1000, -0x1000, -0x1000, -0x1000, -0x1000, -0x7000, -0x0000, - -/* Character 94 (0x5e): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * | - | * * | - |* * | - | | - | | - | | - | | - | | - | | - | | - | | - +------+ -*/ -0x0000, -0x2000, -0x5000, -0x8800, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 95 (0x5f): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - | | - | | - | | - | | - | | - |******| - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0xfc00, -0x0000, -0x0000, - -/* Character 96 (0x60): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * | - | * | - | | - | | - | | - | | - | | - | | - | | - | | - | | - +------+ -*/ -0x0000, -0x2000, -0x1000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 97 (0x61): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - | **** | - |* * | - |* * | - |* ** | - | ** * | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x7800, -0x8800, -0x8800, -0x9800, -0x6800, -0x0000, -0x0000, -0x0000, - -/* Character 98 (0x62): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - |* | - |* | - |* | - |**** | - |* * | - |* * | - |* * | - |**** | - | | - | | - | | - +------+ -*/ -0x0000, -0x8000, -0x8000, -0x8000, -0xf000, -0x8800, -0x8800, -0x8800, -0xf000, -0x0000, -0x0000, -0x0000, - -/* Character 99 (0x63): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - | **** | - |* | - |* | - |* | - | **** | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x7800, -0x8000, -0x8000, -0x8000, -0x7800, -0x0000, -0x0000, -0x0000, - -/* Character 100 (0x64): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * | - | * | - | * | - | **** | - |* * | - |* * | - |* * | - | **** | - | | - | | - | | - +------+ -*/ -0x0000, -0x0800, -0x0800, -0x0800, -0x7800, -0x8800, -0x8800, -0x8800, -0x7800, -0x0000, -0x0000, -0x0000, - -/* Character 101 (0x65): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - | *** | - |* * | - |***** | - |* | - | *** | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x7000, -0x8800, -0xf800, -0x8000, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 102 (0x66): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | *** | - | * | - | * | - |**** | - | * | - | * | - | * | - | * | - | | - | | - | | - +------+ -*/ -0x0000, -0x3800, -0x4000, -0x4000, -0xf000, -0x4000, -0x4000, -0x4000, -0x4000, -0x0000, -0x0000, -0x0000, - -/* Character 103 (0x67): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - | **** | - |* * | - |* * | - |* * | - | **** | - | * | - | * | - | *** | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x7800, -0x8800, -0x8800, -0x8800, -0x7800, -0x0800, -0x0800, -0x7000, - -/* Character 104 (0x68): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - |* | - |* | - |* | - |**** | - |* * | - |* * | - |* * | - |* * | - | | - | | - | | - +------+ -*/ -0x0000, -0x8000, -0x8000, -0x8000, -0xf000, -0x8800, -0x8800, -0x8800, -0x8800, -0x0000, -0x0000, -0x0000, - -/* Character 105 (0x69): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * | - | * | - | | - | ** | - | * | - | * | - | * | - | *** | - | | - | | - | | - +------+ -*/ -0x0000, -0x2000, -0x2000, -0x0000, -0x6000, -0x2000, -0x2000, -0x2000, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 106 (0x6a): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * | - | * | - | | - | *** | - | * | - | * | - | * | - | * | - | * | - | * | - | *** | - +------+ -*/ -0x0000, -0x0800, -0x0800, -0x0000, -0x3800, -0x0800, -0x0800, -0x0800, -0x0800, -0x0800, -0x0800, -0x7000, - -/* Character 107 (0x6b): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * | - | * | - | * | - | * * | - | * * | - | ** | - | * * | - | * * | - | | - | | - | | - +------+ -*/ -0x0000, -0x4000, -0x4000, -0x4000, -0x4800, -0x5000, -0x6000, -0x5000, -0x4800, -0x0000, -0x0000, -0x0000, - -/* Character 108 (0x6c): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | ** | - | * | - | * | - | * | - | * | - | * | - | * | - | *** | - | | - | | - | | - +------+ -*/ -0x0000, -0x6000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 109 (0x6d): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - |** * | - |* * * | - |* * * | - |* * * | - |* * | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0xd000, -0xa800, -0xa800, -0xa800, -0x8800, -0x0000, -0x0000, -0x0000, - -/* Character 110 (0x6e): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - |* ** | - |** * | - |* * | - |* * | - |* * | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0xb000, -0xc800, -0x8800, -0x8800, -0x8800, -0x0000, -0x0000, -0x0000, - -/* Character 111 (0x6f): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - | *** | - |* * | - |* * | - |* * | - | *** | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x7000, -0x8800, -0x8800, -0x8800, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 112 (0x70): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - |**** | - |* * | - |* * | - |* * | - |**** | - |* | - |* | - |* | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0xf000, -0x8800, -0x8800, -0x8800, -0xf000, -0x8000, -0x8000, -0x8000, - -/* Character 113 (0x71): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - | **** | - |* * | - |* * | - |* * | - | **** | - | * | - | * | - | * | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x7800, -0x8800, -0x8800, -0x8800, -0x7800, -0x0800, -0x0800, -0x0800, - -/* Character 114 (0x72): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - | * ** | - | ** | - | * | - | * | - | * | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x5800, -0x6000, -0x4000, -0x4000, -0x4000, -0x0000, -0x0000, -0x0000, - -/* Character 115 (0x73): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - | **** | - |* | - | *** | - | * | - |**** | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x7800, -0x8000, -0x7000, -0x0800, -0xf000, -0x0000, -0x0000, -0x0000, - -/* Character 116 (0x74): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * | - | * | - | * | - | *** | - | * | - | * | - | * | - | ** | - | | - | | - | | - +------+ -*/ -0x0000, -0x2000, -0x2000, -0x2000, -0x7000, -0x2000, -0x2000, -0x2000, -0x1800, -0x0000, -0x0000, -0x0000, - -/* Character 117 (0x75): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - |* * | - |* * | - |* * | - |* ** | - | ** * | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x8800, -0x8800, -0x8800, -0x9800, -0x6800, -0x0000, -0x0000, -0x0000, - -/* Character 118 (0x76): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - |** ** | - | * * | - | * * | - | * | - | * | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0xd800, -0x5000, -0x5000, -0x2000, -0x2000, -0x0000, -0x0000, -0x0000, - -/* Character 119 (0x77): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - |* * | - |* * * | - |* * * | - |* * * | - | * * | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x8800, -0xa800, -0xa800, -0xa800, -0x5000, -0x0000, -0x0000, -0x0000, - -/* Character 120 (0x78): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - |* * | - | * * | - | * | - | * * | - |* * | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x8800, -0x5000, -0x2000, -0x5000, -0x8800, -0x0000, -0x0000, -0x0000, - -/* Character 121 (0x79): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - |* * | - |* * | - |* * | - |* * | - | **** | - | * | - | * | - | *** | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x8800, -0x8800, -0x8800, -0x8800, -0x7800, -0x0800, -0x0800, -0x7000, - -/* Character 122 (0x7a): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - |***** | - | * | - | * | - | * | - |***** | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0xf800, -0x1000, -0x2000, -0x4000, -0xf800, -0x0000, -0x0000, -0x0000, - -/* Character 123 (0x7b): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | | - +------+ -*/ -0x0800, -0x1000, -0x1000, -0x1000, -0x1000, -0x2000, -0x1000, -0x1000, -0x1000, -0x1000, -0x0800, -0x0000, - -/* Character 124 (0x7c): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | | - +------+ -*/ -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x0000, - -/* Character 125 (0x7d): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | * | - | | - +------+ -*/ -0x4000, -0x2000, -0x2000, -0x2000, -0x2000, -0x1000, -0x2000, -0x2000, -0x2000, -0x2000, -0x4000, -0x0000, - -/* Character 126 (0x7e): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - | * | - |* * * | - | * | - | | - | | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x4000, -0xa800, -0x1000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 160 (0xa0): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - | | - | | - | | - | | - | | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 161 (0xa1): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * | - | | - | * | - | * | - | * | - | * | - | * | - | * | - | | - | | - | | - +------+ -*/ -0x0000, -0x2000, -0x0000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x2000, -0x0000, -0x0000, -0x0000, - -/* Character 162 (0xa2): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | * | - | *** | - |* * * | - |* * | - |* * * | - | *** | - | * | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x2000, -0x7000, -0xa800, -0xa000, -0xa800, -0x7000, -0x2000, -0x0000, -0x0000, - -/* Character 163 (0xa3): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | ** | - | * * | - | * | - |*** | - | * | - | * | - | * * | - |* ** | - | | - | | - | | - +------+ -*/ -0x0000, -0x3000, -0x4800, -0x4000, -0xe000, -0x4000, -0x4000, -0x4800, -0xb000, -0x0000, -0x0000, -0x0000, - -/* Character 164 (0xa4): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - |* * | - | *** | - | * * | - | *** | - |* * | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x8800, -0x7000, -0x5000, -0x7000, -0x8800, -0x0000, -0x0000, -0x0000, - -/* Character 165 (0xa5): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - |* * | - | * * | - | * | - | *** | - | * | - | *** | - | * | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x8800, -0x5000, -0x2000, -0x7000, -0x2000, -0x7000, -0x2000, -0x0000, -0x0000, -0x0000, - -/* Character 166 (0xa6): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | * | - | * | - | * | - | | - | * | - | * | - | * | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x2000, -0x2000, -0x2000, -0x0000, -0x2000, -0x2000, -0x2000, -0x0000, -0x0000, -0x0000, - -/* Character 167 (0xa7): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | ** | - | * * | - | * | - | ** | - | * * | - | * * | - | * * | - | ** | - | * | - | * * | - | ** | - | | - +------+ -*/ -0x3000, -0x4800, -0x4000, -0x3000, -0x4800, -0x4800, -0x4800, -0x3000, -0x0800, -0x4800, -0x3000, -0x0000, - -/* Character 168 (0xa8): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * * | - | * * | - | | - | | - | | - | | - | | - | | - | | - | | - | | - +------+ -*/ -0x0000, -0x5000, -0x5000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 169 (0xa9): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | **** | - |* *| - |* ** *| - |* * *| - |* * *| - |* ** *| - |* *| - | **** | - | | - | | - | | - +------+ -*/ -0x0000, -0x7800, -0x8400, -0xb400, -0xa400, -0xa400, -0xb400, -0x8400, -0x7800, -0x0000, -0x0000, -0x0000, - -/* Character 170 (0xaa): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | ** | - | * | - | *** | - | * * | - | *** | - | | - | **** | - | | - | | - | | - | | - | | - +------+ -*/ -0x3000, -0x0800, -0x3800, -0x4800, -0x3800, -0x0000, -0x7800, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 171 (0xab): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | * * | - | * * | - |* * | - | * * | - | * * | - | | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x2800, -0x5000, -0xa000, -0x5000, -0x2800, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 172 (0xac): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - | | - | **** | - | * | - | | - | | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x7800, -0x0800, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 173 (0xad): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - | | - | **** | - | | - | | - | | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x7800, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 174 (0xae): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | **** | - |* *| - |* ** *| - |* * **| - |* ** *| - |* * **| - |* *| - | **** | - | | - | | - | | - +------+ -*/ -0x0000, -0x7800, -0x8400, -0xb400, -0xac00, -0xb400, -0xac00, -0x8400, -0x7800, -0x0000, -0x0000, -0x0000, - -/* Character 175 (0xaf): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - |***** | - | | - | | - | | - | | - | | - | | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0xf800, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 176 (0xb0): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | ** | - | * * | - | * * | - | ** | - | | - | | - | | - | | - | | - | | - | | - +------+ -*/ -0x0000, -0x3000, -0x4800, -0x4800, -0x3000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 177 (0xb1): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | * | - | * | - |***** | - | * | - | * | - | | - |***** | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x2000, -0x2000, -0xf800, -0x2000, -0x2000, -0x0000, -0xf800, -0x0000, -0x0000, -0x0000, - -/* Character 178 (0xb2): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | ** | - | * | - | * | - | * | - | *** | - | | - | | - | | - | | - | | - | | - | | - +------+ -*/ -0x6000, -0x1000, -0x2000, -0x4000, -0x7000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 179 (0xb3): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | ** | - | * | - | * | - | * | - | ** | - | | - | | - | | - | | - | | - | | - | | - +------+ -*/ -0x6000, -0x1000, -0x2000, -0x1000, -0x6000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 180 (0xb4): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * | - | * | - | | - | | - | | - | | - | | - | | - | | - | | - | | - +------+ -*/ -0x0000, -0x1000, -0x2000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 181 (0xb5): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - |* * | - |* * | - |* * | - |** * | - |* ** | - |* | - |* | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x8800, -0x8800, -0x8800, -0xc800, -0xb000, -0x8000, -0x8000, -0x0000, - -/* Character 182 (0xb6): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | **** | - |*** * | - |*** * | - | ** * | - | * * | - | * * | - | * * | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x7800, -0xe800, -0xe800, -0x6800, -0x2800, -0x2800, -0x2800, -0x0000, -0x0000, -0x0000, - -/* Character 183 (0xb7): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - | | - | | - | ** | - | | - | | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x3000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 184 (0xb8): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - | | - | | - | | - | | - | | - | * | - | * | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x1000, -0x2000, -0x0000, - -/* Character 185 (0xb9): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | * | - | ** | - | * | - | * | - | * | - | | - | | - | | - | | - | | - | | - | | - +------+ -*/ -0x2000, -0x6000, -0x2000, -0x2000, -0x2000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 186 (0xba): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | ** | - | * * | - | * * | - | * * | - | ** | - | | - | **** | - | | - | | - | | - | | - | | - +------+ -*/ -0x3000, -0x4800, -0x4800, -0x4800, -0x3000, -0x0000, -0x7800, -0x0000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 187 (0xbb): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - |* * | - | * * | - | * * | - | * * | - |* * | - | | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0xa000, -0x5000, -0x2800, -0x5000, -0xa000, -0x0000, -0x0000, -0x0000, -0x0000, - -/* Character 188 (0xbc): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * | - | * | - | * | - | * * | - | * | - | * * | - | *** | - | * | - | | - | | - | | - +------+ -*/ -0x0000, -0x4000, -0x4000, -0x4000, -0x4800, -0x1000, -0x2800, -0x3800, -0x0800, -0x0000, -0x0000, -0x0000, - -/* Character 189 (0xbd): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * | - | * | - | * | - | *** | - | * | - | * | - | * | - | *** | - | | - | | - | | - +------+ -*/ -0x0000, -0x4000, -0x4000, -0x4000, -0x7000, -0x0800, -0x1000, -0x2000, -0x3800, -0x0000, -0x0000, -0x0000, - -/* Character 190 (0xbe): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - |** | - | * | - | * | - |** * | - | * | - | * * | - | *** | - | * | - | | - | | - | | - +------+ -*/ -0x0000, -0xc000, -0x4000, -0x2000, -0xc800, -0x1000, -0x2800, -0x3800, -0x0800, -0x0000, -0x0000, -0x0000, - -/* Character 191 (0xbf): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * | - | | - | * | - | * | - | * | - |* | - |* * | - | *** | - | | - | | - | | - +------+ -*/ -0x0000, -0x2000, -0x0000, -0x2000, -0x2000, -0x4000, -0x8000, -0x8800, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 192 (0xc0): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | * | - | * | - | | - | *** | - |* * | - |* * | - |***** | - |* * | - |* * | - | | - | | - | | - +------+ -*/ -0x4000, -0x2000, -0x0000, -0x7000, -0x8800, -0x8800, -0xf800, -0x8800, -0x8800, -0x0000, -0x0000, -0x0000, - -/* Character 193 (0xc1): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | * | - | * | - | | - | *** | - |* * | - |* * | - |***** | - |* * | - |* * | - | | - | | - | | - +------+ -*/ -0x1000, -0x2000, -0x0000, -0x7000, -0x8800, -0x8800, -0xf800, -0x8800, -0x8800, -0x0000, -0x0000, -0x0000, - -/* Character 194 (0xc2): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | * | - | * * | - | | - | *** | - |* * | - |* * | - |***** | - |* * | - |* * | - | | - | | - | | - +------+ -*/ -0x2000, -0x5000, -0x0000, -0x7000, -0x8800, -0x8800, -0xf800, -0x8800, -0x8800, -0x0000, -0x0000, -0x0000, - -/* Character 195 (0xc3): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | * * | - | * * | - | | - | *** | - |* * | - |* * | - |***** | - |* * | - |* * | - | | - | | - | | - +------+ -*/ -0x2800, -0x5000, -0x0000, -0x7000, -0x8800, -0x8800, -0xf800, -0x8800, -0x8800, -0x0000, -0x0000, -0x0000, - -/* Character 196 (0xc4): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * * | - | | - | *** | - |* * | - |* * | - |***** | - |* * | - |* * | - | | - | | - | | - +------+ -*/ -0x0000, -0x5000, -0x0000, -0x7000, -0x8800, -0x8800, -0xf800, -0x8800, -0x8800, -0x0000, -0x0000, -0x0000, - -/* Character 197 (0xc5): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | * | - | * * | - | * | - | *** | - |* * | - |* * | - |***** | - |* * | - |* * | - | | - | | - | | - +------+ -*/ -0x2000, -0x5000, -0x2000, -0x7000, -0x8800, -0x8800, -0xf800, -0x8800, -0x8800, -0x0000, -0x0000, -0x0000, - -/* Character 198 (0xc6): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | **** | - |* * | - |* * | - |* *** | - |*** | - |* * | - |* *** | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x7800, -0xa000, -0xa000, -0xb800, -0xe000, -0xa000, -0xb800, -0x0000, -0x0000, -0x0000, - -/* Character 199 (0xc7): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | *** | - |* * | - |* | - |* | - |* | - |* * | - | *** | - | * | - | * | - | | - +------+ -*/ -0x0000, -0x0000, -0x7000, -0x8800, -0x8000, -0x8000, -0x8000, -0x8800, -0x7000, -0x2000, -0x4000, -0x0000, - -/* Character 200 (0xc8): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | * | - | * | - | | - |***** | - |* | - |**** | - |* | - |* | - |***** | - | | - | | - | | - +------+ -*/ -0x4000, -0x2000, -0x0000, -0xf800, -0x8000, -0xf000, -0x8000, -0x8000, -0xf800, -0x0000, -0x0000, -0x0000, - -/* Character 201 (0xc9): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | * | - | * | - | | - |***** | - |* | - |**** | - |* | - |* | - |***** | - | | - | | - | | - +------+ -*/ -0x1000, -0x2000, -0x0000, -0xf800, -0x8000, -0xf000, -0x8000, -0x8000, -0xf800, -0x0000, -0x0000, -0x0000, - -/* Character 202 (0xca): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | * | - | * * | - | | - |***** | - |* | - |**** | - |* | - |* | - |***** | - | | - | | - | | - +------+ -*/ -0x2000, -0x5000, -0x0000, -0xf800, -0x8000, -0xf000, -0x8000, -0x8000, -0xf800, -0x0000, -0x0000, -0x0000, - -/* Character 203 (0xcb): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * * | - | | - |***** | - |* | - |**** | - |* | - |* | - |***** | - | | - | | - | | - +------+ -*/ -0x0000, -0x5000, -0x0000, -0xf800, -0x8000, -0xf000, -0x8000, -0x8000, -0xf800, -0x0000, -0x0000, -0x0000, - -/* Character 204 (0xcc): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | * | - | * | - | | - |***** | - | * | - | * | - | * | - | * | - |***** | - | | - | | - | | - +------+ -*/ -0x4000, -0x2000, -0x0000, -0xf800, -0x2000, -0x2000, -0x2000, -0x2000, -0xf800, -0x0000, -0x0000, -0x0000, - -/* Character 205 (0xcd): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | * | - | * | - | | - |***** | - | * | - | * | - | * | - | * | - |***** | - | | - | | - | | - +------+ -*/ -0x1000, -0x2000, -0x0000, -0xf800, -0x2000, -0x2000, -0x2000, -0x2000, -0xf800, -0x0000, -0x0000, -0x0000, - -/* Character 206 (0xce): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | * | - | * * | - | | - |***** | - | * | - | * | - | * | - | * | - |***** | - | | - | | - | | - +------+ -*/ -0x2000, -0x5000, -0x0000, -0xf800, -0x2000, -0x2000, -0x2000, -0x2000, -0xf800, -0x0000, -0x0000, -0x0000, - -/* Character 207 (0xcf): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * * | - | | - |***** | - | * | - | * | - | * | - | * | - |***** | - | | - | | - | | - +------+ -*/ -0x0000, -0x5000, -0x0000, -0xf800, -0x2000, -0x2000, -0x2000, -0x2000, -0xf800, -0x0000, -0x0000, -0x0000, - -/* Character 208 (0xd0): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | *** | - | * * | - | * *| - |*** *| - | * *| - | * * | - | *** | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x7000, -0x4800, -0x4400, -0xe400, -0x4400, -0x4800, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 209 (0xd1): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | * * | - | * * | - | | - |* * | - |** * | - |* * * | - |* ** | - |* * | - |* * | - | | - | | - | | - +------+ -*/ -0x2800, -0x5000, -0x0000, -0x8800, -0xc800, -0xa800, -0x9800, -0x8800, -0x8800, -0x0000, -0x0000, -0x0000, - -/* Character 210 (0xd2): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | * | - | * | - | | - | *** | - |* * | - |* * | - |* * | - |* * | - | *** | - | | - | | - | | - +------+ -*/ -0x4000, -0x2000, -0x0000, -0x7000, -0x8800, -0x8800, -0x8800, -0x8800, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 211 (0xd3): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | * | - | * | - | | - | *** | - |* * | - |* * | - |* * | - |* * | - | *** | - | | - | | - | | - +------+ -*/ -0x1000, -0x2000, -0x0000, -0x7000, -0x8800, -0x8800, -0x8800, -0x8800, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 212 (0xd4): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | * | - | * * | - | | - | *** | - |* * | - |* * | - |* * | - |* * | - | *** | - | | - | | - | | - +------+ -*/ -0x2000, -0x5000, -0x0000, -0x7000, -0x8800, -0x8800, -0x8800, -0x8800, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 213 (0xd5): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | * * | - | * * | - | | - | *** | - |* * | - |* * | - |* * | - |* * | - | *** | - | | - | | - | | - +------+ -*/ -0x2800, -0x5000, -0x0000, -0x7000, -0x8800, -0x8800, -0x8800, -0x8800, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 214 (0xd6): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * * | - | | - | *** | - |* * | - |* * | - |* * | - |* * | - | *** | - | | - | | - | | - +------+ -*/ -0x0000, -0x5000, -0x0000, -0x7000, -0x8800, -0x8800, -0x8800, -0x8800, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 215 (0xd7): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - |* * | - | * * | - | * | - | * * | - |* * | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x8800, -0x5000, -0x2000, -0x5000, -0x8800, -0x0000, -0x0000, -0x0000, - -/* Character 216 (0xd8): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * | - | **** | - |* ** | - |* * * | - |* * * | - |* * * | - |** * | - |**** | - |* | - | | - | | - +------+ -*/ -0x0000, -0x0800, -0x7800, -0x9800, -0xa800, -0xa800, -0xa800, -0xc800, -0xf000, -0x8000, -0x0000, -0x0000, - -/* Character 217 (0xd9): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | * | - | * | - | | - |* * | - |* * | - |* * | - |* * | - |* * | - | *** | - | | - | | - | | - +------+ -*/ -0x4000, -0x2000, -0x0000, -0x8800, -0x8800, -0x8800, -0x8800, -0x8800, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 218 (0xda): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | * | - | * | - | | - |* * | - |* * | - |* * | - |* * | - |* * | - | *** | - | | - | | - | | - +------+ -*/ -0x1000, -0x2000, -0x0000, -0x8800, -0x8800, -0x8800, -0x8800, -0x8800, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 219 (0xdb): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | * | - | * * | - | | - |* * | - |* * | - |* * | - |* * | - |* * | - | *** | - | | - | | - | | - +------+ -*/ -0x2000, -0x5000, -0x0000, -0x8800, -0x8800, -0x8800, -0x8800, -0x8800, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 220 (0xdc): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * * | - | | - |* * | - |* * | - |* * | - |* * | - |* * | - | *** | - | | - | | - | | - +------+ -*/ -0x0000, -0x5000, -0x0000, -0x8800, -0x8800, -0x8800, -0x8800, -0x8800, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 221 (0xdd): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | * | - | * | - | | - |* * | - | * * | - | * | - | * | - | * | - | * | - | | - | | - | | - +------+ -*/ -0x1000, -0x2000, -0x0000, -0x8800, -0x5000, -0x2000, -0x2000, -0x2000, -0x2000, -0x0000, -0x0000, -0x0000, - -/* Character 222 (0xde): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - |* | - |**** | - |* * | - |* * | - |* * | - |**** | - |* | - |* | - | | - | | - | | - +------+ -*/ -0x0000, -0x8000, -0xf000, -0x8800, -0x8800, -0x8800, -0xf000, -0x8000, -0x8000, -0x0000, -0x0000, -0x0000, - -/* Character 223 (0xdf): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | ** | - | * * | - | * * | - |** * | - | * * | - | * * | - | * * | - | * * | - | | - | | - | | - +------+ -*/ -0x0000, -0x3000, -0x4800, -0x4800, -0xd000, -0x5000, -0x4800, -0x4800, -0x5000, -0x0000, -0x0000, -0x0000, - -/* Character 224 (0xe0): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * | - | * | - | | - | **** | - |* * | - |* * | - |* ** | - | ** * | - | | - | | - | | - +------+ -*/ -0x0000, -0x4000, -0x2000, -0x0000, -0x7800, -0x8800, -0x8800, -0x9800, -0x6800, -0x0000, -0x0000, -0x0000, - -/* Character 225 (0xe1): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * | - | * | - | | - | **** | - |* * | - |* * | - |* ** | - | ** * | - | | - | | - | | - +------+ -*/ -0x0000, -0x1000, -0x2000, -0x0000, -0x7800, -0x8800, -0x8800, -0x9800, -0x6800, -0x0000, -0x0000, -0x0000, - -/* Character 226 (0xe2): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * | - | * * | - | | - | **** | - |* * | - |* * | - |* ** | - | ** * | - | | - | | - | | - +------+ -*/ -0x0000, -0x2000, -0x5000, -0x0000, -0x7800, -0x8800, -0x8800, -0x9800, -0x6800, -0x0000, -0x0000, -0x0000, - -/* Character 227 (0xe3): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * * | - | * * | - | | - | **** | - |* * | - |* * | - |* ** | - | ** * | - | | - | | - | | - +------+ -*/ -0x0000, -0x2800, -0x5000, -0x0000, -0x7800, -0x8800, -0x8800, -0x9800, -0x6800, -0x0000, -0x0000, -0x0000, - -/* Character 228 (0xe4): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | * * | - | | - | **** | - |* * | - |* * | - |* ** | - | ** * | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x5000, -0x0000, -0x7800, -0x8800, -0x8800, -0x9800, -0x6800, -0x0000, -0x0000, -0x0000, - -/* Character 229 (0xe5): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | * | - | * * | - | * | - | | - | **** | - |* * | - |* * | - |* ** | - | ** * | - | | - | | - | | - +------+ -*/ -0x2000, -0x5000, -0x2000, -0x0000, -0x7800, -0x8800, -0x8800, -0x9800, -0x6800, -0x0000, -0x0000, -0x0000, - -/* Character 230 (0xe6): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - | *** | - | * * | - | *** | - |* * | - | **** | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x7000, -0x2800, -0x7000, -0xa000, -0x7800, -0x0000, -0x0000, -0x0000, - -/* Character 231 (0xe7): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - | **** | - |* | - |* | - |* | - | **** | - | * | - | * | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x7800, -0x8000, -0x8000, -0x8000, -0x7800, -0x2000, -0x4000, -0x0000, - -/* Character 232 (0xe8): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * | - | * | - | | - | *** | - |* * | - |***** | - |* | - | *** | - | | - | | - | | - +------+ -*/ -0x0000, -0x4000, -0x2000, -0x0000, -0x7000, -0x8800, -0xf800, -0x8000, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 233 (0xe9): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * | - | * | - | | - | *** | - |* * | - |***** | - |* | - | *** | - | | - | | - | | - +------+ -*/ -0x0000, -0x1000, -0x2000, -0x0000, -0x7000, -0x8800, -0xf800, -0x8000, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 234 (0xea): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * | - | * * | - | | - | *** | - |* * | - |***** | - |* | - | *** | - | | - | | - | | - +------+ -*/ -0x0000, -0x2000, -0x5000, -0x0000, -0x7000, -0x8800, -0xf800, -0x8000, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 235 (0xeb): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | * * | - | | - | *** | - |* * | - |***** | - |* | - | *** | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x5000, -0x0000, -0x7000, -0x8800, -0xf800, -0x8000, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 236 (0xec): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * | - | * | - | | - | ** | - | * | - | * | - | * | - | *** | - | | - | | - | | - +------+ -*/ -0x0000, -0x4000, -0x2000, -0x0000, -0x6000, -0x2000, -0x2000, -0x2000, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 237 (0xed): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * | - | * | - | | - | ** | - | * | - | * | - | * | - | *** | - | | - | | - | | - +------+ -*/ -0x0000, -0x2000, -0x4000, -0x0000, -0x6000, -0x2000, -0x2000, -0x2000, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 238 (0xee): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * | - | * * | - | | - | ** | - | * | - | * | - | * | - | *** | - | | - | | - | | - +------+ -*/ -0x0000, -0x2000, -0x5000, -0x0000, -0x6000, -0x2000, -0x2000, -0x2000, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 239 (0xef): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | * * | - | | - | ** | - | * | - | * | - | * | - | *** | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x5000, -0x0000, -0x6000, -0x2000, -0x2000, -0x2000, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 240 (0xf0): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * * | - | * | - | * * | - | * | - | **** | - |* * | - |* * | - | *** | - | | - | | - | | - +------+ -*/ -0x0000, -0x2800, -0x1000, -0x2800, -0x0800, -0x7800, -0x8800, -0x8800, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 241 (0xf1): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * * | - | * * | - | | - |* ** | - |** * | - |* * | - |* * | - |* * | - | | - | | - | | - +------+ -*/ -0x0000, -0x2800, -0x5000, -0x0000, -0xb000, -0xc800, -0x8800, -0x8800, -0x8800, -0x0000, -0x0000, -0x0000, - -/* Character 242 (0xf2): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * | - | * | - | | - | *** | - |* * | - |* * | - |* * | - | *** | - | | - | | - | | - +------+ -*/ -0x0000, -0x4000, -0x2000, -0x0000, -0x7000, -0x8800, -0x8800, -0x8800, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 243 (0xf3): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * | - | * | - | | - | *** | - |* * | - |* * | - |* * | - | *** | - | | - | | - | | - +------+ -*/ -0x0000, -0x1000, -0x2000, -0x0000, -0x7000, -0x8800, -0x8800, -0x8800, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 244 (0xf4): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * | - | * * | - | | - | *** | - |* * | - |* * | - |* * | - | *** | - | | - | | - | | - +------+ -*/ -0x0000, -0x2000, -0x5000, -0x0000, -0x7000, -0x8800, -0x8800, -0x8800, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 245 (0xf5): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * * | - | * * | - | | - | *** | - |* * | - |* * | - |* * | - | *** | - | | - | | - | | - +------+ -*/ -0x0000, -0x2800, -0x5000, -0x0000, -0x7000, -0x8800, -0x8800, -0x8800, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 246 (0xf6): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | * * | - | | - | *** | - |* * | - |* * | - |* * | - | *** | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x5000, -0x0000, -0x7000, -0x8800, -0x8800, -0x8800, -0x7000, -0x0000, -0x0000, -0x0000, - -/* Character 247 (0xf7): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | | - | * | - | | - |***** | - | | - | * | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0000, -0x2000, -0x0000, -0xf800, -0x0000, -0x2000, -0x0000, -0x0000, -0x0000, - -/* Character 248 (0xf8): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | | - | * | - | **** | - |* ** | - |* * * | - |** * | - |**** | - |* | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x0000, -0x0800, -0x7800, -0x9800, -0xa800, -0xc800, -0xf000, -0x8000, -0x0000, -0x0000, - -/* Character 249 (0xf9): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * | - | * | - | | - |* * | - |* * | - |* * | - |* ** | - | ** * | - | | - | | - | | - +------+ -*/ -0x0000, -0x4000, -0x2000, -0x0000, -0x8800, -0x8800, -0x8800, -0x9800, -0x6800, -0x0000, -0x0000, -0x0000, - -/* Character 250 (0xfa): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * | - | * | - | | - |* * | - |* * | - |* * | - |* ** | - | ** * | - | | - | | - | | - +------+ -*/ -0x0000, -0x1000, -0x2000, -0x0000, -0x8800, -0x8800, -0x8800, -0x9800, -0x6800, -0x0000, -0x0000, -0x0000, - -/* Character 251 (0xfb): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * | - | * * | - | | - |* * | - |* * | - |* * | - |* ** | - | ** * | - | | - | | - | | - +------+ -*/ -0x0000, -0x2000, -0x5000, -0x0000, -0x8800, -0x8800, -0x8800, -0x9800, -0x6800, -0x0000, -0x0000, -0x0000, - -/* Character 252 (0xfc): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | * * | - | | - |* * | - |* * | - |* * | - |* ** | - | ** * | - | | - | | - | | - +------+ -*/ -0x0000, -0x0000, -0x5000, -0x0000, -0x8800, -0x8800, -0x8800, -0x9800, -0x6800, -0x0000, -0x0000, -0x0000, - -/* Character 253 (0xfd): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | * | - | * | - | | - |* * | - |* * | - |* * | - |* * | - | **** | - | * | - | * | - | *** | - +------+ -*/ -0x0000, -0x1000, -0x2000, -0x0000, -0x8800, -0x8800, -0x8800, -0x8800, -0x7800, -0x0800, -0x0800, -0x7000, - -/* Character 254 (0xfe): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - |* | - |* | - |* | - |* ** | - |** * | - |* * | - |** * | - |* ** | - |* | - |* | - | | - +------+ -*/ -0x0000, -0x8000, -0x8000, -0x8000, -0xb000, -0xc800, -0x8800, -0xc800, -0xb000, -0x8000, -0x8000, -0x0000, - -/* Character 255 (0xff): - width 6 - bbx ( 6, 12, 0, -3 ) - - +------+ - | | - | | - | * * | - | | - |* * | - |* * | - |* * | - |* * | - | **** | - | * | - | * | - | *** | - +------+ -*/ -0x0000, -0x0000, -0x5000, -0x0000, -0x8800, -0x8800, -0x8800, -0x8800, -0x7800, -0x0800, -0x0800, -0x7000, -}; - -/* Character->glyph mapping. */ -static const unsigned long _sysfont_offset[] = { - 0, /* (0x00) */ - 12, /* (0x01) */ - 24, /* (0x02) */ - 36, /* (0x03) */ - 48, /* (0x04) */ - 60, /* (0x05) */ - 72, /* (0x06) */ - 84, /* (0x07) */ - 96, /* (0x08) */ - 108, /* (0x09) */ - 120, /* (0x0a) */ - 132, /* (0x0b) */ - 144, /* (0x0c) */ - 156, /* (0x0d) */ - 168, /* (0x0e) */ - 180, /* (0x0f) */ - 192, /* (0x10) */ - 204, /* (0x11) */ - 216, /* (0x12) */ - 228, /* (0x13) */ - 240, /* (0x14) */ - 252, /* (0x15) */ - 264, /* (0x16) */ - 276, /* (0x17) */ - 288, /* (0x18) */ - 300, /* (0x19) */ - 312, /* (0x1a) */ - 324, /* (0x1b) */ - 336, /* (0x1c) */ - 348, /* (0x1d) */ - 360, /* (0x1e) */ - 372, /* (0x1f) */ - 384, /* (0x20) */ - 396, /* (0x21) */ - 408, /* (0x22) */ - 420, /* (0x23) */ - 432, /* (0x24) */ - 444, /* (0x25) */ - 456, /* (0x26) */ - 468, /* (0x27) */ - 480, /* (0x28) */ - 492, /* (0x29) */ - 504, /* (0x2a) */ - 516, /* (0x2b) */ - 528, /* (0x2c) */ - 540, /* (0x2d) */ - 552, /* (0x2e) */ - 564, /* (0x2f) */ - 576, /* (0x30) */ - 588, /* (0x31) */ - 600, /* (0x32) */ - 612, /* (0x33) */ - 624, /* (0x34) */ - 636, /* (0x35) */ - 648, /* (0x36) */ - 660, /* (0x37) */ - 672, /* (0x38) */ - 684, /* (0x39) */ - 696, /* (0x3a) */ - 708, /* (0x3b) */ - 720, /* (0x3c) */ - 732, /* (0x3d) */ - 744, /* (0x3e) */ - 756, /* (0x3f) */ - 768, /* (0x40) */ - 780, /* (0x41) */ - 792, /* (0x42) */ - 804, /* (0x43) */ - 816, /* (0x44) */ - 828, /* (0x45) */ - 840, /* (0x46) */ - 852, /* (0x47) */ - 864, /* (0x48) */ - 876, /* (0x49) */ - 888, /* (0x4a) */ - 900, /* (0x4b) */ - 912, /* (0x4c) */ - 924, /* (0x4d) */ - 936, /* (0x4e) */ - 948, /* (0x4f) */ - 960, /* (0x50) */ - 972, /* (0x51) */ - 984, /* (0x52) */ - 996, /* (0x53) */ - 1008, /* (0x54) */ - 1020, /* (0x55) */ - 1032, /* (0x56) */ - 1044, /* (0x57) */ - 1056, /* (0x58) */ - 1068, /* (0x59) */ - 1080, /* (0x5a) */ - 1092, /* (0x5b) */ - 1104, /* (0x5c) */ - 1116, /* (0x5d) */ - 1128, /* (0x5e) */ - 1140, /* (0x5f) */ - 1152, /* (0x60) */ - 1164, /* (0x61) */ - 1176, /* (0x62) */ - 1188, /* (0x63) */ - 1200, /* (0x64) */ - 1212, /* (0x65) */ - 1224, /* (0x66) */ - 1236, /* (0x67) */ - 1248, /* (0x68) */ - 1260, /* (0x69) */ - 1272, /* (0x6a) */ - 1284, /* (0x6b) */ - 1296, /* (0x6c) */ - 1308, /* (0x6d) */ - 1320, /* (0x6e) */ - 1332, /* (0x6f) */ - 1344, /* (0x70) */ - 1356, /* (0x71) */ - 1368, /* (0x72) */ - 1380, /* (0x73) */ - 1392, /* (0x74) */ - 1404, /* (0x75) */ - 1416, /* (0x76) */ - 1428, /* (0x77) */ - 1440, /* (0x78) */ - 1452, /* (0x79) */ - 1464, /* (0x7a) */ - 1476, /* (0x7b) */ - 1488, /* (0x7c) */ - 1500, /* (0x7d) */ - 1512, /* (0x7e) */ - 0, /* (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) */ - 1524, /* (0xa0) */ - 1536, /* (0xa1) */ - 1548, /* (0xa2) */ - 1560, /* (0xa3) */ - 1572, /* (0xa4) */ - 1584, /* (0xa5) */ - 1596, /* (0xa6) */ - 1608, /* (0xa7) */ - 1620, /* (0xa8) */ - 1632, /* (0xa9) */ - 1644, /* (0xaa) */ - 1656, /* (0xab) */ - 1668, /* (0xac) */ - 1680, /* (0xad) */ - 1692, /* (0xae) */ - 1704, /* (0xaf) */ - 1716, /* (0xb0) */ - 1728, /* (0xb1) */ - 1740, /* (0xb2) */ - 1752, /* (0xb3) */ - 1764, /* (0xb4) */ - 1776, /* (0xb5) */ - 1788, /* (0xb6) */ - 1800, /* (0xb7) */ - 1812, /* (0xb8) */ - 1824, /* (0xb9) */ - 1836, /* (0xba) */ - 1848, /* (0xbb) */ - 1860, /* (0xbc) */ - 1872, /* (0xbd) */ - 1884, /* (0xbe) */ - 1896, /* (0xbf) */ - 1908, /* (0xc0) */ - 1920, /* (0xc1) */ - 1932, /* (0xc2) */ - 1944, /* (0xc3) */ - 1956, /* (0xc4) */ - 1968, /* (0xc5) */ - 1980, /* (0xc6) */ - 1992, /* (0xc7) */ - 2004, /* (0xc8) */ - 2016, /* (0xc9) */ - 2028, /* (0xca) */ - 2040, /* (0xcb) */ - 2052, /* (0xcc) */ - 2064, /* (0xcd) */ - 2076, /* (0xce) */ - 2088, /* (0xcf) */ - 2100, /* (0xd0) */ - 2112, /* (0xd1) */ - 2124, /* (0xd2) */ - 2136, /* (0xd3) */ - 2148, /* (0xd4) */ - 2160, /* (0xd5) */ - 2172, /* (0xd6) */ - 2184, /* (0xd7) */ - 2196, /* (0xd8) */ - 2208, /* (0xd9) */ - 2220, /* (0xda) */ - 2232, /* (0xdb) */ - 2244, /* (0xdc) */ - 2256, /* (0xdd) */ - 2268, /* (0xde) */ - 2280, /* (0xdf) */ - 2292, /* (0xe0) */ - 2304, /* (0xe1) */ - 2316, /* (0xe2) */ - 2328, /* (0xe3) */ - 2340, /* (0xe4) */ - 2352, /* (0xe5) */ - 2364, /* (0xe6) */ - 2376, /* (0xe7) */ - 2388, /* (0xe8) */ - 2400, /* (0xe9) */ - 2412, /* (0xea) */ - 2424, /* (0xeb) */ - 2436, /* (0xec) */ - 2448, /* (0xed) */ - 2460, /* (0xee) */ - 2472, /* (0xef) */ - 2484, /* (0xf0) */ - 2496, /* (0xf1) */ - 2508, /* (0xf2) */ - 2520, /* (0xf3) */ - 2532, /* (0xf4) */ - 2544, /* (0xf5) */ - 2556, /* (0xf6) */ - 2568, /* (0xf7) */ - 2580, /* (0xf8) */ - 2592, /* (0xf9) */ - 2604, /* (0xfa) */ - 2616, /* (0xfb) */ - 2628, /* (0xfc) */ - 2640, /* (0xfd) */ - 2652, /* (0xfe) */ - 2664, /* (0xff) */ -}; - -/* Exported structure definition. */ -static const BdfFontDesc desc = { - "clR6x12-L1", - 6, - 12, - 6, 12, 0, -3, - 9, +// Character 0 (0x00) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// |* * * | +// | | +// |* * | +// | | +// |* * | +// | | +// |* * * | +// | | +// | | +// | | +// +------+ +static const byte glyph0[] = { + 0x00, + 0x00, + 0xA8, + 0x00, + 0x88, + 0x00, + 0x88, + 0x00, + 0xA8, + 0x00, + 0x00, + 0x00 +}; + +// Character 1 (0x01) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// | * | +// | *** | +// |***** | +// | *** | +// | * | +// | | +// | | +// | | +// +------+ +static const byte glyph1[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0x70, + 0xF8, + 0x70, + 0x20, + 0x00, + 0x00, + 0x00 +}; + +// Character 2 (0x02) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// |* * * | +// | * * *| +// |* * * | +// | * * *| +// |* * * | +// | * * *| +// |* * * | +// | * * *| +// |* * * | +// | * * *| +// |* * * | +// | * * *| +// +------+ +static const byte glyph2[] = { + 0xA8, + 0x54, + 0xA8, + 0x54, + 0xA8, + 0x54, + 0xA8, + 0x54, + 0xA8, + 0x54, + 0xA8, + 0x54 +}; + +// Character 3 (0x03) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// |* * | +// |* * | +// |*** | +// |* * | +// |* ****| +// | * | +// | * | +// | * | +// | * | +// | | +// | | +// +------+ +static const byte glyph3[] = { + 0x00, + 0xA0, + 0xA0, + 0xE0, + 0xA0, + 0xBC, + 0x08, + 0x08, + 0x08, + 0x08, + 0x00, + 0x00 +}; + +// Character 4 (0x04) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// |*** | +// |* | +// |** | +// |* ***| +// |* * | +// | ***| +// | * | +// | * | +// | | +// | | +// | | +// +------+ +static const byte glyph4[] = { + 0x00, + 0xE0, + 0x80, + 0xC0, + 0x9C, + 0x90, + 0x1C, + 0x10, + 0x10, + 0x00, + 0x00, + 0x00 +}; + +// Character 5 (0x05) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | ** | +// |* | +// |* | +// |* ** | +// | *** *| +// | ** | +// | * *| +// | * *| +// | | +// | | +// | | +// +------+ +static const byte glyph5[] = { + 0x00, + 0x60, + 0x80, + 0x80, + 0x98, + 0x74, + 0x18, + 0x14, + 0x14, + 0x00, + 0x00, + 0x00 +}; + +// Character 6 (0x06) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// |* | +// |* | +// |* | +// |* ***| +// |**** | +// | ** | +// | * | +// | * | +// | | +// | | +// | | +// +------+ +static const byte glyph6[] = { + 0x00, + 0x80, + 0x80, + 0x80, + 0x9C, + 0xF0, + 0x18, + 0x10, + 0x10, + 0x00, + 0x00, + 0x00 +}; + +// Character 7 (0x07) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | ** | +// | * * | +// | * * | +// | ** | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// +------+ +static const byte glyph7[] = { + 0x00, + 0x30, + 0x48, + 0x48, + 0x30, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 8 (0x08) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | * | +// | * | +// |***** | +// | * | +// | * | +// | | +// |***** | +// | | +// | | +// | | +// +------+ +static const byte glyph8[] = { + 0x00, + 0x00, + 0x20, + 0x20, + 0xF8, + 0x20, + 0x20, + 0x00, + 0xF8, + 0x00, + 0x00, + 0x00 +}; + +// Character 9 (0x09) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// |* * | +// |*** | +// |*** | +// |*** | +// |* ** | +// | * | +// | * | +// | * | +// | ***| +// | | +// | | +// | | +// +------+ +static const byte glyph9[] = { + 0xA0, + 0xE0, + 0xE0, + 0xE0, + 0xB0, + 0x10, + 0x10, + 0x10, + 0x1C, + 0x00, + 0x00, + 0x00 +}; + +// Character 10 (0x0A) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// |* * | +// |* * | +// |* * | +// | * ***| +// | * * | +// | * | +// | * | +// | * | +// | | +// | | +// | | +// +------+ +static const byte glyph10[] = { + 0x00, + 0xA0, + 0xA0, + 0xA0, + 0x5C, + 0x48, + 0x08, + 0x08, + 0x08, + 0x00, + 0x00, + 0x00 +}; + +// Character 11 (0x0B) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// |*** | +// | | +// | | +// | | +// | | +// | | +// +------+ +static const byte glyph11[] = { + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0xE0, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 12 (0x0C) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// | | +// | | +// |*** | +// | * | +// | * | +// | * | +// | * | +// | * | +// +------+ +static const byte glyph12[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xE0, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20 +}; + +// Character 13 (0x0D) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// | | +// | | +// | ****| +// | * | +// | * | +// | * | +// | * | +// | * | +// +------+ +static const byte glyph13[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x3F, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20 +}; + +// Character 14 (0x0E) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | ****| +// | | +// | | +// | | +// | | +// | | +// +------+ +static const byte glyph14[] = { + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x3F, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 15 (0x0F) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// |******| +// | * | +// | * | +// | * | +// | * | +// | * | +// +------+ +static const byte glyph15[] = { + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0xFF, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20 +}; + +// Character 16 (0x10) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// |******| +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// +------+ +static const byte glyph16[] = { + 0xFC, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 17 (0x11) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// |******| +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// +------+ +static const byte glyph17[] = { + 0x00, + 0x00, + 0x00, + 0xFC, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 18 (0x12) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// | | +// | | +// |******| +// | | +// | | +// | | +// | | +// | | +// +------+ +static const byte glyph18[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xFC, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 19 (0x13) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// |******| +// | | +// | | +// | | +// +------+ +static const byte glyph19[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xFC, + 0x00, + 0x00, + 0x00 +}; + +// Character 20 (0x14) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// |******| +// +------+ +static const byte glyph20[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xFC +}; + +// Character 21 (0x15) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | ****| +// | * | +// | * | +// | * | +// | * | +// | * | +// +------+ +static const byte glyph21[] = { + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x3F, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20 +}; + +// Character 22 (0x16) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// |*** | +// | * | +// | * | +// | * | +// | * | +// | * | +// +------+ +static const byte glyph22[] = { + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0xE0, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20 +}; + +// Character 23 (0x17) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// |******| +// | | +// | | +// | | +// | | +// | | +// +------+ +static const byte glyph23[] = { + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0xFF, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 24 (0x18) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// | | +// | | +// |******| +// | * | +// | * | +// | * | +// | * | +// | * | +// +------+ +static const byte glyph24[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xFF, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20 +}; + +// Character 25 (0x19) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// +------+ +static const byte glyph25[] = { + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20 +}; + +// Character 26 (0x1A) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | ** | +// | ** | +// |* | +// | ** | +// | ** | +// | | +// |***** | +// | | +// | | +// | | +// +------+ +static const byte glyph26[] = { + 0x00, + 0x00, + 0x18, + 0x60, + 0x80, + 0x60, + 0x18, + 0x00, + 0xF8, + 0x00, + 0x00, + 0x00 +}; + +// Character 27 (0x1B) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// |** | +// | ** | +// | * | +// | ** | +// |** | +// | | +// |***** | +// | | +// | | +// | | +// +------+ +static const byte glyph27[] = { + 0x00, + 0x00, + 0xC0, + 0x30, + 0x08, + 0x30, + 0xC0, + 0x00, + 0xF8, + 0x00, + 0x00, + 0x00 +}; + +// Character 28 (0x1C) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// |***** | +// |* * | +// |* * | +// |* * | +// |* * | +// | | +// | | +// | | +// +------+ +static const byte glyph28[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0xF8, + 0x88, + 0x88, + 0x88, + 0x88, + 0x00, + 0x00, + 0x00 +}; + +// Character 29 (0x1D) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | * | +// | * | +// |***** | +// | * | +// |***** | +// | * | +// | * | +// | | +// | | +// | | +// +------+ +static const byte glyph29[] = { + 0x00, + 0x00, + 0x10, + 0x10, + 0xF8, + 0x20, + 0xF8, + 0x40, + 0x40, + 0x00, + 0x00, + 0x00 +}; + +// Character 30 (0x1E) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | ** | +// | * * | +// | * | +// |*** | +// | * | +// | * | +// | * * | +// |* ** | +// | | +// | | +// | | +// +------+ +static const byte glyph30[] = { + 0x00, + 0x30, + 0x48, + 0x40, + 0xE0, + 0x40, + 0x40, + 0x48, + 0xB0, + 0x00, + 0x00, + 0x00 +}; + +// Character 31 (0x1F) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// | | +// | | +// | ** | +// | | +// | | +// | | +// | | +// | | +// +------+ +static const byte glyph31[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x30, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 32 (0x20) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// +------+ +static const byte glyph32[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 33 (0x21) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | | +// | * | +// | | +// | | +// | | +// +------+ +static const byte glyph33[] = { + 0x00, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x00, + 0x20, + 0x00, + 0x00, + 0x00 +}; + +// Character 34 (0x22) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * * | +// | * * | +// | * * | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// +------+ +static const byte glyph34[] = { + 0x00, + 0x50, + 0x50, + 0x50, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 35 (0x23) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | * * | +// | * * | +// |***** | +// | * * | +// |***** | +// | * * | +// | * * | +// | | +// | | +// | | +// +------+ +static const byte glyph35[] = { + 0x00, + 0x00, + 0x50, + 0x50, + 0xF8, + 0x50, + 0xF8, + 0x50, + 0x50, + 0x00, + 0x00, + 0x00 +}; + +// Character 36 (0x24) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | * | +// | **** | +// |* * | +// | *** | +// | * * | +// |**** | +// | * | +// | | +// | | +// | | +// +------+ +static const byte glyph36[] = { + 0x00, + 0x00, + 0x20, + 0x78, + 0xA0, + 0x70, + 0x28, + 0xF0, + 0x20, + 0x00, + 0x00, + 0x00 +}; + +// Character 37 (0x25) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// |** | +// |** * | +// | * | +// | * | +// | * | +// |* ** | +// | ** | +// | | +// | | +// | | +// +------+ +static const byte glyph37[] = { + 0x00, + 0x00, + 0xC0, + 0xC8, + 0x10, + 0x20, + 0x40, + 0x98, + 0x18, + 0x00, + 0x00, + 0x00 +}; + +// Character 38 (0x26) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | *** | +// |* | +// |* | +// | * | +// |* * * | +// |* * | +// | ** * | +// | | +// | | +// | | +// +------+ +static const byte glyph38[] = { + 0x00, + 0x00, + 0x70, + 0x80, + 0x80, + 0x40, + 0xA8, + 0x90, + 0x68, + 0x00, + 0x00, + 0x00 +}; + +// Character 39 (0x27) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * | +// | * | +// | * | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// +------+ +static const byte glyph39[] = { + 0x00, + 0x20, + 0x20, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 40 (0x28) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | | +// +------+ +static const byte glyph40[] = { + 0x08, + 0x10, + 0x10, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x10, + 0x10, + 0x08, + 0x00 +}; + +// Character 41 (0x29) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | | +// +------+ +static const byte glyph41[] = { + 0x40, + 0x20, + 0x20, + 0x10, + 0x10, + 0x10, + 0x10, + 0x10, + 0x20, + 0x20, + 0x40, + 0x00 +}; + +// Character 42 (0x2A) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | * | +// |* * * | +// | *** | +// |* * * | +// | * | +// | | +// | | +// | | +// | | +// +------+ +static const byte glyph42[] = { + 0x00, + 0x00, + 0x00, + 0x20, + 0xA8, + 0x70, + 0xA8, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 43 (0x2B) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | * | +// | * | +// |***** | +// | * | +// | * | +// | | +// | | +// | | +// | | +// +------+ +static const byte glyph43[] = { + 0x00, + 0x00, + 0x00, + 0x20, + 0x20, + 0xF8, + 0x20, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 44 (0x2C) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | ** | +// | ** | +// | * | +// | * | +// | | +// +------+ +static const byte glyph44[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x30, + 0x30, + 0x20, + 0x40, + 0x00 +}; + +// Character 45 (0x2D) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// | | +// |***** | +// | | +// | | +// | | +// | | +// | | +// | | +// +------+ +static const byte glyph45[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xF8, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 46 (0x2E) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | ** | +// | ** | +// | | +// | | +// | | +// +------+ +static const byte glyph46[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x30, + 0x30, + 0x00, + 0x00, + 0x00 +}; + +// Character 47 (0x2F) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// |* | +// |* | +// | | +// | | +// +------+ +static const byte glyph47[] = { + 0x08, + 0x08, + 0x10, + 0x10, + 0x20, + 0x20, + 0x40, + 0x40, + 0x80, + 0x80, + 0x00, + 0x00 +}; + +// Character 48 (0x30) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | *** | +// |* * | +// |* ** | +// |* * * | +// |** * | +// |* * | +// |* * | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph48[] = { + 0x00, + 0x70, + 0x88, + 0x98, + 0xA8, + 0xC8, + 0x88, + 0x88, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 49 (0x31) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * | +// | ** | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | | +// | | +// | | +// +------+ +static const byte glyph49[] = { + 0x00, + 0x10, + 0x30, + 0x10, + 0x10, + 0x10, + 0x10, + 0x10, + 0x10, + 0x00, + 0x00, + 0x00 +}; + +// Character 50 (0x32) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | *** | +// |* * | +// | * | +// | * | +// | * | +// | * | +// |* | +// |***** | +// | | +// | | +// | | +// +------+ +static const byte glyph50[] = { + 0x00, + 0x70, + 0x88, + 0x08, + 0x10, + 0x20, + 0x40, + 0x80, + 0xF8, + 0x00, + 0x00, + 0x00 +}; + +// Character 51 (0x33) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | *** | +// |* * | +// | * | +// | ** | +// | * | +// | * | +// |* * | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph51[] = { + 0x00, + 0x70, + 0x88, + 0x08, + 0x30, + 0x08, + 0x08, + 0x88, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 52 (0x34) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * | +// | ** | +// | ** | +// | * * | +// | * * | +// |***** | +// | * | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph52[] = { + 0x00, + 0x10, + 0x30, + 0x30, + 0x50, + 0x50, + 0xF8, + 0x10, + 0x38, + 0x00, + 0x00, + 0x00 +}; + +// Character 53 (0x35) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// |***** | +// |* | +// |* | +// |**** | +// | * | +// | * | +// |* * | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph53[] = { + 0x00, + 0xF8, + 0x80, + 0x80, + 0xF0, + 0x08, + 0x08, + 0x88, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 54 (0x36) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | ** | +// | * | +// |* | +// |**** | +// |* * | +// |* * | +// |* * | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph54[] = { + 0x00, + 0x30, + 0x40, + 0x80, + 0xF0, + 0x88, + 0x88, + 0x88, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 55 (0x37) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// |***** | +// |* * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | | +// | | +// | | +// +------+ +static const byte glyph55[] = { + 0x00, + 0xF8, + 0x88, + 0x08, + 0x08, + 0x10, + 0x10, + 0x20, + 0x20, + 0x00, + 0x00, + 0x00 +}; + +// Character 56 (0x38) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | *** | +// |* * | +// |* * | +// | *** | +// |* * | +// |* * | +// |* * | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph56[] = { + 0x00, + 0x70, + 0x88, + 0x88, + 0x70, + 0x88, + 0x88, + 0x88, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 57 (0x39) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | *** | +// |* * | +// |* * | +// |* * | +// | **** | +// | * | +// | * | +// | ** | +// | | +// | | +// | | +// +------+ +static const byte glyph57[] = { + 0x00, + 0x70, + 0x88, + 0x88, + 0x88, + 0x78, + 0x08, + 0x10, + 0x60, + 0x00, + 0x00, + 0x00 +}; + +// Character 58 (0x3A) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | ** | +// | ** | +// | | +// | | +// | ** | +// | ** | +// | | +// | | +// | | +// +------+ +static const byte glyph58[] = { + 0x00, + 0x00, + 0x00, + 0x30, + 0x30, + 0x00, + 0x00, + 0x30, + 0x30, + 0x00, + 0x00, + 0x00 +}; + +// Character 59 (0x3B) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | ** | +// | ** | +// | | +// | | +// | ** | +// | ** | +// | * | +// | * | +// | | +// +------+ +static const byte glyph59[] = { + 0x00, + 0x00, + 0x00, + 0x30, + 0x30, + 0x00, + 0x00, + 0x30, + 0x30, + 0x20, + 0x40, + 0x00 +}; + +// Character 60 (0x3C) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | **| +// | ** | +// |** | +// | ** | +// | **| +// | | +// | | +// | | +// | | +// +------+ +static const byte glyph60[] = { + 0x00, + 0x00, + 0x00, + 0x0C, + 0x30, + 0xC0, + 0x30, + 0x0C, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 61 (0x3D) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// |***** | +// | | +// |***** | +// | | +// | | +// | | +// | | +// | | +// +------+ +static const byte glyph61[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0xF8, + 0x00, + 0xF8, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 62 (0x3E) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// |** | +// | ** | +// | **| +// | ** | +// |** | +// | | +// | | +// | | +// | | +// +------+ +static const byte glyph62[] = { + 0x00, + 0x00, + 0x00, + 0xC0, + 0x30, + 0x0C, + 0x30, + 0xC0, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 63 (0x3F) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | *** | +// |* * | +// | * | +// | * | +// | * | +// | * | +// | | +// | * | +// | | +// | | +// | | +// +------+ +static const byte glyph63[] = { + 0x00, + 0x70, + 0x88, + 0x08, + 0x10, + 0x20, + 0x20, + 0x00, + 0x20, + 0x00, + 0x00, + 0x00 +}; + +// Character 64 (0x40) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | *** | +// |* * | +// |* *** | +// |* *** | +// |* ** | +// |* | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph64[] = { + 0x00, + 0x00, + 0x70, + 0x88, + 0xB8, + 0xB8, + 0xB0, + 0x80, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 65 (0x41) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | * | +// | * * | +// |* * | +// |* * | +// |***** | +// |* * | +// |* * | +// | | +// | | +// | | +// +------+ +static const byte glyph65[] = { + 0x00, + 0x00, + 0x20, + 0x50, + 0x88, + 0x88, + 0xF8, + 0x88, + 0x88, + 0x00, + 0x00, + 0x00 +}; + +// Character 66 (0x42) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// |**** | +// |* * | +// |* * | +// |**** | +// |* * | +// |* * | +// |**** | +// | | +// | | +// | | +// +------+ +static const byte glyph66[] = { + 0x00, + 0x00, + 0xF0, + 0x88, + 0x88, + 0xF0, + 0x88, + 0x88, + 0xF0, + 0x00, + 0x00, + 0x00 +}; + +// Character 67 (0x43) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | *** | +// |* * | +// |* | +// |* | +// |* | +// |* * | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph67[] = { + 0x00, + 0x00, + 0x70, + 0x88, + 0x80, + 0x80, + 0x80, + 0x88, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 68 (0x44) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// |*** | +// |* * | +// |* * | +// |* * | +// |* * | +// |* * | +// |*** | +// | | +// | | +// | | +// +------+ +static const byte glyph68[] = { + 0x00, + 0x00, + 0xE0, + 0x90, + 0x88, + 0x88, + 0x88, + 0x90, + 0xE0, + 0x00, + 0x00, + 0x00 +}; + +// Character 69 (0x45) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// |***** | +// |* | +// |* | +// |**** | +// |* | +// |* | +// |***** | +// | | +// | | +// | | +// +------+ +static const byte glyph69[] = { + 0x00, + 0x00, + 0xF8, + 0x80, + 0x80, + 0xF0, + 0x80, + 0x80, + 0xF8, + 0x00, + 0x00, + 0x00 +}; + +// Character 70 (0x46) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// |***** | +// |* | +// |* | +// |**** | +// |* | +// |* | +// |* | +// | | +// | | +// | | +// +------+ +static const byte glyph70[] = { + 0x00, + 0x00, + 0xF8, + 0x80, + 0x80, + 0xF0, + 0x80, + 0x80, + 0x80, + 0x00, + 0x00, + 0x00 +}; + +// Character 71 (0x47) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | *** | +// |* * | +// |* | +// |* ** | +// |* * | +// |* * | +// | **** | +// | | +// | | +// | | +// +------+ +static const byte glyph71[] = { + 0x00, + 0x00, + 0x70, + 0x88, + 0x80, + 0x98, + 0x88, + 0x88, + 0x78, + 0x00, + 0x00, + 0x00 +}; + +// Character 72 (0x48) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// |* * | +// |* * | +// |* * | +// |***** | +// |* * | +// |* * | +// |* * | +// | | +// | | +// | | +// +------+ +static const byte glyph72[] = { + 0x00, + 0x00, + 0x88, + 0x88, + 0x88, + 0xF8, + 0x88, + 0x88, + 0x88, + 0x00, + 0x00, + 0x00 +}; + +// Character 73 (0x49) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// |***** | +// | * | +// | * | +// | * | +// | * | +// | * | +// |***** | +// | | +// | | +// | | +// +------+ +static const byte glyph73[] = { + 0x00, + 0x00, + 0xF8, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0xF8, + 0x00, + 0x00, + 0x00 +}; + +// Character 74 (0x4A) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | *** | +// | * | +// | * | +// | * | +// |* * | +// |* * | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph74[] = { + 0x00, + 0x00, + 0x38, + 0x08, + 0x08, + 0x08, + 0x88, + 0x88, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 75 (0x4B) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// |* * | +// |* * | +// |* * | +// |** | +// |* * | +// |* * | +// |* * | +// | | +// | | +// | | +// +------+ +static const byte glyph75[] = { + 0x00, + 0x00, + 0x88, + 0x90, + 0xA0, + 0xC0, + 0xA0, + 0x90, + 0x88, + 0x00, + 0x00, + 0x00 +}; + +// Character 76 (0x4C) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// |* | +// |* | +// |* | +// |* | +// |* | +// |* | +// |***** | +// | | +// | | +// | | +// +------+ +static const byte glyph76[] = { + 0x00, + 0x00, + 0x80, + 0x80, + 0x80, + 0x80, + 0x80, + 0x80, + 0xF8, + 0x00, + 0x00, + 0x00 +}; + +// Character 77 (0x4D) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// |* * | +// |** ** | +// |* * * | +// |* * * | +// |* * | +// |* * | +// |* * | +// | | +// | | +// | | +// +------+ +static const byte glyph77[] = { + 0x00, + 0x00, + 0x88, + 0xD8, + 0xA8, + 0xA8, + 0x88, + 0x88, + 0x88, + 0x00, + 0x00, + 0x00 +}; + +// Character 78 (0x4E) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// |* * | +// |** * | +// |** * | +// |* * * | +// |* ** | +// |* ** | +// |* * | +// | | +// | | +// | | +// +------+ +static const byte glyph78[] = { + 0x00, + 0x00, + 0x88, + 0xC8, + 0xC8, + 0xA8, + 0x98, + 0x98, + 0x88, + 0x00, + 0x00, + 0x00 +}; + +// Character 79 (0x4F) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | *** | +// |* * | +// |* * | +// |* * | +// |* * | +// |* * | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph79[] = { + 0x00, + 0x00, + 0x70, + 0x88, + 0x88, + 0x88, + 0x88, + 0x88, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 80 (0x50) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// |**** | +// |* * | +// |* * | +// |**** | +// |* | +// |* | +// |* | +// | | +// | | +// | | +// +------+ +static const byte glyph80[] = { + 0x00, + 0x00, + 0xF0, + 0x88, + 0x88, + 0xF0, + 0x80, + 0x80, + 0x80, + 0x00, + 0x00, + 0x00 +}; + +// Character 81 (0x51) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | *** | +// |* * | +// |* * | +// |* * | +// |* * | +// |* * | +// | *** | +// | ** | +// | | +// | | +// +------+ +static const byte glyph81[] = { + 0x00, + 0x00, + 0x70, + 0x88, + 0x88, + 0x88, + 0x88, + 0x88, + 0x70, + 0x18, + 0x00, + 0x00 +}; + +// Character 82 (0x52) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// |**** | +// |* * | +// |* * | +// |**** | +// |* * | +// |* * | +// |* * | +// | | +// | | +// | | +// +------+ +static const byte glyph82[] = { + 0x00, + 0x00, + 0xF0, + 0x88, + 0x88, + 0xF0, + 0xA0, + 0x90, + 0x88, + 0x00, + 0x00, + 0x00 +}; + +// Character 83 (0x53) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | *** | +// |* * | +// |* | +// | *** | +// | * | +// |* * | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph83[] = { + 0x00, + 0x00, + 0x70, + 0x88, + 0x80, + 0x70, + 0x08, + 0x88, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 84 (0x54) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// |***** | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | | +// | | +// | | +// +------+ +static const byte glyph84[] = { + 0x00, + 0x00, + 0xF8, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x00, + 0x00, + 0x00 +}; + +// Character 85 (0x55) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// |* * | +// |* * | +// |* * | +// |* * | +// |* * | +// |* * | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph85[] = { + 0x00, + 0x00, + 0x88, + 0x88, + 0x88, + 0x88, + 0x88, + 0x88, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 86 (0x56) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// |* * | +// |* * | +// |* * | +// | * * | +// | * * | +// | * | +// | * | +// | | +// | | +// | | +// +------+ +static const byte glyph86[] = { + 0x00, + 0x00, + 0x88, + 0x88, + 0x88, + 0x50, + 0x50, + 0x20, + 0x20, + 0x00, + 0x00, + 0x00 +}; + +// Character 87 (0x57) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// |* * | +// |* * | +// |* * | +// |* * * | +// |* * * | +// |** ** | +// |* * | +// | | +// | | +// | | +// +------+ +static const byte glyph87[] = { + 0x00, + 0x00, + 0x88, + 0x88, + 0x88, + 0xA8, + 0xA8, + 0xD8, + 0x88, + 0x00, + 0x00, + 0x00 +}; + +// Character 88 (0x58) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// |* * | +// |* * | +// | * * | +// | * | +// | * * | +// |* * | +// |* * | +// | | +// | | +// | | +// +------+ +static const byte glyph88[] = { + 0x00, + 0x00, + 0x88, + 0x88, + 0x50, + 0x20, + 0x50, + 0x88, + 0x88, + 0x00, + 0x00, + 0x00 +}; + +// Character 89 (0x59) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// |* * | +// |* * | +// | * * | +// | * | +// | * | +// | * | +// | * | +// | | +// | | +// | | +// +------+ +static const byte glyph89[] = { + 0x00, + 0x00, + 0x88, + 0x88, + 0x50, + 0x20, + 0x20, + 0x20, + 0x20, + 0x00, + 0x00, + 0x00 +}; + +// Character 90 (0x5A) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// |***** | +// | * | +// | * | +// | * | +// | * | +// |* | +// |***** | +// | | +// | | +// | | +// +------+ +static const byte glyph90[] = { + 0x00, + 0x00, + 0xF8, + 0x08, + 0x10, + 0x20, + 0x40, + 0x80, + 0xF8, + 0x00, + 0x00, + 0x00 +}; + +// Character 91 (0x5B) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | *** | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | *** | +// | | +// +------+ +static const byte glyph91[] = { + 0x38, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x38, + 0x00 +}; + +// Character 92 (0x5C) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// |* | +// |* | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | | +// | | +// +------+ +static const byte glyph92[] = { + 0x80, + 0x80, + 0x40, + 0x40, + 0x20, + 0x20, + 0x10, + 0x10, + 0x08, + 0x08, + 0x00, + 0x00 +}; + +// Character 93 (0x5D) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | *** | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | *** | +// | | +// +------+ +static const byte glyph93[] = { + 0x70, + 0x10, + 0x10, + 0x10, + 0x10, + 0x10, + 0x10, + 0x10, + 0x10, + 0x10, + 0x70, + 0x00 +}; + +// Character 94 (0x5E) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * | +// | * * | +// |* * | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// +------+ +static const byte glyph94[] = { + 0x00, + 0x20, + 0x50, + 0x88, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 95 (0x5F) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// |******| +// | | +// | | +// +------+ +static const byte glyph95[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xFC, + 0x00, + 0x00 +}; + +// Character 96 (0x60) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * | +// | * | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// +------+ +static const byte glyph96[] = { + 0x00, + 0x20, + 0x10, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 97 (0x61) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// | **** | +// |* * | +// |* * | +// |* ** | +// | ** * | +// | | +// | | +// | | +// +------+ +static const byte glyph97[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x78, + 0x88, + 0x88, + 0x98, + 0x68, + 0x00, + 0x00, + 0x00 +}; + +// Character 98 (0x62) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// |* | +// |* | +// |* | +// |**** | +// |* * | +// |* * | +// |* * | +// |**** | +// | | +// | | +// | | +// +------+ +static const byte glyph98[] = { + 0x00, + 0x80, + 0x80, + 0x80, + 0xF0, + 0x88, + 0x88, + 0x88, + 0xF0, + 0x00, + 0x00, + 0x00 +}; + +// Character 99 (0x63) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// | **** | +// |* | +// |* | +// |* | +// | **** | +// | | +// | | +// | | +// +------+ +static const byte glyph99[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x78, + 0x80, + 0x80, + 0x80, + 0x78, + 0x00, + 0x00, + 0x00 +}; + +// Character 100 (0x64) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * | +// | * | +// | * | +// | **** | +// |* * | +// |* * | +// |* * | +// | **** | +// | | +// | | +// | | +// +------+ +static const byte glyph100[] = { + 0x00, + 0x08, + 0x08, + 0x08, + 0x78, + 0x88, + 0x88, + 0x88, + 0x78, + 0x00, + 0x00, + 0x00 +}; + +// Character 101 (0x65) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// | *** | +// |* * | +// |***** | +// |* | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph101[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x70, + 0x88, + 0xF8, + 0x80, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 102 (0x66) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | *** | +// | * | +// | * | +// |**** | +// | * | +// | * | +// | * | +// | * | +// | | +// | | +// | | +// +------+ +static const byte glyph102[] = { + 0x00, + 0x38, + 0x40, + 0x40, + 0xF0, + 0x40, + 0x40, + 0x40, + 0x40, + 0x00, + 0x00, + 0x00 +}; + +// Character 103 (0x67) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// | **** | +// |* * | +// |* * | +// |* * | +// | **** | +// | * | +// | * | +// | *** | +// +------+ +static const byte glyph103[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x78, + 0x88, + 0x88, + 0x88, + 0x78, + 0x08, + 0x08, + 0x70 +}; + +// Character 104 (0x68) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// |* | +// |* | +// |* | +// |**** | +// |* * | +// |* * | +// |* * | +// |* * | +// | | +// | | +// | | +// +------+ +static const byte glyph104[] = { + 0x00, + 0x80, + 0x80, + 0x80, + 0xF0, + 0x88, + 0x88, + 0x88, + 0x88, + 0x00, + 0x00, + 0x00 +}; + +// Character 105 (0x69) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * | +// | * | +// | | +// | ** | +// | * | +// | * | +// | * | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph105[] = { + 0x00, + 0x20, + 0x20, + 0x00, + 0x60, + 0x20, + 0x20, + 0x20, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 106 (0x6A) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * | +// | * | +// | | +// | *** | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | *** | +// +------+ +static const byte glyph106[] = { + 0x00, + 0x08, + 0x08, + 0x00, + 0x38, + 0x08, + 0x08, + 0x08, + 0x08, + 0x08, + 0x08, + 0x70 +}; + +// Character 107 (0x6B) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * | +// | * | +// | * | +// | * * | +// | * * | +// | ** | +// | * * | +// | * * | +// | | +// | | +// | | +// +------+ +static const byte glyph107[] = { + 0x00, + 0x40, + 0x40, + 0x40, + 0x48, + 0x50, + 0x60, + 0x50, + 0x48, + 0x00, + 0x00, + 0x00 +}; + +// Character 108 (0x6C) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | ** | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph108[] = { + 0x00, + 0x60, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 109 (0x6D) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// |** * | +// |* * * | +// |* * * | +// |* * * | +// |* * | +// | | +// | | +// | | +// +------+ +static const byte glyph109[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0xD0, + 0xA8, + 0xA8, + 0xA8, + 0x88, + 0x00, + 0x00, + 0x00 +}; + +// Character 110 (0x6E) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// |* ** | +// |** * | +// |* * | +// |* * | +// |* * | +// | | +// | | +// | | +// +------+ +static const byte glyph110[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0xB0, + 0xC8, + 0x88, + 0x88, + 0x88, + 0x00, + 0x00, + 0x00 +}; + +// Character 111 (0x6F) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// | *** | +// |* * | +// |* * | +// |* * | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph111[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x70, + 0x88, + 0x88, + 0x88, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 112 (0x70) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// |**** | +// |* * | +// |* * | +// |* * | +// |**** | +// |* | +// |* | +// |* | +// +------+ +static const byte glyph112[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0xF0, + 0x88, + 0x88, + 0x88, + 0xF0, + 0x80, + 0x80, + 0x80 +}; + +// Character 113 (0x71) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// | **** | +// |* * | +// |* * | +// |* * | +// | **** | +// | * | +// | * | +// | * | +// +------+ +static const byte glyph113[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x78, + 0x88, + 0x88, + 0x88, + 0x78, + 0x08, + 0x08, + 0x08 +}; + +// Character 114 (0x72) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// | * ** | +// | ** | +// | * | +// | * | +// | * | +// | | +// | | +// | | +// +------+ +static const byte glyph114[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x58, + 0x60, + 0x40, + 0x40, + 0x40, + 0x00, + 0x00, + 0x00 +}; + +// Character 115 (0x73) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// | **** | +// |* | +// | *** | +// | * | +// |**** | +// | | +// | | +// | | +// +------+ +static const byte glyph115[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x78, + 0x80, + 0x70, + 0x08, + 0xF0, + 0x00, + 0x00, + 0x00 +}; + +// Character 116 (0x74) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * | +// | * | +// | * | +// | *** | +// | * | +// | * | +// | * | +// | ** | +// | | +// | | +// | | +// +------+ +static const byte glyph116[] = { + 0x00, + 0x20, + 0x20, + 0x20, + 0x70, + 0x20, + 0x20, + 0x20, + 0x18, + 0x00, + 0x00, + 0x00 +}; + +// Character 117 (0x75) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// |* * | +// |* * | +// |* * | +// |* ** | +// | ** * | +// | | +// | | +// | | +// +------+ +static const byte glyph117[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x88, + 0x88, + 0x88, + 0x98, + 0x68, + 0x00, + 0x00, + 0x00 +}; + +// Character 118 (0x76) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// |** ** | +// | * * | +// | * * | +// | * | +// | * | +// | | +// | | +// | | +// +------+ +static const byte glyph118[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0xD8, + 0x50, + 0x50, + 0x20, + 0x20, + 0x00, + 0x00, + 0x00 +}; + +// Character 119 (0x77) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// |* * | +// |* * * | +// |* * * | +// |* * * | +// | * * | +// | | +// | | +// | | +// +------+ +static const byte glyph119[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x88, + 0xA8, + 0xA8, + 0xA8, + 0x50, + 0x00, + 0x00, + 0x00 +}; + +// Character 120 (0x78) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// |* * | +// | * * | +// | * | +// | * * | +// |* * | +// | | +// | | +// | | +// +------+ +static const byte glyph120[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x88, + 0x50, + 0x20, + 0x50, + 0x88, + 0x00, + 0x00, + 0x00 +}; + +// Character 121 (0x79) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// |* * | +// |* * | +// |* * | +// |* * | +// | **** | +// | * | +// | * | +// | *** | +// +------+ +static const byte glyph121[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x88, + 0x88, + 0x88, + 0x88, + 0x78, + 0x08, + 0x08, + 0x70 +}; + +// Character 122 (0x7A) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// |***** | +// | * | +// | * | +// | * | +// |***** | +// | | +// | | +// | | +// +------+ +static const byte glyph122[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0xF8, + 0x10, + 0x20, + 0x40, + 0xF8, + 0x00, + 0x00, + 0x00 +}; + +// Character 123 (0x7B) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | | +// +------+ +static const byte glyph123[] = { + 0x08, + 0x10, + 0x10, + 0x10, + 0x10, + 0x20, + 0x10, + 0x10, + 0x10, + 0x10, + 0x08, + 0x00 +}; + +// Character 124 (0x7C) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | | +// +------+ +static const byte glyph124[] = { + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x00 +}; + +// Character 125 (0x7D) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | | +// +------+ +static const byte glyph125[] = { + 0x40, + 0x20, + 0x20, + 0x20, + 0x20, + 0x10, + 0x20, + 0x20, + 0x20, + 0x20, + 0x40, + 0x00 +}; + +// Character 126 (0x7E) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// | * | +// |* * * | +// | * | +// | | +// | | +// | | +// | | +// | | +// +------+ +static const byte glyph126[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xA8, + 0x10, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 160 (0xA0) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// +------+ +static const byte glyph160[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 161 (0xA1) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * | +// | | +// | * | +// | * | +// | * | +// | * | +// | * | +// | * | +// | | +// | | +// | | +// +------+ +static const byte glyph161[] = { + 0x00, + 0x20, + 0x00, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x20, + 0x00, + 0x00, + 0x00 +}; + +// Character 162 (0xA2) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | * | +// | *** | +// |* * * | +// |* * | +// |* * * | +// | *** | +// | * | +// | | +// | | +// +------+ +static const byte glyph162[] = { + 0x00, + 0x00, + 0x00, + 0x20, + 0x70, + 0xA8, + 0xA0, + 0xA8, + 0x70, + 0x20, + 0x00, + 0x00 +}; + +// Character 163 (0xA3) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | ** | +// | * * | +// | * | +// |*** | +// | * | +// | * | +// | * * | +// |* ** | +// | | +// | | +// | | +// +------+ +static const byte glyph163[] = { + 0x00, + 0x30, + 0x48, + 0x40, + 0xE0, + 0x40, + 0x40, + 0x48, + 0xB0, + 0x00, + 0x00, + 0x00 +}; + +// Character 164 (0xA4) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// |* * | +// | *** | +// | * * | +// | *** | +// |* * | +// | | +// | | +// | | +// +------+ +static const byte glyph164[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x88, + 0x70, + 0x50, + 0x70, + 0x88, + 0x00, + 0x00, + 0x00 +}; + +// Character 165 (0xA5) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// |* * | +// | * * | +// | * | +// | *** | +// | * | +// | *** | +// | * | +// | | +// | | +// | | +// +------+ +static const byte glyph165[] = { + 0x00, + 0x00, + 0x88, + 0x50, + 0x20, + 0x70, + 0x20, + 0x70, + 0x20, + 0x00, + 0x00, + 0x00 +}; + +// Character 166 (0xA6) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | * | +// | * | +// | * | +// | | +// | * | +// | * | +// | * | +// | | +// | | +// | | +// +------+ +static const byte glyph166[] = { + 0x00, + 0x00, + 0x20, + 0x20, + 0x20, + 0x00, + 0x20, + 0x20, + 0x20, + 0x00, + 0x00, + 0x00 +}; + +// Character 167 (0xA7) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | ** | +// | * * | +// | * | +// | ** | +// | * * | +// | * * | +// | * * | +// | ** | +// | * | +// | * * | +// | ** | +// | | +// +------+ +static const byte glyph167[] = { + 0x30, + 0x48, + 0x40, + 0x30, + 0x48, + 0x48, + 0x48, + 0x30, + 0x08, + 0x48, + 0x30, + 0x00 +}; + +// Character 168 (0xA8) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * * | +// | * * | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// +------+ +static const byte glyph168[] = { + 0x00, + 0x50, + 0x50, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 169 (0xA9) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | **** | +// |* *| +// |* ** *| +// |* * *| +// |* * *| +// |* ** *| +// |* *| +// | **** | +// | | +// | | +// | | +// +------+ +static const byte glyph169[] = { + 0x00, + 0x78, + 0x84, + 0xB4, + 0xA4, + 0xA4, + 0xB4, + 0x84, + 0x78, + 0x00, + 0x00, + 0x00 +}; + +// Character 170 (0xAA) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | ** | +// | * | +// | *** | +// | * * | +// | *** | +// | | +// | **** | +// | | +// | | +// | | +// | | +// | | +// +------+ +static const byte glyph170[] = { + 0x30, + 0x08, + 0x38, + 0x48, + 0x38, + 0x00, + 0x78, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 171 (0xAB) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | * * | +// | * * | +// |* * | +// | * * | +// | * * | +// | | +// | | +// | | +// | | +// +------+ +static const byte glyph171[] = { + 0x00, + 0x00, + 0x00, + 0x28, + 0x50, + 0xA0, + 0x50, + 0x28, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 172 (0xAC) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// | | +// | **** | +// | * | +// | | +// | | +// | | +// | | +// | | +// +------+ +static const byte glyph172[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x78, + 0x08, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 173 (0xAD) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// | | +// | **** | +// | | +// | | +// | | +// | | +// | | +// | | +// +------+ +static const byte glyph173[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x78, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 174 (0xAE) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | **** | +// |* *| +// |* ** *| +// |* * **| +// |* ** *| +// |* * **| +// |* *| +// | **** | +// | | +// | | +// | | +// +------+ +static const byte glyph174[] = { + 0x00, + 0x78, + 0x84, + 0xB4, + 0xAC, + 0xB4, + 0xAC, + 0x84, + 0x78, + 0x00, + 0x00, + 0x00 +}; + +// Character 175 (0xAF) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// |***** | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// +------+ +static const byte glyph175[] = { + 0x00, + 0x00, + 0xF8, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 176 (0xB0) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | ** | +// | * * | +// | * * | +// | ** | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// +------+ +static const byte glyph176[] = { + 0x00, + 0x30, + 0x48, + 0x48, + 0x30, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 177 (0xB1) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | * | +// | * | +// |***** | +// | * | +// | * | +// | | +// |***** | +// | | +// | | +// | | +// +------+ +static const byte glyph177[] = { + 0x00, + 0x00, + 0x20, + 0x20, + 0xF8, + 0x20, + 0x20, + 0x00, + 0xF8, + 0x00, + 0x00, + 0x00 +}; + +// Character 178 (0xB2) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | ** | +// | * | +// | * | +// | * | +// | *** | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// +------+ +static const byte glyph178[] = { + 0x60, + 0x10, + 0x20, + 0x40, + 0x70, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 179 (0xB3) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | ** | +// | * | +// | * | +// | * | +// | ** | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// +------+ +static const byte glyph179[] = { + 0x60, + 0x10, + 0x20, + 0x10, + 0x60, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 180 (0xB4) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * | +// | * | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// +------+ +static const byte glyph180[] = { + 0x00, + 0x10, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 181 (0xB5) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// |* * | +// |* * | +// |* * | +// |** * | +// |* ** | +// |* | +// |* | +// | | +// +------+ +static const byte glyph181[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x88, + 0x88, + 0x88, + 0xC8, + 0xB0, + 0x80, + 0x80, + 0x00 +}; + +// Character 182 (0xB6) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | **** | +// |*** * | +// |*** * | +// | ** * | +// | * * | +// | * * | +// | * * | +// | | +// | | +// | | +// +------+ +static const byte glyph182[] = { + 0x00, + 0x00, + 0x78, + 0xE8, + 0xE8, + 0x68, + 0x28, + 0x28, + 0x28, + 0x00, + 0x00, + 0x00 +}; + +// Character 183 (0xB7) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// | | +// | | +// | ** | +// | | +// | | +// | | +// | | +// | | +// +------+ +static const byte glyph183[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x30, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 184 (0xB8) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// | * | +// | * | +// | | +// +------+ +static const byte glyph184[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x10, + 0x20, + 0x00 +}; + +// Character 185 (0xB9) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | * | +// | ** | +// | * | +// | * | +// | * | +// | | +// | | +// | | +// | | +// | | +// | | +// | | +// +------+ +static const byte glyph185[] = { + 0x20, + 0x60, + 0x20, + 0x20, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 186 (0xBA) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | ** | +// | * * | +// | * * | +// | * * | +// | ** | +// | | +// | **** | +// | | +// | | +// | | +// | | +// | | +// +------+ +static const byte glyph186[] = { + 0x30, + 0x48, + 0x48, + 0x48, + 0x30, + 0x00, + 0x78, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 187 (0xBB) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// |* * | +// | * * | +// | * * | +// | * * | +// |* * | +// | | +// | | +// | | +// | | +// +------+ +static const byte glyph187[] = { + 0x00, + 0x00, + 0x00, + 0xA0, + 0x50, + 0x28, + 0x50, + 0xA0, + 0x00, + 0x00, + 0x00, + 0x00 +}; + +// Character 188 (0xBC) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * | +// | * | +// | * | +// | * * | +// | * | +// | * * | +// | *** | +// | * | +// | | +// | | +// | | +// +------+ +static const byte glyph188[] = { + 0x00, + 0x40, + 0x40, + 0x40, + 0x48, + 0x10, + 0x28, + 0x38, + 0x08, + 0x00, + 0x00, + 0x00 +}; + +// Character 189 (0xBD) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * | +// | * | +// | * | +// | *** | +// | * | +// | * | +// | * | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph189[] = { + 0x00, + 0x40, + 0x40, + 0x40, + 0x70, + 0x08, + 0x10, + 0x20, + 0x38, + 0x00, + 0x00, + 0x00 +}; + +// Character 190 (0xBE) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// |** | +// | * | +// | * | +// |** * | +// | * | +// | * * | +// | *** | +// | * | +// | | +// | | +// | | +// +------+ +static const byte glyph190[] = { + 0x00, + 0xC0, + 0x40, + 0x20, + 0xC8, + 0x10, + 0x28, + 0x38, + 0x08, + 0x00, + 0x00, + 0x00 +}; + +// Character 191 (0xBF) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * | +// | | +// | * | +// | * | +// | * | +// |* | +// |* * | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph191[] = { + 0x00, + 0x20, + 0x00, + 0x20, + 0x20, + 0x40, + 0x80, + 0x88, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 192 (0xC0) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | * | +// | * | +// | | +// | *** | +// |* * | +// |* * | +// |***** | +// |* * | +// |* * | +// | | +// | | +// | | +// +------+ +static const byte glyph192[] = { + 0x40, + 0x20, + 0x00, + 0x70, + 0x88, + 0x88, + 0xF8, + 0x88, + 0x88, + 0x00, + 0x00, + 0x00 +}; + +// Character 193 (0xC1) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | * | +// | * | +// | | +// | *** | +// |* * | +// |* * | +// |***** | +// |* * | +// |* * | +// | | +// | | +// | | +// +------+ +static const byte glyph193[] = { + 0x10, + 0x20, + 0x00, + 0x70, + 0x88, + 0x88, + 0xF8, + 0x88, + 0x88, + 0x00, + 0x00, + 0x00 +}; + +// Character 194 (0xC2) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | * | +// | * * | +// | | +// | *** | +// |* * | +// |* * | +// |***** | +// |* * | +// |* * | +// | | +// | | +// | | +// +------+ +static const byte glyph194[] = { + 0x20, + 0x50, + 0x00, + 0x70, + 0x88, + 0x88, + 0xF8, + 0x88, + 0x88, + 0x00, + 0x00, + 0x00 +}; + +// Character 195 (0xC3) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | * * | +// | * * | +// | | +// | *** | +// |* * | +// |* * | +// |***** | +// |* * | +// |* * | +// | | +// | | +// | | +// +------+ +static const byte glyph195[] = { + 0x28, + 0x50, + 0x00, + 0x70, + 0x88, + 0x88, + 0xF8, + 0x88, + 0x88, + 0x00, + 0x00, + 0x00 +}; + +// Character 196 (0xC4) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * * | +// | | +// | *** | +// |* * | +// |* * | +// |***** | +// |* * | +// |* * | +// | | +// | | +// | | +// +------+ +static const byte glyph196[] = { + 0x00, + 0x50, + 0x00, + 0x70, + 0x88, + 0x88, + 0xF8, + 0x88, + 0x88, + 0x00, + 0x00, + 0x00 +}; + +// Character 197 (0xC5) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | * | +// | * * | +// | * | +// | *** | +// |* * | +// |* * | +// |***** | +// |* * | +// |* * | +// | | +// | | +// | | +// +------+ +static const byte glyph197[] = { + 0x20, + 0x50, + 0x20, + 0x70, + 0x88, + 0x88, + 0xF8, + 0x88, + 0x88, + 0x00, + 0x00, + 0x00 +}; + +// Character 198 (0xC6) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | **** | +// |* * | +// |* * | +// |* *** | +// |*** | +// |* * | +// |* *** | +// | | +// | | +// | | +// +------+ +static const byte glyph198[] = { + 0x00, + 0x00, + 0x78, + 0xA0, + 0xA0, + 0xB8, + 0xE0, + 0xA0, + 0xB8, + 0x00, + 0x00, + 0x00 +}; + +// Character 199 (0xC7) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | *** | +// |* * | +// |* | +// |* | +// |* | +// |* * | +// | *** | +// | * | +// | * | +// | | +// +------+ +static const byte glyph199[] = { + 0x00, + 0x00, + 0x70, + 0x88, + 0x80, + 0x80, + 0x80, + 0x88, + 0x70, + 0x20, + 0x40, + 0x00 +}; + +// Character 200 (0xC8) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | * | +// | * | +// | | +// |***** | +// |* | +// |**** | +// |* | +// |* | +// |***** | +// | | +// | | +// | | +// +------+ +static const byte glyph200[] = { + 0x40, + 0x20, + 0x00, + 0xF8, + 0x80, + 0xF0, + 0x80, + 0x80, + 0xF8, + 0x00, + 0x00, + 0x00 +}; + +// Character 201 (0xC9) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | * | +// | * | +// | | +// |***** | +// |* | +// |**** | +// |* | +// |* | +// |***** | +// | | +// | | +// | | +// +------+ +static const byte glyph201[] = { + 0x10, + 0x20, + 0x00, + 0xF8, + 0x80, + 0xF0, + 0x80, + 0x80, + 0xF8, + 0x00, + 0x00, + 0x00 +}; + +// Character 202 (0xCA) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | * | +// | * * | +// | | +// |***** | +// |* | +// |**** | +// |* | +// |* | +// |***** | +// | | +// | | +// | | +// +------+ +static const byte glyph202[] = { + 0x20, + 0x50, + 0x00, + 0xF8, + 0x80, + 0xF0, + 0x80, + 0x80, + 0xF8, + 0x00, + 0x00, + 0x00 +}; + +// Character 203 (0xCB) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * * | +// | | +// |***** | +// |* | +// |**** | +// |* | +// |* | +// |***** | +// | | +// | | +// | | +// +------+ +static const byte glyph203[] = { + 0x00, + 0x50, + 0x00, + 0xF8, + 0x80, + 0xF0, + 0x80, + 0x80, + 0xF8, + 0x00, + 0x00, + 0x00 +}; + +// Character 204 (0xCC) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | * | +// | * | +// | | +// |***** | +// | * | +// | * | +// | * | +// | * | +// |***** | +// | | +// | | +// | | +// +------+ +static const byte glyph204[] = { + 0x40, + 0x20, + 0x00, + 0xF8, + 0x20, + 0x20, + 0x20, + 0x20, + 0xF8, + 0x00, + 0x00, + 0x00 +}; + +// Character 205 (0xCD) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | * | +// | * | +// | | +// |***** | +// | * | +// | * | +// | * | +// | * | +// |***** | +// | | +// | | +// | | +// +------+ +static const byte glyph205[] = { + 0x10, + 0x20, + 0x00, + 0xF8, + 0x20, + 0x20, + 0x20, + 0x20, + 0xF8, + 0x00, + 0x00, + 0x00 +}; + +// Character 206 (0xCE) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | * | +// | * * | +// | | +// |***** | +// | * | +// | * | +// | * | +// | * | +// |***** | +// | | +// | | +// | | +// +------+ +static const byte glyph206[] = { + 0x20, + 0x50, + 0x00, + 0xF8, + 0x20, + 0x20, + 0x20, + 0x20, + 0xF8, + 0x00, + 0x00, + 0x00 +}; + +// Character 207 (0xCF) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * * | +// | | +// |***** | +// | * | +// | * | +// | * | +// | * | +// |***** | +// | | +// | | +// | | +// +------+ +static const byte glyph207[] = { + 0x00, + 0x50, + 0x00, + 0xF8, + 0x20, + 0x20, + 0x20, + 0x20, + 0xF8, + 0x00, + 0x00, + 0x00 +}; + +// Character 208 (0xD0) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | *** | +// | * * | +// | * *| +// |*** *| +// | * *| +// | * * | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph208[] = { + 0x00, + 0x00, + 0x70, + 0x48, + 0x44, + 0xE4, + 0x44, + 0x48, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 209 (0xD1) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | * * | +// | * * | +// | | +// |* * | +// |** * | +// |* * * | +// |* ** | +// |* * | +// |* * | +// | | +// | | +// | | +// +------+ +static const byte glyph209[] = { + 0x28, + 0x50, + 0x00, + 0x88, + 0xC8, + 0xA8, + 0x98, + 0x88, + 0x88, + 0x00, + 0x00, + 0x00 +}; + +// Character 210 (0xD2) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | * | +// | * | +// | | +// | *** | +// |* * | +// |* * | +// |* * | +// |* * | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph210[] = { + 0x40, + 0x20, + 0x00, + 0x70, + 0x88, + 0x88, + 0x88, + 0x88, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 211 (0xD3) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | * | +// | * | +// | | +// | *** | +// |* * | +// |* * | +// |* * | +// |* * | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph211[] = { + 0x10, + 0x20, + 0x00, + 0x70, + 0x88, + 0x88, + 0x88, + 0x88, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 212 (0xD4) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | * | +// | * * | +// | | +// | *** | +// |* * | +// |* * | +// |* * | +// |* * | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph212[] = { + 0x20, + 0x50, + 0x00, + 0x70, + 0x88, + 0x88, + 0x88, + 0x88, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 213 (0xD5) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | * * | +// | * * | +// | | +// | *** | +// |* * | +// |* * | +// |* * | +// |* * | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph213[] = { + 0x28, + 0x50, + 0x00, + 0x70, + 0x88, + 0x88, + 0x88, + 0x88, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 214 (0xD6) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * * | +// | | +// | *** | +// |* * | +// |* * | +// |* * | +// |* * | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph214[] = { + 0x00, + 0x50, + 0x00, + 0x70, + 0x88, + 0x88, + 0x88, + 0x88, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 215 (0xD7) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// |* * | +// | * * | +// | * | +// | * * | +// |* * | +// | | +// | | +// | | +// +------+ +static const byte glyph215[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x88, + 0x50, + 0x20, + 0x50, + 0x88, + 0x00, + 0x00, + 0x00 +}; + +// Character 216 (0xD8) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * | +// | **** | +// |* ** | +// |* * * | +// |* * * | +// |* * * | +// |** * | +// |**** | +// |* | +// | | +// | | +// +------+ +static const byte glyph216[] = { + 0x00, + 0x08, + 0x78, + 0x98, + 0xA8, + 0xA8, + 0xA8, + 0xC8, + 0xF0, + 0x80, + 0x00, + 0x00 +}; + +// Character 217 (0xD9) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | * | +// | * | +// | | +// |* * | +// |* * | +// |* * | +// |* * | +// |* * | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph217[] = { + 0x40, + 0x20, + 0x00, + 0x88, + 0x88, + 0x88, + 0x88, + 0x88, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 218 (0xDA) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | * | +// | * | +// | | +// |* * | +// |* * | +// |* * | +// |* * | +// |* * | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph218[] = { + 0x10, + 0x20, + 0x00, + 0x88, + 0x88, + 0x88, + 0x88, + 0x88, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 219 (0xDB) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | * | +// | * * | +// | | +// |* * | +// |* * | +// |* * | +// |* * | +// |* * | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph219[] = { + 0x20, + 0x50, + 0x00, + 0x88, + 0x88, + 0x88, + 0x88, + 0x88, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 220 (0xDC) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * * | +// | | +// |* * | +// |* * | +// |* * | +// |* * | +// |* * | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph220[] = { + 0x00, + 0x50, + 0x00, + 0x88, + 0x88, + 0x88, + 0x88, + 0x88, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 221 (0xDD) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | * | +// | * | +// | | +// |* * | +// | * * | +// | * | +// | * | +// | * | +// | * | +// | | +// | | +// | | +// +------+ +static const byte glyph221[] = { + 0x10, + 0x20, + 0x00, + 0x88, + 0x50, + 0x20, + 0x20, + 0x20, + 0x20, + 0x00, + 0x00, + 0x00 +}; + +// Character 222 (0xDE) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// |* | +// |**** | +// |* * | +// |* * | +// |* * | +// |**** | +// |* | +// |* | +// | | +// | | +// | | +// +------+ +static const byte glyph222[] = { + 0x00, + 0x80, + 0xF0, + 0x88, + 0x88, + 0x88, + 0xF0, + 0x80, + 0x80, + 0x00, + 0x00, + 0x00 +}; + +// Character 223 (0xDF) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | ** | +// | * * | +// | * * | +// |** * | +// | * * | +// | * * | +// | * * | +// | * * | +// | | +// | | +// | | +// +------+ +static const byte glyph223[] = { + 0x00, + 0x30, + 0x48, + 0x48, + 0xD0, + 0x50, + 0x48, + 0x48, + 0x50, + 0x00, + 0x00, + 0x00 +}; + +// Character 224 (0xE0) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * | +// | * | +// | | +// | **** | +// |* * | +// |* * | +// |* ** | +// | ** * | +// | | +// | | +// | | +// +------+ +static const byte glyph224[] = { + 0x00, + 0x40, + 0x20, + 0x00, + 0x78, + 0x88, + 0x88, + 0x98, + 0x68, + 0x00, + 0x00, + 0x00 +}; + +// Character 225 (0xE1) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * | +// | * | +// | | +// | **** | +// |* * | +// |* * | +// |* ** | +// | ** * | +// | | +// | | +// | | +// +------+ +static const byte glyph225[] = { + 0x00, + 0x10, + 0x20, + 0x00, + 0x78, + 0x88, + 0x88, + 0x98, + 0x68, + 0x00, + 0x00, + 0x00 +}; + +// Character 226 (0xE2) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * | +// | * * | +// | | +// | **** | +// |* * | +// |* * | +// |* ** | +// | ** * | +// | | +// | | +// | | +// +------+ +static const byte glyph226[] = { + 0x00, + 0x20, + 0x50, + 0x00, + 0x78, + 0x88, + 0x88, + 0x98, + 0x68, + 0x00, + 0x00, + 0x00 +}; + +// Character 227 (0xE3) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * * | +// | * * | +// | | +// | **** | +// |* * | +// |* * | +// |* ** | +// | ** * | +// | | +// | | +// | | +// +------+ +static const byte glyph227[] = { + 0x00, + 0x28, + 0x50, + 0x00, + 0x78, + 0x88, + 0x88, + 0x98, + 0x68, + 0x00, + 0x00, + 0x00 +}; + +// Character 228 (0xE4) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | * * | +// | | +// | **** | +// |* * | +// |* * | +// |* ** | +// | ** * | +// | | +// | | +// | | +// +------+ +static const byte glyph228[] = { + 0x00, + 0x00, + 0x50, + 0x00, + 0x78, + 0x88, + 0x88, + 0x98, + 0x68, + 0x00, + 0x00, + 0x00 +}; + +// Character 229 (0xE5) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | * | +// | * * | +// | * | +// | | +// | **** | +// |* * | +// |* * | +// |* ** | +// | ** * | +// | | +// | | +// | | +// +------+ +static const byte glyph229[] = { + 0x20, + 0x50, + 0x20, + 0x00, + 0x78, + 0x88, + 0x88, + 0x98, + 0x68, + 0x00, + 0x00, + 0x00 +}; + +// Character 230 (0xE6) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// | *** | +// | * * | +// | *** | +// |* * | +// | **** | +// | | +// | | +// | | +// +------+ +static const byte glyph230[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x70, + 0x28, + 0x70, + 0xA0, + 0x78, + 0x00, + 0x00, + 0x00 +}; + +// Character 231 (0xE7) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// | **** | +// |* | +// |* | +// |* | +// | **** | +// | * | +// | * | +// | | +// +------+ +static const byte glyph231[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x78, + 0x80, + 0x80, + 0x80, + 0x78, + 0x20, + 0x40, + 0x00 +}; + +// Character 232 (0xE8) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * | +// | * | +// | | +// | *** | +// |* * | +// |***** | +// |* | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph232[] = { + 0x00, + 0x40, + 0x20, + 0x00, + 0x70, + 0x88, + 0xF8, + 0x80, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 233 (0xE9) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * | +// | * | +// | | +// | *** | +// |* * | +// |***** | +// |* | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph233[] = { + 0x00, + 0x10, + 0x20, + 0x00, + 0x70, + 0x88, + 0xF8, + 0x80, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 234 (0xEA) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * | +// | * * | +// | | +// | *** | +// |* * | +// |***** | +// |* | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph234[] = { + 0x00, + 0x20, + 0x50, + 0x00, + 0x70, + 0x88, + 0xF8, + 0x80, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 235 (0xEB) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | * * | +// | | +// | *** | +// |* * | +// |***** | +// |* | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph235[] = { + 0x00, + 0x00, + 0x50, + 0x00, + 0x70, + 0x88, + 0xF8, + 0x80, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 236 (0xEC) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * | +// | * | +// | | +// | ** | +// | * | +// | * | +// | * | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph236[] = { + 0x00, + 0x40, + 0x20, + 0x00, + 0x60, + 0x20, + 0x20, + 0x20, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 237 (0xED) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * | +// | * | +// | | +// | ** | +// | * | +// | * | +// | * | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph237[] = { + 0x00, + 0x20, + 0x40, + 0x00, + 0x60, + 0x20, + 0x20, + 0x20, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 238 (0xEE) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * | +// | * * | +// | | +// | ** | +// | * | +// | * | +// | * | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph238[] = { + 0x00, + 0x20, + 0x50, + 0x00, + 0x60, + 0x20, + 0x20, + 0x20, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 239 (0xEF) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | * * | +// | | +// | ** | +// | * | +// | * | +// | * | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph239[] = { + 0x00, + 0x00, + 0x50, + 0x00, + 0x60, + 0x20, + 0x20, + 0x20, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 240 (0xF0) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * * | +// | * | +// | * * | +// | * | +// | **** | +// |* * | +// |* * | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph240[] = { + 0x00, + 0x28, + 0x10, + 0x28, + 0x08, + 0x78, + 0x88, + 0x88, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 241 (0xF1) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * * | +// | * * | +// | | +// |* ** | +// |** * | +// |* * | +// |* * | +// |* * | +// | | +// | | +// | | +// +------+ +static const byte glyph241[] = { + 0x00, + 0x28, + 0x50, + 0x00, + 0xB0, + 0xC8, + 0x88, + 0x88, + 0x88, + 0x00, + 0x00, + 0x00 +}; + +// Character 242 (0xF2) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * | +// | * | +// | | +// | *** | +// |* * | +// |* * | +// |* * | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph242[] = { + 0x00, + 0x40, + 0x20, + 0x00, + 0x70, + 0x88, + 0x88, + 0x88, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 243 (0xF3) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * | +// | * | +// | | +// | *** | +// |* * | +// |* * | +// |* * | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph243[] = { + 0x00, + 0x10, + 0x20, + 0x00, + 0x70, + 0x88, + 0x88, + 0x88, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 244 (0xF4) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * | +// | * * | +// | | +// | *** | +// |* * | +// |* * | +// |* * | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph244[] = { + 0x00, + 0x20, + 0x50, + 0x00, + 0x70, + 0x88, + 0x88, + 0x88, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 245 (0xF5) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * * | +// | * * | +// | | +// | *** | +// |* * | +// |* * | +// |* * | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph245[] = { + 0x00, + 0x28, + 0x50, + 0x00, + 0x70, + 0x88, + 0x88, + 0x88, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 246 (0xF6) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | * * | +// | | +// | *** | +// |* * | +// |* * | +// |* * | +// | *** | +// | | +// | | +// | | +// +------+ +static const byte glyph246[] = { + 0x00, + 0x00, + 0x50, + 0x00, + 0x70, + 0x88, + 0x88, + 0x88, + 0x70, + 0x00, + 0x00, + 0x00 +}; + +// Character 247 (0xF7) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | | +// | * | +// | | +// |***** | +// | | +// | * | +// | | +// | | +// | | +// +------+ +static const byte glyph247[] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0x00, + 0xF8, + 0x00, + 0x20, + 0x00, + 0x00, + 0x00 +}; + +// Character 248 (0xF8) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | | +// | * | +// | **** | +// |* ** | +// |* * * | +// |** * | +// |**** | +// |* | +// | | +// | | +// +------+ +static const byte glyph248[] = { + 0x00, + 0x00, + 0x00, + 0x08, + 0x78, + 0x98, + 0xA8, + 0xC8, + 0xF0, + 0x80, + 0x00, + 0x00 +}; + +// Character 249 (0xF9) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * | +// | * | +// | | +// |* * | +// |* * | +// |* * | +// |* ** | +// | ** * | +// | | +// | | +// | | +// +------+ +static const byte glyph249[] = { + 0x00, + 0x40, + 0x20, + 0x00, + 0x88, + 0x88, + 0x88, + 0x98, + 0x68, + 0x00, + 0x00, + 0x00 +}; + +// Character 250 (0xFA) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * | +// | * | +// | | +// |* * | +// |* * | +// |* * | +// |* ** | +// | ** * | +// | | +// | | +// | | +// +------+ +static const byte glyph250[] = { + 0x00, + 0x10, + 0x20, + 0x00, + 0x88, + 0x88, + 0x88, + 0x98, + 0x68, + 0x00, + 0x00, + 0x00 +}; + +// Character 251 (0xFB) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * | +// | * * | +// | | +// |* * | +// |* * | +// |* * | +// |* ** | +// | ** * | +// | | +// | | +// | | +// +------+ +static const byte glyph251[] = { + 0x00, + 0x20, + 0x50, + 0x00, + 0x88, + 0x88, + 0x88, + 0x98, + 0x68, + 0x00, + 0x00, + 0x00 +}; + +// Character 252 (0xFC) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | * * | +// | | +// |* * | +// |* * | +// |* * | +// |* ** | +// | ** * | +// | | +// | | +// | | +// +------+ +static const byte glyph252[] = { + 0x00, + 0x00, + 0x50, + 0x00, + 0x88, + 0x88, + 0x88, + 0x98, + 0x68, + 0x00, + 0x00, + 0x00 +}; + +// Character 253 (0xFD) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | * | +// | * | +// | | +// |* * | +// |* * | +// |* * | +// |* * | +// | **** | +// | * | +// | * | +// | *** | +// +------+ +static const byte glyph253[] = { + 0x00, + 0x10, + 0x20, + 0x00, + 0x88, + 0x88, + 0x88, + 0x88, + 0x78, + 0x08, + 0x08, + 0x70 +}; + +// Character 254 (0xFE) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// |* | +// |* | +// |* | +// |* ** | +// |** * | +// |* * | +// |** * | +// |* ** | +// |* | +// |* | +// | | +// +------+ +static const byte glyph254[] = { + 0x00, + 0x80, + 0x80, + 0x80, + 0xB0, + 0xC8, + 0x88, + 0xC8, + 0xB0, + 0x80, + 0x80, + 0x00 +}; + +// Character 255 (0xFF) +// Box: 6 12 0 -3 +// Advance: 6 +// +// +------+ +// | | +// | | +// | * * | +// | | +// |* * | +// |* * | +// |* * | +// |* * | +// | **** | +// | * | +// | * | +// | *** | +// +------+ +static const byte glyph255[] = { + 0x00, + 0x00, + 0x50, + 0x00, + 0x88, + 0x88, + 0x88, + 0x88, + 0x78, + 0x08, + 0x08, + 0x70 +}; + +// Bitmap pointer table +const byte *const bitmapTable[] = { + glyph0, + glyph1, + glyph2, + glyph3, + glyph4, + glyph5, + glyph6, + glyph7, + glyph8, + glyph9, + glyph10, + glyph11, + glyph12, + glyph13, + glyph14, + glyph15, + glyph16, + glyph17, + glyph18, + glyph19, + glyph20, + glyph21, + glyph22, + glyph23, + glyph24, + glyph25, + glyph26, + glyph27, + glyph28, + glyph29, + glyph30, + glyph31, + glyph32, + glyph33, + glyph34, + glyph35, + glyph36, + glyph37, + glyph38, + glyph39, + glyph40, + glyph41, + glyph42, + glyph43, + glyph44, + glyph45, + glyph46, + glyph47, + glyph48, + glyph49, + glyph50, + glyph51, + glyph52, + glyph53, + glyph54, + glyph55, + glyph56, + glyph57, + glyph58, + glyph59, + glyph60, + glyph61, + glyph62, + glyph63, + glyph64, + glyph65, + glyph66, + glyph67, + glyph68, + glyph69, + glyph70, + glyph71, + glyph72, + glyph73, + glyph74, + glyph75, + glyph76, + glyph77, + glyph78, + glyph79, + glyph80, + glyph81, + glyph82, + glyph83, + glyph84, + glyph85, + glyph86, + glyph87, + glyph88, + glyph89, + glyph90, + glyph91, + glyph92, + glyph93, + glyph94, + glyph95, + glyph96, + glyph97, + glyph98, + glyph99, + glyph100, + glyph101, + glyph102, + glyph103, + glyph104, + glyph105, + glyph106, + glyph107, + glyph108, + glyph109, + glyph110, + glyph111, + glyph112, + glyph113, + glyph114, + glyph115, + glyph116, + glyph117, + glyph118, + glyph119, + glyph120, + glyph121, + glyph122, + glyph123, + glyph124, + glyph125, + glyph126, + 0, + 0, + 0, + 0, + 0, 0, - 256, - _font_bits, - _sysfont_offset, - 0, /* fixed width*/ - 0, /* fixed bbox*/ 0, - sizeof(_font_bits)/sizeof(bitmap_t) + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + glyph160, + glyph161, + glyph162, + glyph163, + glyph164, + glyph165, + glyph166, + glyph167, + glyph168, + glyph169, + glyph170, + glyph171, + glyph172, + glyph173, + glyph174, + glyph175, + glyph176, + glyph177, + glyph178, + glyph179, + glyph180, + glyph181, + glyph182, + glyph183, + glyph184, + glyph185, + glyph186, + glyph187, + glyph188, + glyph189, + glyph190, + glyph191, + glyph192, + glyph193, + glyph194, + glyph195, + glyph196, + glyph197, + glyph198, + glyph199, + glyph200, + glyph201, + glyph202, + glyph203, + glyph204, + glyph205, + glyph206, + glyph207, + glyph208, + glyph209, + glyph210, + glyph211, + glyph212, + glyph213, + glyph214, + glyph215, + glyph216, + glyph217, + glyph218, + glyph219, + glyph220, + glyph221, + glyph222, + glyph223, + glyph224, + glyph225, + glyph226, + glyph227, + glyph228, + glyph229, + glyph230, + glyph231, + glyph232, + glyph233, + glyph234, + glyph235, + glyph236, + glyph237, + glyph238, + glyph239, + glyph240, + glyph241, + glyph242, + glyph243, + glyph244, + glyph245, + glyph246, + glyph247, + glyph248, + glyph249, + glyph250, + glyph251, + glyph252, + glyph253, + glyph254, + glyph255 +}; + +// Font structure +static const BdfFontData desc = { + 6, // Max advance + 12, // Height + { 6, 12, 0, -3 }, // Bounding box + 9, // Ascent + + 0, // First character + 0, // Default character + 256, // Characters + + bitmapTable, // Bitmaps + 0, // Advances + 0 // Boxes }; DEFINE_FONT(g_sysfont) diff --git a/graphics/fonts/newfont_big.cpp b/graphics/fonts/newfont_big.cpp index 59c54a4551..0e61068ade 100644 --- a/graphics/fonts/newfont_big.cpp +++ b/graphics/fonts/newfont_big.cpp @@ -1,5542 +1,5846 @@ -/* Generated by convbdf on Tue Jun 13 00:00:22 2006. */ +// Generated by convbdf on Fri Jan 6 14:33:14 2012 #include "graphics/fonts/bdf.h" -/* Font information: - name: helvB12-L1 - facename: -Adobe-Helvetica-Bold-R-Normal--12-120-75-75-P-70-ISO8859-1 - w x h: 13x14 - bbx: 13 15 -1 -3 - size: 224 - ascent: 11 - descent: 3 - first char: 32 (0x20) - last char: 255 (0xff) - default char: 32 (0x20) - proportional: yes - Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. -*/ +// Font information: +// Name: -Adobe-Helvetica-Bold-R-Normal--12-120-75-75-P-70-ISO8859-1 +// Size: 13x14 +// Box: 13 15 -1 -3 +// Ascent: 11 +// First character: 0 +// Default character: 0 +// Characters: 256 +// Copyright: "Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved." namespace Graphics { -/* Font character bitmap data. */ -static const bitmap_t _font_bits[] = { - -/* Character 32 (0x20): - width 12 - bbx ( 1, 1, 0, 0 ) - - +-+ - | | - +-+ -*/ -0x0000, - -/* Character 33 (0x21): - width 8 - bbx ( 2, 9, 1, 0 ) - - +--+ - |**| - |**| - |**| - |**| - |**| - |* | - | | - |**| - |**| - +--+ -*/ -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0x8000, -0x0000, -0xc000, -0xc000, - -/* Character 34 (0x22): - width 9 - bbx ( 3, 3, 1, 6 ) - - +---+ - |* *| - |* *| - |* *| - +---+ -*/ -0xa000, -0xa000, -0xa000, - -/* Character 35 (0x23): - width 8 - bbx ( 7, 8, 0, 0 ) - - +-------+ - | * * | - | * * | - | ******| - | * * | - | * * | - |****** | - | * * | - | * * | - +-------+ -*/ -0x1400, -0x1400, -0x7e00, -0x2800, -0x2800, -0xfc00, -0x5000, -0x5000, - -/* Character 36 (0x24): - width 9 - bbx ( 6, 11, 0, -2 ) - - +------+ - | * | - | **** | - |** * *| - |** * | - | **** | - | ***| - |* * *| - |** * *| - | **** | - | * | - | * | - +------+ -*/ -0x1000, -0x7800, -0xd400, -0xd000, -0x7800, -0x1c00, -0x9400, -0xd400, -0x7800, -0x1000, -0x1000, - -/* Character 37 (0x25): - width 8 - bbx ( 11, 9, 0, 0 ) - - +-----------+ - | *** * | - |** ** ** | - |** ** * | - | *** * | - | * | - | * *** | - | * ** **| - | ** ** **| - | * *** | - +-----------+ -*/ -0x7100, -0xdb00, -0xda00, -0x7400, -0x0400, -0x09c0, -0x0b60, -0x1b60, -0x11c0, - -/* Character 38 (0x26): - width 7 - bbx ( 9, 9, 0, 0 ) - - +---------+ - | *** | - | ** ** | - | ** ** | - | *** | - | **** * | - |** **** | - |** ** | - |** **** | - | **** **| - +---------+ -*/ -0x3800, -0x6c00, -0x6c00, -0x3800, -0x7900, -0xcf00, -0xc600, -0xcf00, -0x7980, - -/* Character 39 (0x27): - width 10 - bbx ( 1, 3, 1, 6 ) - - +-+ - |*| - |*| - |*| - +-+ -*/ -0x8000, -0x8000, -0x8000, - -/* Character 40 (0x28): - width 9 - bbx ( 4, 12, 1, -3 ) - - +----+ - | **| - | ** | - | ** | - |** | - |** | - |** | - |** | - |** | - |** | - | ** | - | ** | - | **| - +----+ -*/ -0x3000, -0x6000, -0x6000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0x6000, -0x6000, -0x3000, - -/* Character 41 (0x29): - width 4 - bbx ( 4, 12, 1, -3 ) - - +----+ - |** | - | ** | - | ** | - | **| - | **| - | **| - | **| - | **| - | **| - | ** | - | ** | - |** | - +----+ -*/ -0xc000, -0x6000, -0x6000, -0x3000, -0x3000, -0x3000, -0x3000, -0x3000, -0x3000, -0x6000, -0x6000, -0xc000, - -/* Character 42 (0x2a): - width 7 - bbx ( 5, 4, 0, 5 ) - - +-----+ - | * | - |*****| - | *** | - | * * | - +-----+ -*/ -0x2000, -0xf800, -0x7000, -0x5000, - -/* Character 43 (0x2b): - width 9 - bbx ( 6, 5, 0, 1 ) - - +------+ - | ** | - | ** | - |******| - | ** | - | ** | - +------+ -*/ -0x3000, -0x3000, -0xfc00, -0x3000, -0x3000, - -/* Character 44 (0x2c): - width 7 - bbx ( 2, 4, 1, -2 ) - - +--+ - |**| - |**| - | *| - |* | - +--+ -*/ -0xc000, -0xc000, -0x4000, -0x8000, - -/* Character 45 (0x2d): - width 11 - bbx ( 4, 1, 0, 3 ) - - +----+ - |****| - +----+ -*/ -0xf000, - -/* Character 46 (0x2e): - width 9 - bbx ( 2, 2, 1, 0 ) - - +--+ - |**| - |**| - +--+ -*/ -0xc000, -0xc000, - -/* Character 47 (0x2f): - width 10 - bbx ( 4, 9, 0, 0 ) - - +----+ - | **| - | **| - | * | - | ** | - | ** | - | * | - | * | - |** | - |** | - +----+ -*/ -0x3000, -0x3000, -0x2000, -0x6000, -0x6000, -0x4000, -0x4000, -0xc000, -0xc000, - -/* Character 48 (0x30): - width 8 - bbx ( 6, 9, 0, 0 ) - - +------+ - | **** | - |** **| - |** **| - |** **| - |** **| - |** **| - |** **| - |** **| - | **** | - +------+ -*/ -0x7800, -0xcc00, -0xcc00, -0xcc00, -0xcc00, -0xcc00, -0xcc00, -0xcc00, -0x7800, - -/* Character 49 (0x31): - width 10 - bbx ( 4, 9, 0, 0 ) - - +----+ - | **| - |****| - | **| - | **| - | **| - | **| - | **| - | **| - | **| - +----+ -*/ -0x3000, -0xf000, -0x3000, -0x3000, -0x3000, -0x3000, -0x3000, -0x3000, -0x3000, - -/* Character 50 (0x32): - width 9 - bbx ( 6, 9, 0, 0 ) - - +------+ - | **** | - |** **| - | **| - | ** | - | ** | - | ** | - |** | - |** | - |******| - +------+ -*/ -0x7800, -0xcc00, -0x0c00, -0x1800, -0x3000, -0x6000, -0xc000, -0xc000, -0xfc00, - -/* Character 51 (0x33): - width 9 - bbx ( 6, 9, 0, 0 ) - - +------+ - | **** | - |** **| - | **| - | *** | - | **| - | **| - | **| - |** **| - | **** | - +------+ -*/ -0x7800, -0xcc00, -0x0c00, -0x3800, -0x0c00, -0x0c00, -0x0c00, -0xcc00, -0x7800, - -/* Character 52 (0x34): - width 8 - bbx ( 7, 9, 0, 0 ) - - +-------+ - | ** | - | *** | - | * ** | - | * ** | - | * ** | - |* ** | - |*******| - | ** | - | ** | - +-------+ -*/ -0x0c00, -0x1c00, -0x2c00, -0x2c00, -0x4c00, -0x8c00, -0xfe00, -0x0c00, -0x0c00, - -/* Character 53 (0x35): - width 9 - bbx ( 6, 9, 0, 0 ) - - +------+ - | *****| - | ** | - |** | - |***** | - | **| - | **| - |** **| - |** **| - | **** | - +------+ -*/ -0x7c00, -0x6000, -0xc000, -0xf800, -0x0c00, -0x0c00, -0xcc00, -0xcc00, -0x7800, - -/* Character 54 (0x36): - width 8 - bbx ( 6, 9, 0, 0 ) - - +------+ - | **** | - |** **| - |** | - |** | - |***** | - |** **| - |** **| - |** **| - | **** | - +------+ -*/ -0x7800, -0xcc00, -0xc000, -0xc000, -0xf800, -0xcc00, -0xcc00, -0xcc00, -0x7800, - -/* Character 55 (0x37): - width 10 - bbx ( 6, 9, 0, 0 ) - - +------+ - |******| - | **| - | ** | - | ** | - | ** | - | ** | - | ** | - | ** | - | ** | - +------+ -*/ -0xfc00, -0x0c00, -0x1800, -0x1800, -0x3000, -0x3000, -0x3000, -0x6000, -0x6000, - -/* Character 56 (0x38): - width 8 - bbx ( 6, 9, 0, 0 ) - - +------+ - | **** | - |** **| - |** **| - | **** | - |** **| - |** **| - |** **| - |** **| - | **** | - +------+ -*/ -0x7800, -0xcc00, -0xcc00, -0x7800, -0xcc00, -0xcc00, -0xcc00, -0xcc00, -0x7800, - -/* Character 57 (0x39): - width 8 - bbx ( 6, 9, 0, 0 ) - - +------+ - | **** | - |** **| - |** **| - |** **| - | *****| - | **| - | **| - |** **| - | **** | - +------+ -*/ -0x7800, -0xcc00, -0xcc00, -0xcc00, -0x7c00, -0x0c00, -0x0c00, -0xcc00, -0x7800, - -/* Character 58 (0x3a): - width 7 - bbx ( 2, 7, 1, 0 ) - - +--+ - |**| - |**| - | | - | | - | | - |**| - |**| - +--+ -*/ -0xc000, -0xc000, -0x0000, -0x0000, -0x0000, -0xc000, -0xc000, - -/* Character 59 (0x3b): - width 4 - bbx ( 2, 9, 1, -2 ) - - +--+ - |**| - |**| - | | - | | - | | - |**| - |**| - | *| - |* | - +--+ -*/ -0xc000, -0xc000, -0x0000, -0x0000, -0x0000, -0xc000, -0xc000, -0x4000, -0x8000, - -/* Character 60 (0x3c): - width 4 - bbx ( 5, 5, 1, 1 ) - - +-----+ - | **| - | *** | - |** | - | *** | - | **| - +-----+ -*/ -0x1800, -0x7000, -0xc000, -0x7000, -0x1800, - -/* Character 61 (0x3d): - width 4 - bbx ( 6, 3, 0, 2 ) - - +------+ - |******| - | | - |******| - +------+ -*/ -0xfc00, -0x0000, -0xfc00, - -/* Character 62 (0x3e): - width 7 - bbx ( 5, 5, 1, 1 ) - - +-----+ - |** | - | *** | - | **| - | *** | - |** | - +-----+ -*/ -0xc000, -0x7000, -0x1800, -0x7000, -0xc000, - -/* Character 63 (0x3f): - width 7 - bbx ( 6, 9, 1, 0 ) - - +------+ - | **** | - |** **| - |** **| - | ** | - | ** | - | ** | - | | - | ** | - | ** | - +------+ -*/ -0x7800, -0xcc00, -0xcc00, -0x1800, -0x3000, -0x3000, -0x0000, -0x3000, -0x3000, - -/* Character 64 (0x40): - width 4 - bbx ( 10, 10, 1, -1 ) - - +----------+ - | ***** | - | ** * | - | * *| - |* ** * *| - |* * * *| - |* * * *| - |* * ** * | - |* ** ** | - | * | - | ***** | - +----------+ -*/ -0x1f00, -0x6080, -0x4040, -0x8d40, -0x9240, -0xa240, -0xa680, -0x9b00, -0x4000, -0x3e00, - -/* Character 65 (0x41): - width 7 - bbx ( 8, 9, 0, 0 ) - - +--------+ - | ** | - | **** | - | * * | - | ** ** | - | ** ** | - | ****** | - |** **| - |** **| - |** **| - +--------+ -*/ -0x1800, -0x3c00, -0x2400, -0x6600, -0x6600, -0x7e00, -0xc300, -0xc300, -0xc300, - -/* Character 66 (0x42): - width 7 - bbx ( 7, 9, 1, 0 ) - - +-------+ - |****** | - |** **| - |** **| - |** **| - |****** | - |** **| - |** **| - |** **| - |****** | - +-------+ -*/ -0xfc00, -0xc600, -0xc600, -0xc600, -0xfc00, -0xc600, -0xc600, -0xc600, -0xfc00, - -/* Character 67 (0x43): - width 7 - bbx ( 7, 9, 1, 0 ) - - +-------+ - | **** | - | ** **| - |** | - |** | - |** | - |** | - |** | - | ** **| - | **** | - +-------+ -*/ -0x3c00, -0x6600, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0x6600, -0x3c00, - -/* Character 68 (0x44): - width 7 - bbx ( 7, 9, 1, 0 ) - - +-------+ - |***** | - |** ** | - |** **| - |** **| - |** **| - |** **| - |** **| - |** ** | - |***** | - +-------+ -*/ -0xf800, -0xcc00, -0xc600, -0xc600, -0xc600, -0xc600, -0xc600, -0xcc00, -0xf800, - -/* Character 69 (0x45): - width 7 - bbx ( 6, 9, 1, 0 ) - - +------+ - |******| - |** | - |** | - |** | - |******| - |** | - |** | - |** | - |******| - +------+ -*/ -0xfc00, -0xc000, -0xc000, -0xc000, -0xfc00, -0xc000, -0xc000, -0xc000, -0xfc00, - -/* Character 70 (0x46): - width 5 - bbx ( 6, 9, 1, 0 ) - - +------+ - |******| - |** | - |** | - |** | - |***** | - |** | - |** | - |** | - |** | - +------+ -*/ -0xfc00, -0xc000, -0xc000, -0xc000, -0xf800, -0xc000, -0xc000, -0xc000, -0xc000, - -/* Character 71 (0x47): - width 7 - bbx ( 8, 9, 1, 0 ) - - +--------+ - | ***** | - | ** **| - |** | - |** | - |** ****| - |** **| - |** **| - | ** **| - | **** *| - +--------+ -*/ -0x3e00, -0x6300, -0xc000, -0xc000, -0xcf00, -0xc300, -0xc300, -0x6300, -0x3d00, - -/* Character 72 (0x48): - width 7 - bbx ( 7, 9, 1, 0 ) - - +-------+ - |** **| - |** **| - |** **| - |** **| - |*******| - |** **| - |** **| - |** **| - |** **| - +-------+ -*/ -0xc600, -0xc600, -0xc600, -0xc600, -0xfe00, -0xc600, -0xc600, -0xc600, -0xc600, - -/* Character 73 (0x49): - width 3 - bbx ( 2, 9, 1, 0 ) - - +--+ - |**| - |**| - |**| - |**| - |**| - |**| - |**| - |**| - |**| - +--+ -*/ -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, - -/* Character 74 (0x4a): - width 3 - bbx ( 6, 9, 0, 0 ) - - +------+ - | **| - | **| - | **| - | **| - | **| - | **| - |** **| - |** **| - | **** | - +------+ -*/ -0x0c00, -0x0c00, -0x0c00, -0x0c00, -0x0c00, -0x0c00, -0xcc00, -0xcc00, -0x7800, - -/* Character 75 (0x4b): - width 7 - bbx ( 8, 9, 1, 0 ) - - +--------+ - |** ** | - |** ** | - |** ** | - |**** | - |**** | - |** ** | - |** ** | - |** ** | - |** **| - +--------+ -*/ -0xc600, -0xcc00, -0xd800, -0xf000, -0xf000, -0xd800, -0xcc00, -0xc600, -0xc300, - -/* Character 76 (0x4c): - width 3 - bbx ( 6, 9, 1, 0 ) - - +------+ - |** | - |** | - |** | - |** | - |** | - |** | - |** | - |** | - |******| - +------+ -*/ -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0xfc00, - -/* Character 77 (0x4d): - width 11 - bbx ( 9, 9, 1, 0 ) - - +---------+ - |** **| - |** **| - |*** ***| - |*** ***| - |**** ****| - |** * * **| - |** *** **| - |** * **| - |** * **| - +---------+ -*/ -0xc180, -0xc180, -0xe380, -0xe380, -0xf780, -0xd580, -0xdd80, -0xc980, -0xc980, - -/* Character 78 (0x4e): - width 7 - bbx ( 7, 9, 1, 0 ) - - +-------+ - |** **| - |*** **| - |*** **| - |** * **| - |** * **| - |** ***| - |** ***| - |** **| - |** **| - +-------+ -*/ -0xc600, -0xe600, -0xe600, -0xd600, -0xd600, -0xce00, -0xce00, -0xc600, -0xc600, - -/* Character 79 (0x4f): - width 7 - bbx ( 8, 9, 1, 0 ) - - +--------+ - | **** | - | ** ** | - |** **| - |** **| - |** **| - |** **| - |** **| - | ** ** | - | **** | - +--------+ -*/ -0x3c00, -0x6600, -0xc300, -0xc300, -0xc300, -0xc300, -0xc300, -0x6600, -0x3c00, - -/* Character 80 (0x50): - width 7 - bbx ( 7, 9, 1, 0 ) - - +-------+ - |****** | - |** **| - |** **| - |** **| - |****** | - |** | - |** | - |** | - |** | - +-------+ -*/ -0xfc00, -0xc600, -0xc600, -0xc600, -0xfc00, -0xc000, -0xc000, -0xc000, -0xc000, - -/* Character 81 (0x51): - width 7 - bbx ( 8, 9, 1, 0 ) - - +--------+ - | **** | - | ** ** | - |** **| - |** **| - |** **| - |** * **| - |** ****| - | ** ** | - | ******| - +--------+ -*/ -0x3c00, -0x6600, -0xc300, -0xc300, -0xc300, -0xcb00, -0xcf00, -0x6600, -0x3f00, - -/* Character 82 (0x52): - width 5 - bbx ( 7, 9, 1, 0 ) - - +-------+ - |****** | - |** **| - |** **| - |** **| - |****** | - |** ** | - |** **| - |** **| - |** **| - +-------+ -*/ -0xfc00, -0xc600, -0xc600, -0xc600, -0xfc00, -0xcc00, -0xc600, -0xc600, -0xc600, - -/* Character 83 (0x53): - width 7 - bbx ( 7, 9, 1, 0 ) - - +-------+ - | ***** | - |** **| - |** **| - | *** | - | *** | - | ***| - |** **| - |** **| - | ***** | - +-------+ -*/ -0x7c00, -0xc600, -0xc600, -0x7000, -0x1c00, -0x0e00, -0xc600, -0xc600, -0x7c00, - -/* Character 84 (0x54): - width 5 - bbx ( 8, 9, 0, 0 ) - - +--------+ - |********| - | ** | - | ** | - | ** | - | ** | - | ** | - | ** | - | ** | - | ** | - +--------+ -*/ -0xff00, -0x1800, -0x1800, -0x1800, -0x1800, -0x1800, -0x1800, -0x1800, -0x1800, - -/* Character 85 (0x55): - width 7 - bbx ( 7, 9, 1, 0 ) - - +-------+ - |** **| - |** **| - |** **| - |** **| - |** **| - |** **| - |** **| - | ** ** | - | ***** | - +-------+ -*/ -0xc600, -0xc600, -0xc600, -0xc600, -0xc600, -0xc600, -0xc600, -0x6c00, -0x7c00, - -/* Character 86 (0x56): - width 8 - bbx ( 8, 9, 0, 0 ) - - +--------+ - |** **| - |** **| - | ** ** | - | ** ** | - | ** ** | - | * * | - | **** | - | ** | - | ** | - +--------+ -*/ -0xc300, -0xc300, -0x6600, -0x6600, -0x6600, -0x2400, -0x3c00, -0x1800, -0x1800, - -/* Character 87 (0x57): - width 11 - bbx ( 10, 9, 0, 0 ) - - +----------+ - |** ** **| - |** ** **| - |** ** **| - | * ** * | - | ** ** ** | - | ** ** ** | - | ** ** | - | ** ** | - | ** ** | - +----------+ -*/ -0xccc0, -0xccc0, -0xccc0, -0x4c80, -0x6d80, -0x6d80, -0x3300, -0x3300, -0x3300, - -/* Character 88 (0x58): - width 7 - bbx ( 8, 9, 0, 0 ) - - +--------+ - |** **| - |** **| - | ** ** | - | **** | - | ** | - | **** | - | ** ** | - |** **| - |** **| - +--------+ -*/ -0xc300, -0xc300, -0x6600, -0x3c00, -0x1800, -0x3c00, -0x6600, -0xc300, -0xc300, - -/* Character 89 (0x59): - width 8 - bbx ( 8, 9, 0, 0 ) - - +--------+ - |** **| - |** **| - | ** ** | - | ** ** | - | **** | - | ** | - | ** | - | ** | - | ** | - +--------+ -*/ -0xc300, -0xc300, -0x6600, -0x6600, -0x3c00, -0x1800, -0x1800, -0x1800, -0x1800, - -/* Character 90 (0x5a): - width 6 - bbx ( 7, 9, 0, 0 ) - - +-------+ - |*******| - | **| - | ** | - | ** | - | ** | - | ** | - | ** | - |** | - |*******| - +-------+ -*/ -0xfe00, -0x0600, -0x0c00, -0x1800, -0x3000, -0x3000, -0x6000, -0xc000, -0xfe00, - -/* Character 91 (0x5b): - width 5 - bbx ( 3, 12, 1, -3 ) - - +---+ - |***| - |** | - |** | - |** | - |** | - |** | - |** | - |** | - |** | - |** | - |** | - |***| - +---+ -*/ -0xe000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0xe000, - -/* Character 92 (0x5c): - width 4 - bbx ( 4, 9, 0, 0 ) - - +----+ - |** | - |** | - | * | - | ** | - | ** | - | * | - | * | - | **| - | **| - +----+ -*/ -0xc000, -0xc000, -0x4000, -0x6000, -0x6000, -0x2000, -0x2000, -0x3000, -0x3000, - -/* Character 93 (0x5d): - width 5 - bbx ( 3, 12, 0, -3 ) - - +---+ - |***| - | **| - | **| - | **| - | **| - | **| - | **| - | **| - | **| - | **| - | **| - |***| - +---+ -*/ -0xe000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, -0xe000, - -/* Character 94 (0x5e): - width 7 - bbx ( 7, 4, 0, 5 ) - - +-------+ - | * | - | *** | - | ** ** | - |** **| - +-------+ -*/ -0x1000, -0x3800, -0x6c00, -0xc600, - -/* Character 95 (0x5f): - width 4 - bbx ( 7, 1, 0, -3 ) - - +-------+ - |*******| - +-------+ -*/ -0xfe00, - -/* Character 96 (0x60): - width 4 - bbx ( 3, 2, 0, 8 ) - - +---+ - |** | - | **| - +---+ -*/ -0xc000, -0x6000, - -/* Character 97 (0x61): - width 4 - bbx ( 7, 7, 0, 0 ) - - +-------+ - | **** | - |** ** | - | ** | - | ***** | - |** ** | - |** ** | - | *** **| - +-------+ -*/ -0x7800, -0xcc00, -0x0c00, -0x7c00, -0xcc00, -0xcc00, -0x7600, - -/* Character 98 (0x62): - width 4 - bbx ( 6, 9, 0, 0 ) - - +------+ - |** | - |** | - |** ** | - |*** **| - |** **| - |** **| - |** **| - |*** **| - |** ** | - +------+ -*/ -0xc000, -0xc000, -0xd800, -0xec00, -0xcc00, -0xcc00, -0xcc00, -0xec00, -0xd800, - -/* Character 99 (0x63): - width 4 - bbx ( 6, 7, 0, 0 ) - - +------+ - | **** | - |** **| - |** | - |** | - |** | - |** **| - | **** | - +------+ -*/ -0x7800, -0xcc00, -0xc000, -0xc000, -0xc000, -0xcc00, -0x7800, - -/* Character 100 (0x64): - width 4 - bbx ( 6, 9, 0, 0 ) - - +------+ - | **| - | **| - | ** **| - |** ***| - |** **| - |** **| - |** **| - |** ***| - | ** **| - +------+ -*/ -0x0c00, -0x0c00, -0x6c00, -0xdc00, -0xcc00, -0xcc00, -0xcc00, -0xdc00, -0x6c00, - -/* Character 101 (0x65): - width 4 - bbx ( 6, 7, 0, 0 ) - - +------+ - | **** | - |** **| - |** **| - |******| - |** | - |** **| - | **** | - +------+ -*/ -0x7800, -0xcc00, -0xcc00, -0xfc00, -0xc000, -0xcc00, -0x7800, - -/* Character 102 (0x66): - width 4 - bbx ( 5, 9, 0, 0 ) - - +-----+ - | ***| - | ** | - |**** | - | ** | - | ** | - | ** | - | ** | - | ** | - | ** | - +-----+ -*/ -0x3800, -0x6000, -0xf000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, - -/* Character 103 (0x67): - width 4 - bbx ( 6, 10, 0, -3 ) - - +------+ - | ** **| - |** ***| - |** **| - |** **| - |** **| - |** ***| - | ** **| - | **| - |** **| - | **** | - +------+ -*/ -0x6c00, -0xdc00, -0xcc00, -0xcc00, -0xcc00, -0xdc00, -0x6c00, -0x0c00, -0xcc00, -0x7800, - -/* Character 104 (0x68): - width 4 - bbx ( 6, 9, 0, 0 ) - - +------+ - |** | - |** | - |** ** | - |*** **| - |** **| - |** **| - |** **| - |** **| - |** **| - +------+ -*/ -0xc000, -0xc000, -0xd800, -0xec00, -0xcc00, -0xcc00, -0xcc00, -0xcc00, -0xcc00, - -/* Character 105 (0x69): - width 4 - bbx ( 2, 9, 0, 0 ) - - +--+ - |**| - | | - |**| - |**| - |**| - |**| - |**| - |**| - |**| - +--+ -*/ -0xc000, -0x0000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, - -/* Character 106 (0x6a): - width 4 - bbx ( 3, 12, -1, -3 ) - - +---+ - | **| - | | - | **| - | **| - | **| - | **| - | **| - | **| - | **| - | **| - | **| - |** | - +---+ -*/ -0x6000, -0x0000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, -0xc000, - -/* Character 107 (0x6b): - width 4 - bbx ( 7, 9, 0, 0 ) - - +-------+ - |** | - |** | - |** ** | - |** ** | - |**** | - |**** | - |** ** | - |** ** | - |** **| - +-------+ -*/ -0xc000, -0xc000, -0xcc00, -0xd800, -0xf000, -0xf000, -0xd800, -0xcc00, -0xc600, - -/* Character 108 (0x6c): - width 4 - bbx ( 2, 9, 0, 0 ) - - +--+ - |**| - |**| - |**| - |**| - |**| - |**| - |**| - |**| - |**| - +--+ -*/ -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, - -/* Character 109 (0x6d): - width 4 - bbx ( 10, 7, 0, 0 ) - - +----------+ - |* *** *** | - |** ** **| - |** ** **| - |** ** **| - |** ** **| - |** ** **| - |** ** **| - +----------+ -*/ -0xbb80, -0xccc0, -0xccc0, -0xccc0, -0xccc0, -0xccc0, -0xccc0, - -/* Character 110 (0x6e): - width 4 - bbx ( 6, 7, 0, 0 ) - - +------+ - |** ** | - |*** **| - |** **| - |** **| - |** **| - |** **| - |** **| - +------+ -*/ -0xd800, -0xec00, -0xcc00, -0xcc00, -0xcc00, -0xcc00, -0xcc00, - -/* Character 111 (0x6f): - width 4 - bbx ( 6, 7, 0, 0 ) - - +------+ - | **** | - |** **| - |** **| - |** **| - |** **| - |** **| - | **** | - +------+ -*/ -0x7800, -0xcc00, -0xcc00, -0xcc00, -0xcc00, -0xcc00, -0x7800, - -/* Character 112 (0x70): - width 4 - bbx ( 6, 10, 0, -3 ) - - +------+ - |** ** | - |*** **| - |** **| - |** **| - |** **| - |*** **| - |** ** | - |** | - |** | - |** | - +------+ -*/ -0xd800, -0xec00, -0xcc00, -0xcc00, -0xcc00, -0xec00, -0xd800, -0xc000, -0xc000, -0xc000, - -/* Character 113 (0x71): - width 4 - bbx ( 6, 10, 0, -3 ) - - +------+ - | *** *| - |** ***| - |** **| - |** **| - |** **| - |** ***| - | ** **| - | **| - | **| - | **| - +------+ -*/ -0x7400, -0xdc00, -0xcc00, -0xcc00, -0xcc00, -0xdc00, -0x6c00, -0x0c00, -0x0c00, -0x0c00, - -/* Character 114 (0x72): - width 4 - bbx ( 5, 7, 0, 0 ) - - +-----+ - |** **| - |*****| - |*** | - |** | - |** | - |** | - |** | - +-----+ -*/ -0xd800, -0xf800, -0xe000, -0xc000, -0xc000, -0xc000, -0xc000, - -/* Character 115 (0x73): - width 4 - bbx ( 6, 7, 0, 0 ) - - +------+ - | **** | - |** **| - |*** | - | *** | - | ***| - |** **| - | **** | - +------+ -*/ -0x7800, -0xcc00, -0xe000, -0x3800, -0x1c00, -0xcc00, -0x7800, - -/* Character 116 (0x74): - width 4 - bbx ( 5, 9, 0, 0 ) - - +-----+ - | ** | - | ** | - |**** | - | ** | - | ** | - | ** | - | ** | - | ** *| - | ** | - +-----+ -*/ -0x6000, -0x6000, -0xf000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6800, -0x3000, - -/* Character 117 (0x75): - width 4 - bbx ( 6, 7, 0, 0 ) - - +------+ - |** **| - |** **| - |** **| - |** **| - |** **| - |** ***| - | ** **| - +------+ -*/ -0xcc00, -0xcc00, -0xcc00, -0xcc00, -0xcc00, -0xdc00, -0x6c00, - -/* Character 118 (0x76): - width 4 - bbx ( 7, 7, 0, 0 ) - - +-------+ - |** **| - |** **| - | ** ** | - | ** ** | - | *** | - | *** | - | * | - +-------+ -*/ -0xc600, -0xc600, -0x6c00, -0x6c00, -0x3800, -0x3800, -0x1000, - -/* Character 119 (0x77): - width 4 - bbx ( 10, 7, 0, 0 ) - - +----------+ - |** ** **| - |** ** **| - | ** ** ** | - | ** ** ** | - | ** ** ** | - | ** ** | - | ** ** | - +----------+ -*/ -0xccc0, -0xccc0, -0x6d80, -0x6d80, -0x6d80, -0x3300, -0x3300, - -/* Character 120 (0x78): - width 4 - bbx ( 6, 7, 0, 0 ) - - +------+ - |** **| - |** **| - | **** | - | ** | - | **** | - |** **| - |** **| - +------+ -*/ -0xcc00, -0xcc00, -0x7800, -0x3000, -0x7800, -0xcc00, -0xcc00, - -/* Character 121 (0x79): - width 4 - bbx ( 7, 10, 0, -3 ) - - +-------+ - |** **| - |** **| - | ** ** | - | ** ** | - | *** | - | *** | - | ** | - | * | - | ** | - | ** | - +-------+ -*/ -0xc600, -0xc600, -0x6c00, -0x6c00, -0x3800, -0x3800, -0x1800, -0x1000, -0x3000, -0x6000, - -/* Character 122 (0x7a): - width 4 - bbx ( 5, 7, 0, 0 ) - - +-----+ - |*****| - | **| - | ** | - | * | - | ** | - |** | - |*****| - +-----+ -*/ -0xf800, -0x1800, -0x3000, -0x2000, -0x6000, -0xc000, -0xf800, - -/* Character 123 (0x7b): - width 4 - bbx ( 4, 12, 0, -3 ) - - +----+ - | **| - | ** | - | ** | - | ** | - | ** | - |** | - | ** | - | ** | - | ** | - | ** | - | ** | - | **| - +----+ -*/ -0x3000, -0x6000, -0x6000, -0x6000, -0x6000, -0xc000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, -0x3000, - -/* Character 124 (0x7c): - width 4 - bbx ( 2, 12, 1, -3 ) - - +--+ - |**| - |**| - |**| - |**| - |**| - |**| - |**| - |**| - |**| - |**| - |**| - |**| - +--+ -*/ -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, - -/* Character 125 (0x7d): - width 4 - bbx ( 4, 12, 0, -3 ) - - +----+ - |** | - | ** | - | ** | - | ** | - | ** | - | **| - | ** | - | ** | - | ** | - | ** | - | ** | - |** | - +----+ -*/ -0xc000, -0x6000, -0x6000, -0x6000, -0x6000, -0x3000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, -0xc000, - -/* Character 126 (0x7e): - width 4 - bbx ( 7, 2, 0, 3 ) - - +-------+ - | *** **| - |** *** | - +-------+ -*/ -0x7600, -0xdc00, - -/* Character 160 (0xa0): - width 8 - bbx ( 1, 1, 0, 0 ) - - +-+ - | | - +-+ -*/ -0x0000, - -/* Character 161 (0xa1): - width 8 - bbx ( 2, 10, 1, -3 ) - - +--+ - |**| - |**| - | | - | *| - |**| - |**| - |**| - |**| - |**| - |**| - +--+ -*/ -0xc000, -0xc000, -0x0000, -0x4000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, - -/* Character 162 (0xa2): - width 8 - bbx ( 6, 9, 0, -1 ) - - +------+ - | * | - | **** | - |** ***| - |* * | - |* * | - |* * | - |*** **| - | **** | - | * | - +------+ -*/ -0x1000, -0x7800, -0xdc00, -0x9000, -0xa000, -0xa000, -0xec00, -0x7800, -0x4000, - -/* Character 163 (0xa3): - width 8 - bbx ( 6, 9, 0, 0 ) - - +------+ - | *** | - | ** **| - | ** | - | ** | - |***** | - | ** | - | ** | - |*** **| - |** ** | - +------+ -*/ -0x3800, -0x6c00, -0x6000, -0x6000, -0xf800, -0x6000, -0x6000, -0xec00, -0xd800, - -/* Character 164 (0xa4): - width 8 - bbx ( 6, 6, 0, 1 ) - - +------+ - |** **| - | **** | - | * * | - | * * | - | **** | - |** **| - +------+ -*/ -0xcc00, -0x7800, -0x4800, -0x4800, -0x7800, -0xcc00, - -/* Character 165 (0xa5): - width 8 - bbx ( 6, 9, 0, 0 ) - - +------+ - |** **| - |** **| - | * * | - |******| - | ** | - |******| - | ** | - | ** | - | ** | - +------+ -*/ -0xcc00, -0xcc00, -0x4800, -0xfc00, -0x3000, -0xfc00, -0x3000, -0x3000, -0x3000, - -/* Character 166 (0xa6): - width 13 - bbx ( 2, 11, 1, -2 ) - - +--+ - |**| - |**| - |**| - |**| - | | - | | - |**| - |**| - |**| - |**| - |**| - +--+ -*/ -0xc000, -0xc000, -0xc000, -0xc000, -0x0000, -0x0000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, - -/* Character 167 (0xa7): - width 8 - bbx ( 6, 12, 0, -3 ) - - +------+ - | **** | - |** **| - |*** | - | *** | - |** ** | - |** **| - |** **| - | ** **| - | *** | - | ***| - |** **| - | **** | - +------+ -*/ -0x7800, -0xcc00, -0xe000, -0x7000, -0xd800, -0xcc00, -0xcc00, -0x6c00, -0x3800, -0x1c00, -0xcc00, -0x7800, - -/* Character 168 (0xa8): - width 8 - bbx ( 5, 1, 0, 8 ) - - +-----+ - |** **| - +-----+ -*/ -0xd800, - -/* Character 169 (0xa9): - width 8 - bbx ( 9, 9, 1, 0 ) - - +---------+ - | ***** | - | * * | - |* *** *| - |* * * *| - |* * *| - |* * * *| - |* *** *| - | * * | - | ***** | - +---------+ -*/ -0x3e00, -0x4100, -0x9c80, -0xa280, -0xa080, -0xa280, -0x9c80, -0x4100, -0x3e00, - -/* Character 170 (0xaa): - width 8 - bbx ( 4, 6, 1, 3 ) - - +----+ - |*** | - | **| - |****| - |* **| - | | - |****| - +----+ -*/ -0xe000, -0x3000, -0xf000, -0xb000, -0x0000, -0xf000, - -/* Character 171 (0xab): - width 8 - bbx ( 6, 5, 1, 1 ) - - +------+ - | * *| - | ** **| - |** ** | - | ** **| - | * *| - +------+ -*/ -0x2400, -0x6c00, -0xd800, -0x6c00, -0x2400, - -/* Character 172 (0xac): - width 4 - bbx ( 6, 4, 1, 2 ) - - +------+ - |******| - | *| - | *| - | *| - +------+ -*/ -0xfc00, -0x0400, -0x0400, -0x0400, - -/* Character 173 (0xad): - width 4 - bbx ( 4, 1, 0, 3 ) - - +----+ - |****| - +----+ -*/ -0xf000, - -/* Character 174 (0xae): - width 4 - bbx ( 9, 9, 1, 0 ) - - +---------+ - | ***** | - | * * | - |* *** *| - |* * * *| - |* ** *| - |* * * *| - |* * * *| - | * * | - | ***** | - +---------+ -*/ -0x3e00, -0x4100, -0x9c80, -0x9480, -0x9880, -0x9480, -0x9480, -0x4100, -0x3e00, - -/* Character 175 (0xaf): - width 4 - bbx ( 4, 1, 0, 8 ) - - +----+ - |****| - +----+ -*/ -0xf000, - -/* Character 176 (0xb0): - width 9 - bbx ( 4, 4, 0, 4 ) - - +----+ - | ** | - |* *| - |* *| - | ** | - +----+ -*/ -0x6000, -0x9000, -0x9000, -0x6000, - -/* Character 177 (0xb1): - width 9 - bbx ( 6, 7, 0, 0 ) - - +------+ - | ** | - | ** | - |******| - | ** | - | ** | - | | - |******| - +------+ -*/ -0x3000, -0x3000, -0xfc00, -0x3000, -0x3000, -0x0000, -0xfc00, - -/* Character 178 (0xb2): - width 10 - bbx ( 4, 5, 0, 4 ) - - +----+ - | ** | - |* **| - | ** | - |** | - |****| - +----+ -*/ -0x6000, -0xb000, -0x6000, -0xc000, -0xf000, - -/* Character 179 (0xb3): - width 10 - bbx ( 4, 5, 0, 4 ) - - +----+ - | ** | - |* **| - | ** | - | **| - |*** | - +----+ -*/ -0x6000, -0xb000, -0x6000, -0x3000, -0xe000, - -/* Character 180 (0xb4): - width 10 - bbx ( 3, 2, 0, 8 ) - - +---+ - | **| - |** | - +---+ -*/ -0x6000, -0xc000, - -/* Character 181 (0xb5): - width 10 - bbx ( 6, 10, 0, -3 ) - - +------+ - |** **| - |** **| - |** **| - |** **| - |** **| - |** ***| - |*** **| - |** | - |** | - |** | - +------+ -*/ -0xcc00, -0xcc00, -0xcc00, -0xcc00, -0xcc00, -0xdc00, -0xec00, -0xc000, -0xc000, -0xc000, - -/* Character 182 (0xb6): - width 10 - bbx ( 7, 12, 0, -3 ) - - +-------+ - | *****| - | *** * | - |**** * | - |**** * | - |**** * | - | *** * | - | ** * | - | * * | - | * * | - | * * | - | * * | - | * * | - +-------+ -*/ -0x3e00, -0x7400, -0xf400, -0xf400, -0xf400, -0x7400, -0x3400, -0x1400, -0x1400, -0x1400, -0x1400, -0x1400, - -/* Character 183 (0xb7): - width 7 - bbx ( 2, 2, 1, 3 ) - - +--+ - |**| - |**| - +--+ -*/ -0xc000, -0xc000, - -/* Character 184 (0xb8): - width 10 - bbx ( 4, 4, 0, -3 ) - - +----+ - | ** | - | **| - | **| - |*** | - +----+ -*/ -0x6000, -0x3000, -0x3000, -0xe000, - -/* Character 185 (0xb9): - width 9 - bbx ( 3, 5, 0, 4 ) - - +---+ - | **| - |***| - | **| - | **| - | **| - +---+ -*/ -0x6000, -0xe000, -0x6000, -0x6000, -0x6000, - -/* Character 186 (0xba): - width 9 - bbx ( 4, 6, 1, 3 ) - - +----+ - | ** | - |** *| - |** *| - | ** | - | | - |****| - +----+ -*/ -0x6000, -0xd000, -0xd000, -0x6000, -0x0000, -0xf000, - -/* Character 187 (0xbb): - width 9 - bbx ( 6, 5, 1, 1 ) - - +------+ - |* * | - |** ** | - | ** **| - |** ** | - |* * | - +------+ -*/ -0x9000, -0xd800, -0x6c00, -0xd800, -0x9000, - -/* Character 188 (0xbc): - width 9 - bbx ( 10, 9, 0, 0 ) - - +----------+ - | ** ** | - |*** ** | - | ** ** | - | ** ** | - | ** ** ** | - | * *** | - | ** * * | - | ** *****| - | ** ** | - +----------+ -*/ -0x6300, -0xe600, -0x6600, -0x6c00, -0x6d80, -0x0b80, -0x1a80, -0x37c0, -0x3180, - -/* Character 189 (0xbd): - width 8 - bbx ( 10, 9, 0, 0 ) - - +----------+ - | ** ** | - |*** ** | - | ** ** | - | ** ** | - | ** ** ** | - | * * **| - | ** ** | - | ** ** | - | ** ****| - +----------+ -*/ -0x6300, -0xe600, -0x6600, -0x6c00, -0x6d80, -0x0ac0, -0x1980, -0x3300, -0x33c0, - -/* Character 190 (0xbe): - width 8 - bbx ( 10, 9, 0, 0 ) - - +----------+ - | ** ** | - |* ** ** | - | ** ** | - | ** ** | - |*** ** ** | - | * *** | - | ** * * | - | ** *****| - | ** ** | - +----------+ -*/ -0x6300, -0xb300, -0x6600, -0x3600, -0xed80, -0x0b80, -0x1a80, -0x37c0, -0x3180, - -/* Character 191 (0xbf): - width 8 - bbx ( 6, 10, 1, -3 ) - - +------+ - | ** | - | ** | - | | - | ** | - | ** | - | ** | - | ** | - |** **| - |** **| - | **** | - +------+ -*/ -0x3000, -0x3000, -0x0000, -0x3000, -0x3000, -0x3000, -0x6000, -0xcc00, -0xcc00, -0x7800, - -/* Character 192 (0xc0): - width 7 - bbx ( 8, 12, 0, 0 ) - - +--------+ - | ** | - | ** | - | | - | ** | - | ** | - | **** | - | * * | - | ** ** | - | ****** | - |** **| - |** **| - |** **| - +--------+ -*/ -0x3000, -0x1800, -0x0000, -0x1800, -0x1800, -0x3c00, -0x2400, -0x6600, -0x7e00, -0xc300, -0xc300, -0xc300, - -/* Character 193 (0xc1): - width 7 - bbx ( 8, 12, 0, 0 ) - - +--------+ - | ** | - | ** | - | | - | ** | - | ** | - | **** | - | * * | - | ** ** | - | ****** | - |** **| - |** **| - |** **| - +--------+ -*/ -0x0c00, -0x1800, -0x0000, -0x1800, -0x1800, -0x3c00, -0x2400, -0x6600, -0x7e00, -0xc300, -0xc300, -0xc300, - -/* Character 194 (0xc2): - width 7 - bbx ( 8, 12, 0, 0 ) - - +--------+ - | *** | - | ** ** | - | | - | ** | - | ** | - | **** | - | * * | - | ** ** | - | ****** | - |** **| - |** **| - |** **| - +--------+ -*/ -0x1c00, -0x3600, -0x0000, -0x1800, -0x1800, -0x3c00, -0x2400, -0x6600, -0x7e00, -0xc300, -0xc300, -0xc300, - -/* Character 195 (0xc3): - width 7 - bbx ( 8, 12, 0, 0 ) - - +--------+ - | ** * | - | * ** | - | | - | ** | - | ** | - | **** | - | * * | - | ** ** | - | ****** | - |** **| - |** **| - |** **| - +--------+ -*/ -0x1a00, -0x2c00, -0x0000, -0x1800, -0x1800, -0x3c00, -0x2400, -0x6600, -0x7e00, -0xc300, -0xc300, -0xc300, - -/* Character 196 (0xc4): - width 7 - bbx ( 8, 11, 0, 0 ) - - +--------+ - | ** ** | - | | - | ** | - | ** | - | **** | - | * * | - | ** ** | - | ****** | - |** **| - |** **| - |** **| - +--------+ -*/ -0x3600, -0x0000, -0x1800, -0x1800, -0x3c00, -0x2400, -0x6600, -0x7e00, -0xc300, -0xc300, -0xc300, - -/* Character 197 (0xc5): - width 7 - bbx ( 8, 12, 0, 0 ) - - +--------+ - | ** | - | * * | - | ** | - | ** | - | ** | - | **** | - | * * | - | ** ** | - | ****** | - |** **| - |** **| - |** **| - +--------+ -*/ -0x1800, -0x2400, -0x1800, -0x1800, -0x1800, -0x3c00, -0x2400, -0x6600, -0x7e00, -0xc300, -0xc300, -0xc300, - -/* Character 198 (0xc6): - width 11 - bbx ( 11, 9, 1, 0 ) - - +-----------+ - | ********| - | ** ** | - | * ** | - | ** ** | - | ** ******| - | ****** | - |** ** | - |** ** | - |** ******| - +-----------+ -*/ -0x1fe0, -0x3600, -0x2600, -0x6600, -0x67e0, -0x7e00, -0xc600, -0xc600, -0xc7e0, - -/* Character 199 (0xc7): - width 7 - bbx ( 7, 12, 1, -3 ) - - +-------+ - | **** | - | ** **| - |** | - |** | - |** | - |** | - |** | - | ** **| - | **** | - | ** | - | ** | - | *** | - +-------+ -*/ -0x3c00, -0x6600, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0x6600, -0x3c00, -0x1800, -0x1800, -0x7000, - -/* Character 200 (0xc8): - width 7 - bbx ( 6, 12, 1, 0 ) - - +------+ - | ** | - | ** | - | | - |******| - |** | - |** | - |** | - |******| - |** | - |** | - |** | - |******| - +------+ -*/ -0x6000, -0x3000, -0x0000, -0xfc00, -0xc000, -0xc000, -0xc000, -0xfc00, -0xc000, -0xc000, -0xc000, -0xfc00, - -/* Character 201 (0xc9): - width 7 - bbx ( 6, 12, 1, 0 ) - - +------+ - | ** | - | ** | - | | - |******| - |** | - |** | - |** | - |******| - |** | - |** | - |** | - |******| - +------+ -*/ -0x1800, -0x3000, -0x0000, -0xfc00, -0xc000, -0xc000, -0xc000, -0xfc00, -0xc000, -0xc000, -0xc000, -0xfc00, - -/* Character 202 (0xca): - width 7 - bbx ( 6, 12, 1, 0 ) - - +------+ - | *** | - | ** **| - | | - |******| - |** | - |** | - |** | - |******| - |** | - |** | - |** | - |******| - +------+ -*/ -0x3800, -0x6c00, -0x0000, -0xfc00, -0xc000, -0xc000, -0xc000, -0xfc00, -0xc000, -0xc000, -0xc000, -0xfc00, - -/* Character 203 (0xcb): - width 7 - bbx ( 6, 11, 1, 0 ) - - +------+ - | ** **| - | | - |******| - |** | - |** | - |** | - |******| - |** | - |** | - |** | - |******| - +------+ -*/ -0x6c00, -0x0000, -0xfc00, -0xc000, -0xc000, -0xc000, -0xfc00, -0xc000, -0xc000, -0xc000, -0xfc00, - -/* Character 204 (0xcc): - width 3 - bbx ( 3, 12, 0, 0 ) - - +---+ - |** | - | **| - | | - | **| - | **| - | **| - | **| - | **| - | **| - | **| - | **| - | **| - +---+ -*/ -0xc000, -0x6000, -0x0000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, - -/* Character 205 (0xcd): - width 3 - bbx ( 3, 12, 1, 0 ) - - +---+ - | **| - |** | - | | - |** | - |** | - |** | - |** | - |** | - |** | - |** | - |** | - |** | - +---+ -*/ -0x6000, -0xc000, -0x0000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, - -/* Character 206 (0xce): - width 3 - bbx ( 5, 12, 0, 0 ) - - +-----+ - | *** | - |** **| - | | - | ** | - | ** | - | ** | - | ** | - | ** | - | ** | - | ** | - | ** | - | ** | - +-----+ -*/ -0x7000, -0xd800, -0x0000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, - -/* Character 207 (0xcf): - width 3 - bbx ( 5, 11, 0, 0 ) - - +-----+ - |** **| - | | - | ** | - | ** | - | ** | - | ** | - | ** | - | ** | - | ** | - | ** | - | ** | - +-----+ -*/ -0xd800, -0x0000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, - -/* Character 208 (0xd0): - width 7 - bbx ( 8, 9, 0, 0 ) - - +--------+ - | ***** | - | ** ** | - | ** **| - | ** **| - |**** **| - | ** **| - | ** **| - | ** ** | - | ***** | - +--------+ -*/ -0x7c00, -0x6600, -0x6300, -0x6300, -0xf300, -0x6300, -0x6300, -0x6600, -0x7c00, - -/* Character 209 (0xd1): - width 7 - bbx ( 7, 12, 1, 0 ) - - +-------+ - | ** * | - | * ** | - | | - |** **| - |** **| - |*** **| - |*** **| - |**** **| - |** ***| - |** ***| - |** **| - |** **| - +-------+ -*/ -0x3400, -0x5800, -0x0000, -0xc600, -0xc600, -0xe600, -0xe600, -0xf600, -0xce00, -0xce00, -0xc600, -0xc600, - -/* Character 210 (0xd2): - width 7 - bbx ( 8, 12, 1, 0 ) - - +--------+ - | ** | - | ** | - | | - | **** | - | ** ** | - |** **| - |** **| - |** **| - |** **| - |** **| - | ** ** | - | **** | - +--------+ -*/ -0x3000, -0x1800, -0x0000, -0x3c00, -0x6600, -0xc300, -0xc300, -0xc300, -0xc300, -0xc300, -0x6600, -0x3c00, - -/* Character 211 (0xd3): - width 7 - bbx ( 8, 12, 1, 0 ) - - +--------+ - | ** | - | ** | - | | - | **** | - | ** ** | - |** **| - |** **| - |** **| - |** **| - |** **| - | ** ** | - | **** | - +--------+ -*/ -0x0c00, -0x1800, -0x0000, -0x3c00, -0x6600, -0xc300, -0xc300, -0xc300, -0xc300, -0xc300, -0x6600, -0x3c00, - -/* Character 212 (0xd4): - width 7 - bbx ( 8, 12, 1, 0 ) - - +--------+ - | *** | - | ** ** | - | | - | **** | - | ** ** | - |** **| - |** **| - |** **| - |** **| - |** **| - | ** ** | - | **** | - +--------+ -*/ -0x1c00, -0x3600, -0x0000, -0x3c00, -0x6600, -0xc300, -0xc300, -0xc300, -0xc300, -0xc300, -0x6600, -0x3c00, - -/* Character 213 (0xd5): - width 7 - bbx ( 8, 12, 1, 0 ) - - +--------+ - | ** * | - | * ** | - | | - | **** | - | ** ** | - |** **| - |** **| - |** **| - |** **| - |** **| - | ** ** | - | **** | - +--------+ -*/ -0x1a00, -0x2c00, -0x0000, -0x3c00, -0x6600, -0xc300, -0xc300, -0xc300, -0xc300, -0xc300, -0x6600, -0x3c00, - -/* Character 214 (0xd6): - width 7 - bbx ( 8, 11, 1, 0 ) - - +--------+ - | ** ** | - | | - | **** | - | ** ** | - |** **| - |** **| - |** **| - |** **| - |** **| - | ** ** | - | **** | - +--------+ -*/ -0x6600, -0x0000, -0x3c00, -0x6600, -0xc300, -0xc300, -0xc300, -0xc300, -0xc300, -0x6600, -0x3c00, - -/* Character 215 (0xd7): - width 7 - bbx ( 6, 5, 0, 1 ) - - +------+ - |** **| - | **** | - | ** | - | **** | - |** **| - +------+ -*/ -0xcc00, -0x7800, -0x3000, -0x7800, -0xcc00, - -/* Character 216 (0xd8): - width 7 - bbx ( 8, 10, 1, -1 ) - - +--------+ - | **** *| - | ** ** | - |** ****| - |** * **| - |** ** **| - |** * **| - |**** **| - | ** ** | - | ***** | - |* | - +--------+ -*/ -0x3d00, -0x6600, -0xcf00, -0xcb00, -0xdb00, -0xd300, -0xf300, -0x6600, -0x7c00, -0x8000, - -/* Character 217 (0xd9): - width 7 - bbx ( 7, 12, 1, 0 ) - - +-------+ - | ** | - | ** | - | | - |** **| - |** **| - |** **| - |** **| - |** **| - |** **| - |** **| - | ** ** | - | ***** | - +-------+ -*/ -0x3000, -0x1800, -0x0000, -0xc600, -0xc600, -0xc600, -0xc600, -0xc600, -0xc600, -0xc600, -0x6c00, -0x7c00, - -/* Character 218 (0xda): - width 7 - bbx ( 7, 12, 1, 0 ) - - +-------+ - | ** | - | ** | - | | - |** **| - |** **| - |** **| - |** **| - |** **| - |** **| - |** **| - | ** ** | - | ***** | - +-------+ -*/ -0x0c00, -0x1800, -0x0000, -0xc600, -0xc600, -0xc600, -0xc600, -0xc600, -0xc600, -0xc600, -0x6c00, -0x7c00, - -/* Character 219 (0xdb): - width 7 - bbx ( 7, 12, 1, 0 ) - - +-------+ - | *** | - | ** ** | - | | - |** **| - |** **| - |** **| - |** **| - |** **| - |** **| - |** **| - | ** ** | - | ***** | - +-------+ -*/ -0x3800, -0x6c00, -0x0000, -0xc600, -0xc600, -0xc600, -0xc600, -0xc600, -0xc600, -0xc600, -0x6c00, -0x7c00, - -/* Character 220 (0xdc): - width 7 - bbx ( 7, 11, 1, 0 ) - - +-------+ - | ** ** | - | | - |** **| - |** **| - |** **| - |** **| - |** **| - |** **| - |** **| - | ** ** | - | ***** | - +-------+ -*/ -0x6c00, -0x0000, -0xc600, -0xc600, -0xc600, -0xc600, -0xc600, -0xc600, -0xc600, -0x6c00, -0x7c00, - -/* Character 221 (0xdd): - width 8 - bbx ( 8, 12, 0, 0 ) - - +--------+ - | ** | - | ** | - | | - |** **| - |** **| - | ** ** | - | ** ** | - | * * | - | **** | - | ** | - | ** | - | ** | - +--------+ -*/ -0x0c00, -0x1800, -0x0000, -0xc300, -0xc300, -0x6600, -0x6600, -0x2400, -0x3c00, -0x1800, -0x1800, -0x1800, - -/* Character 222 (0xde): - width 7 - bbx ( 7, 9, 1, 0 ) - - +-------+ - |** | - |** | - |****** | - |** **| - |** **| - |** **| - |****** | - |** | - |** | - +-------+ -*/ -0xc000, -0xc000, -0xfc00, -0xc600, -0xc600, -0xc600, -0xfc00, -0xc000, -0xc000, - -/* Character 223 (0xdf): - width 8 - bbx ( 6, 9, 1, 0 ) - - +------+ - | **** | - |** **| - |** **| - |** **| - |** ** | - |** **| - |** **| - |** **| - |** ** | - +------+ -*/ -0x7800, -0xcc00, -0xcc00, -0xcc00, -0xd800, -0xcc00, -0xcc00, -0xcc00, -0xd800, - -/* Character 224 (0xe0): - width 0 - bbx ( 7, 10, 0, 0 ) - - +-------+ - | ** | - | ** | - | | - | **** | - |** ** | - | ** | - | ***** | - |** ** | - |** ** | - | *** **| - +-------+ -*/ -0x3000, -0x1800, -0x0000, -0x7800, -0xcc00, -0x0c00, -0x7c00, -0xcc00, -0xcc00, -0x7600, - -/* Character 225 (0xe1): - width 0 - bbx ( 7, 10, 0, 0 ) - - +-------+ - | ** | - | ** | - | | - | **** | - |** ** | - | ** | - | ***** | - |** ** | - |** ** | - | *** **| - +-------+ -*/ -0x1800, -0x3000, -0x0000, -0x7800, -0xcc00, -0x0c00, -0x7c00, -0xcc00, -0xcc00, -0x7600, - -/* Character 226 (0xe2): - width 0 - bbx ( 7, 10, 0, 0 ) - - +-------+ - | *** | - | ** ** | - | | - | **** | - |** ** | - | ** | - | ***** | - |** ** | - |** ** | - | *** **| - +-------+ -*/ -0x3800, -0x6c00, -0x0000, -0x7800, -0xcc00, -0x0c00, -0x7c00, -0xcc00, -0xcc00, -0x7600, - -/* Character 227 (0xe3): - width 0 - bbx ( 7, 10, 0, 0 ) - - +-------+ - | ** * | - | * ** | - | | - | **** | - |** ** | - | ** | - | ***** | - |** ** | - |** ** | - | *** **| - +-------+ -*/ -0x3400, -0x5800, -0x0000, -0x7800, -0xcc00, -0x0c00, -0x7c00, -0xcc00, -0xcc00, -0x7600, - -/* Character 228 (0xe4): - width 137 - bbx ( 7, 9, 0, 0 ) - - +-------+ - | ** ** | - | | - | **** | - |** ** | - | ** | - | ***** | - |** ** | - |** ** | - | *** **| - +-------+ -*/ -0x6c00, -0x0000, -0x7800, -0xcc00, -0x0c00, -0x7c00, -0xcc00, -0xcc00, -0x7600, - -/* Character 229 (0xe5): - width 3 - bbx ( 7, 11, 0, 0 ) - - +-------+ - | ** | - | * * | - | ** | - | | - | **** | - |** ** | - | ** | - | ***** | - |** ** | - |** ** | - | *** **| - +-------+ -*/ -0x3000, -0x4800, -0x3000, -0x0000, -0x7800, -0xcc00, -0x0c00, -0x7c00, -0xcc00, -0xcc00, -0x7600, - -/* Character 230 (0xe6): - width 0 - bbx ( 10, 7, 0, 0 ) - - +----------+ - | *** **** | - |** ** **| - | ** **| - | *********| - |** ** | - |** ** **| - | *** **** | - +----------+ -*/ -0x7780, -0xccc0, -0x0cc0, -0x7fc0, -0xcc00, -0xccc0, -0x7780, - -/* Character 231 (0xe7): - width 0 - bbx ( 6, 10, 0, -3 ) - - +------+ - | **** | - |** **| - |** | - |** | - |** | - |** **| - | **** | - | * | - | ** | - | *** | - +------+ -*/ -0x7800, -0xcc00, -0xc000, -0xc000, -0xc000, -0xcc00, -0x7800, -0x1000, -0x1800, -0x7000, - -/* Character 232 (0xe8): - width 1 - bbx ( 6, 10, 0, 0 ) - - +------+ - | ** | - | ** | - | | - | **** | - |** **| - |** **| - |******| - |** | - |** **| - | **** | - +------+ -*/ -0x6000, -0x3000, -0x0000, -0x7800, -0xcc00, -0xcc00, -0xfc00, -0xc000, -0xcc00, -0x7800, - -/* Character 233 (0xe9): - width 1 - bbx ( 6, 10, 0, 0 ) - - +------+ - | ** | - | ** | - | | - | **** | - |** **| - |** **| - |******| - |** | - |** **| - | **** | - +------+ -*/ -0x1800, -0x3000, -0x0000, -0x7800, -0xcc00, -0xcc00, -0xfc00, -0xc000, -0xcc00, -0x7800, - -/* Character 234 (0xea): - width 0 - bbx ( 6, 10, 0, 0 ) - - +------+ - | *** | - | ** **| - | | - | **** | - |** **| - |** **| - |******| - |** | - |** **| - | **** | - +------+ -*/ -0x3800, -0x6c00, -0x0000, -0x7800, -0xcc00, -0xcc00, -0xfc00, -0xc000, -0xcc00, -0x7800, - -/* Character 235 (0xeb): - width 0 - bbx ( 6, 9, 0, 0 ) - - +------+ - | ** **| - | | - | **** | - |** **| - |** **| - |******| - |** | - |** **| - | **** | - +------+ -*/ -0x6c00, -0x0000, -0x7800, -0xcc00, -0xcc00, -0xfc00, -0xc000, -0xcc00, -0x7800, - -/* Character 236 (0xec): - width 2 - bbx ( 3, 10, -1, 0 ) - - +---+ - |** | - | **| - | | - | **| - | **| - | **| - | **| - | **| - | **| - | **| - +---+ -*/ -0xc000, -0x6000, -0x0000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, - -/* Character 237 (0xed): - width 9 - bbx ( 3, 10, 0, 0 ) - - +---+ - | **| - |** | - | | - |** | - |** | - |** | - |** | - |** | - |** | - |** | - +---+ -*/ -0x6000, -0xc000, -0x0000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, -0xc000, - -/* Character 238 (0xee): - width 1 - bbx ( 5, 10, -1, 0 ) - - +-----+ - | *** | - |** **| - | | - | ** | - | ** | - | ** | - | ** | - | ** | - | ** | - | ** | - +-----+ -*/ -0x7000, -0xd800, -0x0000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, - -/* Character 239 (0xef): - width 0 - bbx ( 5, 9, -1, 0 ) - - +-----+ - |** **| - | | - | ** | - | ** | - | ** | - | ** | - | ** | - | ** | - | ** | - +-----+ -*/ -0xd800, -0x0000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, -0x6000, - -/* Character 240 (0xf0): - width 3 - bbx ( 6, 10, 0, 0 ) - - +------+ - |** ** | - | *** | - |* * | - | ** | - | *****| - |** **| - |** **| - |** **| - |** **| - | **** | - +------+ -*/ -0xd800, -0x7000, -0x9000, -0x1800, -0x7c00, -0xcc00, -0xcc00, -0xcc00, -0xcc00, -0x7800, - -/* Character 241 (0xf1): - width 3 - bbx ( 6, 10, 0, 0 ) - - +------+ - | ** *| - | * ** | - | | - |** ** | - |*** **| - |** **| - |** **| - |** **| - |** **| - |** **| - +------+ -*/ -0x3400, -0x5800, -0x0000, -0xd800, -0xec00, -0xcc00, -0xcc00, -0xcc00, -0xcc00, -0xcc00, - -/* Character 242 (0xf2): - width 1 - bbx ( 6, 10, 0, 0 ) - - +------+ - | ** | - | ** | - | | - | **** | - |** **| - |** **| - |** **| - |** **| - |** **| - | **** | - +------+ -*/ -0x6000, -0x3000, -0x0000, -0x7800, -0xcc00, -0xcc00, -0xcc00, -0xcc00, -0xcc00, -0x7800, - -/* Character 243 (0xf3): - width 6 - bbx ( 6, 10, 0, 0 ) - - +------+ - | ** | - | ** | - | | - | **** | - |** **| - |** **| - |** **| - |** **| - |** **| - | **** | - +------+ -*/ -0x1800, -0x3000, -0x0000, -0x7800, -0xcc00, -0xcc00, -0xcc00, -0xcc00, -0xcc00, -0x7800, - -/* Character 244 (0xf4): - width 7 - bbx ( 6, 10, 0, 0 ) - - +------+ - | *** | - | ** **| - | | - | **** | - |** **| - |** **| - |** **| - |** **| - |** **| - | **** | - +------+ -*/ -0x3800, -0x6c00, -0x0000, -0x7800, -0xcc00, -0xcc00, -0xcc00, -0xcc00, -0xcc00, -0x7800, - -/* Character 245 (0xf5): - width 8 - bbx ( 6, 10, 0, 0 ) - - +------+ - | ** *| - | * ** | - | | - | **** | - |** **| - |** **| - |** **| - |** **| - |** **| - | **** | - +------+ -*/ -0x3400, -0x5800, -0x0000, -0x7800, -0xcc00, -0xcc00, -0xcc00, -0xcc00, -0xcc00, -0x7800, - -/* Character 246 (0xf6): - width 0 - bbx ( 6, 9, 0, 0 ) - - +------+ - | ** **| - | | - | **** | - |** **| - |** **| - |** **| - |** **| - |** **| - | **** | - +------+ -*/ -0x6c00, -0x0000, -0x7800, -0xcc00, -0xcc00, -0xcc00, -0xcc00, -0xcc00, -0x7800, - -/* Character 247 (0xf7): - width 0 - bbx ( 6, 5, 0, 1 ) - - +------+ - | ** | - | | - |******| - | | - | ** | - +------+ -*/ -0x3000, -0x0000, -0xfc00, -0x0000, -0x3000, - -/* Character 248 (0xf8): - width 6 - bbx ( 8, 7, -1, 0 ) - - +--------+ - | **** *| - | ** ** | - | ** *** | - | *** ** | - | ** ** | - | ** ** | - |* **** | - +--------+ -*/ -0x3d00, -0x6600, -0x6e00, -0x7600, -0x6600, -0x6600, -0xbc00, - -/* Character 249 (0xf9): - width 11 - bbx ( 6, 10, 0, 0 ) - - +------+ - | ** | - | ** | - | | - |** **| - |** **| - |** **| - |** **| - |** **| - |** ***| - | ** **| - +------+ -*/ -0x6000, -0x3000, -0x0000, -0xcc00, -0xcc00, -0xcc00, -0xcc00, -0xcc00, -0xdc00, -0x6c00, - -/* Character 250 (0xfa): - width 0 - bbx ( 6, 10, 0, 0 ) - - +------+ - | ** | - | ** | - | | - |** **| - |** **| - |** **| - |** **| - |** **| - |** ***| - | ** **| - +------+ -*/ -0x1800, -0x3000, -0x0000, -0xcc00, -0xcc00, -0xcc00, -0xcc00, -0xcc00, -0xdc00, -0x6c00, - -/* Character 251 (0xfb): - width 254 - bbx ( 6, 10, 0, 0 ) - - +------+ - | *** | - | ** **| - | | - |** **| - |** **| - |** **| - |** **| - |** **| - |** ***| - | ** **| - +------+ -*/ -0x3800, -0x6c00, -0x0000, -0xcc00, -0xcc00, -0xcc00, -0xcc00, -0xcc00, -0xdc00, -0x6c00, - -/* Character 252 (0xfc): - width 11 - bbx ( 6, 9, 0, 0 ) - - +------+ - | ** **| - | | - |** **| - |** **| - |** **| - |** **| - |** **| - |** ***| - | ** **| - +------+ -*/ -0x6c00, -0x0000, -0xcc00, -0xcc00, -0xcc00, -0xcc00, -0xcc00, -0xdc00, -0x6c00, - -/* Character 253 (0xfd): - width 9 - bbx ( 7, 13, 0, -3 ) - - +-------+ - | ** | - | ** | - | | - |** **| - |** **| - | ** ** | - | ** ** | - | *** | - | *** | - | ** | - | * | - | ** | - | ** | - +-------+ -*/ -0x0c00, -0x1800, -0x0000, -0xc600, -0xc600, -0x6c00, -0x6c00, -0x3800, -0x3800, -0x1800, -0x1000, -0x3000, -0x6000, - -/* Character 254 (0xfe): - width 0 - bbx ( 6, 12, 0, -3 ) - - +------+ - |** | - |** | - |** ** | - |*** **| - |** **| - |** **| - |** **| - |*** **| - |** ** | - |** | - |** | - |** | - +------+ -*/ -0xc000, -0xc000, -0xd800, -0xec00, -0xcc00, -0xcc00, -0xcc00, -0xec00, -0xd800, -0xc000, -0xc000, -0xc000, - -/* Character 255 (0xff): - width 0 - bbx ( 7, 12, 0, -3 ) - - +-------+ - | ** ** | - | | - |** **| - |** **| - | ** ** | - | ** ** | - | *** | - | *** | - | ** | - | * | - | ** | - | ** | - +-------+ -*/ -0x6c00, -0x0000, -0xc600, -0xc600, -0x6c00, -0x6c00, -0x3800, -0x3800, -0x1800, -0x1000, -0x3000, -0x6000, -}; - -/* Character->glyph mapping. */ -static const unsigned long _sysfont_offset[] = { - 0, /* (0x20) */ - 1, /* (0x21) */ - 10, /* (0x22) */ - 13, /* (0x23) */ - 21, /* (0x24) */ - 32, /* (0x25) */ - 41, /* (0x26) */ - 50, /* (0x27) */ - 53, /* (0x28) */ - 65, /* (0x29) */ - 77, /* (0x2a) */ - 81, /* (0x2b) */ - 86, /* (0x2c) */ - 90, /* (0x2d) */ - 91, /* (0x2e) */ - 93, /* (0x2f) */ - 102, /* (0x30) */ - 111, /* (0x31) */ - 120, /* (0x32) */ - 129, /* (0x33) */ - 138, /* (0x34) */ - 147, /* (0x35) */ - 156, /* (0x36) */ - 165, /* (0x37) */ - 174, /* (0x38) */ - 183, /* (0x39) */ - 192, /* (0x3a) */ - 199, /* (0x3b) */ - 208, /* (0x3c) */ - 213, /* (0x3d) */ - 216, /* (0x3e) */ - 221, /* (0x3f) */ - 230, /* (0x40) */ - 240, /* (0x41) */ - 249, /* (0x42) */ - 258, /* (0x43) */ - 267, /* (0x44) */ - 276, /* (0x45) */ - 285, /* (0x46) */ - 294, /* (0x47) */ - 303, /* (0x48) */ - 312, /* (0x49) */ - 321, /* (0x4a) */ - 330, /* (0x4b) */ - 339, /* (0x4c) */ - 348, /* (0x4d) */ - 357, /* (0x4e) */ - 366, /* (0x4f) */ - 375, /* (0x50) */ - 384, /* (0x51) */ - 393, /* (0x52) */ - 402, /* (0x53) */ - 411, /* (0x54) */ - 420, /* (0x55) */ - 429, /* (0x56) */ - 438, /* (0x57) */ - 447, /* (0x58) */ - 456, /* (0x59) */ - 465, /* (0x5a) */ - 474, /* (0x5b) */ - 486, /* (0x5c) */ - 495, /* (0x5d) */ - 507, /* (0x5e) */ - 511, /* (0x5f) */ - 512, /* (0x60) */ - 514, /* (0x61) */ - 521, /* (0x62) */ - 530, /* (0x63) */ - 537, /* (0x64) */ - 546, /* (0x65) */ - 553, /* (0x66) */ - 562, /* (0x67) */ - 572, /* (0x68) */ - 581, /* (0x69) */ - 590, /* (0x6a) */ - 602, /* (0x6b) */ - 611, /* (0x6c) */ - 620, /* (0x6d) */ - 627, /* (0x6e) */ - 634, /* (0x6f) */ - 641, /* (0x70) */ - 651, /* (0x71) */ - 661, /* (0x72) */ - 668, /* (0x73) */ - 675, /* (0x74) */ - 684, /* (0x75) */ - 691, /* (0x76) */ - 698, /* (0x77) */ - 705, /* (0x78) */ - 712, /* (0x79) */ - 722, /* (0x7a) */ - 729, /* (0x7b) */ - 741, /* (0x7c) */ - 753, /* (0x7d) */ - 765, /* (0x7e) */ - 0, /* (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) */ - 767, /* (0xa0) */ - 768, /* (0xa1) */ - 778, /* (0xa2) */ - 787, /* (0xa3) */ - 796, /* (0xa4) */ - 802, /* (0xa5) */ - 811, /* (0xa6) */ - 822, /* (0xa7) */ - 834, /* (0xa8) */ - 835, /* (0xa9) */ - 844, /* (0xaa) */ - 850, /* (0xab) */ - 855, /* (0xac) */ - 859, /* (0xad) */ - 860, /* (0xae) */ - 869, /* (0xaf) */ - 870, /* (0xb0) */ - 874, /* (0xb1) */ - 881, /* (0xb2) */ - 886, /* (0xb3) */ - 891, /* (0xb4) */ - 893, /* (0xb5) */ - 903, /* (0xb6) */ - 915, /* (0xb7) */ - 917, /* (0xb8) */ - 921, /* (0xb9) */ - 926, /* (0xba) */ - 932, /* (0xbb) */ - 937, /* (0xbc) */ - 946, /* (0xbd) */ - 955, /* (0xbe) */ - 964, /* (0xbf) */ - 974, /* (0xc0) */ - 986, /* (0xc1) */ - 998, /* (0xc2) */ - 1010, /* (0xc3) */ - 1022, /* (0xc4) */ - 1033, /* (0xc5) */ - 1045, /* (0xc6) */ - 1054, /* (0xc7) */ - 1066, /* (0xc8) */ - 1078, /* (0xc9) */ - 1090, /* (0xca) */ - 1102, /* (0xcb) */ - 1113, /* (0xcc) */ - 1125, /* (0xcd) */ - 1137, /* (0xce) */ - 1149, /* (0xcf) */ - 1160, /* (0xd0) */ - 1169, /* (0xd1) */ - 1181, /* (0xd2) */ - 1193, /* (0xd3) */ - 1205, /* (0xd4) */ - 1217, /* (0xd5) */ - 1229, /* (0xd6) */ - 1240, /* (0xd7) */ - 1245, /* (0xd8) */ - 1255, /* (0xd9) */ - 1267, /* (0xda) */ - 1279, /* (0xdb) */ - 1291, /* (0xdc) */ - 1302, /* (0xdd) */ - 1314, /* (0xde) */ - 1323, /* (0xdf) */ - 1332, /* (0xe0) */ - 1342, /* (0xe1) */ - 1352, /* (0xe2) */ - 1362, /* (0xe3) */ - 1372, /* (0xe4) */ - 1381, /* (0xe5) */ - 1392, /* (0xe6) */ - 1399, /* (0xe7) */ - 1409, /* (0xe8) */ - 1419, /* (0xe9) */ - 1429, /* (0xea) */ - 1439, /* (0xeb) */ - 1448, /* (0xec) */ - 1458, /* (0xed) */ - 1468, /* (0xee) */ - 1478, /* (0xef) */ - 1487, /* (0xf0) */ - 1497, /* (0xf1) */ - 1507, /* (0xf2) */ - 1517, /* (0xf3) */ - 1527, /* (0xf4) */ - 1537, /* (0xf5) */ - 1547, /* (0xf6) */ - 1556, /* (0xf7) */ - 1561, /* (0xf8) */ - 1568, /* (0xf9) */ - 1578, /* (0xfa) */ - 1588, /* (0xfb) */ - 1598, /* (0xfc) */ - 1607, /* (0xfd) */ - 1620, /* (0xfe) */ - 1632, /* (0xff) */ -}; - -/* Character width data. */ -static const unsigned char _sysfont_width[] = { - 4, /* (0x20) */ - 4, /* (0x21) */ - 5, /* (0x22) */ - 8, /* (0x23) */ - 7, /* (0x24) */ - 12, /* (0x25) */ - 9, /* (0x26) */ - 3, /* (0x27) */ - 6, /* (0x28) */ - 6, /* (0x29) */ - 6, /* (0x2a) */ - 7, /* (0x2b) */ - 4, /* (0x2c) */ - 5, /* (0x2d) */ - 4, /* (0x2e) */ - 4, /* (0x2f) */ - 7, /* (0x30) */ - 7, /* (0x31) */ - 7, /* (0x32) */ - 7, /* (0x33) */ - 7, /* (0x34) */ - 7, /* (0x35) */ - 7, /* (0x36) */ - 7, /* (0x37) */ - 7, /* (0x38) */ - 7, /* (0x39) */ - 4, /* (0x3a) */ - 4, /* (0x3b) */ - 7, /* (0x3c) */ - 7, /* (0x3d) */ - 7, /* (0x3e) */ - 8, /* (0x3f) */ - 12, /* (0x40) */ - 8, /* (0x41) */ - 9, /* (0x42) */ - 8, /* (0x43) */ - 9, /* (0x44) */ - 8, /* (0x45) */ - 7, /* (0x46) */ - 10, /* (0x47) */ - 9, /* (0x48) */ - 4, /* (0x49) */ - 7, /* (0x4a) */ - 9, /* (0x4b) */ - 7, /* (0x4c) */ - 11, /* (0x4d) */ - 9, /* (0x4e) */ - 10, /* (0x4f) */ - 8, /* (0x50) */ - 10, /* (0x51) */ - 9, /* (0x52) */ - 9, /* (0x53) */ - 8, /* (0x54) */ - 9, /* (0x55) */ - 8, /* (0x56) */ - 10, /* (0x57) */ - 8, /* (0x58) */ - 8, /* (0x59) */ - 7, /* (0x5a) */ - 4, /* (0x5b) */ - 4, /* (0x5c) */ - 4, /* (0x5d) */ - 7, /* (0x5e) */ - 7, /* (0x5f) */ - 4, /* (0x60) */ - 7, /* (0x61) */ - 7, /* (0x62) */ - 7, /* (0x63) */ - 7, /* (0x64) */ - 7, /* (0x65) */ - 5, /* (0x66) */ - 7, /* (0x67) */ - 7, /* (0x68) */ - 3, /* (0x69) */ - 3, /* (0x6a) */ - 7, /* (0x6b) */ - 3, /* (0x6c) */ - 11, /* (0x6d) */ - 7, /* (0x6e) */ - 7, /* (0x6f) */ - 7, /* (0x70) */ - 7, /* (0x71) */ - 5, /* (0x72) */ - 7, /* (0x73) */ - 5, /* (0x74) */ - 7, /* (0x75) */ - 8, /* (0x76) */ - 11, /* (0x77) */ - 7, /* (0x78) */ - 8, /* (0x79) */ - 6, /* (0x7a) */ - 5, /* (0x7b) */ - 4, /* (0x7c) */ - 5, /* (0x7d) */ - 7, /* (0x7e) */ - 4, /* (0x7f) */ - 4, /* (0x80) */ - 4, /* (0x81) */ - 4, /* (0x82) */ - 4, /* (0x83) */ - 4, /* (0x84) */ - 4, /* (0x85) */ - 4, /* (0x86) */ - 4, /* (0x87) */ - 4, /* (0x88) */ - 4, /* (0x89) */ - 4, /* (0x8a) */ - 4, /* (0x8b) */ - 4, /* (0x8c) */ - 4, /* (0x8d) */ - 4, /* (0x8e) */ - 4, /* (0x8f) */ - 4, /* (0x90) */ - 4, /* (0x91) */ - 4, /* (0x92) */ - 4, /* (0x93) */ - 4, /* (0x94) */ - 4, /* (0x95) */ - 4, /* (0x96) */ - 4, /* (0x97) */ - 4, /* (0x98) */ - 4, /* (0x99) */ - 4, /* (0x9a) */ - 4, /* (0x9b) */ - 4, /* (0x9c) */ - 4, /* (0x9d) */ - 4, /* (0x9e) */ - 4, /* (0x9f) */ - 4, /* (0xa0) */ - 4, /* (0xa1) */ - 7, /* (0xa2) */ - 7, /* (0xa3) */ - 7, /* (0xa4) */ - 7, /* (0xa5) */ - 4, /* (0xa6) */ - 7, /* (0xa7) */ - 5, /* (0xa8) */ - 11, /* (0xa9) */ - 6, /* (0xaa) */ - 8, /* (0xab) */ - 8, /* (0xac) */ - 5, /* (0xad) */ - 11, /* (0xae) */ - 4, /* (0xaf) */ - 5, /* (0xb0) */ - 7, /* (0xb1) */ - 4, /* (0xb2) */ - 4, /* (0xb3) */ - 4, /* (0xb4) */ - 7, /* (0xb5) */ - 7, /* (0xb6) */ - 4, /* (0xb7) */ - 4, /* (0xb8) */ - 4, /* (0xb9) */ - 6, /* (0xba) */ - 8, /* (0xbb) */ - 10, /* (0xbc) */ - 10, /* (0xbd) */ - 10, /* (0xbe) */ - 8, /* (0xbf) */ - 8, /* (0xc0) */ - 8, /* (0xc1) */ - 8, /* (0xc2) */ - 8, /* (0xc3) */ - 8, /* (0xc4) */ - 8, /* (0xc5) */ - 13, /* (0xc6) */ - 8, /* (0xc7) */ - 8, /* (0xc8) */ - 8, /* (0xc9) */ - 8, /* (0xca) */ - 8, /* (0xcb) */ - 4, /* (0xcc) */ - 4, /* (0xcd) */ - 4, /* (0xce) */ - 4, /* (0xcf) */ - 9, /* (0xd0) */ - 9, /* (0xd1) */ - 10, /* (0xd2) */ - 10, /* (0xd3) */ - 10, /* (0xd4) */ - 10, /* (0xd5) */ - 10, /* (0xd6) */ - 7, /* (0xd7) */ - 10, /* (0xd8) */ - 9, /* (0xd9) */ - 9, /* (0xda) */ - 9, /* (0xdb) */ - 9, /* (0xdc) */ - 8, /* (0xdd) */ - 8, /* (0xde) */ - 8, /* (0xdf) */ - 7, /* (0xe0) */ - 7, /* (0xe1) */ - 7, /* (0xe2) */ - 7, /* (0xe3) */ - 7, /* (0xe4) */ - 7, /* (0xe5) */ - 11, /* (0xe6) */ - 7, /* (0xe7) */ - 7, /* (0xe8) */ - 7, /* (0xe9) */ - 7, /* (0xea) */ - 7, /* (0xeb) */ - 3, /* (0xec) */ - 3, /* (0xed) */ - 3, /* (0xee) */ - 3, /* (0xef) */ - 7, /* (0xf0) */ - 7, /* (0xf1) */ - 7, /* (0xf2) */ - 7, /* (0xf3) */ - 7, /* (0xf4) */ - 7, /* (0xf5) */ - 7, /* (0xf6) */ - 7, /* (0xf7) */ - 7, /* (0xf8) */ - 7, /* (0xf9) */ - 7, /* (0xfa) */ - 7, /* (0xfb) */ - 7, /* (0xfc) */ - 8, /* (0xfd) */ - 7, /* (0xfe) */ - 8, /* (0xff) */ -}; - -/* Bounding box data. */ -static const BBX _sysfont_bbx[] = { - { 1, 1, 0, 0 }, /* (0x20) */ - { 2, 9, 1, 0 }, /* (0x21) */ - { 3, 3, 1, 6 }, /* (0x22) */ - { 7, 8, 0, 0 }, /* (0x23) */ - { 6, 11, 0, -2 }, /* (0x24) */ - { 11, 9, 0, 0 }, /* (0x25) */ - { 9, 9, 0, 0 }, /* (0x26) */ - { 1, 3, 1, 6 }, /* (0x27) */ - { 4, 12, 1, -3 }, /* (0x28) */ - { 4, 12, 1, -3 }, /* (0x29) */ - { 5, 4, 0, 5 }, /* (0x2a) */ - { 6, 5, 0, 1 }, /* (0x2b) */ - { 2, 4, 1, -2 }, /* (0x2c) */ - { 4, 1, 0, 3 }, /* (0x2d) */ - { 2, 2, 1, 0 }, /* (0x2e) */ - { 4, 9, 0, 0 }, /* (0x2f) */ - { 6, 9, 0, 0 }, /* (0x30) */ - { 4, 9, 0, 0 }, /* (0x31) */ - { 6, 9, 0, 0 }, /* (0x32) */ - { 6, 9, 0, 0 }, /* (0x33) */ - { 7, 9, 0, 0 }, /* (0x34) */ - { 6, 9, 0, 0 }, /* (0x35) */ - { 6, 9, 0, 0 }, /* (0x36) */ - { 6, 9, 0, 0 }, /* (0x37) */ - { 6, 9, 0, 0 }, /* (0x38) */ - { 6, 9, 0, 0 }, /* (0x39) */ - { 2, 7, 1, 0 }, /* (0x3a) */ - { 2, 9, 1, -2 }, /* (0x3b) */ - { 5, 5, 1, 1 }, /* (0x3c) */ - { 6, 3, 0, 2 }, /* (0x3d) */ - { 5, 5, 1, 1 }, /* (0x3e) */ - { 6, 9, 1, 0 }, /* (0x3f) */ - { 10, 10, 1, -1 }, /* (0x40) */ - { 8, 9, 0, 0 }, /* (0x41) */ - { 7, 9, 1, 0 }, /* (0x42) */ - { 7, 9, 1, 0 }, /* (0x43) */ - { 7, 9, 1, 0 }, /* (0x44) */ - { 6, 9, 1, 0 }, /* (0x45) */ - { 6, 9, 1, 0 }, /* (0x46) */ - { 8, 9, 1, 0 }, /* (0x47) */ - { 7, 9, 1, 0 }, /* (0x48) */ - { 2, 9, 1, 0 }, /* (0x49) */ - { 6, 9, 0, 0 }, /* (0x4a) */ - { 8, 9, 1, 0 }, /* (0x4b) */ - { 6, 9, 1, 0 }, /* (0x4c) */ - { 9, 9, 1, 0 }, /* (0x4d) */ - { 7, 9, 1, 0 }, /* (0x4e) */ - { 8, 9, 1, 0 }, /* (0x4f) */ - { 7, 9, 1, 0 }, /* (0x50) */ - { 8, 9, 1, 0 }, /* (0x51) */ - { 7, 9, 1, 0 }, /* (0x52) */ - { 7, 9, 1, 0 }, /* (0x53) */ - { 8, 9, 0, 0 }, /* (0x54) */ - { 7, 9, 1, 0 }, /* (0x55) */ - { 8, 9, 0, 0 }, /* (0x56) */ - { 10, 9, 0, 0 }, /* (0x57) */ - { 8, 9, 0, 0 }, /* (0x58) */ - { 8, 9, 0, 0 }, /* (0x59) */ - { 7, 9, 0, 0 }, /* (0x5a) */ - { 3, 12, 1, -3 }, /* (0x5b) */ - { 4, 9, 0, 0 }, /* (0x5c) */ - { 3, 12, 0, -3 }, /* (0x5d) */ - { 7, 4, 0, 5 }, /* (0x5e) */ - { 7, 1, 0, -3 }, /* (0x5f) */ - { 3, 2, 0, 8 }, /* (0x60) */ - { 7, 7, 0, 0 }, /* (0x61) */ - { 6, 9, 0, 0 }, /* (0x62) */ - { 6, 7, 0, 0 }, /* (0x63) */ - { 6, 9, 0, 0 }, /* (0x64) */ - { 6, 7, 0, 0 }, /* (0x65) */ - { 5, 9, 0, 0 }, /* (0x66) */ - { 6, 10, 0, -3 }, /* (0x67) */ - { 6, 9, 0, 0 }, /* (0x68) */ - { 2, 9, 0, 0 }, /* (0x69) */ - { 3, 12, -1, -3 }, /* (0x6a) */ - { 7, 9, 0, 0 }, /* (0x6b) */ - { 2, 9, 0, 0 }, /* (0x6c) */ - { 10, 7, 0, 0 }, /* (0x6d) */ - { 6, 7, 0, 0 }, /* (0x6e) */ - { 6, 7, 0, 0 }, /* (0x6f) */ - { 6, 10, 0, -3 }, /* (0x70) */ - { 6, 10, 0, -3 }, /* (0x71) */ - { 5, 7, 0, 0 }, /* (0x72) */ - { 6, 7, 0, 0 }, /* (0x73) */ - { 5, 9, 0, 0 }, /* (0x74) */ - { 6, 7, 0, 0 }, /* (0x75) */ - { 7, 7, 0, 0 }, /* (0x76) */ - { 10, 7, 0, 0 }, /* (0x77) */ - { 6, 7, 0, 0 }, /* (0x78) */ - { 7, 10, 0, -3 }, /* (0x79) */ - { 5, 7, 0, 0 }, /* (0x7a) */ - { 4, 12, 0, -3 }, /* (0x7b) */ - { 2, 12, 1, -3 }, /* (0x7c) */ - { 4, 12, 0, -3 }, /* (0x7d) */ - { 7, 2, 0, 3 }, /* (0x7e) */ - { 1, 1, 0, 0 }, /* (0x7f) */ - { 1, 1, 0, 0 }, /* (0x80) */ - { 1, 1, 0, 0 }, /* (0x81) */ - { 1, 1, 0, 0 }, /* (0x82) */ - { 1, 1, 0, 0 }, /* (0x83) */ - { 1, 1, 0, 0 }, /* (0x84) */ - { 1, 1, 0, 0 }, /* (0x85) */ - { 1, 1, 0, 0 }, /* (0x86) */ - { 1, 1, 0, 0 }, /* (0x87) */ - { 1, 1, 0, 0 }, /* (0x88) */ - { 1, 1, 0, 0 }, /* (0x89) */ - { 1, 1, 0, 0 }, /* (0x8a) */ - { 1, 1, 0, 0 }, /* (0x8b) */ - { 1, 1, 0, 0 }, /* (0x8c) */ - { 1, 1, 0, 0 }, /* (0x8d) */ - { 1, 1, 0, 0 }, /* (0x8e) */ - { 1, 1, 0, 0 }, /* (0x8f) */ - { 1, 1, 0, 0 }, /* (0x90) */ - { 1, 1, 0, 0 }, /* (0x91) */ - { 1, 1, 0, 0 }, /* (0x92) */ - { 1, 1, 0, 0 }, /* (0x93) */ - { 1, 1, 0, 0 }, /* (0x94) */ - { 1, 1, 0, 0 }, /* (0x95) */ - { 1, 1, 0, 0 }, /* (0x96) */ - { 1, 1, 0, 0 }, /* (0x97) */ - { 1, 1, 0, 0 }, /* (0x98) */ - { 1, 1, 0, 0 }, /* (0x99) */ - { 1, 1, 0, 0 }, /* (0x9a) */ - { 1, 1, 0, 0 }, /* (0x9b) */ - { 1, 1, 0, 0 }, /* (0x9c) */ - { 1, 1, 0, 0 }, /* (0x9d) */ - { 1, 1, 0, 0 }, /* (0x9e) */ - { 1, 1, 0, 0 }, /* (0x9f) */ - { 1, 1, 0, 0 }, /* (0xa0) */ - { 2, 10, 1, -3 }, /* (0xa1) */ - { 6, 9, 0, -1 }, /* (0xa2) */ - { 6, 9, 0, 0 }, /* (0xa3) */ - { 6, 6, 0, 1 }, /* (0xa4) */ - { 6, 9, 0, 0 }, /* (0xa5) */ - { 2, 11, 1, -2 }, /* (0xa6) */ - { 6, 12, 0, -3 }, /* (0xa7) */ - { 5, 1, 0, 8 }, /* (0xa8) */ - { 9, 9, 1, 0 }, /* (0xa9) */ - { 4, 6, 1, 3 }, /* (0xaa) */ - { 6, 5, 1, 1 }, /* (0xab) */ - { 6, 4, 1, 2 }, /* (0xac) */ - { 4, 1, 0, 3 }, /* (0xad) */ - { 9, 9, 1, 0 }, /* (0xae) */ - { 4, 1, 0, 8 }, /* (0xaf) */ - { 4, 4, 0, 4 }, /* (0xb0) */ - { 6, 7, 0, 0 }, /* (0xb1) */ - { 4, 5, 0, 4 }, /* (0xb2) */ - { 4, 5, 0, 4 }, /* (0xb3) */ - { 3, 2, 0, 8 }, /* (0xb4) */ - { 6, 10, 0, -3 }, /* (0xb5) */ - { 7, 12, 0, -3 }, /* (0xb6) */ - { 2, 2, 1, 3 }, /* (0xb7) */ - { 4, 4, 0, -3 }, /* (0xb8) */ - { 3, 5, 0, 4 }, /* (0xb9) */ - { 4, 6, 1, 3 }, /* (0xba) */ - { 6, 5, 1, 1 }, /* (0xbb) */ - { 10, 9, 0, 0 }, /* (0xbc) */ - { 10, 9, 0, 0 }, /* (0xbd) */ - { 10, 9, 0, 0 }, /* (0xbe) */ - { 6, 10, 1, -3 }, /* (0xbf) */ - { 8, 12, 0, 0 }, /* (0xc0) */ - { 8, 12, 0, 0 }, /* (0xc1) */ - { 8, 12, 0, 0 }, /* (0xc2) */ - { 8, 12, 0, 0 }, /* (0xc3) */ - { 8, 11, 0, 0 }, /* (0xc4) */ - { 8, 12, 0, 0 }, /* (0xc5) */ - { 11, 9, 1, 0 }, /* (0xc6) */ - { 7, 12, 1, -3 }, /* (0xc7) */ - { 6, 12, 1, 0 }, /* (0xc8) */ - { 6, 12, 1, 0 }, /* (0xc9) */ - { 6, 12, 1, 0 }, /* (0xca) */ - { 6, 11, 1, 0 }, /* (0xcb) */ - { 3, 12, 0, 0 }, /* (0xcc) */ - { 3, 12, 1, 0 }, /* (0xcd) */ - { 5, 12, 0, 0 }, /* (0xce) */ - { 5, 11, 0, 0 }, /* (0xcf) */ - { 8, 9, 0, 0 }, /* (0xd0) */ - { 7, 12, 1, 0 }, /* (0xd1) */ - { 8, 12, 1, 0 }, /* (0xd2) */ - { 8, 12, 1, 0 }, /* (0xd3) */ - { 8, 12, 1, 0 }, /* (0xd4) */ - { 8, 12, 1, 0 }, /* (0xd5) */ - { 8, 11, 1, 0 }, /* (0xd6) */ - { 6, 5, 0, 1 }, /* (0xd7) */ - { 8, 10, 1, -1 }, /* (0xd8) */ - { 7, 12, 1, 0 }, /* (0xd9) */ - { 7, 12, 1, 0 }, /* (0xda) */ - { 7, 12, 1, 0 }, /* (0xdb) */ - { 7, 11, 1, 0 }, /* (0xdc) */ - { 8, 12, 0, 0 }, /* (0xdd) */ - { 7, 9, 1, 0 }, /* (0xde) */ - { 6, 9, 1, 0 }, /* (0xdf) */ - { 7, 10, 0, 0 }, /* (0xe0) */ - { 7, 10, 0, 0 }, /* (0xe1) */ - { 7, 10, 0, 0 }, /* (0xe2) */ - { 7, 10, 0, 0 }, /* (0xe3) */ - { 7, 9, 0, 0 }, /* (0xe4) */ - { 7, 11, 0, 0 }, /* (0xe5) */ - { 10, 7, 0, 0 }, /* (0xe6) */ - { 6, 10, 0, -3 }, /* (0xe7) */ - { 6, 10, 0, 0 }, /* (0xe8) */ - { 6, 10, 0, 0 }, /* (0xe9) */ - { 6, 10, 0, 0 }, /* (0xea) */ - { 6, 9, 0, 0 }, /* (0xeb) */ - { 3, 10, -1, 0 }, /* (0xec) */ - { 3, 10, 0, 0 }, /* (0xed) */ - { 5, 10, -1, 0 }, /* (0xee) */ - { 5, 9, -1, 0 }, /* (0xef) */ - { 6, 10, 0, 0 }, /* (0xf0) */ - { 6, 10, 0, 0 }, /* (0xf1) */ - { 6, 10, 0, 0 }, /* (0xf2) */ - { 6, 10, 0, 0 }, /* (0xf3) */ - { 6, 10, 0, 0 }, /* (0xf4) */ - { 6, 10, 0, 0 }, /* (0xf5) */ - { 6, 9, 0, 0 }, /* (0xf6) */ - { 6, 5, 0, 1 }, /* (0xf7) */ - { 8, 7, -1, 0 }, /* (0xf8) */ - { 6, 10, 0, 0 }, /* (0xf9) */ - { 6, 10, 0, 0 }, /* (0xfa) */ - { 6, 10, 0, 0 }, /* (0xfb) */ - { 6, 9, 0, 0 }, /* (0xfc) */ - { 7, 13, 0, -3 }, /* (0xfd) */ - { 6, 12, 0, -3 }, /* (0xfe) */ - { 7, 12, 0, -3 }, /* (0xff) */ -}; - -/* Exported structure definition. */ -static const BdfFontDesc desc = { - "helvB12-L1", +// Character 0 (0x00) +// Box: 7 9 1 0 +// Advance: 9 +// +// +-------+ +// |* * * *| +// | | +// |* *| +// | | +// |* *| +// | | +// |* *| +// | | +// |* * * *| +// +-------+ +static const byte glyph0[] = { + 0xAA, + 0x00, + 0x82, + 0x00, + 0x82, + 0x00, + 0x82, + 0x00, + 0xAA +}; + +// Character 32 (0x20) +// Box: 1 1 0 0 +// Advance: 4 +// +// +-+ +// | | +// +-+ +static const byte glyph32[] = { + 0x00 +}; + +// Character 33 (0x21) +// Box: 2 9 1 0 +// Advance: 4 +// +// +--+ +// |**| +// |**| +// |**| +// |**| +// |**| +// |* | +// | | +// |**| +// |**| +// +--+ +static const byte glyph33[] = { + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0x80, + 0x00, + 0xC0, + 0xC0 +}; + +// Character 34 (0x22) +// Box: 3 3 1 6 +// Advance: 5 +// +// +---+ +// |* *| +// |* *| +// |* *| +// +---+ +static const byte glyph34[] = { + 0xA0, + 0xA0, + 0xA0 +}; + +// Character 35 (0x23) +// Box: 7 8 0 0 +// Advance: 8 +// +// +-------+ +// | * * | +// | * * | +// | ******| +// | * * | +// | * * | +// |****** | +// | * * | +// | * * | +// +-------+ +static const byte glyph35[] = { + 0x14, + 0x14, + 0x7E, + 0x28, + 0x28, + 0xFC, + 0x50, + 0x50 +}; + +// Character 36 (0x24) +// Box: 6 11 0 -2 +// Advance: 7 +// +// +------+ +// | * | +// | **** | +// |** * *| +// |** * | +// | **** | +// | ***| +// |* * *| +// |** * *| +// | **** | +// | * | +// | * | +// +------+ +static const byte glyph36[] = { + 0x10, + 0x78, + 0xD4, + 0xD0, + 0x78, + 0x1C, + 0x94, + 0xD4, + 0x78, + 0x10, + 0x10 +}; + +// Character 37 (0x25) +// Box: 11 9 0 0 +// Advance: 12 +// +// +-----------+ +// | *** * | +// |** ** ** | +// |** ** * | +// | *** * | +// | * | +// | * *** | +// | * ** **| +// | ** ** **| +// | * *** | +// +-----------+ +static const byte glyph37[] = { + 0x71, 0x00, + 0xDB, 0x00, + 0xDA, 0x00, + 0x74, 0x00, + 0x04, 0x00, + 0x09, 0xC0, + 0x0B, 0x60, + 0x1B, 0x60, + 0x11, 0xC0 +}; + +// Character 38 (0x26) +// Box: 9 9 0 0 +// Advance: 9 +// +// +---------+ +// | *** | +// | ** ** | +// | ** ** | +// | *** | +// | **** * | +// |** **** | +// |** ** | +// |** **** | +// | **** **| +// +---------+ +static const byte glyph38[] = { + 0x38, 0x00, + 0x6C, 0x00, + 0x6C, 0x00, + 0x38, 0x00, + 0x79, 0x00, + 0xCF, 0x00, + 0xC6, 0x00, + 0xCF, 0x00, + 0x79, 0x80 +}; + +// Character 39 (0x27) +// Box: 1 3 1 6 +// Advance: 3 +// +// +-+ +// |*| +// |*| +// |*| +// +-+ +static const byte glyph39[] = { + 0x80, + 0x80, + 0x80 +}; + +// Character 40 (0x28) +// Box: 4 12 1 -3 +// Advance: 6 +// +// +----+ +// | **| +// | ** | +// | ** | +// |** | +// |** | +// |** | +// |** | +// |** | +// |** | +// | ** | +// | ** | +// | **| +// +----+ +static const byte glyph40[] = { + 0x30, + 0x60, + 0x60, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0x60, + 0x60, + 0x30 +}; + +// Character 41 (0x29) +// Box: 4 12 1 -3 +// Advance: 6 +// +// +----+ +// |** | +// | ** | +// | ** | +// | **| +// | **| +// | **| +// | **| +// | **| +// | **| +// | ** | +// | ** | +// |** | +// +----+ +static const byte glyph41[] = { + 0xC0, + 0x60, + 0x60, + 0x30, + 0x30, + 0x30, + 0x30, + 0x30, + 0x30, + 0x60, + 0x60, + 0xC0 +}; + +// Character 42 (0x2A) +// Box: 5 4 0 5 +// Advance: 6 +// +// +-----+ +// | * | +// |*****| +// | *** | +// | * * | +// +-----+ +static const byte glyph42[] = { + 0x20, + 0xF8, + 0x70, + 0x50 +}; + +// Character 43 (0x2B) +// Box: 6 5 0 1 +// Advance: 7 +// +// +------+ +// | ** | +// | ** | +// |******| +// | ** | +// | ** | +// +------+ +static const byte glyph43[] = { + 0x30, + 0x30, + 0xFC, + 0x30, + 0x30 +}; + +// Character 44 (0x2C) +// Box: 2 4 1 -2 +// Advance: 4 +// +// +--+ +// |**| +// |**| +// | *| +// |* | +// +--+ +static const byte glyph44[] = { + 0xC0, + 0xC0, + 0x40, + 0x80 +}; + +// Character 45 (0x2D) +// Box: 4 1 0 3 +// Advance: 5 +// +// +----+ +// |****| +// +----+ +static const byte glyph45[] = { + 0xF0 +}; + +// Character 46 (0x2E) +// Box: 2 2 1 0 +// Advance: 4 +// +// +--+ +// |**| +// |**| +// +--+ +static const byte glyph46[] = { + 0xC0, + 0xC0 +}; + +// Character 47 (0x2F) +// Box: 4 9 0 0 +// Advance: 4 +// +// +----+ +// | **| +// | **| +// | * | +// | ** | +// | ** | +// | * | +// | * | +// |** | +// |** | +// +----+ +static const byte glyph47[] = { + 0x30, + 0x30, + 0x20, + 0x60, + 0x60, + 0x40, + 0x40, + 0xC0, + 0xC0 +}; + +// Character 48 (0x30) +// Box: 6 9 0 0 +// Advance: 7 +// +// +------+ +// | **** | +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// | **** | +// +------+ +static const byte glyph48[] = { + 0x78, + 0xCC, + 0xCC, + 0xCC, + 0xCC, + 0xCC, + 0xCC, + 0xCC, + 0x78 +}; + +// Character 49 (0x31) +// Box: 4 9 0 0 +// Advance: 7 +// +// +----+ +// | **| +// |****| +// | **| +// | **| +// | **| +// | **| +// | **| +// | **| +// | **| +// +----+ +static const byte glyph49[] = { + 0x30, + 0xF0, + 0x30, + 0x30, + 0x30, + 0x30, + 0x30, + 0x30, + 0x30 +}; + +// Character 50 (0x32) +// Box: 6 9 0 0 +// Advance: 7 +// +// +------+ +// | **** | +// |** **| +// | **| +// | ** | +// | ** | +// | ** | +// |** | +// |** | +// |******| +// +------+ +static const byte glyph50[] = { + 0x78, + 0xCC, + 0x0C, + 0x18, + 0x30, + 0x60, + 0xC0, + 0xC0, + 0xFC +}; + +// Character 51 (0x33) +// Box: 6 9 0 0 +// Advance: 7 +// +// +------+ +// | **** | +// |** **| +// | **| +// | *** | +// | **| +// | **| +// | **| +// |** **| +// | **** | +// +------+ +static const byte glyph51[] = { + 0x78, + 0xCC, + 0x0C, + 0x38, + 0x0C, + 0x0C, + 0x0C, + 0xCC, + 0x78 +}; + +// Character 52 (0x34) +// Box: 7 9 0 0 +// Advance: 7 +// +// +-------+ +// | ** | +// | *** | +// | * ** | +// | * ** | +// | * ** | +// |* ** | +// |*******| +// | ** | +// | ** | +// +-------+ +static const byte glyph52[] = { + 0x0C, + 0x1C, + 0x2C, + 0x2C, + 0x4C, + 0x8C, + 0xFE, + 0x0C, + 0x0C +}; + +// Character 53 (0x35) +// Box: 6 9 0 0 +// Advance: 7 +// +// +------+ +// | *****| +// | ** | +// |** | +// |***** | +// | **| +// | **| +// |** **| +// |** **| +// | **** | +// +------+ +static const byte glyph53[] = { + 0x7C, + 0x60, + 0xC0, + 0xF8, + 0x0C, + 0x0C, + 0xCC, + 0xCC, + 0x78 +}; + +// Character 54 (0x36) +// Box: 6 9 0 0 +// Advance: 7 +// +// +------+ +// | **** | +// |** **| +// |** | +// |** | +// |***** | +// |** **| +// |** **| +// |** **| +// | **** | +// +------+ +static const byte glyph54[] = { + 0x78, + 0xCC, + 0xC0, + 0xC0, + 0xF8, + 0xCC, + 0xCC, + 0xCC, + 0x78 +}; + +// Character 55 (0x37) +// Box: 6 9 0 0 +// Advance: 7 +// +// +------+ +// |******| +// | **| +// | ** | +// | ** | +// | ** | +// | ** | +// | ** | +// | ** | +// | ** | +// +------+ +static const byte glyph55[] = { + 0xFC, + 0x0C, + 0x18, + 0x18, + 0x30, + 0x30, + 0x30, + 0x60, + 0x60 +}; + +// Character 56 (0x38) +// Box: 6 9 0 0 +// Advance: 7 +// +// +------+ +// | **** | +// |** **| +// |** **| +// | **** | +// |** **| +// |** **| +// |** **| +// |** **| +// | **** | +// +------+ +static const byte glyph56[] = { + 0x78, + 0xCC, + 0xCC, + 0x78, + 0xCC, + 0xCC, + 0xCC, + 0xCC, + 0x78 +}; + +// Character 57 (0x39) +// Box: 6 9 0 0 +// Advance: 7 +// +// +------+ +// | **** | +// |** **| +// |** **| +// |** **| +// | *****| +// | **| +// | **| +// |** **| +// | **** | +// +------+ +static const byte glyph57[] = { + 0x78, + 0xCC, + 0xCC, + 0xCC, + 0x7C, + 0x0C, + 0x0C, + 0xCC, + 0x78 +}; + +// Character 58 (0x3A) +// Box: 2 7 1 0 +// Advance: 4 +// +// +--+ +// |**| +// |**| +// | | +// | | +// | | +// |**| +// |**| +// +--+ +static const byte glyph58[] = { + 0xC0, + 0xC0, + 0x00, + 0x00, + 0x00, + 0xC0, + 0xC0 +}; + +// Character 59 (0x3B) +// Box: 2 9 1 -2 +// Advance: 4 +// +// +--+ +// |**| +// |**| +// | | +// | | +// | | +// |**| +// |**| +// | *| +// |* | +// +--+ +static const byte glyph59[] = { + 0xC0, + 0xC0, + 0x00, + 0x00, + 0x00, + 0xC0, + 0xC0, + 0x40, + 0x80 +}; + +// Character 60 (0x3C) +// Box: 5 5 1 1 +// Advance: 7 +// +// +-----+ +// | **| +// | *** | +// |** | +// | *** | +// | **| +// +-----+ +static const byte glyph60[] = { + 0x18, + 0x70, + 0xC0, + 0x70, + 0x18 +}; + +// Character 61 (0x3D) +// Box: 6 3 0 2 +// Advance: 7 +// +// +------+ +// |******| +// | | +// |******| +// +------+ +static const byte glyph61[] = { + 0xFC, + 0x00, + 0xFC +}; + +// Character 62 (0x3E) +// Box: 5 5 1 1 +// Advance: 7 +// +// +-----+ +// |** | +// | *** | +// | **| +// | *** | +// |** | +// +-----+ +static const byte glyph62[] = { + 0xC0, + 0x70, + 0x18, + 0x70, + 0xC0 +}; + +// Character 63 (0x3F) +// Box: 6 9 1 0 +// Advance: 8 +// +// +------+ +// | **** | +// |** **| +// |** **| +// | ** | +// | ** | +// | ** | +// | | +// | ** | +// | ** | +// +------+ +static const byte glyph63[] = { + 0x78, + 0xCC, + 0xCC, + 0x18, + 0x30, + 0x30, + 0x00, + 0x30, + 0x30 +}; + +// Character 64 (0x40) +// Box: 10 10 1 -1 +// Advance: 12 +// +// +----------+ +// | ***** | +// | ** * | +// | * *| +// |* ** * *| +// |* * * *| +// |* * * *| +// |* * ** * | +// |* ** ** | +// | * | +// | ***** | +// +----------+ +static const byte glyph64[] = { + 0x1F, 0x00, + 0x60, 0x80, + 0x40, 0x40, + 0x8D, 0x40, + 0x92, 0x40, + 0xA2, 0x40, + 0xA6, 0x80, + 0x9B, 0x00, + 0x40, 0x00, + 0x3E, 0x00 +}; + +// Character 65 (0x41) +// Box: 8 9 0 0 +// Advance: 8 +// +// +--------+ +// | ** | +// | **** | +// | * * | +// | ** ** | +// | ** ** | +// | ****** | +// |** **| +// |** **| +// |** **| +// +--------+ +static const byte glyph65[] = { + 0x18, + 0x3C, + 0x24, + 0x66, + 0x66, + 0x7E, + 0xC3, + 0xC3, + 0xC3 +}; + +// Character 66 (0x42) +// Box: 7 9 1 0 +// Advance: 9 +// +// +-------+ +// |****** | +// |** **| +// |** **| +// |** **| +// |****** | +// |** **| +// |** **| +// |** **| +// |****** | +// +-------+ +static const byte glyph66[] = { + 0xFC, + 0xC6, + 0xC6, + 0xC6, + 0xFC, + 0xC6, + 0xC6, + 0xC6, + 0xFC +}; + +// Character 67 (0x43) +// Box: 7 9 1 0 +// Advance: 8 +// +// +-------+ +// | **** | +// | ** **| +// |** | +// |** | +// |** | +// |** | +// |** | +// | ** **| +// | **** | +// +-------+ +static const byte glyph67[] = { + 0x3C, + 0x66, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0x66, + 0x3C +}; + +// Character 68 (0x44) +// Box: 7 9 1 0 +// Advance: 9 +// +// +-------+ +// |***** | +// |** ** | +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// |** ** | +// |***** | +// +-------+ +static const byte glyph68[] = { + 0xF8, + 0xCC, + 0xC6, + 0xC6, + 0xC6, + 0xC6, + 0xC6, + 0xCC, + 0xF8 +}; + +// Character 69 (0x45) +// Box: 6 9 1 0 +// Advance: 8 +// +// +------+ +// |******| +// |** | +// |** | +// |** | +// |******| +// |** | +// |** | +// |** | +// |******| +// +------+ +static const byte glyph69[] = { + 0xFC, + 0xC0, + 0xC0, + 0xC0, + 0xFC, + 0xC0, + 0xC0, + 0xC0, + 0xFC +}; + +// Character 70 (0x46) +// Box: 6 9 1 0 +// Advance: 7 +// +// +------+ +// |******| +// |** | +// |** | +// |** | +// |***** | +// |** | +// |** | +// |** | +// |** | +// +------+ +static const byte glyph70[] = { + 0xFC, + 0xC0, + 0xC0, + 0xC0, + 0xF8, + 0xC0, + 0xC0, + 0xC0, + 0xC0 +}; + +// Character 71 (0x47) +// Box: 8 9 1 0 +// Advance: 10 +// +// +--------+ +// | ***** | +// | ** **| +// |** | +// |** | +// |** ****| +// |** **| +// |** **| +// | ** **| +// | **** *| +// +--------+ +static const byte glyph71[] = { + 0x3E, + 0x63, + 0xC0, + 0xC0, + 0xCF, + 0xC3, + 0xC3, + 0x63, + 0x3D +}; + +// Character 72 (0x48) +// Box: 7 9 1 0 +// Advance: 9 +// +// +-------+ +// |** **| +// |** **| +// |** **| +// |** **| +// |*******| +// |** **| +// |** **| +// |** **| +// |** **| +// +-------+ +static const byte glyph72[] = { + 0xC6, + 0xC6, + 0xC6, + 0xC6, + 0xFE, + 0xC6, + 0xC6, + 0xC6, + 0xC6 +}; + +// Character 73 (0x49) +// Box: 2 9 1 0 +// Advance: 4 +// +// +--+ +// |**| +// |**| +// |**| +// |**| +// |**| +// |**| +// |**| +// |**| +// |**| +// +--+ +static const byte glyph73[] = { + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0 +}; + +// Character 74 (0x4A) +// Box: 6 9 0 0 +// Advance: 7 +// +// +------+ +// | **| +// | **| +// | **| +// | **| +// | **| +// | **| +// |** **| +// |** **| +// | **** | +// +------+ +static const byte glyph74[] = { + 0x0C, + 0x0C, + 0x0C, + 0x0C, + 0x0C, + 0x0C, + 0xCC, + 0xCC, + 0x78 +}; + +// Character 75 (0x4B) +// Box: 8 9 1 0 +// Advance: 9 +// +// +--------+ +// |** ** | +// |** ** | +// |** ** | +// |**** | +// |**** | +// |** ** | +// |** ** | +// |** ** | +// |** **| +// +--------+ +static const byte glyph75[] = { + 0xC6, + 0xCC, + 0xD8, + 0xF0, + 0xF0, + 0xD8, + 0xCC, + 0xC6, + 0xC3 +}; + +// Character 76 (0x4C) +// Box: 6 9 1 0 +// Advance: 7 +// +// +------+ +// |** | +// |** | +// |** | +// |** | +// |** | +// |** | +// |** | +// |** | +// |******| +// +------+ +static const byte glyph76[] = { + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xFC +}; + +// Character 77 (0x4D) +// Box: 9 9 1 0 +// Advance: 11 +// +// +---------+ +// |** **| +// |** **| +// |*** ***| +// |*** ***| +// |**** ****| +// |** * * **| +// |** *** **| +// |** * **| +// |** * **| +// +---------+ +static const byte glyph77[] = { + 0xC1, 0x80, + 0xC1, 0x80, + 0xE3, 0x80, + 0xE3, 0x80, + 0xF7, 0x80, + 0xD5, 0x80, + 0xDD, 0x80, + 0xC9, 0x80, + 0xC9, 0x80 +}; + +// Character 78 (0x4E) +// Box: 7 9 1 0 +// Advance: 9 +// +// +-------+ +// |** **| +// |*** **| +// |*** **| +// |** * **| +// |** * **| +// |** ***| +// |** ***| +// |** **| +// |** **| +// +-------+ +static const byte glyph78[] = { + 0xC6, + 0xE6, + 0xE6, + 0xD6, + 0xD6, + 0xCE, + 0xCE, + 0xC6, + 0xC6 +}; + +// Character 79 (0x4F) +// Box: 8 9 1 0 +// Advance: 10 +// +// +--------+ +// | **** | +// | ** ** | +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// | ** ** | +// | **** | +// +--------+ +static const byte glyph79[] = { + 0x3C, + 0x66, + 0xC3, + 0xC3, + 0xC3, + 0xC3, + 0xC3, + 0x66, + 0x3C +}; + +// Character 80 (0x50) +// Box: 7 9 1 0 +// Advance: 8 +// +// +-------+ +// |****** | +// |** **| +// |** **| +// |** **| +// |****** | +// |** | +// |** | +// |** | +// |** | +// +-------+ +static const byte glyph80[] = { + 0xFC, + 0xC6, + 0xC6, + 0xC6, + 0xFC, + 0xC0, + 0xC0, + 0xC0, + 0xC0 +}; + +// Character 81 (0x51) +// Box: 8 9 1 0 +// Advance: 10 +// +// +--------+ +// | **** | +// | ** ** | +// |** **| +// |** **| +// |** **| +// |** * **| +// |** ****| +// | ** ** | +// | ******| +// +--------+ +static const byte glyph81[] = { + 0x3C, + 0x66, + 0xC3, + 0xC3, + 0xC3, + 0xCB, + 0xCF, + 0x66, + 0x3F +}; + +// Character 82 (0x52) +// Box: 7 9 1 0 +// Advance: 9 +// +// +-------+ +// |****** | +// |** **| +// |** **| +// |** **| +// |****** | +// |** ** | +// |** **| +// |** **| +// |** **| +// +-------+ +static const byte glyph82[] = { + 0xFC, + 0xC6, + 0xC6, + 0xC6, + 0xFC, + 0xCC, + 0xC6, + 0xC6, + 0xC6 +}; + +// Character 83 (0x53) +// Box: 7 9 1 0 +// Advance: 9 +// +// +-------+ +// | ***** | +// |** **| +// |** **| +// | *** | +// | *** | +// | ***| +// |** **| +// |** **| +// | ***** | +// +-------+ +static const byte glyph83[] = { + 0x7C, + 0xC6, + 0xC6, + 0x70, + 0x1C, + 0x0E, + 0xC6, + 0xC6, + 0x7C +}; + +// Character 84 (0x54) +// Box: 8 9 0 0 +// Advance: 8 +// +// +--------+ +// |********| +// | ** | +// | ** | +// | ** | +// | ** | +// | ** | +// | ** | +// | ** | +// | ** | +// +--------+ +static const byte glyph84[] = { + 0xFF, + 0x18, + 0x18, + 0x18, + 0x18, + 0x18, + 0x18, + 0x18, + 0x18 +}; + +// Character 85 (0x55) +// Box: 7 9 1 0 +// Advance: 9 +// +// +-------+ +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// | ** ** | +// | ***** | +// +-------+ +static const byte glyph85[] = { + 0xC6, + 0xC6, + 0xC6, + 0xC6, + 0xC6, + 0xC6, + 0xC6, + 0x6C, + 0x7C +}; + +// Character 86 (0x56) +// Box: 8 9 0 0 +// Advance: 8 +// +// +--------+ +// |** **| +// |** **| +// | ** ** | +// | ** ** | +// | ** ** | +// | * * | +// | **** | +// | ** | +// | ** | +// +--------+ +static const byte glyph86[] = { + 0xC3, + 0xC3, + 0x66, + 0x66, + 0x66, + 0x24, + 0x3C, + 0x18, + 0x18 +}; + +// Character 87 (0x57) +// Box: 10 9 0 0 +// Advance: 10 +// +// +----------+ +// |** ** **| +// |** ** **| +// |** ** **| +// | * ** * | +// | ** ** ** | +// | ** ** ** | +// | ** ** | +// | ** ** | +// | ** ** | +// +----------+ +static const byte glyph87[] = { + 0xCC, 0xC0, + 0xCC, 0xC0, + 0xCC, 0xC0, + 0x4C, 0x80, + 0x6D, 0x80, + 0x6D, 0x80, + 0x33, 0x00, + 0x33, 0x00, + 0x33, 0x00 +}; + +// Character 88 (0x58) +// Box: 8 9 0 0 +// Advance: 8 +// +// +--------+ +// |** **| +// |** **| +// | ** ** | +// | **** | +// | ** | +// | **** | +// | ** ** | +// |** **| +// |** **| +// +--------+ +static const byte glyph88[] = { + 0xC3, + 0xC3, + 0x66, + 0x3C, + 0x18, + 0x3C, + 0x66, + 0xC3, + 0xC3 +}; + +// Character 89 (0x59) +// Box: 8 9 0 0 +// Advance: 8 +// +// +--------+ +// |** **| +// |** **| +// | ** ** | +// | ** ** | +// | **** | +// | ** | +// | ** | +// | ** | +// | ** | +// +--------+ +static const byte glyph89[] = { + 0xC3, + 0xC3, + 0x66, + 0x66, + 0x3C, + 0x18, + 0x18, + 0x18, + 0x18 +}; + +// Character 90 (0x5A) +// Box: 7 9 0 0 +// Advance: 7 +// +// +-------+ +// |*******| +// | **| +// | ** | +// | ** | +// | ** | +// | ** | +// | ** | +// |** | +// |*******| +// +-------+ +static const byte glyph90[] = { + 0xFE, + 0x06, + 0x0C, + 0x18, + 0x30, + 0x30, + 0x60, + 0xC0, + 0xFE +}; + +// Character 91 (0x5B) +// Box: 3 12 1 -3 +// Advance: 4 +// +// +---+ +// |***| +// |** | +// |** | +// |** | +// |** | +// |** | +// |** | +// |** | +// |** | +// |** | +// |** | +// |***| +// +---+ +static const byte glyph91[] = { + 0xE0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xE0 +}; + +// Character 92 (0x5C) +// Box: 4 9 0 0 +// Advance: 4 +// +// +----+ +// |** | +// |** | +// | * | +// | ** | +// | ** | +// | * | +// | * | +// | **| +// | **| +// +----+ +static const byte glyph92[] = { + 0xC0, + 0xC0, + 0x40, + 0x60, + 0x60, + 0x20, + 0x20, + 0x30, + 0x30 +}; + +// Character 93 (0x5D) +// Box: 3 12 0 -3 +// Advance: 4 +// +// +---+ +// |***| +// | **| +// | **| +// | **| +// | **| +// | **| +// | **| +// | **| +// | **| +// | **| +// | **| +// |***| +// +---+ +static const byte glyph93[] = { + 0xE0, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60, + 0xE0 +}; + +// Character 94 (0x5E) +// Box: 7 4 0 5 +// Advance: 7 +// +// +-------+ +// | * | +// | *** | +// | ** ** | +// |** **| +// +-------+ +static const byte glyph94[] = { + 0x10, + 0x38, + 0x6C, + 0xC6 +}; + +// Character 95 (0x5F) +// Box: 7 1 0 -3 +// Advance: 7 +// +// +-------+ +// |*******| +// +-------+ +static const byte glyph95[] = { + 0xFE +}; + +// Character 96 (0x60) +// Box: 3 2 0 8 +// Advance: 4 +// +// +---+ +// |** | +// | **| +// +---+ +static const byte glyph96[] = { + 0xC0, + 0x60 +}; + +// Character 97 (0x61) +// Box: 7 7 0 0 +// Advance: 7 +// +// +-------+ +// | **** | +// |** ** | +// | ** | +// | ***** | +// |** ** | +// |** ** | +// | *** **| +// +-------+ +static const byte glyph97[] = { + 0x78, + 0xCC, + 0x0C, + 0x7C, + 0xCC, + 0xCC, + 0x76 +}; + +// Character 98 (0x62) +// Box: 6 9 0 0 +// Advance: 7 +// +// +------+ +// |** | +// |** | +// |** ** | +// |*** **| +// |** **| +// |** **| +// |** **| +// |*** **| +// |** ** | +// +------+ +static const byte glyph98[] = { + 0xC0, + 0xC0, + 0xD8, + 0xEC, + 0xCC, + 0xCC, + 0xCC, + 0xEC, + 0xD8 +}; + +// Character 99 (0x63) +// Box: 6 7 0 0 +// Advance: 7 +// +// +------+ +// | **** | +// |** **| +// |** | +// |** | +// |** | +// |** **| +// | **** | +// +------+ +static const byte glyph99[] = { + 0x78, + 0xCC, + 0xC0, + 0xC0, + 0xC0, + 0xCC, + 0x78 +}; + +// Character 100 (0x64) +// Box: 6 9 0 0 +// Advance: 7 +// +// +------+ +// | **| +// | **| +// | ** **| +// |** ***| +// |** **| +// |** **| +// |** **| +// |** ***| +// | ** **| +// +------+ +static const byte glyph100[] = { + 0x0C, + 0x0C, + 0x6C, + 0xDC, + 0xCC, + 0xCC, + 0xCC, + 0xDC, + 0x6C +}; + +// Character 101 (0x65) +// Box: 6 7 0 0 +// Advance: 7 +// +// +------+ +// | **** | +// |** **| +// |** **| +// |******| +// |** | +// |** **| +// | **** | +// +------+ +static const byte glyph101[] = { + 0x78, + 0xCC, + 0xCC, + 0xFC, + 0xC0, + 0xCC, + 0x78 +}; + +// Character 102 (0x66) +// Box: 5 9 0 0 +// Advance: 5 +// +// +-----+ +// | ***| +// | ** | +// |**** | +// | ** | +// | ** | +// | ** | +// | ** | +// | ** | +// | ** | +// +-----+ +static const byte glyph102[] = { + 0x38, + 0x60, + 0xF0, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60 +}; + +// Character 103 (0x67) +// Box: 6 10 0 -3 +// Advance: 7 +// +// +------+ +// | ** **| +// |** ***| +// |** **| +// |** **| +// |** **| +// |** ***| +// | ** **| +// | **| +// |** **| +// | **** | +// +------+ +static const byte glyph103[] = { + 0x6C, + 0xDC, + 0xCC, + 0xCC, + 0xCC, + 0xDC, + 0x6C, + 0x0C, + 0xCC, + 0x78 +}; + +// Character 104 (0x68) +// Box: 6 9 0 0 +// Advance: 7 +// +// +------+ +// |** | +// |** | +// |** ** | +// |*** **| +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// +------+ +static const byte glyph104[] = { + 0xC0, + 0xC0, + 0xD8, + 0xEC, + 0xCC, + 0xCC, + 0xCC, + 0xCC, + 0xCC +}; + +// Character 105 (0x69) +// Box: 2 9 0 0 +// Advance: 3 +// +// +--+ +// |**| +// | | +// |**| +// |**| +// |**| +// |**| +// |**| +// |**| +// |**| +// +--+ +static const byte glyph105[] = { + 0xC0, + 0x00, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0 +}; + +// Character 106 (0x6A) +// Box: 3 12 -1 -3 +// Advance: 3 +// +// +---+ +// | **| +// | | +// | **| +// | **| +// | **| +// | **| +// | **| +// | **| +// | **| +// | **| +// | **| +// |** | +// +---+ +static const byte glyph106[] = { + 0x60, + 0x00, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60, + 0xC0 +}; + +// Character 107 (0x6B) +// Box: 7 9 0 0 +// Advance: 7 +// +// +-------+ +// |** | +// |** | +// |** ** | +// |** ** | +// |**** | +// |**** | +// |** ** | +// |** ** | +// |** **| +// +-------+ +static const byte glyph107[] = { + 0xC0, + 0xC0, + 0xCC, + 0xD8, + 0xF0, + 0xF0, + 0xD8, + 0xCC, + 0xC6 +}; + +// Character 108 (0x6C) +// Box: 2 9 0 0 +// Advance: 3 +// +// +--+ +// |**| +// |**| +// |**| +// |**| +// |**| +// |**| +// |**| +// |**| +// |**| +// +--+ +static const byte glyph108[] = { + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0 +}; + +// Character 109 (0x6D) +// Box: 10 7 0 0 +// Advance: 11 +// +// +----------+ +// |* *** *** | +// |** ** **| +// |** ** **| +// |** ** **| +// |** ** **| +// |** ** **| +// |** ** **| +// +----------+ +static const byte glyph109[] = { + 0xBB, 0x80, + 0xCC, 0xC0, + 0xCC, 0xC0, + 0xCC, 0xC0, + 0xCC, 0xC0, + 0xCC, 0xC0, + 0xCC, 0xC0 +}; + +// Character 110 (0x6E) +// Box: 6 7 0 0 +// Advance: 7 +// +// +------+ +// |** ** | +// |*** **| +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// +------+ +static const byte glyph110[] = { + 0xD8, + 0xEC, + 0xCC, + 0xCC, + 0xCC, + 0xCC, + 0xCC +}; + +// Character 111 (0x6F) +// Box: 6 7 0 0 +// Advance: 7 +// +// +------+ +// | **** | +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// | **** | +// +------+ +static const byte glyph111[] = { + 0x78, + 0xCC, + 0xCC, + 0xCC, + 0xCC, + 0xCC, + 0x78 +}; + +// Character 112 (0x70) +// Box: 6 10 0 -3 +// Advance: 7 +// +// +------+ +// |** ** | +// |*** **| +// |** **| +// |** **| +// |** **| +// |*** **| +// |** ** | +// |** | +// |** | +// |** | +// +------+ +static const byte glyph112[] = { + 0xD8, + 0xEC, + 0xCC, + 0xCC, + 0xCC, + 0xEC, + 0xD8, + 0xC0, + 0xC0, + 0xC0 +}; + +// Character 113 (0x71) +// Box: 6 10 0 -3 +// Advance: 7 +// +// +------+ +// | *** *| +// |** ***| +// |** **| +// |** **| +// |** **| +// |** ***| +// | ** **| +// | **| +// | **| +// | **| +// +------+ +static const byte glyph113[] = { + 0x74, + 0xDC, + 0xCC, + 0xCC, + 0xCC, + 0xDC, + 0x6C, + 0x0C, + 0x0C, + 0x0C +}; + +// Character 114 (0x72) +// Box: 5 7 0 0 +// Advance: 5 +// +// +-----+ +// |** **| +// |*****| +// |*** | +// |** | +// |** | +// |** | +// |** | +// +-----+ +static const byte glyph114[] = { + 0xD8, + 0xF8, + 0xE0, + 0xC0, + 0xC0, + 0xC0, + 0xC0 +}; + +// Character 115 (0x73) +// Box: 6 7 0 0 +// Advance: 7 +// +// +------+ +// | **** | +// |** **| +// |*** | +// | *** | +// | ***| +// |** **| +// | **** | +// +------+ +static const byte glyph115[] = { + 0x78, + 0xCC, + 0xE0, + 0x38, + 0x1C, + 0xCC, + 0x78 +}; + +// Character 116 (0x74) +// Box: 5 9 0 0 +// Advance: 5 +// +// +-----+ +// | ** | +// | ** | +// |**** | +// | ** | +// | ** | +// | ** | +// | ** | +// | ** *| +// | ** | +// +-----+ +static const byte glyph116[] = { + 0x60, + 0x60, + 0xF0, + 0x60, + 0x60, + 0x60, + 0x60, + 0x68, + 0x30 +}; + +// Character 117 (0x75) +// Box: 6 7 0 0 +// Advance: 7 +// +// +------+ +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// |** ***| +// | ** **| +// +------+ +static const byte glyph117[] = { + 0xCC, + 0xCC, + 0xCC, + 0xCC, + 0xCC, + 0xDC, + 0x6C +}; + +// Character 118 (0x76) +// Box: 7 7 0 0 +// Advance: 8 +// +// +-------+ +// |** **| +// |** **| +// | ** ** | +// | ** ** | +// | *** | +// | *** | +// | * | +// +-------+ +static const byte glyph118[] = { + 0xC6, + 0xC6, + 0x6C, + 0x6C, + 0x38, + 0x38, + 0x10 +}; + +// Character 119 (0x77) +// Box: 10 7 0 0 +// Advance: 11 +// +// +----------+ +// |** ** **| +// |** ** **| +// | ** ** ** | +// | ** ** ** | +// | ** ** ** | +// | ** ** | +// | ** ** | +// +----------+ +static const byte glyph119[] = { + 0xCC, 0xC0, + 0xCC, 0xC0, + 0x6D, 0x80, + 0x6D, 0x80, + 0x6D, 0x80, + 0x33, 0x00, + 0x33, 0x00 +}; + +// Character 120 (0x78) +// Box: 6 7 0 0 +// Advance: 7 +// +// +------+ +// |** **| +// |** **| +// | **** | +// | ** | +// | **** | +// |** **| +// |** **| +// +------+ +static const byte glyph120[] = { + 0xCC, + 0xCC, + 0x78, + 0x30, + 0x78, + 0xCC, + 0xCC +}; + +// Character 121 (0x79) +// Box: 7 10 0 -3 +// Advance: 8 +// +// +-------+ +// |** **| +// |** **| +// | ** ** | +// | ** ** | +// | *** | +// | *** | +// | ** | +// | * | +// | ** | +// | ** | +// +-------+ +static const byte glyph121[] = { + 0xC6, + 0xC6, + 0x6C, + 0x6C, + 0x38, + 0x38, + 0x18, + 0x10, + 0x30, + 0x60 +}; + +// Character 122 (0x7A) +// Box: 5 7 0 0 +// Advance: 6 +// +// +-----+ +// |*****| +// | **| +// | ** | +// | * | +// | ** | +// |** | +// |*****| +// +-----+ +static const byte glyph122[] = { + 0xF8, + 0x18, + 0x30, + 0x20, + 0x60, + 0xC0, + 0xF8 +}; + +// Character 123 (0x7B) +// Box: 4 12 0 -3 +// Advance: 5 +// +// +----+ +// | **| +// | ** | +// | ** | +// | ** | +// | ** | +// |** | +// | ** | +// | ** | +// | ** | +// | ** | +// | ** | +// | **| +// +----+ +static const byte glyph123[] = { + 0x30, + 0x60, + 0x60, + 0x60, + 0x60, + 0xC0, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60, + 0x30 +}; + +// Character 124 (0x7C) +// Box: 2 12 1 -3 +// Advance: 4 +// +// +--+ +// |**| +// |**| +// |**| +// |**| +// |**| +// |**| +// |**| +// |**| +// |**| +// |**| +// |**| +// |**| +// +--+ +static const byte glyph124[] = { + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0 +}; + +// Character 125 (0x7D) +// Box: 4 12 0 -3 +// Advance: 5 +// +// +----+ +// |** | +// | ** | +// | ** | +// | ** | +// | ** | +// | **| +// | ** | +// | ** | +// | ** | +// | ** | +// | ** | +// |** | +// +----+ +static const byte glyph125[] = { + 0xC0, + 0x60, + 0x60, + 0x60, + 0x60, + 0x30, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60, + 0xC0 +}; + +// Character 126 (0x7E) +// Box: 7 2 0 3 +// Advance: 7 +// +// +-------+ +// | *** **| +// |** *** | +// +-------+ +static const byte glyph126[] = { + 0x76, + 0xDC +}; + +// Character 160 (0xA0) +// Box: 1 1 0 0 +// Advance: 4 +// +// +-+ +// | | +// +-+ +static const byte glyph160[] = { + 0x00 +}; + +// Character 161 (0xA1) +// Box: 2 10 1 -3 +// Advance: 4 +// +// +--+ +// |**| +// |**| +// | | +// | *| +// |**| +// |**| +// |**| +// |**| +// |**| +// |**| +// +--+ +static const byte glyph161[] = { + 0xC0, + 0xC0, + 0x00, + 0x40, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0 +}; + +// Character 162 (0xA2) +// Box: 6 9 0 -1 +// Advance: 7 +// +// +------+ +// | * | +// | **** | +// |** ***| +// |* * | +// |* * | +// |* * | +// |*** **| +// | **** | +// | * | +// +------+ +static const byte glyph162[] = { + 0x10, + 0x78, + 0xDC, + 0x90, + 0xA0, + 0xA0, + 0xEC, + 0x78, + 0x40 +}; + +// Character 163 (0xA3) +// Box: 6 9 0 0 +// Advance: 7 +// +// +------+ +// | *** | +// | ** **| +// | ** | +// | ** | +// |***** | +// | ** | +// | ** | +// |*** **| +// |** ** | +// +------+ +static const byte glyph163[] = { + 0x38, + 0x6C, + 0x60, + 0x60, + 0xF8, + 0x60, + 0x60, + 0xEC, + 0xD8 +}; + +// Character 164 (0xA4) +// Box: 6 6 0 1 +// Advance: 7 +// +// +------+ +// |** **| +// | **** | +// | * * | +// | * * | +// | **** | +// |** **| +// +------+ +static const byte glyph164[] = { + 0xCC, + 0x78, + 0x48, + 0x48, + 0x78, + 0xCC +}; + +// Character 165 (0xA5) +// Box: 6 9 0 0 +// Advance: 7 +// +// +------+ +// |** **| +// |** **| +// | * * | +// |******| +// | ** | +// |******| +// | ** | +// | ** | +// | ** | +// +------+ +static const byte glyph165[] = { + 0xCC, + 0xCC, + 0x48, + 0xFC, + 0x30, + 0xFC, + 0x30, + 0x30, + 0x30 +}; + +// Character 166 (0xA6) +// Box: 2 11 1 -2 +// Advance: 4 +// +// +--+ +// |**| +// |**| +// |**| +// |**| +// | | +// | | +// |**| +// |**| +// |**| +// |**| +// |**| +// +--+ +static const byte glyph166[] = { + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0x00, + 0x00, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0 +}; + +// Character 167 (0xA7) +// Box: 6 12 0 -3 +// Advance: 7 +// +// +------+ +// | **** | +// |** **| +// |*** | +// | *** | +// |** ** | +// |** **| +// |** **| +// | ** **| +// | *** | +// | ***| +// |** **| +// | **** | +// +------+ +static const byte glyph167[] = { + 0x78, + 0xCC, + 0xE0, + 0x70, + 0xD8, + 0xCC, + 0xCC, + 0x6C, + 0x38, + 0x1C, + 0xCC, + 0x78 +}; + +// Character 168 (0xA8) +// Box: 5 1 0 8 +// Advance: 5 +// +// +-----+ +// |** **| +// +-----+ +static const byte glyph168[] = { + 0xD8 +}; + +// Character 169 (0xA9) +// Box: 9 9 1 0 +// Advance: 11 +// +// +---------+ +// | ***** | +// | * * | +// |* *** *| +// |* * * *| +// |* * *| +// |* * * *| +// |* *** *| +// | * * | +// | ***** | +// +---------+ +static const byte glyph169[] = { + 0x3E, 0x00, + 0x41, 0x00, + 0x9C, 0x80, + 0xA2, 0x80, + 0xA0, 0x80, + 0xA2, 0x80, + 0x9C, 0x80, + 0x41, 0x00, + 0x3E, 0x00 +}; + +// Character 170 (0xAA) +// Box: 4 6 1 3 +// Advance: 6 +// +// +----+ +// |*** | +// | **| +// |****| +// |* **| +// | | +// |****| +// +----+ +static const byte glyph170[] = { + 0xE0, + 0x30, + 0xF0, + 0xB0, + 0x00, + 0xF0 +}; + +// Character 171 (0xAB) +// Box: 6 5 1 1 +// Advance: 8 +// +// +------+ +// | * *| +// | ** **| +// |** ** | +// | ** **| +// | * *| +// +------+ +static const byte glyph171[] = { + 0x24, + 0x6C, + 0xD8, + 0x6C, + 0x24 +}; + +// Character 172 (0xAC) +// Box: 6 4 1 2 +// Advance: 8 +// +// +------+ +// |******| +// | *| +// | *| +// | *| +// +------+ +static const byte glyph172[] = { + 0xFC, + 0x04, + 0x04, + 0x04 +}; + +// Character 173 (0xAD) +// Box: 4 1 0 3 +// Advance: 5 +// +// +----+ +// |****| +// +----+ +static const byte glyph173[] = { + 0xF0 +}; + +// Character 174 (0xAE) +// Box: 9 9 1 0 +// Advance: 11 +// +// +---------+ +// | ***** | +// | * * | +// |* *** *| +// |* * * *| +// |* ** *| +// |* * * *| +// |* * * *| +// | * * | +// | ***** | +// +---------+ +static const byte glyph174[] = { + 0x3E, 0x00, + 0x41, 0x00, + 0x9C, 0x80, + 0x94, 0x80, + 0x98, 0x80, + 0x94, 0x80, + 0x94, 0x80, + 0x41, 0x00, + 0x3E, 0x00 +}; + +// Character 175 (0xAF) +// Box: 4 1 0 8 +// Advance: 4 +// +// +----+ +// |****| +// +----+ +static const byte glyph175[] = { + 0xF0 +}; + +// Character 176 (0xB0) +// Box: 4 4 0 4 +// Advance: 5 +// +// +----+ +// | ** | +// |* *| +// |* *| +// | ** | +// +----+ +static const byte glyph176[] = { + 0x60, + 0x90, + 0x90, + 0x60 +}; + +// Character 177 (0xB1) +// Box: 6 7 0 0 +// Advance: 7 +// +// +------+ +// | ** | +// | ** | +// |******| +// | ** | +// | ** | +// | | +// |******| +// +------+ +static const byte glyph177[] = { + 0x30, + 0x30, + 0xFC, + 0x30, + 0x30, + 0x00, + 0xFC +}; + +// Character 178 (0xB2) +// Box: 4 5 0 4 +// Advance: 4 +// +// +----+ +// | ** | +// |* **| +// | ** | +// |** | +// |****| +// +----+ +static const byte glyph178[] = { + 0x60, + 0xB0, + 0x60, + 0xC0, + 0xF0 +}; + +// Character 179 (0xB3) +// Box: 4 5 0 4 +// Advance: 4 +// +// +----+ +// | ** | +// |* **| +// | ** | +// | **| +// |*** | +// +----+ +static const byte glyph179[] = { + 0x60, + 0xB0, + 0x60, + 0x30, + 0xE0 +}; + +// Character 180 (0xB4) +// Box: 3 2 0 8 +// Advance: 4 +// +// +---+ +// | **| +// |** | +// +---+ +static const byte glyph180[] = { + 0x60, + 0xC0 +}; + +// Character 181 (0xB5) +// Box: 6 10 0 -3 +// Advance: 7 +// +// +------+ +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// |** ***| +// |*** **| +// |** | +// |** | +// |** | +// +------+ +static const byte glyph181[] = { + 0xCC, + 0xCC, + 0xCC, + 0xCC, + 0xCC, + 0xDC, + 0xEC, + 0xC0, + 0xC0, + 0xC0 +}; + +// Character 182 (0xB6) +// Box: 7 12 0 -3 +// Advance: 7 +// +// +-------+ +// | *****| +// | *** * | +// |**** * | +// |**** * | +// |**** * | +// | *** * | +// | ** * | +// | * * | +// | * * | +// | * * | +// | * * | +// | * * | +// +-------+ +static const byte glyph182[] = { + 0x3E, + 0x74, + 0xF4, + 0xF4, + 0xF4, + 0x74, + 0x34, + 0x14, + 0x14, + 0x14, + 0x14, + 0x14 +}; + +// Character 183 (0xB7) +// Box: 2 2 1 3 +// Advance: 4 +// +// +--+ +// |**| +// |**| +// +--+ +static const byte glyph183[] = { + 0xC0, + 0xC0 +}; + +// Character 184 (0xB8) +// Box: 4 4 0 -3 +// Advance: 4 +// +// +----+ +// | ** | +// | **| +// | **| +// |*** | +// +----+ +static const byte glyph184[] = { + 0x60, + 0x30, + 0x30, + 0xE0 +}; + +// Character 185 (0xB9) +// Box: 3 5 0 4 +// Advance: 4 +// +// +---+ +// | **| +// |***| +// | **| +// | **| +// | **| +// +---+ +static const byte glyph185[] = { + 0x60, + 0xE0, + 0x60, + 0x60, + 0x60 +}; + +// Character 186 (0xBA) +// Box: 4 6 1 3 +// Advance: 6 +// +// +----+ +// | ** | +// |** *| +// |** *| +// | ** | +// | | +// |****| +// +----+ +static const byte glyph186[] = { + 0x60, + 0xD0, + 0xD0, + 0x60, + 0x00, + 0xF0 +}; + +// Character 187 (0xBB) +// Box: 6 5 1 1 +// Advance: 8 +// +// +------+ +// |* * | +// |** ** | +// | ** **| +// |** ** | +// |* * | +// +------+ +static const byte glyph187[] = { + 0x90, + 0xD8, + 0x6C, + 0xD8, + 0x90 +}; + +// Character 188 (0xBC) +// Box: 10 9 0 0 +// Advance: 10 +// +// +----------+ +// | ** ** | +// |*** ** | +// | ** ** | +// | ** ** | +// | ** ** ** | +// | * *** | +// | ** * * | +// | ** *****| +// | ** ** | +// +----------+ +static const byte glyph188[] = { + 0x63, 0x00, + 0xE6, 0x00, + 0x66, 0x00, + 0x6C, 0x00, + 0x6D, 0x80, + 0x0B, 0x80, + 0x1A, 0x80, + 0x37, 0xC0, + 0x31, 0x80 +}; + +// Character 189 (0xBD) +// Box: 10 9 0 0 +// Advance: 10 +// +// +----------+ +// | ** ** | +// |*** ** | +// | ** ** | +// | ** ** | +// | ** ** ** | +// | * * **| +// | ** ** | +// | ** ** | +// | ** ****| +// +----------+ +static const byte glyph189[] = { + 0x63, 0x00, + 0xE6, 0x00, + 0x66, 0x00, + 0x6C, 0x00, + 0x6D, 0x80, + 0x0A, 0xC0, + 0x19, 0x80, + 0x33, 0x00, + 0x33, 0xC0 +}; + +// Character 190 (0xBE) +// Box: 10 9 0 0 +// Advance: 10 +// +// +----------+ +// | ** ** | +// |* ** ** | +// | ** ** | +// | ** ** | +// |*** ** ** | +// | * *** | +// | ** * * | +// | ** *****| +// | ** ** | +// +----------+ +static const byte glyph190[] = { + 0x63, 0x00, + 0xB3, 0x00, + 0x66, 0x00, + 0x36, 0x00, + 0xED, 0x80, + 0x0B, 0x80, + 0x1A, 0x80, + 0x37, 0xC0, + 0x31, 0x80 +}; + +// Character 191 (0xBF) +// Box: 6 10 1 -3 +// Advance: 8 +// +// +------+ +// | ** | +// | ** | +// | | +// | ** | +// | ** | +// | ** | +// | ** | +// |** **| +// |** **| +// | **** | +// +------+ +static const byte glyph191[] = { + 0x30, + 0x30, + 0x00, + 0x30, + 0x30, + 0x30, + 0x60, + 0xCC, + 0xCC, + 0x78 +}; + +// Character 192 (0xC0) +// Box: 8 12 0 0 +// Advance: 8 +// +// +--------+ +// | ** | +// | ** | +// | | +// | ** | +// | ** | +// | **** | +// | * * | +// | ** ** | +// | ****** | +// |** **| +// |** **| +// |** **| +// +--------+ +static const byte glyph192[] = { + 0x30, + 0x18, + 0x00, + 0x18, + 0x18, + 0x3C, + 0x24, + 0x66, + 0x7E, + 0xC3, + 0xC3, + 0xC3 +}; + +// Character 193 (0xC1) +// Box: 8 12 0 0 +// Advance: 8 +// +// +--------+ +// | ** | +// | ** | +// | | +// | ** | +// | ** | +// | **** | +// | * * | +// | ** ** | +// | ****** | +// |** **| +// |** **| +// |** **| +// +--------+ +static const byte glyph193[] = { + 0x0C, + 0x18, + 0x00, + 0x18, + 0x18, + 0x3C, + 0x24, + 0x66, + 0x7E, + 0xC3, + 0xC3, + 0xC3 +}; + +// Character 194 (0xC2) +// Box: 8 12 0 0 +// Advance: 8 +// +// +--------+ +// | *** | +// | ** ** | +// | | +// | ** | +// | ** | +// | **** | +// | * * | +// | ** ** | +// | ****** | +// |** **| +// |** **| +// |** **| +// +--------+ +static const byte glyph194[] = { + 0x1C, + 0x36, + 0x00, + 0x18, + 0x18, + 0x3C, + 0x24, + 0x66, + 0x7E, + 0xC3, + 0xC3, + 0xC3 +}; + +// Character 195 (0xC3) +// Box: 8 12 0 0 +// Advance: 8 +// +// +--------+ +// | ** * | +// | * ** | +// | | +// | ** | +// | ** | +// | **** | +// | * * | +// | ** ** | +// | ****** | +// |** **| +// |** **| +// |** **| +// +--------+ +static const byte glyph195[] = { + 0x1A, + 0x2C, + 0x00, + 0x18, + 0x18, + 0x3C, + 0x24, + 0x66, + 0x7E, + 0xC3, + 0xC3, + 0xC3 +}; + +// Character 196 (0xC4) +// Box: 8 11 0 0 +// Advance: 8 +// +// +--------+ +// | ** ** | +// | | +// | ** | +// | ** | +// | **** | +// | * * | +// | ** ** | +// | ****** | +// |** **| +// |** **| +// |** **| +// +--------+ +static const byte glyph196[] = { + 0x36, + 0x00, + 0x18, + 0x18, + 0x3C, + 0x24, + 0x66, + 0x7E, + 0xC3, + 0xC3, + 0xC3 +}; + +// Character 197 (0xC5) +// Box: 8 12 0 0 +// Advance: 8 +// +// +--------+ +// | ** | +// | * * | +// | ** | +// | ** | +// | ** | +// | **** | +// | * * | +// | ** ** | +// | ****** | +// |** **| +// |** **| +// |** **| +// +--------+ +static const byte glyph197[] = { + 0x18, + 0x24, + 0x18, + 0x18, + 0x18, + 0x3C, + 0x24, + 0x66, + 0x7E, + 0xC3, + 0xC3, + 0xC3 +}; + +// Character 198 (0xC6) +// Box: 11 9 1 0 +// Advance: 13 +// +// +-----------+ +// | ********| +// | ** ** | +// | * ** | +// | ** ** | +// | ** ******| +// | ****** | +// |** ** | +// |** ** | +// |** ******| +// +-----------+ +static const byte glyph198[] = { + 0x1F, 0xE0, + 0x36, 0x00, + 0x26, 0x00, + 0x66, 0x00, + 0x67, 0xE0, + 0x7E, 0x00, + 0xC6, 0x00, + 0xC6, 0x00, + 0xC7, 0xE0 +}; + +// Character 199 (0xC7) +// Box: 7 12 1 -3 +// Advance: 8 +// +// +-------+ +// | **** | +// | ** **| +// |** | +// |** | +// |** | +// |** | +// |** | +// | ** **| +// | **** | +// | ** | +// | ** | +// | *** | +// +-------+ +static const byte glyph199[] = { + 0x3C, + 0x66, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0x66, + 0x3C, + 0x18, + 0x18, + 0x70 +}; + +// Character 200 (0xC8) +// Box: 6 12 1 0 +// Advance: 8 +// +// +------+ +// | ** | +// | ** | +// | | +// |******| +// |** | +// |** | +// |** | +// |******| +// |** | +// |** | +// |** | +// |******| +// +------+ +static const byte glyph200[] = { + 0x60, + 0x30, + 0x00, + 0xFC, + 0xC0, + 0xC0, + 0xC0, + 0xFC, + 0xC0, + 0xC0, + 0xC0, + 0xFC +}; + +// Character 201 (0xC9) +// Box: 6 12 1 0 +// Advance: 8 +// +// +------+ +// | ** | +// | ** | +// | | +// |******| +// |** | +// |** | +// |** | +// |******| +// |** | +// |** | +// |** | +// |******| +// +------+ +static const byte glyph201[] = { + 0x18, + 0x30, + 0x00, + 0xFC, + 0xC0, + 0xC0, + 0xC0, + 0xFC, + 0xC0, + 0xC0, + 0xC0, + 0xFC +}; + +// Character 202 (0xCA) +// Box: 6 12 1 0 +// Advance: 8 +// +// +------+ +// | *** | +// | ** **| +// | | +// |******| +// |** | +// |** | +// |** | +// |******| +// |** | +// |** | +// |** | +// |******| +// +------+ +static const byte glyph202[] = { + 0x38, + 0x6C, + 0x00, + 0xFC, + 0xC0, + 0xC0, + 0xC0, + 0xFC, + 0xC0, + 0xC0, + 0xC0, + 0xFC +}; + +// Character 203 (0xCB) +// Box: 6 11 1 0 +// Advance: 8 +// +// +------+ +// | ** **| +// | | +// |******| +// |** | +// |** | +// |** | +// |******| +// |** | +// |** | +// |** | +// |******| +// +------+ +static const byte glyph203[] = { + 0x6C, + 0x00, + 0xFC, + 0xC0, + 0xC0, + 0xC0, + 0xFC, + 0xC0, + 0xC0, + 0xC0, + 0xFC +}; + +// Character 204 (0xCC) +// Box: 3 12 0 0 +// Advance: 4 +// +// +---+ +// |** | +// | **| +// | | +// | **| +// | **| +// | **| +// | **| +// | **| +// | **| +// | **| +// | **| +// | **| +// +---+ +static const byte glyph204[] = { + 0xC0, + 0x60, + 0x00, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60 +}; + +// Character 205 (0xCD) +// Box: 3 12 1 0 +// Advance: 4 +// +// +---+ +// | **| +// |** | +// | | +// |** | +// |** | +// |** | +// |** | +// |** | +// |** | +// |** | +// |** | +// |** | +// +---+ +static const byte glyph205[] = { + 0x60, + 0xC0, + 0x00, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0 +}; + +// Character 206 (0xCE) +// Box: 5 12 0 0 +// Advance: 4 +// +// +-----+ +// | *** | +// |** **| +// | | +// | ** | +// | ** | +// | ** | +// | ** | +// | ** | +// | ** | +// | ** | +// | ** | +// | ** | +// +-----+ +static const byte glyph206[] = { + 0x70, + 0xD8, + 0x00, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60 +}; + +// Character 207 (0xCF) +// Box: 5 11 0 0 +// Advance: 4 +// +// +-----+ +// |** **| +// | | +// | ** | +// | ** | +// | ** | +// | ** | +// | ** | +// | ** | +// | ** | +// | ** | +// | ** | +// +-----+ +static const byte glyph207[] = { + 0xD8, + 0x00, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60 +}; + +// Character 208 (0xD0) +// Box: 8 9 0 0 +// Advance: 9 +// +// +--------+ +// | ***** | +// | ** ** | +// | ** **| +// | ** **| +// |**** **| +// | ** **| +// | ** **| +// | ** ** | +// | ***** | +// +--------+ +static const byte glyph208[] = { + 0x7C, + 0x66, + 0x63, + 0x63, + 0xF3, + 0x63, + 0x63, + 0x66, + 0x7C +}; + +// Character 209 (0xD1) +// Box: 7 12 1 0 +// Advance: 9 +// +// +-------+ +// | ** * | +// | * ** | +// | | +// |** **| +// |** **| +// |*** **| +// |*** **| +// |**** **| +// |** ***| +// |** ***| +// |** **| +// |** **| +// +-------+ +static const byte glyph209[] = { + 0x34, + 0x58, + 0x00, + 0xC6, + 0xC6, + 0xE6, + 0xE6, + 0xF6, + 0xCE, + 0xCE, + 0xC6, + 0xC6 +}; + +// Character 210 (0xD2) +// Box: 8 12 1 0 +// Advance: 10 +// +// +--------+ +// | ** | +// | ** | +// | | +// | **** | +// | ** ** | +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// | ** ** | +// | **** | +// +--------+ +static const byte glyph210[] = { + 0x30, + 0x18, + 0x00, + 0x3C, + 0x66, + 0xC3, + 0xC3, + 0xC3, + 0xC3, + 0xC3, + 0x66, + 0x3C +}; + +// Character 211 (0xD3) +// Box: 8 12 1 0 +// Advance: 10 +// +// +--------+ +// | ** | +// | ** | +// | | +// | **** | +// | ** ** | +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// | ** ** | +// | **** | +// +--------+ +static const byte glyph211[] = { + 0x0C, + 0x18, + 0x00, + 0x3C, + 0x66, + 0xC3, + 0xC3, + 0xC3, + 0xC3, + 0xC3, + 0x66, + 0x3C +}; + +// Character 212 (0xD4) +// Box: 8 12 1 0 +// Advance: 10 +// +// +--------+ +// | *** | +// | ** ** | +// | | +// | **** | +// | ** ** | +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// | ** ** | +// | **** | +// +--------+ +static const byte glyph212[] = { + 0x1C, + 0x36, + 0x00, + 0x3C, + 0x66, + 0xC3, + 0xC3, + 0xC3, + 0xC3, + 0xC3, + 0x66, + 0x3C +}; + +// Character 213 (0xD5) +// Box: 8 12 1 0 +// Advance: 10 +// +// +--------+ +// | ** * | +// | * ** | +// | | +// | **** | +// | ** ** | +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// | ** ** | +// | **** | +// +--------+ +static const byte glyph213[] = { + 0x1A, + 0x2C, + 0x00, + 0x3C, + 0x66, + 0xC3, + 0xC3, + 0xC3, + 0xC3, + 0xC3, + 0x66, + 0x3C +}; + +// Character 214 (0xD6) +// Box: 8 11 1 0 +// Advance: 10 +// +// +--------+ +// | ** ** | +// | | +// | **** | +// | ** ** | +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// | ** ** | +// | **** | +// +--------+ +static const byte glyph214[] = { + 0x66, + 0x00, + 0x3C, + 0x66, + 0xC3, + 0xC3, + 0xC3, + 0xC3, + 0xC3, + 0x66, + 0x3C +}; + +// Character 215 (0xD7) +// Box: 6 5 0 1 +// Advance: 7 +// +// +------+ +// |** **| +// | **** | +// | ** | +// | **** | +// |** **| +// +------+ +static const byte glyph215[] = { + 0xCC, + 0x78, + 0x30, + 0x78, + 0xCC +}; + +// Character 216 (0xD8) +// Box: 8 10 1 -1 +// Advance: 10 +// +// +--------+ +// | **** *| +// | ** ** | +// |** ****| +// |** * **| +// |** ** **| +// |** * **| +// |**** **| +// | ** ** | +// | ***** | +// |* | +// +--------+ +static const byte glyph216[] = { + 0x3D, + 0x66, + 0xCF, + 0xCB, + 0xDB, + 0xD3, + 0xF3, + 0x66, + 0x7C, + 0x80 +}; + +// Character 217 (0xD9) +// Box: 7 12 1 0 +// Advance: 9 +// +// +-------+ +// | ** | +// | ** | +// | | +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// | ** ** | +// | ***** | +// +-------+ +static const byte glyph217[] = { + 0x30, + 0x18, + 0x00, + 0xC6, + 0xC6, + 0xC6, + 0xC6, + 0xC6, + 0xC6, + 0xC6, + 0x6C, + 0x7C +}; + +// Character 218 (0xDA) +// Box: 7 12 1 0 +// Advance: 9 +// +// +-------+ +// | ** | +// | ** | +// | | +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// | ** ** | +// | ***** | +// +-------+ +static const byte glyph218[] = { + 0x0C, + 0x18, + 0x00, + 0xC6, + 0xC6, + 0xC6, + 0xC6, + 0xC6, + 0xC6, + 0xC6, + 0x6C, + 0x7C +}; + +// Character 219 (0xDB) +// Box: 7 12 1 0 +// Advance: 9 +// +// +-------+ +// | *** | +// | ** ** | +// | | +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// | ** ** | +// | ***** | +// +-------+ +static const byte glyph219[] = { + 0x38, + 0x6C, + 0x00, + 0xC6, + 0xC6, + 0xC6, + 0xC6, + 0xC6, + 0xC6, + 0xC6, + 0x6C, + 0x7C +}; + +// Character 220 (0xDC) +// Box: 7 11 1 0 +// Advance: 9 +// +// +-------+ +// | ** ** | +// | | +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// | ** ** | +// | ***** | +// +-------+ +static const byte glyph220[] = { + 0x6C, + 0x00, + 0xC6, + 0xC6, + 0xC6, + 0xC6, + 0xC6, + 0xC6, + 0xC6, + 0x6C, + 0x7C +}; + +// Character 221 (0xDD) +// Box: 8 12 0 0 +// Advance: 8 +// +// +--------+ +// | ** | +// | ** | +// | | +// |** **| +// |** **| +// | ** ** | +// | ** ** | +// | * * | +// | **** | +// | ** | +// | ** | +// | ** | +// +--------+ +static const byte glyph221[] = { + 0x0C, + 0x18, + 0x00, + 0xC3, + 0xC3, + 0x66, + 0x66, + 0x24, + 0x3C, + 0x18, + 0x18, + 0x18 +}; + +// Character 222 (0xDE) +// Box: 7 9 1 0 +// Advance: 8 +// +// +-------+ +// |** | +// |** | +// |****** | +// |** **| +// |** **| +// |** **| +// |****** | +// |** | +// |** | +// +-------+ +static const byte glyph222[] = { + 0xC0, + 0xC0, + 0xFC, + 0xC6, + 0xC6, + 0xC6, + 0xFC, + 0xC0, + 0xC0 +}; + +// Character 223 (0xDF) +// Box: 6 9 1 0 +// Advance: 8 +// +// +------+ +// | **** | +// |** **| +// |** **| +// |** **| +// |** ** | +// |** **| +// |** **| +// |** **| +// |** ** | +// +------+ +static const byte glyph223[] = { + 0x78, + 0xCC, + 0xCC, + 0xCC, + 0xD8, + 0xCC, + 0xCC, + 0xCC, + 0xD8 +}; + +// Character 224 (0xE0) +// Box: 7 10 0 0 +// Advance: 7 +// +// +-------+ +// | ** | +// | ** | +// | | +// | **** | +// |** ** | +// | ** | +// | ***** | +// |** ** | +// |** ** | +// | *** **| +// +-------+ +static const byte glyph224[] = { + 0x30, + 0x18, + 0x00, + 0x78, + 0xCC, + 0x0C, + 0x7C, + 0xCC, + 0xCC, + 0x76 +}; + +// Character 225 (0xE1) +// Box: 7 10 0 0 +// Advance: 7 +// +// +-------+ +// | ** | +// | ** | +// | | +// | **** | +// |** ** | +// | ** | +// | ***** | +// |** ** | +// |** ** | +// | *** **| +// +-------+ +static const byte glyph225[] = { + 0x18, + 0x30, + 0x00, + 0x78, + 0xCC, + 0x0C, + 0x7C, + 0xCC, + 0xCC, + 0x76 +}; + +// Character 226 (0xE2) +// Box: 7 10 0 0 +// Advance: 7 +// +// +-------+ +// | *** | +// | ** ** | +// | | +// | **** | +// |** ** | +// | ** | +// | ***** | +// |** ** | +// |** ** | +// | *** **| +// +-------+ +static const byte glyph226[] = { + 0x38, + 0x6C, + 0x00, + 0x78, + 0xCC, + 0x0C, + 0x7C, + 0xCC, + 0xCC, + 0x76 +}; + +// Character 227 (0xE3) +// Box: 7 10 0 0 +// Advance: 7 +// +// +-------+ +// | ** * | +// | * ** | +// | | +// | **** | +// |** ** | +// | ** | +// | ***** | +// |** ** | +// |** ** | +// | *** **| +// +-------+ +static const byte glyph227[] = { + 0x34, + 0x58, + 0x00, + 0x78, + 0xCC, + 0x0C, + 0x7C, + 0xCC, + 0xCC, + 0x76 +}; + +// Character 228 (0xE4) +// Box: 7 9 0 0 +// Advance: 7 +// +// +-------+ +// | ** ** | +// | | +// | **** | +// |** ** | +// | ** | +// | ***** | +// |** ** | +// |** ** | +// | *** **| +// +-------+ +static const byte glyph228[] = { + 0x6C, + 0x00, + 0x78, + 0xCC, + 0x0C, + 0x7C, + 0xCC, + 0xCC, + 0x76 +}; + +// Character 229 (0xE5) +// Box: 7 11 0 0 +// Advance: 7 +// +// +-------+ +// | ** | +// | * * | +// | ** | +// | | +// | **** | +// |** ** | +// | ** | +// | ***** | +// |** ** | +// |** ** | +// | *** **| +// +-------+ +static const byte glyph229[] = { + 0x30, + 0x48, + 0x30, + 0x00, + 0x78, + 0xCC, + 0x0C, + 0x7C, + 0xCC, + 0xCC, + 0x76 +}; + +// Character 230 (0xE6) +// Box: 10 7 0 0 +// Advance: 11 +// +// +----------+ +// | *** **** | +// |** ** **| +// | ** **| +// | *********| +// |** ** | +// |** ** **| +// | *** **** | +// +----------+ +static const byte glyph230[] = { + 0x77, 0x80, + 0xCC, 0xC0, + 0x0C, 0xC0, + 0x7F, 0xC0, + 0xCC, 0x00, + 0xCC, 0xC0, + 0x77, 0x80 +}; + +// Character 231 (0xE7) +// Box: 6 10 0 -3 +// Advance: 7 +// +// +------+ +// | **** | +// |** **| +// |** | +// |** | +// |** | +// |** **| +// | **** | +// | * | +// | ** | +// | *** | +// +------+ +static const byte glyph231[] = { + 0x78, + 0xCC, + 0xC0, + 0xC0, + 0xC0, + 0xCC, + 0x78, + 0x10, + 0x18, + 0x70 +}; + +// Character 232 (0xE8) +// Box: 6 10 0 0 +// Advance: 7 +// +// +------+ +// | ** | +// | ** | +// | | +// | **** | +// |** **| +// |** **| +// |******| +// |** | +// |** **| +// | **** | +// +------+ +static const byte glyph232[] = { + 0x60, + 0x30, + 0x00, + 0x78, + 0xCC, + 0xCC, + 0xFC, + 0xC0, + 0xCC, + 0x78 +}; + +// Character 233 (0xE9) +// Box: 6 10 0 0 +// Advance: 7 +// +// +------+ +// | ** | +// | ** | +// | | +// | **** | +// |** **| +// |** **| +// |******| +// |** | +// |** **| +// | **** | +// +------+ +static const byte glyph233[] = { + 0x18, + 0x30, + 0x00, + 0x78, + 0xCC, + 0xCC, + 0xFC, + 0xC0, + 0xCC, + 0x78 +}; + +// Character 234 (0xEA) +// Box: 6 10 0 0 +// Advance: 7 +// +// +------+ +// | *** | +// | ** **| +// | | +// | **** | +// |** **| +// |** **| +// |******| +// |** | +// |** **| +// | **** | +// +------+ +static const byte glyph234[] = { + 0x38, + 0x6C, + 0x00, + 0x78, + 0xCC, + 0xCC, + 0xFC, + 0xC0, + 0xCC, + 0x78 +}; + +// Character 235 (0xEB) +// Box: 6 9 0 0 +// Advance: 7 +// +// +------+ +// | ** **| +// | | +// | **** | +// |** **| +// |** **| +// |******| +// |** | +// |** **| +// | **** | +// +------+ +static const byte glyph235[] = { + 0x6C, + 0x00, + 0x78, + 0xCC, + 0xCC, + 0xFC, + 0xC0, + 0xCC, + 0x78 +}; + +// Character 236 (0xEC) +// Box: 3 10 -1 0 +// Advance: 3 +// +// +---+ +// |** | +// | **| +// | | +// | **| +// | **| +// | **| +// | **| +// | **| +// | **| +// | **| +// +---+ +static const byte glyph236[] = { + 0xC0, + 0x60, + 0x00, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60 +}; + +// Character 237 (0xED) +// Box: 3 10 0 0 +// Advance: 3 +// +// +---+ +// | **| +// |** | +// | | +// |** | +// |** | +// |** | +// |** | +// |** | +// |** | +// |** | +// +---+ +static const byte glyph237[] = { + 0x60, + 0xC0, + 0x00, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0, + 0xC0 +}; + +// Character 238 (0xEE) +// Box: 5 10 -1 0 +// Advance: 3 +// +// +-----+ +// | *** | +// |** **| +// | | +// | ** | +// | ** | +// | ** | +// | ** | +// | ** | +// | ** | +// | ** | +// +-----+ +static const byte glyph238[] = { + 0x70, + 0xD8, + 0x00, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60 +}; + +// Character 239 (0xEF) +// Box: 5 9 -1 0 +// Advance: 3 +// +// +-----+ +// |** **| +// | | +// | ** | +// | ** | +// | ** | +// | ** | +// | ** | +// | ** | +// | ** | +// +-----+ +static const byte glyph239[] = { + 0xD8, + 0x00, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60, + 0x60 +}; + +// Character 240 (0xF0) +// Box: 6 10 0 0 +// Advance: 7 +// +// +------+ +// |** ** | +// | *** | +// |* * | +// | ** | +// | *****| +// |** **| +// |** **| +// |** **| +// |** **| +// | **** | +// +------+ +static const byte glyph240[] = { + 0xD8, + 0x70, + 0x90, + 0x18, + 0x7C, + 0xCC, + 0xCC, + 0xCC, + 0xCC, + 0x78 +}; + +// Character 241 (0xF1) +// Box: 6 10 0 0 +// Advance: 7 +// +// +------+ +// | ** *| +// | * ** | +// | | +// |** ** | +// |*** **| +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// +------+ +static const byte glyph241[] = { + 0x34, + 0x58, + 0x00, + 0xD8, + 0xEC, + 0xCC, + 0xCC, + 0xCC, + 0xCC, + 0xCC +}; + +// Character 242 (0xF2) +// Box: 6 10 0 0 +// Advance: 7 +// +// +------+ +// | ** | +// | ** | +// | | +// | **** | +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// | **** | +// +------+ +static const byte glyph242[] = { + 0x60, + 0x30, + 0x00, + 0x78, + 0xCC, + 0xCC, + 0xCC, + 0xCC, + 0xCC, + 0x78 +}; + +// Character 243 (0xF3) +// Box: 6 10 0 0 +// Advance: 7 +// +// +------+ +// | ** | +// | ** | +// | | +// | **** | +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// | **** | +// +------+ +static const byte glyph243[] = { + 0x18, + 0x30, + 0x00, + 0x78, + 0xCC, + 0xCC, + 0xCC, + 0xCC, + 0xCC, + 0x78 +}; + +// Character 244 (0xF4) +// Box: 6 10 0 0 +// Advance: 7 +// +// +------+ +// | *** | +// | ** **| +// | | +// | **** | +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// | **** | +// +------+ +static const byte glyph244[] = { + 0x38, + 0x6C, + 0x00, + 0x78, + 0xCC, + 0xCC, + 0xCC, + 0xCC, + 0xCC, + 0x78 +}; + +// Character 245 (0xF5) +// Box: 6 10 0 0 +// Advance: 7 +// +// +------+ +// | ** *| +// | * ** | +// | | +// | **** | +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// | **** | +// +------+ +static const byte glyph245[] = { + 0x34, + 0x58, + 0x00, + 0x78, + 0xCC, + 0xCC, + 0xCC, + 0xCC, + 0xCC, + 0x78 +}; + +// Character 246 (0xF6) +// Box: 6 9 0 0 +// Advance: 7 +// +// +------+ +// | ** **| +// | | +// | **** | +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// | **** | +// +------+ +static const byte glyph246[] = { + 0x6C, + 0x00, + 0x78, + 0xCC, + 0xCC, + 0xCC, + 0xCC, + 0xCC, + 0x78 +}; + +// Character 247 (0xF7) +// Box: 6 5 0 1 +// Advance: 7 +// +// +------+ +// | ** | +// | | +// |******| +// | | +// | ** | +// +------+ +static const byte glyph247[] = { + 0x30, + 0x00, + 0xFC, + 0x00, + 0x30 +}; + +// Character 248 (0xF8) +// Box: 8 7 -1 0 +// Advance: 7 +// +// +--------+ +// | **** *| +// | ** ** | +// | ** *** | +// | *** ** | +// | ** ** | +// | ** ** | +// |* **** | +// +--------+ +static const byte glyph248[] = { + 0x3D, + 0x66, + 0x6E, + 0x76, + 0x66, + 0x66, + 0xBC +}; + +// Character 249 (0xF9) +// Box: 6 10 0 0 +// Advance: 7 +// +// +------+ +// | ** | +// | ** | +// | | +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// |** ***| +// | ** **| +// +------+ +static const byte glyph249[] = { + 0x60, + 0x30, + 0x00, + 0xCC, + 0xCC, + 0xCC, + 0xCC, + 0xCC, + 0xDC, + 0x6C +}; + +// Character 250 (0xFA) +// Box: 6 10 0 0 +// Advance: 7 +// +// +------+ +// | ** | +// | ** | +// | | +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// |** ***| +// | ** **| +// +------+ +static const byte glyph250[] = { + 0x18, + 0x30, + 0x00, + 0xCC, + 0xCC, + 0xCC, + 0xCC, + 0xCC, + 0xDC, + 0x6C +}; + +// Character 251 (0xFB) +// Box: 6 10 0 0 +// Advance: 7 +// +// +------+ +// | *** | +// | ** **| +// | | +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// |** ***| +// | ** **| +// +------+ +static const byte glyph251[] = { + 0x38, + 0x6C, + 0x00, + 0xCC, + 0xCC, + 0xCC, + 0xCC, + 0xCC, + 0xDC, + 0x6C +}; + +// Character 252 (0xFC) +// Box: 6 9 0 0 +// Advance: 7 +// +// +------+ +// | ** **| +// | | +// |** **| +// |** **| +// |** **| +// |** **| +// |** **| +// |** ***| +// | ** **| +// +------+ +static const byte glyph252[] = { + 0x6C, + 0x00, + 0xCC, + 0xCC, + 0xCC, + 0xCC, + 0xCC, + 0xDC, + 0x6C +}; + +// Character 253 (0xFD) +// Box: 7 13 0 -3 +// Advance: 8 +// +// +-------+ +// | ** | +// | ** | +// | | +// |** **| +// |** **| +// | ** ** | +// | ** ** | +// | *** | +// | *** | +// | ** | +// | * | +// | ** | +// | ** | +// +-------+ +static const byte glyph253[] = { + 0x0C, + 0x18, + 0x00, + 0xC6, + 0xC6, + 0x6C, + 0x6C, + 0x38, + 0x38, + 0x18, + 0x10, + 0x30, + 0x60 +}; + +// Character 254 (0xFE) +// Box: 6 12 0 -3 +// Advance: 7 +// +// +------+ +// |** | +// |** | +// |** ** | +// |*** **| +// |** **| +// |** **| +// |** **| +// |*** **| +// |** ** | +// |** | +// |** | +// |** | +// +------+ +static const byte glyph254[] = { + 0xC0, + 0xC0, + 0xD8, + 0xEC, + 0xCC, + 0xCC, + 0xCC, + 0xEC, + 0xD8, + 0xC0, + 0xC0, + 0xC0 +}; + +// Character 255 (0xFF) +// Box: 7 12 0 -3 +// Advance: 8 +// +// +-------+ +// | ** ** | +// | | +// |** **| +// |** **| +// | ** ** | +// | ** ** | +// | *** | +// | *** | +// | ** | +// | * | +// | ** | +// | ** | +// +-------+ +static const byte glyph255[] = { + 0x6C, + 0x00, + 0xC6, + 0xC6, + 0x6C, + 0x6C, + 0x38, + 0x38, + 0x18, + 0x10, + 0x30, + 0x60 +}; + +// Bitmap pointer table +const byte *const bitmapTable[] = { + glyph0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + glyph32, + glyph33, + glyph34, + glyph35, + glyph36, + glyph37, + glyph38, + glyph39, + glyph40, + glyph41, + glyph42, + glyph43, + glyph44, + glyph45, + glyph46, + glyph47, + glyph48, + glyph49, + glyph50, + glyph51, + glyph52, + glyph53, + glyph54, + glyph55, + glyph56, + glyph57, + glyph58, + glyph59, + glyph60, + glyph61, + glyph62, + glyph63, + glyph64, + glyph65, + glyph66, + glyph67, + glyph68, + glyph69, + glyph70, + glyph71, + glyph72, + glyph73, + glyph74, + glyph75, + glyph76, + glyph77, + glyph78, + glyph79, + glyph80, + glyph81, + glyph82, + glyph83, + glyph84, + glyph85, + glyph86, + glyph87, + glyph88, + glyph89, + glyph90, + glyph91, + glyph92, + glyph93, + glyph94, + glyph95, + glyph96, + glyph97, + glyph98, + glyph99, + glyph100, + glyph101, + glyph102, + glyph103, + glyph104, + glyph105, + glyph106, + glyph107, + glyph108, + glyph109, + glyph110, + glyph111, + glyph112, + glyph113, + glyph114, + glyph115, + glyph116, + glyph117, + glyph118, + glyph119, + glyph120, + glyph121, + glyph122, + glyph123, + glyph124, + glyph125, + glyph126, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + glyph160, + glyph161, + glyph162, + glyph163, + glyph164, + glyph165, + glyph166, + glyph167, + glyph168, + glyph169, + glyph170, + glyph171, + glyph172, + glyph173, + glyph174, + glyph175, + glyph176, + glyph177, + glyph178, + glyph179, + glyph180, + glyph181, + glyph182, + glyph183, + glyph184, + glyph185, + glyph186, + glyph187, + glyph188, + glyph189, + glyph190, + glyph191, + glyph192, + glyph193, + glyph194, + glyph195, + glyph196, + glyph197, + glyph198, + glyph199, + glyph200, + glyph201, + glyph202, + glyph203, + glyph204, + glyph205, + glyph206, + glyph207, + glyph208, + glyph209, + glyph210, + glyph211, + glyph212, + glyph213, + glyph214, + glyph215, + glyph216, + glyph217, + glyph218, + glyph219, + glyph220, + glyph221, + glyph222, + glyph223, + glyph224, + glyph225, + glyph226, + glyph227, + glyph228, + glyph229, + glyph230, + glyph231, + glyph232, + glyph233, + glyph234, + glyph235, + glyph236, + glyph237, + glyph238, + glyph239, + glyph240, + glyph241, + glyph242, + glyph243, + glyph244, + glyph245, + glyph246, + glyph247, + glyph248, + glyph249, + glyph250, + glyph251, + glyph252, + glyph253, + glyph254, + glyph255 +}; + +// Advance table +static const byte advances[] = { + 9, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 4, + 5, + 8, + 7, + 12, + 9, + 3, + 6, + 6, + 6, + 7, + 4, + 5, + 4, + 4, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 4, + 4, + 7, + 7, + 7, + 8, + 12, + 8, + 9, + 8, + 9, + 8, + 7, + 10, + 9, + 4, + 7, + 9, + 7, + 11, + 9, + 10, + 8, + 10, + 9, + 9, + 8, + 9, + 8, + 10, + 8, + 8, + 7, + 4, + 4, + 4, + 7, + 7, + 4, + 7, + 7, + 7, + 7, + 7, + 5, + 7, + 7, + 3, + 3, + 7, + 3, + 11, + 7, + 7, + 7, + 7, + 5, + 7, + 5, + 7, + 8, + 11, + 7, + 8, + 6, + 5, + 4, + 5, + 7, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 4, + 7, + 7, + 7, + 7, + 4, + 7, + 5, + 11, + 6, + 8, + 8, + 5, + 11, + 4, + 5, + 7, + 4, + 4, + 4, + 7, + 7, + 4, + 4, + 4, + 6, + 8, + 10, + 10, + 10, + 8, + 8, + 8, + 8, + 8, + 8, + 8, 13, - 14, - 13, 15, -1, -3, + 8, + 8, + 8, + 8, + 8, + 4, + 4, + 4, + 4, + 9, + 9, + 10, + 10, + 10, + 10, + 10, + 7, + 10, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, 11, - 32, - 224, - _font_bits, - _sysfont_offset, - _sysfont_width, - _sysfont_bbx, - 32, - sizeof(_font_bits)/sizeof(bitmap_t) + 7, + 7, + 7, + 7, + 7, + 3, + 3, + 3, + 3, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8 +}; + +// Bounding box table +static const BdfBoundingBox boxes[] = { + { 7, 9, 1, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 1, 1, 0, 0 }, + { 2, 9, 1, 0 }, + { 3, 3, 1, 6 }, + { 7, 8, 0, 0 }, + { 6, 11, 0, -2 }, + { 11, 9, 0, 0 }, + { 9, 9, 0, 0 }, + { 1, 3, 1, 6 }, + { 4, 12, 1, -3 }, + { 4, 12, 1, -3 }, + { 5, 4, 0, 5 }, + { 6, 5, 0, 1 }, + { 2, 4, 1, -2 }, + { 4, 1, 0, 3 }, + { 2, 2, 1, 0 }, + { 4, 9, 0, 0 }, + { 6, 9, 0, 0 }, + { 4, 9, 0, 0 }, + { 6, 9, 0, 0 }, + { 6, 9, 0, 0 }, + { 7, 9, 0, 0 }, + { 6, 9, 0, 0 }, + { 6, 9, 0, 0 }, + { 6, 9, 0, 0 }, + { 6, 9, 0, 0 }, + { 6, 9, 0, 0 }, + { 2, 7, 1, 0 }, + { 2, 9, 1, -2 }, + { 5, 5, 1, 1 }, + { 6, 3, 0, 2 }, + { 5, 5, 1, 1 }, + { 6, 9, 1, 0 }, + { 10, 10, 1, -1 }, + { 8, 9, 0, 0 }, + { 7, 9, 1, 0 }, + { 7, 9, 1, 0 }, + { 7, 9, 1, 0 }, + { 6, 9, 1, 0 }, + { 6, 9, 1, 0 }, + { 8, 9, 1, 0 }, + { 7, 9, 1, 0 }, + { 2, 9, 1, 0 }, + { 6, 9, 0, 0 }, + { 8, 9, 1, 0 }, + { 6, 9, 1, 0 }, + { 9, 9, 1, 0 }, + { 7, 9, 1, 0 }, + { 8, 9, 1, 0 }, + { 7, 9, 1, 0 }, + { 8, 9, 1, 0 }, + { 7, 9, 1, 0 }, + { 7, 9, 1, 0 }, + { 8, 9, 0, 0 }, + { 7, 9, 1, 0 }, + { 8, 9, 0, 0 }, + { 10, 9, 0, 0 }, + { 8, 9, 0, 0 }, + { 8, 9, 0, 0 }, + { 7, 9, 0, 0 }, + { 3, 12, 1, -3 }, + { 4, 9, 0, 0 }, + { 3, 12, 0, -3 }, + { 7, 4, 0, 5 }, + { 7, 1, 0, -3 }, + { 3, 2, 0, 8 }, + { 7, 7, 0, 0 }, + { 6, 9, 0, 0 }, + { 6, 7, 0, 0 }, + { 6, 9, 0, 0 }, + { 6, 7, 0, 0 }, + { 5, 9, 0, 0 }, + { 6, 10, 0, -3 }, + { 6, 9, 0, 0 }, + { 2, 9, 0, 0 }, + { 3, 12, -1, -3 }, + { 7, 9, 0, 0 }, + { 2, 9, 0, 0 }, + { 10, 7, 0, 0 }, + { 6, 7, 0, 0 }, + { 6, 7, 0, 0 }, + { 6, 10, 0, -3 }, + { 6, 10, 0, -3 }, + { 5, 7, 0, 0 }, + { 6, 7, 0, 0 }, + { 5, 9, 0, 0 }, + { 6, 7, 0, 0 }, + { 7, 7, 0, 0 }, + { 10, 7, 0, 0 }, + { 6, 7, 0, 0 }, + { 7, 10, 0, -3 }, + { 5, 7, 0, 0 }, + { 4, 12, 0, -3 }, + { 2, 12, 1, -3 }, + { 4, 12, 0, -3 }, + { 7, 2, 0, 3 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 1, 1, 0, 0 }, + { 2, 10, 1, -3 }, + { 6, 9, 0, -1 }, + { 6, 9, 0, 0 }, + { 6, 6, 0, 1 }, + { 6, 9, 0, 0 }, + { 2, 11, 1, -2 }, + { 6, 12, 0, -3 }, + { 5, 1, 0, 8 }, + { 9, 9, 1, 0 }, + { 4, 6, 1, 3 }, + { 6, 5, 1, 1 }, + { 6, 4, 1, 2 }, + { 4, 1, 0, 3 }, + { 9, 9, 1, 0 }, + { 4, 1, 0, 8 }, + { 4, 4, 0, 4 }, + { 6, 7, 0, 0 }, + { 4, 5, 0, 4 }, + { 4, 5, 0, 4 }, + { 3, 2, 0, 8 }, + { 6, 10, 0, -3 }, + { 7, 12, 0, -3 }, + { 2, 2, 1, 3 }, + { 4, 4, 0, -3 }, + { 3, 5, 0, 4 }, + { 4, 6, 1, 3 }, + { 6, 5, 1, 1 }, + { 10, 9, 0, 0 }, + { 10, 9, 0, 0 }, + { 10, 9, 0, 0 }, + { 6, 10, 1, -3 }, + { 8, 12, 0, 0 }, + { 8, 12, 0, 0 }, + { 8, 12, 0, 0 }, + { 8, 12, 0, 0 }, + { 8, 11, 0, 0 }, + { 8, 12, 0, 0 }, + { 11, 9, 1, 0 }, + { 7, 12, 1, -3 }, + { 6, 12, 1, 0 }, + { 6, 12, 1, 0 }, + { 6, 12, 1, 0 }, + { 6, 11, 1, 0 }, + { 3, 12, 0, 0 }, + { 3, 12, 1, 0 }, + { 5, 12, 0, 0 }, + { 5, 11, 0, 0 }, + { 8, 9, 0, 0 }, + { 7, 12, 1, 0 }, + { 8, 12, 1, 0 }, + { 8, 12, 1, 0 }, + { 8, 12, 1, 0 }, + { 8, 12, 1, 0 }, + { 8, 11, 1, 0 }, + { 6, 5, 0, 1 }, + { 8, 10, 1, -1 }, + { 7, 12, 1, 0 }, + { 7, 12, 1, 0 }, + { 7, 12, 1, 0 }, + { 7, 11, 1, 0 }, + { 8, 12, 0, 0 }, + { 7, 9, 1, 0 }, + { 6, 9, 1, 0 }, + { 7, 10, 0, 0 }, + { 7, 10, 0, 0 }, + { 7, 10, 0, 0 }, + { 7, 10, 0, 0 }, + { 7, 9, 0, 0 }, + { 7, 11, 0, 0 }, + { 10, 7, 0, 0 }, + { 6, 10, 0, -3 }, + { 6, 10, 0, 0 }, + { 6, 10, 0, 0 }, + { 6, 10, 0, 0 }, + { 6, 9, 0, 0 }, + { 3, 10, -1, 0 }, + { 3, 10, 0, 0 }, + { 5, 10, -1, 0 }, + { 5, 9, -1, 0 }, + { 6, 10, 0, 0 }, + { 6, 10, 0, 0 }, + { 6, 10, 0, 0 }, + { 6, 10, 0, 0 }, + { 6, 10, 0, 0 }, + { 6, 10, 0, 0 }, + { 6, 9, 0, 0 }, + { 6, 5, 0, 1 }, + { 8, 7, -1, 0 }, + { 6, 10, 0, 0 }, + { 6, 10, 0, 0 }, + { 6, 10, 0, 0 }, + { 6, 9, 0, 0 }, + { 7, 13, 0, -3 }, + { 6, 12, 0, -3 }, + { 7, 12, 0, -3 } +}; + +// Font structure +static const BdfFontData desc = { + 13, // Max advance + 14, // Height + { 13, 15, -1, -3 }, // Bounding box + 11, // Ascent + + 0, // First character + 0, // Default character + 256, // Characters + + bitmapTable, // Bitmaps + advances, // Advances + boxes // Boxes }; DEFINE_FONT(g_sysfont_big) -- cgit v1.2.3 From 243de5950f8405e5958687b8f733994ca60f0320 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Fri, 6 Jan 2012 15:52:55 +0100 Subject: GRAPHICS: Slight cleanup in BDF code. --- graphics/fonts/bdf.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'graphics/fonts') diff --git a/graphics/fonts/bdf.cpp b/graphics/fonts/bdf.cpp index 2bc0582584..36d44554c7 100644 --- a/graphics/fonts/bdf.cpp +++ b/graphics/fonts/bdf.cpp @@ -482,6 +482,9 @@ BdfFont *BdfFont::loadFont(Common::SeekableReadStream &stream) { return new BdfFont(font, DisposeAfterUse::YES); } +#define BDF_FONTCACHE_TAG MKTAG('S', 'V', 'F', 'C') +#define BDF_FONTCACHE_VERSION 1 + bool BdfFont::cacheFontData(const BdfFont &font, const Common::String &filename) { Common::DumpFile cacheFile; if (!cacheFile.open(filename)) { @@ -491,8 +494,8 @@ bool BdfFont::cacheFontData(const BdfFont &font, const Common::String &filename) const BdfFontData &data = font._data; - cacheFile.writeUint32BE(MKTAG('S', 'V', 'F', 'C')); - cacheFile.writeUint32BE(1); + cacheFile.writeUint32BE(BDF_FONTCACHE_TAG); + cacheFile.writeUint32BE(BDF_FONTCACHE_VERSION); cacheFile.writeUint16BE(data.maxAdvance); cacheFile.writeByte(data.height); cacheFile.writeByte(data.defaultBox.width); @@ -541,11 +544,11 @@ bool BdfFont::cacheFontData(const BdfFont &font, const Common::String &filename) BdfFont *BdfFont::loadFromCache(Common::SeekableReadStream &stream) { const uint32 magic = stream.readUint32BE(); - if (magic != MKTAG('S', 'V', 'F', 'C')) + if (magic != BDF_FONTCACHE_TAG) return 0; const uint32 version = stream.readUint32BE(); - if (version != 1) + if (version != BDF_FONTCACHE_VERSION) return 0; BdfFontData data; -- cgit v1.2.3 From d2a210feb5d511c2aead9ca49bfbaa40cd10add6 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Fri, 6 Jan 2012 15:53:22 +0100 Subject: GRAPHICS: Properly return 0 for late BDF cache loading fails. --- graphics/fonts/bdf.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'graphics/fonts') diff --git a/graphics/fonts/bdf.cpp b/graphics/fonts/bdf.cpp index 36d44554c7..6fa886a905 100644 --- a/graphics/fonts/bdf.cpp +++ b/graphics/fonts/bdf.cpp @@ -610,6 +610,7 @@ BdfFont *BdfFont::loadFromCache(Common::SeekableReadStream &stream) { delete[] bitmaps; delete[] advances; delete[] boxes; + return 0; } data.bitmaps = bitmaps; -- cgit v1.2.3 From 103ae27d3ae0c27baf4bfb4cc2d9a356f26506f1 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Sat, 7 Jan 2012 22:44:57 +0200 Subject: GRAPHICS: Silence a false positive warning in MSVC --- graphics/fonts/bdf.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'graphics/fonts') diff --git a/graphics/fonts/bdf.cpp b/graphics/fonts/bdf.cpp index 6fa886a905..6d4befa37c 100644 --- a/graphics/fonts/bdf.cpp +++ b/graphics/fonts/bdf.cpp @@ -67,7 +67,7 @@ int BdfFont::getCharWidth(byte chr) const { template void drawCharIntern(byte *ptr, uint pitch, const byte *src, int h, int width, int minX, int maxX, const PixelType color) { - byte data; + byte data = 0; while (h--) { PixelType *dst = (PixelType *)ptr; -- cgit v1.2.3 From 843b9f96655feda8c78450d9236b09330bdb6bd1 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Mon, 25 Jul 2011 22:54:32 +0200 Subject: GRAPHICS: Add a TTF font class using FreeType2. --- graphics/fonts/ttf.cpp | 443 +++++++++++++++++++++++++++++++++++++++++++++++++ graphics/fonts/ttf.h | 42 +++++ 2 files changed, 485 insertions(+) create mode 100644 graphics/fonts/ttf.cpp create mode 100644 graphics/fonts/ttf.h (limited to 'graphics/fonts') diff --git a/graphics/fonts/ttf.cpp b/graphics/fonts/ttf.cpp new file mode 100644 index 0000000000..8a6b87c000 --- /dev/null +++ b/graphics/fonts/ttf.cpp @@ -0,0 +1,443 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +// Since FreeType2 includes files, which contain forbidden symbols, we need to +// allow all symbols here. +#define FORBIDDEN_SYMBOL_ALLOW_ALL + +#include "common/scummsys.h" +#ifdef USE_FREETYPE2 + +#include "graphics/fonts/ttf.h" +#include "graphics/font.h" +#include "graphics/surface.h" + +#include "common/singleton.h" +#include "common/stream.h" +#include "common/hashmap.h" + +#include +#include FT_FREETYPE_H +#include FT_GLYPH_H + +namespace Graphics { + +namespace { + +inline int ftFloor26_6(FT_Pos x) { + return x / 64; +} + +inline int ftCeil26_6(FT_Pos x) { + return (x + 63) / 64; +} + +} // End of anonymous namespace + +class TTFLibrary : public Common::Singleton { +public: + TTFLibrary(); + ~TTFLibrary(); + + /** + * Check whether FreeType2 is initialized properly. + */ + bool isInitialized() const { return _initialized; } + + bool loadFont(const uint8 *file, const uint32 size, FT_Face &face); + void closeFont(FT_Face &face); +private: + FT_Library _library; + bool _initialized; +}; + +#define g_ttf ::Graphics::TTFLibrary::instance() + +TTFLibrary::TTFLibrary() : _library(), _initialized(false) { + if (!FT_Init_FreeType(&_library)) + _initialized = true; +} + +TTFLibrary::~TTFLibrary() { + if (_initialized) { + FT_Done_FreeType(_library); + _initialized = false; + } +} + +bool TTFLibrary::loadFont(const uint8 *file, const uint32 size, FT_Face &face) { + assert(_initialized); + + return (FT_New_Memory_Face(_library, file, size, 0, &face) == 0); +} + +void TTFLibrary::closeFont(FT_Face &face) { + assert(_initialized); + + FT_Done_Face(face); +} + +class TTFFont : public Font { +public: + TTFFont(); + virtual ~TTFFont(); + + bool load(Common::SeekableReadStream &stream, int size, bool monochrome); + + virtual int getFontHeight() const; + + virtual int getMaxCharWidth() const; + + virtual int getCharWidth(byte chr) const; + + virtual void drawChar(Surface *dst, byte chr, int x, int y, uint32 color) const; +private: + bool _initialized; + FT_Face _face; + + uint8 *_ttfFile; + uint32 _size; + + int _width, _height; + int _ascent, _descent; + + struct Glyph { + Surface image; + int xOffset, yOffset; + int advance; + }; + + bool cacheGlyph(Glyph &glyph, byte chr); + typedef Common::HashMap GlyphCache; + GlyphCache _glyphs; + + bool _monochrome; +}; + +TTFFont::TTFFont() + : _initialized(false), _face(), _ttfFile(0), _size(0), _width(0), _height(0), _ascent(0), + _descent(0), _glyphs(), _monochrome(false) { +} + +TTFFont::~TTFFont() { + if (_initialized) { + g_ttf.closeFont(_face); + + delete[] _ttfFile; + _ttfFile = 0; + + for (GlyphCache::iterator i = _glyphs.begin(), end = _glyphs.end(); i != end; ++i) + i->_value.image.free(); + + _initialized = false; + } +} + +bool TTFFont::load(Common::SeekableReadStream &stream, int size, bool monochrome) { + if (!g_ttf.isInitialized()) + return false; + + _size = stream.size(); + if (!_size) + return false; + + _ttfFile = new uint8[_size]; + assert(_ttfFile); + + if (stream.read(_ttfFile, _size) != _size) { + delete[] _ttfFile; + _ttfFile = 0; + + return false; + } + + if (!g_ttf.loadFont(_ttfFile, _size, _face)) { + delete[] _ttfFile; + _ttfFile = 0; + + return false; + } + + // We only support scalable fonts. + if (!FT_IS_SCALABLE(_face)) { + delete[] _ttfFile; + _ttfFile = 0; + + g_ttf.closeFont(_face); + + return false; + } + + if (FT_Set_Char_Size(_face, 0, size * 64, 0, 0)) { + delete[] _ttfFile; + _ttfFile = 0; + + return false; + } + + _monochrome = monochrome; + + FT_Fixed yScale = _face->size->metrics.y_scale; + _ascent = ftCeil26_6(FT_MulFix(_face->ascender, yScale)); + _descent = ftCeil26_6(FT_MulFix(_face->descender, yScale)); + + _width = ftCeil26_6(FT_MulFix(_face->max_advance_width, _face->size->metrics.x_scale)); + _height = _ascent - _descent + 1; + + // Load all ISO-8859-1 characters. + for (uint i = 0; i < 256; ++i) + cacheGlyph(_glyphs[i], i); + + _initialized = (_glyphs.size() != 0); + return _initialized; +} + +int TTFFont::getFontHeight() const { + return _height; +} + +int TTFFont::getMaxCharWidth() const { + return _width; +} + +int TTFFont::getCharWidth(byte chr) const { + GlyphCache::const_iterator glyphEntry = _glyphs.find(chr); + if (glyphEntry == _glyphs.end()) + return 0; + else + return glyphEntry->_value.advance; +} + +namespace { + +template +void renderGlyph(uint8 *dstPos, const int dstPitch, const uint8 *srcPos, const int srcPitch, const int w, const int h, ColorType color, const PixelFormat &dstFormat) { + uint8 sR, sG, sB; + dstFormat.colorToRGB(color, sR, sG, sB); + + for (int y = 0; y < h; ++y) { + ColorType *rDst = (ColorType *)dstPos; + const uint8 *src = srcPos; + + for (int x = 0; x < w; ++x) { + if (*src == 255) { + *rDst = color; + } else if (*src) { + const uint8 a = *src; + + uint8 dR, dG, dB; + dstFormat.colorToRGB(*rDst, dR, dG, dB); + + dR = ((255 - a) * dR + a * sR) / 255; + dG = ((255 - a) * dG + a * sG) / 255; + dB = ((255 - a) * dB + a * sB) / 255; + + *rDst = dstFormat.RGBToColor(dR, dG, dB); + } + + ++rDst; + ++src; + } + + dstPos += dstPitch; + srcPos += srcPitch; + } +} + +} // End of anonymous namespace + +void TTFFont::drawChar(Surface *dst, byte chr, int x, int y, uint32 color) const { + GlyphCache::const_iterator glyphEntry = _glyphs.find(chr); + if (glyphEntry == _glyphs.end()) + return; + + const Glyph &glyph = glyphEntry->_value; + + x += glyph.xOffset; + y += glyph.yOffset; + + if (x > dst->w) + return; + if (y > dst->h) + return; + + int w = glyph.image.w; + int h = glyph.image.h; + + const uint8 *srcPos = (const uint8 *)glyph.image.getBasePtr(0, 0); + uint8 *dstPos = (uint8 *)dst->getBasePtr(x, y); + + // Make sure we are not drawing outside the screen bounds + if (x < 0) { + srcPos -= x; + w += x; + x = 0; + } + + if (x + w > dst->w) + w = dst->w - x; + + if (w <= 0) + return; + + if (y < 0) { + srcPos += y * glyph.image.pitch; + h += y; + y = 0; + } + + if (y + h > dst->h) + h = dst->h - y; + + if (h <= 0) + return; + + if (dst->format.bytesPerPixel == 1) { + for (int cy = 0; cy < h; ++cy) { + uint8 *rDst = dstPos; + const uint8 *src = srcPos; + + for (int cx = 0; cx < w; ++cx) { + // We assume a 1Bpp mode is a color indexed mode, thus we can + // not take advantage of anti-aliasing here. + if (*src >= 0x80) + *rDst = color; + + ++rDst; + ++src; + } + + dstPos += dst->pitch; + srcPos += glyph.image.pitch; + } + } else if (dst->format.bytesPerPixel == 2) { + renderGlyph(dstPos, dst->pitch, srcPos, glyph.image.pitch, w, h, color, dst->format); + } else if (dst->format.bytesPerPixel == 4) { + renderGlyph(dstPos, dst->pitch, srcPos, glyph.image.pitch, w, h, color, dst->format); + } +} + +bool TTFFont::cacheGlyph(Glyph &glyph, byte chr) { + FT_UInt slot = FT_Get_Char_Index(_face, chr); + if (!slot) + return false; + + // We use the light target and render mode to improve the looks of the + // glyphs. It is most noticable in FreeSansBold.ttf, where otherwise the + // 't' glyph looks like it is cut off on the right side. + if (FT_Load_Glyph(_face, slot, (_monochrome ? FT_LOAD_MONOCHROME : FT_LOAD_TARGET_LIGHT))) + return false; + + if (FT_Render_Glyph(_face->glyph, (_monochrome ? FT_RENDER_MODE_MONO : FT_RENDER_MODE_LIGHT))) + return false; + + if (_face->glyph->format != FT_GLYPH_FORMAT_BITMAP) + return false; + + FT_Glyph_Metrics &metrics = _face->glyph->metrics; + + glyph.xOffset = ftFloor26_6(metrics.horiBearingX); + int xMax = glyph.xOffset + ftCeil26_6(metrics.width); + glyph.yOffset = _ascent - ftFloor26_6(metrics.horiBearingY); + + glyph.advance = ftCeil26_6(metrics.horiAdvance); + + // In case we got a negative xMin we adjust that, this might make some + // characters make a bit odd, but it's the only way we can assure no + // invalid memory writes with the current font API + if (glyph.xOffset < 0) { + xMax -= glyph.xOffset; + glyph.xOffset = 0; + + if (xMax > glyph.advance) + glyph.advance = xMax; + } + + const FT_Bitmap &bitmap = _face->glyph->bitmap; + glyph.image.create(bitmap.width, bitmap.rows, PixelFormat::createFormatCLUT8()); + + const uint8 *src = bitmap.buffer; + int srcPitch = bitmap.pitch; + if (srcPitch < 0) { + src += (bitmap.rows - 1) * srcPitch; + srcPitch = -srcPitch; + } + + uint8 *dst = (uint8 *)glyph.image.getBasePtr(0, 0); + memset(dst, 0, glyph.image.h * glyph.image.pitch); + + switch (bitmap.pixel_mode) { + case FT_PIXEL_MODE_MONO: + for (int y = 0; y < bitmap.rows; ++y) { + const uint8 *curSrc = src; + uint8 mask = 0; + + for (int x = 0; x < bitmap.width; ++x) { + if ((x % 8) == 0) + mask = *curSrc++; + + if (mask & 0x80) + *dst = 255; + + mask <<= 1; + ++dst; + } + + src += srcPitch; + } + break; + + case FT_PIXEL_MODE_GRAY: + for (int y = 0; y < bitmap.rows; ++y) { + memcpy(dst, src, bitmap.width); + dst += glyph.image.pitch; + src += srcPitch; + } + break; + + default: + warning("TTFFont::cacheGlyph: Unsupported pixel mode %d", bitmap.pixel_mode); + return false; + } + + return true; +} + +Font *loadTTFFont(Common::SeekableReadStream &stream, int size, bool monochrome) { + TTFFont *font = new TTFFont(); + + if (!font->load(stream, size, monochrome)) { + delete font; + return 0; + } + + return font; +} + +} // End of namespace Graphics + +namespace Common { +DECLARE_SINGLETON(Graphics::TTFLibrary); +} // End of namespace Common + +#endif + diff --git a/graphics/fonts/ttf.h b/graphics/fonts/ttf.h new file mode 100644 index 0000000000..f5349883e9 --- /dev/null +++ b/graphics/fonts/ttf.h @@ -0,0 +1,42 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +#ifndef GRAPHICS_FONTS_TTF_H +#define GRAPHICS_FONTS_TTF_H + +#include "common/scummsys.h" + +#ifdef USE_FREETYPE2 + +#include "common/stream.h" + +namespace Graphics { + +class Font; +Font *loadTTFFont(Common::SeekableReadStream &stream, int size, bool monochrome = false); + +} // End of namespace Graphics + +#endif + +#endif + -- cgit v1.2.3 From 9f3fbe1bd773664b1e86241e71875cd97230d791 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Sun, 8 Jan 2012 02:33:34 +0100 Subject: GRAPHICS/GUI: Implement kerning support for Font. This adapts the related graphics code, which is the generic Font API and the TTF font implementation. It furthermore adapts the GUI to properly take care of kerning in text input widgets. --- graphics/fonts/ttf.cpp | 37 +++++++++++++++++++++++++++++++------ 1 file changed, 31 insertions(+), 6 deletions(-) (limited to 'graphics/fonts') diff --git a/graphics/fonts/ttf.cpp b/graphics/fonts/ttf.cpp index 8a6b87c000..b5bf5c0158 100644 --- a/graphics/fonts/ttf.cpp +++ b/graphics/fonts/ttf.cpp @@ -109,6 +109,8 @@ public: virtual int getCharWidth(byte chr) const; + virtual int getKerningOffset(byte left, byte right) const; + virtual void drawChar(Surface *dst, byte chr, int x, int y, uint32 color) const; private: bool _initialized; @@ -126,16 +128,19 @@ private: int advance; }; - bool cacheGlyph(Glyph &glyph, byte chr); + bool cacheGlyph(Glyph &glyph, FT_UInt &slot, uint chr); typedef Common::HashMap GlyphCache; GlyphCache _glyphs; + FT_UInt _glyphSlots[256]; + bool _monochrome; + bool _hasKerning; }; TTFFont::TTFFont() : _initialized(false), _face(), _ttfFile(0), _size(0), _width(0), _height(0), _ascent(0), - _descent(0), _glyphs(), _monochrome(false) { + _descent(0), _glyphs(), _glyphSlots(), _monochrome(false), _hasKerning(false) { } TTFFont::~TTFFont() { @@ -187,6 +192,9 @@ bool TTFFont::load(Common::SeekableReadStream &stream, int size, bool monochrome return false; } + // Check whether we have kerning support + _hasKerning = (FT_HAS_KERNING(_face) != 0); + if (FT_Set_Char_Size(_face, 0, size * 64, 0, 0)) { delete[] _ttfFile; _ttfFile = 0; @@ -204,8 +212,10 @@ bool TTFFont::load(Common::SeekableReadStream &stream, int size, bool monochrome _height = _ascent - _descent + 1; // Load all ISO-8859-1 characters. - for (uint i = 0; i < 256; ++i) - cacheGlyph(_glyphs[i], i); + for (uint i = 0; i < 256; ++i) { + if (!cacheGlyph(_glyphs[i], _glyphSlots[i], i)) + _glyphSlots[i] = 0; + } _initialized = (_glyphs.size() != 0); return _initialized; @@ -227,6 +237,21 @@ int TTFFont::getCharWidth(byte chr) const { return glyphEntry->_value.advance; } +int TTFFont::getKerningOffset(byte left, byte right) const { + if (!_hasKerning) + return 0; + + FT_UInt leftGlyph = _glyphSlots[left]; + FT_UInt rightGlyph = _glyphSlots[right]; + + if (!leftGlyph || !rightGlyph) + return 0; + + FT_Vector kerningVector; + FT_Get_Kerning(_face, leftGlyph, rightGlyph, FT_KERNING_DEFAULT, &kerningVector); + return (kerningVector.x / 64); +} + namespace { template @@ -336,8 +361,8 @@ void TTFFont::drawChar(Surface *dst, byte chr, int x, int y, uint32 color) const } } -bool TTFFont::cacheGlyph(Glyph &glyph, byte chr) { - FT_UInt slot = FT_Get_Char_Index(_face, chr); +bool TTFFont::cacheGlyph(Glyph &glyph, FT_UInt &slot, uint chr) { + slot = FT_Get_Char_Index(_face, chr); if (!slot) return false; -- cgit v1.2.3 From f63df3bf7b95ddd9eaa4f55c4f21f53f3bd00f68 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Mon, 9 Jan 2012 03:33:59 +0100 Subject: GRAPHICS/GUI: Implement charset mapping for TTF fonts. The charsets used by the translations now need to have a "$(name).cp" file, which contains an charset index => unicode mapping. Otherwise create_translations will fail. --- graphics/fonts/ttf.cpp | 30 ++++++++++++++++++++++-------- graphics/fonts/ttf.h | 2 +- 2 files changed, 23 insertions(+), 9 deletions(-) (limited to 'graphics/fonts') diff --git a/graphics/fonts/ttf.cpp b/graphics/fonts/ttf.cpp index b5bf5c0158..2ba6205a11 100644 --- a/graphics/fonts/ttf.cpp +++ b/graphics/fonts/ttf.cpp @@ -101,7 +101,7 @@ public: TTFFont(); virtual ~TTFFont(); - bool load(Common::SeekableReadStream &stream, int size, bool monochrome); + bool load(Common::SeekableReadStream &stream, int size, bool monochrome, const uint32 *mapping); virtual int getFontHeight() const; @@ -157,7 +157,7 @@ TTFFont::~TTFFont() { } } -bool TTFFont::load(Common::SeekableReadStream &stream, int size, bool monochrome) { +bool TTFFont::load(Common::SeekableReadStream &stream, int size, bool monochrome, const uint32 *mapping) { if (!g_ttf.isInitialized()) return false; @@ -211,10 +211,24 @@ bool TTFFont::load(Common::SeekableReadStream &stream, int size, bool monochrome _width = ftCeil26_6(FT_MulFix(_face->max_advance_width, _face->size->metrics.x_scale)); _height = _ascent - _descent + 1; - // Load all ISO-8859-1 characters. - for (uint i = 0; i < 256; ++i) { - if (!cacheGlyph(_glyphs[i], _glyphSlots[i], i)) - _glyphSlots[i] = 0; + if (!mapping) { + // Load all ISO-8859-1 characters. + for (uint i = 0; i < 256; ++i) { + if (!cacheGlyph(_glyphs[i], _glyphSlots[i], i)) + _glyphSlots[i] = 0; + } + } else { + for (uint i = 0; i < 256; ++i) { + const uint32 unicode = mapping[i] & 0x7FFFFFFF; + const bool isRequired = (mapping[i] & 0x80000000) != 0; + // Check whether loading an important glyph fails and error out if + // that is the case. + if (!cacheGlyph(_glyphs[i], _glyphSlots[i], unicode)) { + _glyphSlots[i] = 0; + if (isRequired) + return false; + } + } } _initialized = (_glyphs.size() != 0); @@ -447,10 +461,10 @@ bool TTFFont::cacheGlyph(Glyph &glyph, FT_UInt &slot, uint chr) { return true; } -Font *loadTTFFont(Common::SeekableReadStream &stream, int size, bool monochrome) { +Font *loadTTFFont(Common::SeekableReadStream &stream, int size, bool monochrome, const uint32 *mapping) { TTFFont *font = new TTFFont(); - if (!font->load(stream, size, monochrome)) { + if (!font->load(stream, size, monochrome, mapping)) { delete font; return 0; } diff --git a/graphics/fonts/ttf.h b/graphics/fonts/ttf.h index f5349883e9..7222d6e112 100644 --- a/graphics/fonts/ttf.h +++ b/graphics/fonts/ttf.h @@ -32,7 +32,7 @@ namespace Graphics { class Font; -Font *loadTTFFont(Common::SeekableReadStream &stream, int size, bool monochrome = false); +Font *loadTTFFont(Common::SeekableReadStream &stream, int size, bool monochrome = false, const uint32 *mapping = 0); } // End of namespace Graphics -- cgit v1.2.3 From 6402d308747cc3d5969ca760101ebf6f34546bd2 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Thu, 2 Feb 2012 02:09:55 +0100 Subject: GRAPHICS: Use monochrome font hinter for TTF's monochrome loading. --- graphics/fonts/ttf.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'graphics/fonts') diff --git a/graphics/fonts/ttf.cpp b/graphics/fonts/ttf.cpp index 2ba6205a11..faf59a9ec5 100644 --- a/graphics/fonts/ttf.cpp +++ b/graphics/fonts/ttf.cpp @@ -383,7 +383,7 @@ bool TTFFont::cacheGlyph(Glyph &glyph, FT_UInt &slot, uint chr) { // We use the light target and render mode to improve the looks of the // glyphs. It is most noticable in FreeSansBold.ttf, where otherwise the // 't' glyph looks like it is cut off on the right side. - if (FT_Load_Glyph(_face, slot, (_monochrome ? FT_LOAD_MONOCHROME : FT_LOAD_TARGET_LIGHT))) + if (FT_Load_Glyph(_face, slot, (_monochrome ? FT_LOAD_TARGET_MONO : FT_LOAD_TARGET_LIGHT))) return false; if (FT_Render_Glyph(_face->glyph, (_monochrome ? FT_RENDER_MODE_MONO : FT_RENDER_MODE_LIGHT))) -- cgit v1.2.3 From 66c3279b2f69a483ec3cc5ff1d8ed84e33621162 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Thu, 2 Feb 2012 02:38:17 +0100 Subject: GRAPHICS: Obtain pointer to dst surface after bounds checks in TTF renderer. This should really make sure we are not drawing outside the surface bounds. --- graphics/fonts/ttf.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'graphics/fonts') diff --git a/graphics/fonts/ttf.cpp b/graphics/fonts/ttf.cpp index faf59a9ec5..06231799ce 100644 --- a/graphics/fonts/ttf.cpp +++ b/graphics/fonts/ttf.cpp @@ -323,7 +323,6 @@ void TTFFont::drawChar(Surface *dst, byte chr, int x, int y, uint32 color) const int h = glyph.image.h; const uint8 *srcPos = (const uint8 *)glyph.image.getBasePtr(0, 0); - uint8 *dstPos = (uint8 *)dst->getBasePtr(x, y); // Make sure we are not drawing outside the screen bounds if (x < 0) { @@ -350,6 +349,8 @@ void TTFFont::drawChar(Surface *dst, byte chr, int x, int y, uint32 color) const if (h <= 0) return; + uint8 *dstPos = (uint8 *)dst->getBasePtr(x, y); + if (dst->format.bytesPerPixel == 1) { for (int cy = 0; cy < h; ++cy) { uint8 *rDst = dstPos; -- cgit v1.2.3 From 9a13b3454924390620675177785c8e1ef25b0f2b Mon Sep 17 00:00:00 2001 From: Alyssa Milburn Date: Mon, 19 Mar 2012 22:57:48 +0100 Subject: GRAPHICS: Fix TTF glyph drawing at negative Y positions. --- graphics/fonts/ttf.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'graphics/fonts') diff --git a/graphics/fonts/ttf.cpp b/graphics/fonts/ttf.cpp index 06231799ce..5e3ed44926 100644 --- a/graphics/fonts/ttf.cpp +++ b/graphics/fonts/ttf.cpp @@ -338,7 +338,7 @@ void TTFFont::drawChar(Surface *dst, byte chr, int x, int y, uint32 color) const return; if (y < 0) { - srcPos += y * glyph.image.pitch; + srcPos -= y * glyph.image.pitch; h += y; y = 0; } -- cgit v1.2.3 From 92327c799186e22e3e74cd332ae272556483420b Mon Sep 17 00:00:00 2001 From: Alyssa Milburn Date: Mon, 19 Mar 2012 23:00:12 +0100 Subject: GRAPHICS: Render TTF glyphs at the right locations. Or at least using the fields used by the FreeType examples. --- graphics/fonts/ttf.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'graphics/fonts') diff --git a/graphics/fonts/ttf.cpp b/graphics/fonts/ttf.cpp index 5e3ed44926..7505f7913e 100644 --- a/graphics/fonts/ttf.cpp +++ b/graphics/fonts/ttf.cpp @@ -395,11 +395,11 @@ bool TTFFont::cacheGlyph(Glyph &glyph, FT_UInt &slot, uint chr) { FT_Glyph_Metrics &metrics = _face->glyph->metrics; - glyph.xOffset = ftFloor26_6(metrics.horiBearingX); + glyph.xOffset = _face->glyph->bitmap_left; int xMax = glyph.xOffset + ftCeil26_6(metrics.width); - glyph.yOffset = _ascent - ftFloor26_6(metrics.horiBearingY); + glyph.yOffset = _ascent - _face->glyph->bitmap_top; - glyph.advance = ftCeil26_6(metrics.horiAdvance); + glyph.advance = ftCeil26_6(_face->glyph->advance.x); // In case we got a negative xMin we adjust that, this might make some // characters make a bit odd, but it's the only way we can assure no -- cgit v1.2.3