From aa3f05d56a91910ca857ac5fc5d8ff64fac412fa Mon Sep 17 00:00:00 2001 From: gitlost Date: Thu, 30 Jul 2026 14:48:21 +0100 Subject: [PATCH] docs: latest pandoc --- backend/font_raster.h | 1809 +++++++++++++++++++++++++++++++++++++++++ docs/README | 12 +- docs/zint.1 | 2 +- 3 files changed, 1816 insertions(+), 7 deletions(-) create mode 100644 backend/font_raster.h diff --git a/backend/font_raster.h b/backend/font_raster.h new file mode 100644 index 00000000..34ee7659 --- /dev/null +++ b/backend/font_raster.h @@ -0,0 +1,1809 @@ +/* font_raster.h - Font for raster images, generated by "backend/tools/gen_font_h" */ +/* + libzint - the open source barcode library + Copyright (C) 2026 Robin Stuart + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the project nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + */ +/* SPDX-License-Identifier: BSD-3-Clause */ + +#ifndef Z_FONT_RASTER_H +#define Z_FONT_RASTER_H + +/* Index info into font array */ +struct font_info { + unsigned short offset; + unsigned char row_start; + unsigned char rows; + signed char left; + unsigned char hadvance; +}; + +/* Designed by Steve Matteson + * https://fonts.google.com/specimen/Arimo + * + * Copyright 2010 Google Inc. All Rights Reserved. + * + * These fonts are licensed under the Apache License, Version 2.0. + */ +/* SPDX-License-Identifier: Apache-2.0 */ + +/* FT_Set_Pixel_Sizes(Arimo, width 0, height 14) */ + +#define FONT_NORMAL_HEIGHT 14 +#define FONT_NORMAL_BIT_WIDTH 14 +#define FONT_NORMAL_BIT_HEIGHT 17 + +/* Each character is 14 bits wide */ +static const unsigned char font_normal[2772] = { + 0x00,0x00, /* SP */ + 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x00,0x00, 0x00,0x00, 0x80,0x00, /* ! */ + 0x90,0x00, 0x90,0x00, 0x90,0x00, /* " */ + 0x12,0x00, 0x22,0x00, 0x24,0x00, 0xFF,0x00, 0x24,0x00, 0x24,0x00, 0xFE,0x00, 0x48,0x00, 0x48,0x00, 0x48,0x00, /* # */ + 0x10,0x00, 0x7C,0x00, 0x96,0x00, 0x90,0x00, 0xD0,0x00, 0x78,0x00, 0x1C,0x00, 0x12,0x00, 0x92,0x00, 0x92,0x00, 0x7C,0x00, 0x10,0x00, /* $ */ + 0x60,0x80, 0x91,0x00, 0x91,0x00, 0x92,0xC0, 0x95,0x20, 0x65,0x20, 0x09,0x20, 0x11,0x20, 0x11,0x20, 0x20,0xC0, /* % */ + 0x18,0x00, 0x24,0x00, 0x24,0x00, 0x28,0x00, 0x30,0x00, 0x52,0x00, 0x8A,0x00, 0x8C,0x00, 0xC4,0x00, 0x7B,0x80, /* & */ + 0x80,0x00, 0x80,0x00, 0x80,0x00, /* ' */ + 0x20,0x00, 0x40,0x00, 0x40,0x00, 0xC0,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0xC0,0x00, 0x40,0x00, 0x40,0x00, 0x20,0x00, /* ( */ + 0x80,0x00, 0x40,0x00, 0x40,0x00, 0x60,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x60,0x00, 0x40,0x00, 0x40,0x00, 0x80,0x00, /* ) */ + 0x20,0x00, 0xA8,0x00, 0xF8,0x00, 0x50,0x00, 0x50,0x00, /* * */ + 0x10,0x00, 0x10,0x00, 0x10,0x00, 0xFE,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, /* + */ + 0x80,0x00, 0x80,0x00, 0x80,0x00, /* , */ + 0xE0,0x00, /* - */ + 0x80,0x00, /* . */ + 0x10,0x00, 0x30,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x60,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0xC0,0x00, 0x80,0x00, /* / */ + 0x38,0x00, 0x44,0x00, 0x82,0x00, 0x82,0x00, 0x82,0x00, 0x82,0x00, 0x82,0x00, 0x82,0x00, 0x44,0x00, 0x38,0x00, /* 0 */ + 0x30,0x00, 0x50,0x00, 0x90,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, 0xFC,0x00, /* 1 */ /* Patched */ + 0x78,0x00, 0x84,0x00, 0x84,0x00, 0x04,0x00, 0x08,0x00, 0x10,0x00, 0x20,0x00, 0x40,0x00, 0x80,0x00, 0xFC,0x00, /* 2 */ /* Patched */ + 0x78,0x00, 0x84,0x00, 0x04,0x00, 0x08,0x00, 0x30,0x00, 0x08,0x00, 0x04,0x00, 0x84,0x00, 0x84,0x00, 0x78,0x00, /* 3 */ /* Patched */ + 0x04,0x00, 0x0C,0x00, 0x14,0x00, 0x24,0x00, 0x24,0x00, 0x44,0x00, 0x84,0x00, 0xFE,0x00, 0x04,0x00, 0x04,0x00, /* 4 */ /* Patched */ + 0xFC,0x00, 0x80,0x00, 0x80,0x00, 0xF8,0x00, 0x84,0x00, 0x04,0x00, 0x04,0x00, 0x84,0x00, 0x84,0x00, 0x78,0x00, /* 5 */ /* Patched */ + 0x38,0x00, 0x44,0x00, 0x80,0x00, 0xB8,0x00, 0xC4,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x78,0x00, /* 6 */ /* Patched */ + 0xFC,0x00, 0x04,0x00, 0x08,0x00, 0x08,0x00, 0x10,0x00, 0x10,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, /* 7 */ + 0x78,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x78,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x78,0x00, /* 8 */ /* Patched */ + 0x78,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x8C,0x00, 0x74,0x00, 0x04,0x00, 0x04,0x00, 0x88,0x00, 0x70,0x00, /* 9 */ /* Patched */ + 0x80,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x80,0x00, /* : */ + 0x80,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* ; */ + 0x00,0x00, 0x0E,0x00, 0x38,0x00, 0xC0,0x00, 0xC0,0x00, 0x70,0x00, 0x0C,0x00, 0x02,0x00, /* < */ + 0xFE,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0xFE,0x00, /* = */ + 0x00,0x00, 0xE0,0x00, 0x38,0x00, 0x06,0x00, 0x06,0x00, 0x1C,0x00, 0x60,0x00, 0x80,0x00, /* > */ + 0x78,0x00, 0xCC,0x00, 0x84,0x00, 0x04,0x00, 0x0C,0x00, 0x18,0x00, 0x20,0x00, 0x20,0x00, 0x00,0x00, 0x20,0x00, /* ? */ + 0x0F,0x80, 0x30,0x60, 0x60,0x20, 0x46,0x90, 0x89,0x90, 0x91,0x90, 0x91,0x10, 0x91,0x10, 0x93,0x20, 0x8D,0xC0, 0x40,0x00, 0x60,0xC0, 0x1F,0x00, /* @ */ + 0x08,0x00, 0x14,0x00, 0x14,0x00, 0x22,0x00, 0x22,0x00, 0x41,0x00, 0x7F,0x00, 0x41,0x00, 0x80,0x80, 0x80,0x80, /* A */ /* Patched */ + 0xFC,0x00, 0x82,0x00, 0x82,0x00, 0x82,0x00, 0xFC,0x00, 0x82,0x00, 0x82,0x00, 0x82,0x00, 0x82,0x00, 0xFC,0x00, /* B */ /* Patched */ + 0x3E,0x00, 0x63,0x00, 0xC1,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0xC1,0x80, 0x63,0x00, 0x3E,0x00, /* C */ + 0xFC,0x00, 0x86,0x00, 0x83,0x00, 0x81,0x00, 0x81,0x00, 0x81,0x00, 0x81,0x00, 0x82,0x00, 0x86,0x00, 0xFC,0x00, /* D */ + 0xFE,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0xFE,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0xFE,0x00, /* E */ + 0xFE,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0xFC,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* F */ + 0x3E,0x00, 0x61,0x00, 0xC0,0x00, 0x80,0x00, 0x80,0x00, 0x87,0x80, 0x80,0x80, 0xC0,0x80, 0x61,0x80, 0x3E,0x00, /* G */ + 0x81,0x00, 0x81,0x00, 0x81,0x00, 0x81,0x00, 0xFF,0x00, 0x81,0x00, 0x81,0x00, 0x81,0x00, 0x81,0x00, 0x81,0x00, /* H */ + 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* I */ + 0x38,0x00, 0x08,0x00, 0x08,0x00, 0x08,0x00, 0x08,0x00, 0x08,0x00, 0x08,0x00, 0x88,0x00, 0x88,0x00, 0x70,0x00, /* J */ + 0x86,0x00, 0x8C,0x00, 0x98,0x00, 0xB0,0x00, 0xE0,0x00, 0xD0,0x00, 0x98,0x00, 0x8C,0x00, 0x86,0x00, 0x82,0x00, /* K */ + 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0xFC,0x00, /* L */ + 0xC1,0x80, 0xC1,0x80, 0xC1,0x80, 0xA2,0x80, 0xA2,0x80, 0xB6,0x80, 0x94,0x80, 0x94,0x80, 0x88,0x80, 0x88,0x80, /* M */ /* Patched */ + 0xC1,0x00, 0xC1,0x00, 0xA1,0x00, 0xB1,0x00, 0x91,0x00, 0x89,0x00, 0x8D,0x00, 0x85,0x00, 0x83,0x00, 0x83,0x00, /* N */ + 0x3E,0x00, 0x63,0x00, 0xC1,0x80, 0x80,0x80, 0x80,0x80, 0x80,0x80, 0x80,0x80, 0xC1,0x80, 0x63,0x00, 0x3E,0x00, /* O */ + 0xFC,0x00, 0x86,0x00, 0x82,0x00, 0x82,0x00, 0x86,0x00, 0xFC,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* P */ + 0x3E,0x00, 0x63,0x00, 0xC1,0x80, 0x80,0x80, 0x80,0x80, 0x80,0x80, 0x80,0x80, 0xC1,0x80, 0x63,0x00, 0x3E,0x00, 0x0C,0x00, 0x04,0x00, 0x07,0x00, /* Q */ + 0xFE,0x00, 0x83,0x00, 0x81,0x00, 0x81,0x00, 0x83,0x00, 0xFE,0x00, 0x84,0x00, 0x82,0x00, 0x82,0x00, 0x81,0x00, /* R */ /* Patched */ + 0x7C,0x00, 0xC6,0x00, 0x80,0x00, 0x80,0x00, 0x70,0x00, 0x0C,0x00, 0x02,0x00, 0x82,0x00, 0x86,0x00, 0x7C,0x00, /* S */ + 0xFE,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, /* T */ /* Patched */ + 0x81,0x00, 0x81,0x00, 0x81,0x00, 0x81,0x00, 0x81,0x00, 0x81,0x00, 0x81,0x00, 0x81,0x00, 0x42,0x00, 0x3C,0x00, /* U */ + 0x80,0x80, 0x80,0x80, 0x41,0x00, 0x41,0x00, 0x22,0x00, 0x22,0x00, 0x22,0x00, 0x14,0x00, 0x14,0x00, 0x08,0x00, /* V */ /* Patched */ + 0x82,0x08, 0x83,0x08, 0x45,0x10, 0x45,0x10, 0x65,0x10, 0x2C,0xB0, 0x28,0xA0, 0x28,0xA0, 0x28,0xA0, 0x10,0x40, /* W */ /* Patched */ + 0x40,0x80, 0x21,0x00, 0x33,0x00, 0x12,0x00, 0x0C,0x00, 0x0C,0x00, 0x12,0x00, 0x21,0x00, 0x61,0x80, 0x40,0x80, /* X */ /* Patched */ + 0x41,0x00, 0x63,0x00, 0x22,0x00, 0x36,0x00, 0x14,0x00, 0x08,0x00, 0x08,0x00, 0x08,0x00, 0x08,0x00, 0x08,0x00, /* Y */ + 0xFE,0x00, 0x02,0x00, 0x04,0x00, 0x08,0x00, 0x10,0x00, 0x30,0x00, 0x20,0x00, 0x40,0x00, 0x80,0x00, 0xFF,0x00, /* Z */ /* Patched */ + 0xE0,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0xE0,0x00, /* [ */ + 0x80,0x00, 0x80,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x30,0x00, 0x10,0x00, /* \ */ + 0xE0,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0xE0,0x00, /* ] */ + 0x10,0x00, 0x30,0x00, 0x28,0x00, 0x48,0x00, 0x44,0x00, 0x84,0x00, /* ^ */ + 0xFF,0x00, /* _ */ + 0xC0,0x00, 0x20,0x00, /* ` */ + 0x78,0x00, 0xC4,0x00, 0x04,0x00, 0x7C,0x00, 0xC4,0x00, 0x84,0x00, 0x8C,0x00, 0x76,0x00, /* a */ + 0x80,0x00, 0x80,0x00, 0x80,0x00, 0xB8,0x00, 0xCC,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0xCC,0x00, 0xB8,0x00, /* b */ + 0x78,0x00, 0xC8,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0xC8,0x00, 0x78,0x00, /* c */ + 0x04,0x00, 0x04,0x00, 0x04,0x00, 0x74,0x00, 0xCC,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0xCC,0x00, 0x74,0x00, /* d */ + 0x78,0x00, 0x44,0x00, 0x84,0x00, 0xFE,0x00, 0x80,0x00, 0x80,0x00, 0xC4,0x00, 0x78,0x00, /* e */ + 0x60,0x00, 0x40,0x00, 0x40,0x00, 0xE0,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, /* f */ + 0x74,0x00, 0xCC,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0xCC,0x00, 0x74,0x00, 0x04,0x00, 0xCC,0x00, 0x78,0x00, /* g */ + 0x80,0x00, 0x80,0x00, 0x80,0x00, 0xB8,0x00, 0xC4,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, /* h */ + 0x80,0x00, 0x00,0x00, 0x00,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* i */ + 0x40,0x00, 0x00,0x00, 0x00,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0xC0,0x00, /* j */ + 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x88,0x00, 0x90,0x00, 0xB0,0x00, 0xE0,0x00, 0xE0,0x00, 0x90,0x00, 0x98,0x00, 0x8C,0x00, /* k */ + 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* l */ + 0xB3,0x00, 0xCC,0x80, 0x88,0x80, 0x88,0x80, 0x88,0x80, 0x88,0x80, 0x88,0x80, 0x88,0x80, /* m */ + 0xB8,0x00, 0xC4,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, /* n */ + 0x78,0x00, 0xCC,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0xCC,0x00, 0x78,0x00, /* o */ + 0xB8,0x00, 0xCC,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0xCC,0x00, 0xB8,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* p */ + 0x74,0x00, 0xCC,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0xCC,0x00, 0x74,0x00, 0x04,0x00, 0x04,0x00, 0x04,0x00, /* q */ + 0xA0,0x00, 0xC0,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* r */ + 0x78,0x00, 0x8C,0x00, 0x80,0x00, 0x70,0x00, 0x1C,0x00, 0x04,0x00, 0x84,0x00, 0x78,0x00, /* s */ + 0x40,0x00, 0x40,0x00, 0xE0,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x60,0x00, /* t */ + 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x8C,0x00, 0x74,0x00, /* u */ + 0xC6,0x00, 0x44,0x00, 0x44,0x00, 0x44,0x00, 0x28,0x00, 0x28,0x00, 0x28,0x00, 0x10,0x00, /* v */ + 0x8C,0x40, 0xCC,0x40, 0x4C,0x80, 0x4A,0x80, 0x52,0x80, 0x52,0x80, 0x33,0x00, 0x33,0x00, /* w */ + 0x44,0x00, 0x6C,0x00, 0x28,0x00, 0x10,0x00, 0x38,0x00, 0x28,0x00, 0x44,0x00, 0xC6,0x00, /* x */ + 0x84,0x00, 0x84,0x00, 0x44,0x00, 0x48,0x00, 0x28,0x00, 0x28,0x00, 0x10,0x00, 0x10,0x00, 0x20,0x00, 0x20,0x00, 0xC0,0x00, /* y */ /* Patched */ + 0xFC,0x00, 0x0C,0x00, 0x18,0x00, 0x10,0x00, 0x20,0x00, 0x60,0x00, 0xC0,0x00, 0xFC,0x00, /* z */ + 0x30,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x80,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x30,0x00, /* { */ /* Patched */ + 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* | */ + 0xC0,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x10,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0xC0,0x00, /* } */ /* Patched */ + 0xF0,0x00, 0x1E,0x00, /* ~ */ + 0x00,0x00, /* NBSP */ + 0x80,0x00, 0x00,0x00, 0x00,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* ¡ */ + 0x10,0x00, 0x78,0x00, 0x44,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x44,0x00, 0x38,0x00, 0x10,0x00, /* ¢ */ + 0x38,0x00, 0x44,0x00, 0x40,0x00, 0x40,0x00, 0xF8,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x84,0x00, 0xFC,0x00, /* £ */ + 0xFC,0x00, 0xCC,0x00, 0x84,0x00, 0x84,0x00, 0xCC,0x00, 0xFC,0x00, /* ¤ */ + 0x82,0x00, 0x44,0x00, 0x44,0x00, 0x28,0x00, 0x28,0x00, 0xFE,0x00, 0x10,0x00, 0xFE,0x00, 0x10,0x00, 0x10,0x00, /* ¥ */ + 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* ¦ */ + 0x78,0x00, 0x8C,0x00, 0x80,0x00, 0x60,0x00, 0x58,0x00, 0x84,0x00, 0x84,0x00, 0x78,0x00, 0x0C,0x00, 0x04,0x00, 0x84,0x00, 0x78,0x00, /* § */ + 0x90,0x00, /* ¨ */ + 0x1E,0x00, 0x21,0x00, 0x40,0x80, 0x9C,0x40, 0xA2,0x40, 0xA0,0x40, 0xA0,0x40, 0xB2,0x40, 0x5C,0x80, 0x21,0x00, 0x1E,0x00, /* © */ + 0x70,0x00, 0x90,0x00, 0xF0,0x00, 0x90,0x00, 0xF8,0x00, /* ª */ + 0x24,0x00, 0x4C,0x00, 0xD8,0x00, 0xD8,0x00, 0x4C,0x00, 0x24,0x00, /* « */ + 0xFE,0x00, 0x02,0x00, 0x02,0x00, 0x02,0x00, /* ¬ */ + 0x1E,0x00, 0x21,0x00, 0x40,0x80, 0x9C,0x40, 0x92,0x40, 0x92,0x40, 0x9C,0x40, 0x94,0x40, 0x52,0x80, 0x21,0x00, 0x1E,0x00, /* ® */ + 0xFF,0x00, /* ¯ */ + 0x60,0x00, 0x90,0x00, 0x90,0x00, 0x60,0x00, /* ° */ + 0x10,0x00, 0x10,0x00, 0x10,0x00, 0xFE,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, 0x00,0x00, 0xFE,0x00, /* ± */ + 0x70,0x00, 0x90,0x00, 0x10,0x00, 0x20,0x00, 0xC0,0x00, 0xF0,0x00, /* ² */ + 0x70,0x00, 0x10,0x00, 0x60,0x00, 0x10,0x00, 0x90,0x00, 0xE0,0x00, /* ³ */ + 0x60,0x00, 0x80,0x00, /* ´ */ + 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x8C,0x00, 0xF6,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* µ */ + 0x7E,0x00, 0x74,0x00, 0xF4,0x00, 0x74,0x00, 0x74,0x00, 0x14,0x00, 0x14,0x00, 0x14,0x00, 0x14,0x00, 0x14,0x00, 0x14,0x00, 0x14,0x00, 0x14,0x00, /* ¶ */ + 0x80,0x00, /* · */ + 0x40,0x00, 0x20,0x00, 0xE0,0x00, /* ¸ */ + 0xC0,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0xE0,0x00, /* ¹ */ + 0x70,0x00, 0x88,0x00, 0x88,0x00, 0x88,0x00, 0x70,0x00, /* º */ + 0xD8,0x00, 0x4C,0x00, 0x24,0x00, 0x24,0x00, 0x4C,0x00, 0xD8,0x00, /* » */ + 0xC0,0x80, 0x41,0x00, 0x43,0x00, 0x42,0x00, 0x44,0xC0, 0xF4,0xC0, 0x09,0x40, 0x1A,0x40, 0x13,0xE0, 0x20,0x40, 0x20,0x40, /* ¼ */ + 0xC1,0x00, 0x42,0x00, 0x42,0x00, 0x44,0x00, 0x45,0xC0, 0xE8,0x40, 0x08,0x40, 0x10,0x80, 0x21,0x00, 0x23,0xC0, /* ½ */ + 0x60,0x80, 0x91,0x00, 0x11,0x00, 0x62,0x00, 0x94,0x40, 0xF4,0xC0, 0x09,0x40, 0x0A,0x40, 0x13,0xE0, 0x20,0x40, 0x20,0x40, /* ¾ */ + 0x10,0x00, 0x00,0x00, 0x10,0x00, 0x10,0x00, 0x60,0x00, 0xC0,0x00, 0x80,0x00, 0x84,0x00, 0xCC,0x00, 0x78,0x00, /* ¿ */ + 0x18,0x00, 0x04,0x00, /* À */ + 0x04,0x00, 0x08,0x00, /* Á */ + 0x1C,0x00, 0x36,0x00, /* Â */ + 0x1A,0x00, 0x2E,0x00, /* Ã */ + 0x12,0x00, /* Ä */ + 0x08,0x00, 0x14,0x00, /* Å */ + 0x0F,0xF0, 0x0A,0x00, 0x12,0x00, 0x12,0x00, 0x23,0xF0, 0x22,0x00, 0x7E,0x00, 0x42,0x00, 0xC2,0x00, 0x83,0xF0, /* Æ */ + 0x3E,0x00, 0x63,0x00, 0xC1,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0xC1,0x80, 0x63,0x00, 0x3E,0x00, 0x08,0x00, 0x04,0x00, 0x1C,0x00, /* Ç */ + 0x20,0x00, 0x10,0x00, /* È */ + 0x18,0x00, 0x10,0x00, /* É */ + 0x38,0x00, 0x6C,0x00, /* Ê */ + 0x28,0x00, /* Ë */ + 0x80,0x00, 0x40,0x00, /* Ì */ + 0x40,0x00, 0x80,0x00, /* Í */ + 0x70,0x00, 0xD8,0x00, 0x00,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, /* Î */ + 0x90,0x00, 0x00,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, /* Ï */ + 0x7E,0x00, 0x43,0x00, 0x41,0x80, 0x40,0x80, 0xF8,0x80, 0x40,0x80, 0x40,0x80, 0x41,0x00, 0x43,0x00, 0x7E,0x00, /* Ð */ + 0x32,0x00, 0x4C,0x00, /* Ñ */ + 0x18,0x00, 0x04,0x00, /* Ò */ + 0x0C,0x00, 0x10,0x00, /* Ó */ + 0x1C,0x00, 0x22,0x00, /* Ô */ + 0x3A,0x00, 0x2C,0x00, /* Õ */ + 0x12,0x00, /* Ö */ + 0x84,0x00, 0x48,0x00, 0x30,0x00, 0x30,0x00, 0x48,0x00, 0x84,0x00, /* × */ + 0x00,0x80, 0x3F,0x80, 0x63,0x00, 0xC3,0x80, 0x84,0x80, 0x8C,0x80, 0x98,0x80, 0x90,0x80, 0xE1,0x00, 0x63,0x00, 0xBE,0x00, /* Ø */ + 0x10,0x00, 0x08,0x00, /* Ù */ + 0x08,0x00, 0x10,0x00, /* Ú */ + 0x38,0x00, 0x44,0x00, /* Û */ + 0x24,0x00, /* Ü */ + 0x04,0x00, 0x08,0x00, /* Ý */ + 0x80,0x00, 0x80,0x00, 0xFC,0x00, 0x86,0x00, 0x82,0x00, 0x82,0x00, 0x86,0x00, 0xFC,0x00, 0x80,0x00, 0x80,0x00, /* Þ */ + 0x78,0x00, 0xC4,0x00, 0x84,0x00, 0x8C,0x00, 0x98,0x00, 0x98,0x00, 0x8C,0x00, 0x86,0x00, 0x82,0x00, 0x82,0x00, 0x9C,0x00, /* ß */ + 0x20,0x00, 0x10,0x00, /* à */ + 0x18,0x00, 0x20,0x00, /* á */ + 0x38,0x00, 0x4C,0x00, /* â */ + 0x74,0x00, 0x98,0x00, /* ã */ + 0x48,0x00, /* ä */ + 0x30,0x00, 0x48,0x00, 0x30,0x00, /* å */ + 0x7B,0xC0, 0xC6,0x20, 0x04,0x20, 0x7F,0xF0, 0xC4,0x00, 0x84,0x00, 0x8E,0x20, 0x73,0xC0, /* æ */ + 0x78,0x00, 0x44,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x44,0x00, 0x78,0x00, 0x10,0x00, 0x08,0x00, 0x38,0x00, /* ç */ + 0x30,0x00, 0x10,0x00, /* è */ + 0x18,0x00, 0x10,0x00, /* é */ + 0x38,0x00, 0x4C,0x00, /* ê */ + 0x48,0x00, /* ë */ + 0x60,0x00, 0x20,0x00, 0x00,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, /* ì */ + 0x60,0x00, 0x40,0x00, 0x00,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, /* í */ + 0x70,0x00, 0xD8,0x00, 0x00,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, /* î */ + 0x90,0x00, 0x00,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, /* ï */ + 0x24,0x00, 0x38,0x00, 0x4C,0x00, 0x04,0x00, 0x7E,0x00, 0xC6,0x00, 0x82,0x00, 0x82,0x00, 0x82,0x00, 0xC4,0x00, 0x7C,0x00, /* ð */ + 0x64,0x00, 0x98,0x00, /* ñ */ + 0x20,0x00, 0x10,0x00, /* ò */ + 0x10,0x00, 0x20,0x00, /* ó */ + 0x38,0x00, 0x4C,0x00, /* ô */ + 0x68,0x00, 0x98,0x00, /* õ */ + 0x48,0x00, /* ö */ + 0x10,0x00, 0x00,0x00, 0xFE,0x00, 0x00,0x00, 0x00,0x00, 0x10,0x00, /* ÷ */ + 0x3E,0x00, 0x66,0x00, 0x46,0x00, 0x4A,0x00, 0x52,0x00, 0x62,0x00, 0x66,0x00, 0x7C,0x00, /* ø */ + 0x20,0x00, 0x10,0x00, /* ù */ + 0x18,0x00, 0x20,0x00, /* ú */ + 0x30,0x00, 0xC8,0x00, /* û */ + 0x48,0x00, /* ü */ + 0x18,0x00, 0x20,0x00, /* ý */ + 0x80,0x00, 0x80,0x00, 0x80,0x00, 0xB8,0x00, 0xCC,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0xCC,0x00, 0xB8,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* þ */ + 0x48,0x00, /* ÿ */ +}; + +static const struct font_info font_normal_infos[191] = { + { 0, 13, 1, 0, 4 }, /* SP */ + { 2, 4, 10, 1, 3 }, /* ! */ + { 22, 4, 3, 1, 6 }, /* " */ + { 28, 4, 10, 0, 8 }, /* # */ + { 48, 3, 12, 1, 9 }, /* $ */ + { 72, 4, 10, 1, 13 }, /* % */ + { 92, 4, 10, 1, 10 }, /* & */ + { 112, 4, 3, 1, 3 }, /* ' */ + { 118, 3, 14, 1, 5 }, /* ( */ + { 146, 3, 14, 1, 5 }, /* ) */ + { 174, 4, 5, 0, 5 }, /* * */ + { 184, 6, 7, 1, 9 }, /* + */ + { 198, 13, 3, 1, 3 }, /* , */ + { 204, 10, 1, 1, 5 }, /* - */ + { 206, 13, 1, 1, 3 }, /* . */ + { 208, 3, 11, 0, 4 }, /* / */ + { 230, 4, 10, 1, 8 }, /* 0 */ + { 250, 4, 10, 1, 8 }, /* 1 */ + { 270, 4, 10, 1, 8 }, /* 2 */ + { 290, 4, 10, 1, 8 }, /* 3 */ + { 310, 4, 10, 0, 8 }, /* 4 */ /* Patched left 1 -> 0 */ + { 330, 4, 10, 1, 8 }, /* 5 */ + { 350, 4, 10, 1, 8 }, /* 6 */ + { 370, 4, 10, 1, 8 }, /* 7 */ + { 390, 4, 10, 1, 8 }, /* 8 */ + { 410, 4, 10, 1, 8 }, /* 9 */ + { 430, 6, 8, 1, 3 }, /* : */ + { 446, 6, 10, 1, 3 }, /* ; */ + { 466, 5, 8, 1, 9 }, /* < */ + { 482, 6, 5, 1, 9 }, /* = */ + { 492, 5, 8, 1, 9 }, /* > */ + { 508, 4, 10, 1, 8 }, /* ? */ + { 528, 3, 13, 1, 14 }, /* @ */ + { 554, 4, 10, 0, 9 }, /* A */ + { 574, 4, 10, 1, 9 }, /* B */ + { 594, 4, 10, 1, 10 }, /* C */ + { 614, 4, 10, 1, 10 }, /* D */ + { 634, 4, 10, 1, 9 }, /* E */ + { 654, 4, 10, 1, 8 }, /* F */ + { 674, 4, 10, 1, 11 }, /* G */ + { 694, 4, 10, 1, 10 }, /* H */ + { 714, 4, 10, 1, 3 }, /* I */ + { 734, 4, 10, 1, 7 }, /* J */ + { 754, 4, 10, 1, 9 }, /* K */ + { 774, 4, 10, 1, 7 }, /* L */ + { 794, 4, 10, 1, 11 }, /* M */ + { 814, 4, 10, 1, 10 }, /* N */ + { 834, 4, 10, 1, 11 }, /* O */ + { 854, 4, 10, 1, 9 }, /* P */ + { 874, 4, 13, 1, 11 }, /* Q */ + { 900, 4, 10, 1, 10 }, /* R */ + { 920, 4, 10, 1, 9 }, /* S */ + { 940, 4, 10, 1, 10 }, /* T */ + { 960, 4, 10, 1, 10 }, /* U */ + { 980, 4, 10, 0, 9 }, /* V */ + { 1000, 4, 10, 0, 13 }, /* W */ + { 1020, 4, 10, 0, 9 }, /* X */ + { 1040, 4, 10, 0, 9 }, /* Y */ + { 1060, 4, 10, 1, 10 }, /* Z */ + { 1080, 3, 14, 1, 4 }, /* [ */ + { 1108, 3, 11, 0, 4 }, /* \ */ + { 1130, 3, 14, 0, 4 }, /* ] */ + { 1158, 3, 6, 0, 7 }, /* ^ */ + { 1170, 16, 1, 0, 8 }, /* _ */ + { 1172, 3, 2, 1, 5 }, /* ` */ + { 1176, 6, 8, 1, 8 }, /* a */ + { 1192, 3, 11, 1, 8 }, /* b */ + { 1214, 6, 8, 1, 7 }, /* c */ + { 1230, 3, 11, 1, 8 }, /* d */ + { 1252, 6, 8, 1, 8 }, /* e */ + { 1268, 3, 11, 0, 3 }, /* f */ + { 1290, 6, 11, 1, 8 }, /* g */ + { 1312, 3, 11, 1, 8 }, /* h */ + { 1334, 3, 11, 1, 3 }, /* i */ + { 1356, 3, 14, 0, 3 }, /* j */ + { 1384, 3, 11, 1, 7 }, /* k */ + { 1406, 3, 11, 1, 3 }, /* l */ + { 1428, 6, 8, 1, 11 }, /* m */ + { 1444, 6, 8, 1, 8 }, /* n */ + { 1460, 6, 8, 1, 8 }, /* o */ + { 1476, 6, 11, 1, 8 }, /* p */ + { 1498, 6, 11, 1, 8 }, /* q */ + { 1520, 6, 8, 1, 5 }, /* r */ + { 1536, 6, 8, 0, 8 }, /* s */ /* Patched, left 1 -> 0 */ + { 1552, 4, 10, 0, 4 }, /* t */ + { 1572, 6, 8, 1, 8 }, /* u */ + { 1588, 6, 8, 0, 7 }, /* v */ + { 1604, 6, 8, 0, 10 }, /* w */ + { 1620, 6, 8, 0, 7 }, /* x */ + { 1636, 6, 11, 0, 7 }, /* y */ + { 1658, 6, 8, 1, 8 }, /* z */ + { 1674, 3, 14, 1, 5 }, /* { */ + { 1702, 3, 14, 1, 3 }, /* | */ + { 1730, 3, 14, 0, 5 }, /* } */ + { 1758, 8, 2, 1, 9 }, /* ~ */ + { 1762, 13, 1, 0, 4 }, /* NBSP */ + { 1764, 6, 10, 2, 5 }, /* ¡ */ + { 1784, 4, 10, 1, 8 }, /* ¢ */ + { 1804, 4, 10, 1, 8 }, /* £ */ + { 1824, 6, 6, 1, 8 }, /* ¤ */ + { 1836, 4, 10, 0, 7 }, /* ¥ */ + { 1856, 3, 14, 1, 3 }, /* ¦ */ + { 1884, 3, 12, 1, 8 }, /* § */ + { 1908, 4, 1, 1, 6 }, /* ¨ */ + { 1910, 3, 11, 1, 12 }, /* © */ + { 1932, 4, 5, 1, 6 }, /* ª */ + { 1942, 7, 6, 1, 8 }, /* « */ + { 1954, 9, 4, 0, 8 }, /* ¬ */ + { 0, 17, 0, 0, 0 }, /* SHY */ + { 1962, 3, 11, 1, 12 }, /* ® */ + { 1984, 3, 1, 0, 8 }, /* ¯ */ + { 1986, 4, 4, 1, 6 }, /* ° */ + { 1994, 5, 9, 1, 9 }, /* ± */ + { 2012, 4, 6, 0, 4 }, /* ² */ + { 2024, 4, 6, 0, 4 }, /* ³ */ + { 2036, 3, 2, 1, 5 }, /* ´ */ + { 2040, 6, 11, 1, 9 }, /* µ */ + { 2062, 4, 13, 0, 7 }, /* ¶ */ + { 2088, 9, 1, 2, 5 }, /* · */ + { 2090, 14, 3, 0, 4 }, /* ¸ */ + { 2096, 4, 6, 1, 5 }, /* ¹ */ + { 2108, 4, 5, 1, 6 }, /* º */ + { 2118, 7, 6, 1, 8 }, /* » */ + { 2130, 4, 11, 1, 12 }, /* ¼ */ + { 2152, 4, 10, 1, 12 }, /* ½ */ + { 2172, 4, 11, 1, 12 }, /* ¾ */ + { 2194, 6, 10, 1, 8 }, /* ¿ */ + { 2214, 1, 2, 0, 9 }, /* À */ + { 2218, 1, 2, 0, 9 }, /* Á */ + { 2222, 1, 2, 0, 9 }, /* Â */ + { 2226, 1, 2, 0, 9 }, /* Ã */ + { 2230, 2, 1, 0, 10 }, /* Ä */ + { 2232, 1, 2, 0, 9 }, /* Å */ + { 2236, 4, 10, 1, 14 }, /* Æ */ + { 2256, 4, 13, 1, 10 }, /* Ç */ + { 2282, 1, 2, 1, 9 }, /* È */ + { 2286, 1, 2, 1, 9 }, /* É */ + { 2290, 1, 2, 1, 9 }, /* Ê */ + { 2294, 2, 1, 1, 9 }, /* Ë */ + { 2296, 1, 2, 0, 3 }, /* Ì */ + { 2300, 1, 2, 1, 3 }, /* Í */ + { 2304, 1, 13, 0, 5 }, /* Î */ + { 2330, 2, 12, 1, 6 }, /* Ï */ + { 2354, 4, 10, 1, 11 }, /* Ð */ + { 2374, 1, 2, 1, 10 }, /* Ñ */ + { 2378, 1, 2, 1, 11 }, /* Ò */ + { 2382, 1, 2, 1, 11 }, /* Ó */ + { 2386, 1, 2, 1, 11 }, /* Ô */ + { 2390, 1, 2, 1, 11 }, /* Õ */ + { 2394, 2, 1, 1, 11 }, /* Ö */ + { 2396, 6, 6, 1, 8 }, /* × */ + { 2408, 3, 11, 1, 11 }, /* Ø */ + { 2430, 1, 2, 1, 10 }, /* Ù */ + { 2434, 1, 2, 1, 10 }, /* Ú */ + { 2438, 1, 2, 1, 10 }, /* Û */ + { 2442, 2, 1, 1, 10 }, /* Ü */ + { 2444, 1, 2, 0, 9 }, /* Ý */ + { 2448, 4, 10, 1, 9 }, /* Þ */ + { 2468, 3, 11, 1, 9 }, /* ß */ + { 2490, 3, 2, 1, 8 }, /* à */ + { 2494, 3, 2, 1, 8 }, /* á */ + { 2498, 3, 2, 1, 8 }, /* â */ + { 2502, 3, 2, 1, 8 }, /* ã */ + { 2506, 4, 1, 1, 8 }, /* ä */ + { 2508, 2, 3, 1, 8 }, /* å */ + { 2514, 6, 8, 1, 13 }, /* æ */ + { 2530, 6, 11, 1, 8 }, /* ç */ + { 2552, 3, 2, 1, 8 }, /* è */ + { 2556, 3, 2, 1, 8 }, /* é */ + { 2560, 3, 2, 1, 8 }, /* ê */ + { 2564, 4, 1, 1, 8 }, /* ë */ + { 2566, 3, 11, 0, 4 }, /* ì */ + { 2588, 3, 11, 0, 4 }, /* í */ + { 2610, 3, 11, 0, 5 }, /* î */ + { 2632, 4, 10, 1, 6 }, /* ï */ + { 2652, 3, 11, 1, 9 }, /* ð */ + { 2674, 3, 2, 1, 8 }, /* ñ */ + { 2678, 3, 2, 1, 8 }, /* ò */ + { 2682, 3, 2, 1, 8 }, /* ó */ + { 2686, 3, 2, 1, 8 }, /* ô */ + { 2690, 3, 2, 1, 8 }, /* õ */ + { 2694, 4, 1, 1, 8 }, /* ö */ + { 2696, 6, 6, 1, 9 }, /* ÷ */ + { 2708, 6, 8, 0, 8 }, /* ø */ + { 2724, 3, 2, 1, 8 }, /* ù */ + { 2728, 3, 2, 1, 8 }, /* ú */ + { 2732, 3, 2, 1, 8 }, /* û */ + { 2736, 4, 1, 1, 8 }, /* ü */ + { 2738, 3, 2, 1, 8 }, /* ý */ + { 2742, 3, 14, 1, 8 }, /* þ */ + { 2770, 4, 1, 1, 8 }, /* ÿ */ +}; + +static const char font_normal_bases[64] = { + 'A', 'A', 'A', 'A', 'A', 'A', 0 , 0 , 'E', 'E', 'E', 'E', 'I', 'I', 0 , 0 , /*C0-CF*/ + 0 , 'N', 'O', 'O', 'O', 'O', 'O', 0 , 0 , 'U', 'U', 'U', 'U', 'Y', 0 , 0 , /*D0-DF*/ + 'a', 'a', 'a', 'a', 'a', 'a', 0 , 0 , 'e', 'e', 'e', 'e', 'i', 'i', 0 , 0 , /*E0-EF*/ + 0 , 'n', 'o', 'o', 'o', 'o', 'o', 0 , 0 , 'u', 'u', 'u', 'u', 'y', 0 , 'y', /*F0-FF*/ +}; + +/* FT_Set_Pixel_Sizes(Arimo-Bold, width 0, height 16) */ + +#define FONT_NORMAL_BOLD_HEIGHT 16 +#define FONT_NORMAL_BOLD_BIT_WIDTH 16 +#define FONT_NORMAL_BOLD_BIT_HEIGHT 19 + +/* Each character is 16 bits wide */ +static const unsigned char font_normal_bold[3188] = { + 0x00,0x00, /* SP */ + 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0xC0,0x00, /* ! */ + 0xD8,0x00, 0xD8,0x00, 0xD8,0x00, 0xD8,0x00, /* " */ + 0x13,0x00, 0x33,0x00, 0x32,0x00, 0x22,0x00, 0xFF,0x00, 0x26,0x00, 0x66,0x00, 0x64,0x00, 0xFF,0x00, 0x44,0x00, 0x4C,0x00, 0xC8,0x00, /* # */ + 0x7C,0x00, 0xD6,0x00, 0xD2,0x00, 0xD0,0x00, 0xF8,0x00, 0x7E,0x00, 0x1F,0x00, 0x13,0x00, 0xD3,0x00, 0xD3,0x00, 0xFE,0x00, 0x7C,0x00, 0x10,0x00, /* $ */ + 0x78,0x20, 0xCC,0x60, 0xCC,0xC0, 0xCC,0x80, 0xCD,0x80, 0xCD,0x78, 0xCE,0xCC, 0x7E,0xCC, 0x04,0xCC, 0x0C,0xCC, 0x18,0xCC, 0x10,0x78, /* % */ + 0x1E,0x00, 0x33,0x00, 0x33,0x00, 0x37,0x00, 0x3E,0x00, 0x3C,0x00, 0x78,0xC0, 0xED,0x80, 0xCD,0x80, 0xC7,0x80, 0xE7,0x00, 0x7F,0xE0, /* & */ + 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, /* ' */ + 0x30,0x00, 0x60,0x00, 0x60,0x00, 0x60,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0x60,0x00, 0x60,0x00, 0x60,0x00, 0x30,0x00, /* ( */ + 0xC0,0x00, 0x60,0x00, 0x60,0x00, 0x60,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x60,0x00, 0x60,0x00, 0x60,0x00, 0xC0,0x00, /* ) */ + 0x30,0x00, 0x34,0x00, 0xFC,0x00, 0x30,0x00, 0x78,0x00, 0x48,0x00, /* * */ + 0x18,0x00, 0x18,0x00, 0x18,0x00, 0xFF,0x00, 0x18,0x00, 0x18,0x00, 0x18,0x00, 0x18,0x00, /* + */ + 0xC0,0x00, 0x40,0x00, 0x40,0x00, 0x80,0x00, /* , */ + 0xF0,0x00, /* - */ + 0xC0,0x00, /* . */ + 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x20,0x00, 0x60,0x00, 0x60,0x00, 0x60,0x00, 0x60,0x00, 0x60,0x00, 0xC0,0x00, 0xC0,0x00, /* / */ + 0x3C,0x00, 0x66,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xC2,0x00, 0x66,0x00, 0x3C,0x00, /* 0 */ + 0x38,0x00, 0x78,0x00, 0xF8,0x00, 0x98,0x00, 0x18,0x00, 0x18,0x00, 0x18,0x00, 0x18,0x00, 0x18,0x00, 0x18,0x00, 0x18,0x00, 0xFE,0x00, /* 1 */ + 0x3C,0x00, 0x62,0x00, 0xE3,0x00, 0x03,0x00, 0x07,0x00, 0x07,0x00, 0x1E,0x00, 0x3C,0x00, 0x38,0x00, 0x70,0x00, 0xE0,0x00, 0xFF,0x00, /* 2 */ + 0x7C,0x00, 0xE6,0x00, 0xC6,0x00, 0x06,0x00, 0x0E,0x00, 0x38,0x00, 0x0C,0x00, 0x06,0x00, 0x46,0x00, 0xC6,0x00, 0xEC,0x00, 0x78,0x00, /* 3 */ + 0x0E,0x00, 0x0E,0x00, 0x1E,0x00, 0x1E,0x00, 0x36,0x00, 0x66,0x00, 0x66,0x00, 0xC6,0x00, 0xFF,0x80, 0x06,0x00, 0x06,0x00, 0x06,0x00, /* 4 */ + 0x7E,0x00, 0x60,0x00, 0x60,0x00, 0x60,0x00, 0x60,0x00, 0x7E,0x00, 0x67,0x00, 0x03,0x00, 0x03,0x00, 0x63,0x00, 0x66,0x00, 0x3C,0x00, /* 5 */ + 0x3C,0x00, 0x66,0x00, 0x42,0x00, 0xC0,0x00, 0xC0,0x00, 0xFE,0x00, 0xE7,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0x66,0x00, 0x3C,0x00, /* 6 */ + 0xFF,0x00, 0x07,0x00, 0x06,0x00, 0x0E,0x00, 0x0C,0x00, 0x1C,0x00, 0x18,0x00, 0x18,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, /* 7 */ + 0x7C,0x00, 0xC6,0x00, 0xC6,0x00, 0xC6,0x00, 0xC6,0x00, 0x3C,0x00, 0xE7,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0x66,0x00, 0x3C,0x00, /* 8 */ + 0x3C,0x00, 0x66,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xE7,0x00, 0x7F,0x00, 0x03,0x00, 0x03,0x00, 0xC2,0x00, 0x66,0x00, 0x3C,0x00, /* 9 */ + 0xC0,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0xC0,0x00, /* : */ + 0xC0,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0xC0,0x00, 0x40,0x00, 0x40,0x00, 0x80,0x00, /* ; */ + 0x01,0x00, 0x0F,0x00, 0x3C,0x00, 0xF0,0x00, 0xC0,0x00, 0xF0,0x00, 0x3E,0x00, 0x0F,0x00, 0x01,0x00, /* < */ + 0xFF,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0xFF,0x00, /* = */ + 0x80,0x00, 0xF0,0x00, 0x3C,0x00, 0x0F,0x00, 0x03,0x00, 0x0F,0x00, 0x3C,0x00, 0xF0,0x00, 0x80,0x00, /* > */ + 0x3C,0x00, 0x66,0x00, 0xE3,0x00, 0x03,0x00, 0x03,0x00, 0x07,0x00, 0x0E,0x00, 0x1C,0x00, 0x18,0x00, 0x00,0x00, 0x00,0x00, 0x18,0x00, /* ? */ + 0x07,0xE0, 0x1C,0x10, 0x30,0x08, 0x67,0xAC, 0x6C,0x64, 0xC8,0x64, 0xD8,0x44, 0xD8,0x44, 0xD8,0xCC, 0xD8,0xC8, 0xEF,0x70, 0x60,0x00, 0x38,0x30, 0x0F,0xC0, /* @ */ + 0x0E,0x00, 0x0F,0x00, 0x0F,0x00, 0x1F,0x00, 0x1B,0x80, 0x19,0x80, 0x39,0x80, 0x31,0xC0, 0x3F,0xC0, 0x70,0xC0, 0x60,0xE0, 0x60,0x60, /* A */ + 0xFE,0x00, 0xC3,0x80, 0xC1,0x80, 0xC1,0x80, 0xC1,0x80, 0xC3,0x00, 0xFF,0x00, 0xC1,0xC0, 0xC0,0xC0, 0xC0,0xC0, 0xC1,0xC0, 0xFF,0x00, /* B */ + 0x1F,0x00, 0x61,0x80, 0x60,0xC0, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x80, 0x60,0xC0, 0x71,0x80, 0x1F,0x00, /* C */ + 0xFE,0x00, 0xC3,0x00, 0xC1,0x80, 0xC0,0xC0, 0xC0,0xC0, 0xC0,0xC0, 0xC0,0xC0, 0xC0,0xC0, 0xC0,0xC0, 0xC1,0x80, 0xC3,0x00, 0xFE,0x00, /* D */ + 0xFF,0x80, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xFF,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xFF,0x80, /* E */ + 0xFF,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xFF,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, /* F */ + 0x1F,0x80, 0x31,0xC0, 0x60,0xE0, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC3,0xE0, 0xC0,0x60, 0xC0,0x60, 0x60,0x60, 0x30,0xE0, 0x1F,0xC0, /* G */ + 0xC1,0x80, 0xC1,0x80, 0xC1,0x80, 0xC1,0x80, 0xC1,0x80, 0xC1,0x80, 0xFF,0x80, 0xC1,0x80, 0xC1,0x80, 0xC1,0x80, 0xC1,0x80, 0xC1,0x80, /* H */ + 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, /* I */ + 0x1E,0x00, 0x06,0x00, 0x06,0x00, 0x06,0x00, 0x06,0x00, 0x06,0x00, 0x06,0x00, 0x06,0x00, 0x06,0x00, 0xC6,0x00, 0xE4,0x00, 0x78,0x00, /* J */ + 0xC3,0x80, 0xC3,0x00, 0xC6,0x00, 0xCC,0x00, 0xDC,0x00, 0xF8,0x00, 0xFC,0x00, 0xCE,0x00, 0xC6,0x00, 0xC3,0x00, 0xC3,0x80, 0xC1,0xC0, /* K */ + 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xFF,0x00, /* L */ + 0xE0,0xE0, 0xE0,0xE0, 0xF1,0xE0, 0xF1,0xE0, 0xD1,0x60, 0xDB,0x60, 0xDB,0x60, 0xDB,0x60, 0xCA,0x60, 0xCE,0x60, 0xCE,0x60, 0xC4,0x60, /* M */ + 0xE1,0x80, 0xE1,0x80, 0xF1,0x80, 0xF1,0x80, 0xD9,0x80, 0xD9,0x80, 0xCD,0x80, 0xCD,0x80, 0xC7,0x80, 0xC7,0x80, 0xC3,0x80, 0xC3,0x80, /* N */ + 0x1F,0x00, 0x31,0x80, 0x60,0xC0, 0xC0,0x60, 0xC0,0x60, 0xC0,0x60, 0xC0,0x60, 0xC0,0x60, 0xC0,0x60, 0x60,0xC0, 0x31,0x80, 0x1F,0x00, /* O */ + 0xFE,0x00, 0xC3,0x00, 0xC1,0x80, 0xC1,0x80, 0xC1,0x80, 0xC1,0x80, 0xC3,0x00, 0xFE,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, /* P */ + 0x1F,0x00, 0x31,0x80, 0x60,0xC0, 0xC0,0x60, 0xC0,0x60, 0xC0,0x60, 0xC0,0x60, 0xC0,0x60, 0xE0,0xE0, 0x60,0xC0, 0x3F,0xC0, 0x1F,0x80, 0x06,0x00, 0x07,0x00, 0x03,0xC0, /* Q */ + 0xFE,0x00, 0xC3,0x80, 0xC1,0x80, 0xC1,0x80, 0xC1,0x80, 0xC3,0x00, 0xFF,0x00, 0xC6,0x00, 0xC7,0x00, 0xC3,0x00, 0xC3,0x80, 0xC1,0x80, /* R */ + 0x1F,0x00, 0x21,0x80, 0x60,0x80, 0x60,0x00, 0x7C,0x00, 0x7F,0x80, 0x1F,0xC0, 0x03,0xC0, 0x00,0xC0, 0x60,0xC0, 0x61,0x80, 0x3F,0x00, /* S */ + 0xFF,0x80, 0x0C,0x00, 0x0C,0x00, 0x0C,0x00, 0x0C,0x00, 0x0C,0x00, 0x0C,0x00, 0x0C,0x00, 0x0C,0x00, 0x0C,0x00, 0x0C,0x00, 0x0C,0x00, /* T */ + 0xC1,0x80, 0xC1,0x80, 0xC1,0x80, 0xC1,0x80, 0xC1,0x80, 0xC1,0x80, 0xC1,0x80, 0xC1,0x80, 0xC1,0x80, 0xC1,0x80, 0x63,0x00, 0x3E,0x00, /* U */ + 0xE0,0xC0, 0x60,0xC0, 0x61,0xC0, 0x71,0x80, 0x31,0x80, 0x31,0x80, 0x33,0x00, 0x1B,0x00, 0x1B,0x00, 0x1E,0x00, 0x0E,0x00, 0x0E,0x00, /* V */ + 0xC3,0x86, 0xE3,0x8E, 0x63,0x8E, 0x62,0xCC, 0x66,0xCC, 0x76,0xCC, 0x36,0xDC, 0x36,0x58, 0x34,0x78, 0x3C,0x78, 0x1C,0x78, 0x1C,0x70, /* W */ + 0x61,0xC0, 0x71,0x80, 0x33,0x80, 0x1B,0x00, 0x1F,0x00, 0x0E,0x00, 0x1E,0x00, 0x1F,0x00, 0x3B,0x80, 0x31,0x80, 0x61,0xC0, 0xE0,0xC0, /* X */ + 0xE1,0xC0, 0x61,0x80, 0x73,0x80, 0x33,0x00, 0x1E,0x00, 0x1E,0x00, 0x0C,0x00, 0x0C,0x00, 0x0C,0x00, 0x0C,0x00, 0x0C,0x00, 0x0C,0x00, /* Y */ + 0x7F,0x80, 0x03,0x80, 0x07,0x00, 0x06,0x00, 0x0E,0x00, 0x0C,0x00, 0x1C,0x00, 0x38,0x00, 0x30,0x00, 0x70,0x00, 0xE0,0x00, 0xFF,0x80, /* Z */ + 0xF0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xF0,0x00, /* [ */ + 0xC0,0x00, 0xC0,0x00, 0x60,0x00, 0x60,0x00, 0x60,0x00, 0x60,0x00, 0x60,0x00, 0x20,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, /* \ */ + 0xF0,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0xF0,0x00, /* ] */ + 0x1C,0x00, 0x1C,0x00, 0x16,0x00, 0x36,0x00, 0x33,0x00, 0x63,0x00, 0x61,0x00, 0x41,0x80, /* ^ */ + 0xFF,0x80, /* _ */ + 0xC0,0x00, 0x60,0x00, 0x30,0x00, /* ` */ + 0x7C,0x00, 0x66,0x00, 0x06,0x00, 0x06,0x00, 0x7E,0x00, 0xC6,0x00, 0xC6,0x00, 0xCE,0x00, 0x73,0x00, /* a */ + 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xDE,0x00, 0xE6,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xE6,0x00, 0xDC,0x00, /* b */ + 0x3C,0x00, 0x66,0x00, 0xC6,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC6,0x00, 0x66,0x00, 0x3C,0x00, /* c */ + 0x03,0x00, 0x03,0x00, 0x03,0x00, 0x3B,0x00, 0x67,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0x67,0x00, 0x7B,0x00, /* d */ + 0x3C,0x00, 0x66,0x00, 0xC3,0x00, 0xC3,0x00, 0xFF,0x00, 0xC0,0x00, 0xC0,0x00, 0x63,0x00, 0x3C,0x00, /* e */ + 0x38,0x00, 0x60,0x00, 0x60,0x00, 0xF8,0x00, 0x60,0x00, 0x60,0x00, 0x60,0x00, 0x60,0x00, 0x60,0x00, 0x60,0x00, 0x60,0x00, 0x60,0x00, /* f */ + 0x3B,0x00, 0x67,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0x67,0x00, 0x7B,0x00, 0x03,0x00, 0xE2,0x00, 0x7C,0x00, /* g */ + 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xDE,0x00, 0xE7,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, /* h */ + 0xC0,0x00, 0x00,0x00, 0x00,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, /* i */ + 0x30,0x00, 0x00,0x00, 0x00,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0xE0,0x00, /* j */ + 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC6,0x00, 0xCC,0x00, 0xD8,0x00, 0xF0,0x00, 0xF8,0x00, 0xDC,0x00, 0xCC,0x00, 0xCE,0x00, 0xC6,0x00, /* k */ + 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, /* l */ + 0xDC,0xE0, 0xE7,0x30, 0xC6,0x30, 0xC6,0x30, 0xC6,0x30, 0xC6,0x30, 0xC6,0x30, 0xC6,0x30, 0xC6,0x30, /* m */ + 0xDE,0x00, 0xE7,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, /* n */ + 0x3C,0x00, 0x66,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0x66,0x00, 0x3C,0x00, /* o */ + 0xDE,0x00, 0xE6,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xE6,0x00, 0xDC,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, /* p */ + 0x3B,0x00, 0x67,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0x67,0x00, 0x7B,0x00, 0x03,0x00, 0x03,0x00, 0x03,0x00, /* q */ + 0xD8,0x00, 0xE0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, /* r */ + 0x7C,0x00, 0xC6,0x00, 0xC0,0x00, 0xF8,0x00, 0x7E,0x00, 0x3E,0x00, 0x06,0x00, 0xC6,0x00, 0x7C,0x00, /* s */ + 0x20,0x00, 0x60,0x00, 0xF8,0x00, 0x60,0x00, 0x60,0x00, 0x60,0x00, 0x60,0x00, 0x60,0x00, 0x60,0x00, 0x60,0x00, 0x38,0x00, /* t */ + 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xE7,0x00, 0x7B,0x00, /* u */ + 0xE3,0x80, 0x63,0x00, 0x63,0x00, 0x67,0x00, 0x36,0x00, 0x36,0x00, 0x36,0x00, 0x1C,0x00, 0x1C,0x00, /* v */ + 0xC7,0x30, 0xC7,0x30, 0x6F,0x30, 0x6D,0x30, 0x6D,0x60, 0x69,0xE0, 0x39,0xE0, 0x38,0xE0, 0x38,0xC0, /* w */ + 0x63,0x00, 0x77,0x00, 0x36,0x00, 0x1C,0x00, 0x1C,0x00, 0x3C,0x00, 0x36,0x00, 0x67,0x00, 0xE3,0x00, /* x */ + 0xE1,0x80, 0x63,0x00, 0x63,0x00, 0x33,0x00, 0x36,0x00, 0x36,0x00, 0x1E,0x00, 0x1C,0x00, 0x1C,0x00, 0x18,0x00, 0x18,0x00, 0x70,0x00, /* y */ + 0xFC,0x00, 0x1C,0x00, 0x18,0x00, 0x38,0x00, 0x30,0x00, 0x70,0x00, 0x60,0x00, 0xC0,0x00, 0xFE,0x00, /* z */ + 0x1C,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0xC0,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x1C,0x00, /* { */ + 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, /* | */ + 0xE0,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x0C,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0xE0,0x00, /* } */ + 0xF0,0x00, 0x0F,0x00, /* ~ */ + 0x00,0x00, /* NBSP */ + 0xC0,0x00, 0x00,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, /* ¡ */ + 0x18,0x00, 0x18,0x00, 0x7E,0x00, 0xE7,0x00, 0xC3,0x00, 0xC0,0x00, 0xC0,0x00, 0xC3,0x00, 0xE7,0x00, 0x7E,0x00, 0x18,0x00, 0x18,0x00, /* ¢ */ + 0x3E,0x00, 0x73,0x00, 0x62,0x00, 0x60,0x00, 0x60,0x00, 0x60,0x00, 0xFC,0x00, 0x60,0x00, 0x60,0x00, 0x61,0x80, 0xC3,0x00, 0xFF,0x00, /* £ */ + 0x00,0x00, 0x7F,0x00, 0x77,0x00, 0x63,0x00, 0x63,0x00, 0x77,0x00, 0x7F,0x00, 0x40,0x00, /* ¤ */ + 0x61,0x80, 0x63,0x00, 0x33,0x00, 0x32,0x00, 0x1E,0x00, 0x1E,0x00, 0x7F,0x00, 0x0C,0x00, 0x0C,0x00, 0x7F,0x00, 0x0C,0x00, 0x0C,0x00, /* ¥ */ + 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, /* ¦ */ + 0x7E,0x00, 0xC7,0x00, 0xC0,0x00, 0xF8,0x00, 0x7E,0x00, 0xC7,0x00, 0xC3,0x00, 0xF7,0x00, 0x7E,0x00, 0x07,0x00, 0x03,0x00, 0xC3,0x00, 0x7E,0x00, /* § */ + 0xD8,0x00, /* ¨ */ + 0x1F,0x00, 0x21,0x80, 0x40,0x40, 0x5E,0x60, 0xB1,0x20, 0xB0,0x20, 0xB0,0x20, 0xB1,0x20, 0xDE,0x40, 0x40,0x40, 0x31,0x80, 0x1F,0x00, /* © */ + 0xF0,0x00, 0x90,0x00, 0x10,0x00, 0xF0,0x00, 0x90,0x00, 0xF8,0x00, /* ª */ + 0x36,0x00, 0x6E,0x00, 0xCC,0x00, 0xCC,0x00, 0x6E,0x00, 0x36,0x00, /* « */ + 0xFF,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, /* ¬ */ + 0x1F,0x00, 0x21,0x80, 0x40,0x40, 0x5F,0x60, 0x99,0xA0, 0x99,0xA0, 0x9F,0x20, 0x9B,0x20, 0xD9,0x40, 0x40,0xC0, 0x31,0x80, 0x1F,0x00, /* ® */ + 0xFF,0x80, /* ¯ */ + 0x70,0x00, 0x88,0x00, 0x88,0x00, 0x88,0x00, 0x70,0x00, /* ° */ + 0x18,0x00, 0x18,0x00, 0x18,0x00, 0xFF,0x00, 0x18,0x00, 0x18,0x00, 0x18,0x00, 0x00,0x00, 0x00,0x00, 0xFF,0x00, /* ± */ + 0x70,0x00, 0xD8,0x00, 0x10,0x00, 0x60,0x00, 0xC0,0x00, 0xF8,0x00, /* ² */ + 0x70,0x00, 0x58,0x00, 0x18,0x00, 0x30,0x00, 0x48,0x00, 0x78,0x00, /* ³ */ + 0x30,0x00, 0x60,0x00, 0xC0,0x00, /* ´ */ + 0xC6,0x00, 0xC6,0x00, 0xC6,0x00, 0xC6,0x00, 0xC6,0x00, 0xC6,0x00, 0xC6,0x00, 0xCE,0x00, 0xFF,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, /* µ */ + 0x7F,0x00, 0xF2,0x00, 0xF2,0x00, 0xF2,0x00, 0xF2,0x00, 0x32,0x00, 0x12,0x00, 0x12,0x00, 0x12,0x00, 0x12,0x00, 0x12,0x00, 0x12,0x00, 0x12,0x00, 0x12,0x00, /* ¶ */ + 0xC0,0x00, /* · */ + 0xC0,0x00, 0x20,0x00, 0xE0,0x00, /* ¸ */ + 0x60,0x00, 0xA0,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0xF0,0x00, /* ¹ */ + 0x70,0x00, 0xD8,0x00, 0xD8,0x00, 0xD8,0x00, 0xD8,0x00, 0x70,0x00, /* º */ + 0xCC,0x00, 0x6E,0x00, 0x36,0x00, 0x36,0x00, 0x6E,0x00, 0xCC,0x00, /* » */ + 0x60,0xC0, 0xE0,0xC0, 0x61,0x80, 0x61,0x80, 0x63,0x00, 0xF6,0x00, 0x06,0xE0, 0x0C,0xE0, 0x0D,0x60, 0x1B,0x60, 0x13,0xE0, 0x30,0x60, /* ¼ */ + 0x60,0x40, 0xE0,0xC0, 0x61,0x80, 0x61,0x00, 0x63,0x00, 0xF6,0x00, 0x06,0xE0, 0x0D,0xB0, 0x0C,0x30, 0x18,0xE0, 0x31,0x80, 0x31,0xF0, /* ½ */ + 0x78,0xC0, 0xD8,0x80, 0x61,0x80, 0x1B,0x00, 0x9A,0x00, 0x76,0x00, 0x04,0xE0, 0x0C,0xE0, 0x19,0x60, 0x11,0xF0, 0x30,0x60, /* ¾ */ + 0x18,0x00, 0x00,0x00, 0x18,0x00, 0x18,0x00, 0x70,0x00, 0xE0,0x00, 0xC0,0x00, 0xC7,0x00, 0xC6,0x00, 0x7C,0x00, /* ¿ */ + 0x18,0x00, 0x0C,0x00, 0x06,0x00, /* À */ + 0x03,0x00, 0x06,0x00, 0x0C,0x00, /* Á */ + 0x0C,0x00, 0x1E,0x00, 0x33,0x00, /* Â */ + 0x39,0x00, 0x27,0x00, /* Ã */ + 0x1B,0x00, /* Ä */ + 0x0C,0x00, 0x12,0x00, /* Å */ + 0x07,0xFE, 0x05,0x80, 0x0D,0x80, 0x0D,0x80, 0x19,0x80, 0x19,0x80, 0x39,0xFE, 0x31,0x80, 0x7F,0x80, 0x61,0x80, 0xE1,0x80, 0xC1,0xFE, /* Æ */ + 0x1F,0x00, 0x71,0xC0, 0x60,0xC0, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x80, 0x60,0xC0, 0x31,0xC0, 0x1F,0x00, 0x0C,0x00, 0x06,0x00, 0x0E,0x00, /* Ç */ + 0x30,0x00, 0x18,0x00, 0x0C,0x00, /* È */ + 0x06,0x00, 0x0C,0x00, 0x18,0x00, /* É */ + 0x18,0x00, 0x3C,0x00, 0x66,0x00, /* Ê */ + 0x36,0x00, /* Ë */ + 0xE0,0x00, 0x60,0x00, 0x30,0x00, /* Ì */ + 0x38,0x00, 0x30,0x00, 0x60,0x00, /* Í */ + 0x30,0x00, 0x78,0x00, 0xCC,0x00, 0x00,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, /* Î */ + 0xD8,0x00, 0x00,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, /* Ï */ + 0x7F,0x00, 0x61,0x80, 0x60,0xC0, 0x60,0x60, 0x60,0x60, 0x60,0x60, 0xFC,0x60, 0x60,0x60, 0x60,0x60, 0x60,0xC0, 0x61,0x80, 0x7F,0x00, /* Ð */ + 0x3B,0x00, 0x2F,0x00, /* Ñ */ + 0x1C,0x00, 0x0E,0x00, 0x03,0x00, /* Ò */ + 0x03,0x00, 0x07,0x00, 0x0C,0x00, /* Ó */ + 0x06,0x00, 0x0F,0x00, 0x19,0x80, /* Ô */ + 0x1C,0x80, 0x13,0x80, /* Õ */ + 0x1B,0x00, /* Ö */ + 0x02,0x00, 0xC7,0x00, 0x6E,0x00, 0x3C,0x00, 0x38,0x00, 0x7C,0x00, 0xEE,0x00, 0xC6,0x00, 0x02,0x00, /* × */ + 0x1F,0xC0, 0x31,0xC0, 0x61,0xE0, 0xC3,0x60, 0xC2,0x60, 0xC6,0x60, 0xCC,0x60, 0xC8,0x60, 0xD8,0x40, 0xF0,0xC0, 0x71,0x80, 0x7F,0x00, 0xC0,0x00, /* Ø */ + 0x30,0x00, 0x18,0x00, 0x0C,0x00, /* Ù */ + 0x06,0x00, 0x0E,0x00, 0x08,0x00, /* Ú */ + 0x08,0x00, 0x1E,0x00, 0x37,0x00, /* Û */ + 0x33,0x00, /* Ü */ + 0x07,0x00, 0x0C,0x00, /* Ý */ + 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xFE,0x00, 0xC3,0x80, 0xC1,0x80, 0xC1,0x80, 0xC3,0x80, 0xFE,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, /* Þ */ + 0x3C,0x00, 0x46,0x00, 0xC6,0x00, 0xCE,0x00, 0xCC,0x00, 0xD8,0x00, 0xDC,0x00, 0xCE,0x00, 0xC7,0x00, 0xC3,0x00, 0xC3,0x00, 0xDE,0x00, /* ß */ + 0x30,0x00, 0x18,0x00, /* à */ + 0x1C,0x00, 0x30,0x00, /* á */ + 0x3C,0x00, 0x66,0x00, /* â */ + 0x72,0x00, 0x5E,0x00, /* ã */ + 0x66,0x00, 0x00,0x00, /* ä */ + 0x18,0x00, 0x24,0x00, 0x24,0x00, 0x18,0x00, /* å */ + 0x7F,0xE0, 0x67,0x30, 0x06,0x18, 0x06,0x18, 0x7F,0xF8, 0xC6,0x00, 0xC6,0x00, 0xCF,0x38, 0x79,0xF0, /* æ */ + 0x3C,0x00, 0x66,0x00, 0xC7,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC7,0x00, 0x66,0x00, 0x3C,0x00, 0x10,0x00, 0x08,0x00, 0x38,0x00, /* ç */ + 0x38,0x00, 0x0C,0x00, /* è */ + 0x0C,0x00, 0x18,0x00, /* é */ + 0x3C,0x00, 0x66,0x00, /* ê */ + 0x66,0x00, 0x00,0x00, /* ë */ + 0x60,0x00, 0x30,0x00, 0x00,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, /* ì */ + 0x60,0x00, 0xC0,0x00, 0x00,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, /* í */ + 0x78,0x00, 0xCC,0x00, 0x00,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, /* î */ + 0xD8,0x00, 0x00,0x00, 0x00,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, /* ï */ + 0x36,0x00, 0x1C,0x00, 0x3C,0x00, 0x06,0x00, 0x3E,0x00, 0x67,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0x66,0x00, 0x3C,0x00, /* ð */ + 0x7A,0x00, 0x5E,0x00, /* ñ */ + 0x38,0x00, 0x08,0x00, /* ò */ + 0x0C,0x00, 0x18,0x00, /* ó */ + 0x3C,0x00, 0x66,0x00, /* ô */ + 0x72,0x00, 0x4E,0x00, /* õ */ + 0x36,0x00, 0x00,0x00, /* ö */ + 0x18,0x00, 0x00,0x00, 0x00,0x00, 0xFF,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x18,0x00, /* ÷ */ + 0x00,0xC0, 0x1F,0x80, 0x33,0x80, 0x63,0x80, 0x65,0x80, 0x6D,0x80, 0x69,0x80, 0x71,0x80, 0x73,0x00, 0x7E,0x00, 0xC0,0x00, /* ø */ + 0x30,0x00, 0x18,0x00, /* ù */ + 0x0E,0x00, 0x18,0x00, /* ú */ + 0x3C,0x00, 0x66,0x00, /* û */ + 0x66,0x00, 0x00,0x00, /* ü */ + 0x06,0x00, 0x0C,0x00, /* ý */ + 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, 0xDE,0x00, 0xE6,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xE6,0x00, 0xDC,0x00, 0xC0,0x00, 0xC0,0x00, 0xC0,0x00, /* þ */ + 0x36,0x00, 0x00,0x00, /* ÿ */ +}; + +static const struct font_info font_normal_bold_infos[191] = { + { 0, 15, 1, 0, 4 }, /* SP */ + { 2, 4, 12, 2, 6 }, /* ! */ + { 26, 4, 4, 1, 7 }, /* " */ + { 34, 4, 12, 1, 10 }, /* # */ + { 58, 4, 13, 1, 10 }, /* $ */ + { 84, 4, 12, 1, 16 }, /* % */ + { 108, 4, 12, 1, 12 }, /* & */ + { 132, 4, 4, 1, 4 }, /* ' */ + { 140, 4, 15, 1, 5 }, /* ( */ + { 170, 4, 15, 0, 5 }, /* ) */ + { 200, 4, 6, 0, 6 }, /* * */ + { 212, 7, 8, 1, 10 }, /* + */ + { 228, 15, 4, 1, 4 }, /* , */ + { 236, 11, 1, 1, 6 }, /* - */ + { 238, 15, 1, 1, 4 }, /* . */ + { 240, 4, 12, 0, 4 }, /* / */ + { 264, 4, 12, 1, 9 }, /* 0 */ + { 288, 4, 12, 1, 9 }, /* 1 */ + { 312, 4, 12, 1, 9 }, /* 2 */ + { 336, 4, 12, 1, 9 }, /* 3 */ + { 360, 4, 12, 1, 9 }, /* 4 */ + { 384, 4, 12, 0, 9 }, /* 5 */ + { 408, 4, 12, 1, 9 }, /* 6 */ + { 432, 4, 12, 1, 9 }, /* 7 */ + { 456, 4, 12, 1, 9 }, /* 8 */ + { 480, 4, 12, 1, 9 }, /* 9 */ + { 504, 7, 9, 2, 6 }, /* : */ + { 522, 7, 12, 2, 6 }, /* ; */ + { 546, 6, 9, 1, 10 }, /* < */ + { 564, 7, 5, 1, 10 }, /* = */ + { 574, 6, 9, 1, 10 }, /* > */ + { 592, 4, 12, 0, 9 }, /* ? */ + { 616, 4, 14, 1, 16 }, /* @ */ + { 644, 4, 12, 0, 12 }, /* A */ + { 668, 4, 12, 1, 12 }, /* B */ + { 692, 4, 12, 1, 12 }, /* C */ + { 716, 4, 12, 1, 12 }, /* D */ + { 740, 4, 12, 1, 11 }, /* E */ + { 764, 4, 12, 1, 10 }, /* F */ + { 788, 4, 12, 1, 13 }, /* G */ + { 812, 4, 12, 1, 11 }, /* H */ + { 836, 4, 12, 1, 4 }, /* I */ + { 860, 4, 12, 0, 8 }, /* J */ + { 884, 4, 12, 1, 11 }, /* K */ + { 908, 4, 12, 1, 10 }, /* L */ + { 932, 4, 12, 1, 13 }, /* M */ + { 956, 4, 12, 1, 11 }, /* N */ + { 980, 4, 12, 1, 13 }, /* O */ + { 1004, 4, 12, 1, 11 }, /* P */ + { 1028, 4, 15, 1, 13 }, /* Q */ + { 1058, 4, 12, 1, 11 }, /* R */ + { 1082, 4, 12, 0, 11 }, /* S */ + { 1106, 4, 12, 1, 11 }, /* T */ + { 1130, 4, 12, 1, 11 }, /* U */ + { 1154, 4, 12, 0, 11 }, /* V */ + { 1178, 4, 12, 0, 15 }, /* W */ + { 1202, 4, 12, 0, 11 }, /* X */ + { 1226, 4, 12, 0, 10 }, /* Y */ + { 1250, 4, 12, 1, 11 }, /* Z */ + { 1274, 4, 15, 1, 6 }, /* [ */ + { 1304, 4, 12, 0, 4 }, /* \ */ + { 1328, 4, 15, 1, 6 }, /* ] */ + { 1358, 4, 8, 0, 9 }, /* ^ */ + { 1374, 17, 1, 0, 9 }, /* _ */ + { 1376, 3, 3, 1, 6 }, /* ` */ + { 1382, 7, 9, 1, 9 }, /* a */ + { 1400, 4, 12, 1, 10 }, /* b */ + { 1424, 7, 9, 1, 9 }, /* c */ + { 1442, 4, 12, 1, 10 }, /* d */ + { 1466, 7, 9, 1, 10 }, /* e */ + { 1484, 4, 12, 1, 6 }, /* f */ + { 1508, 7, 12, 1, 10 }, /* g */ + { 1532, 4, 12, 1, 10 }, /* h */ + { 1556, 4, 12, 1, 4 }, /* i */ + { 1580, 4, 15, 0, 4 }, /* j (left -1 < 0) */ + { 1610, 4, 12, 1, 9 }, /* k */ + { 1634, 4, 12, 1, 4 }, /* l */ + { 1658, 7, 9, 1, 14 }, /* m */ + { 1676, 7, 9, 1, 10 }, /* n */ + { 1694, 7, 9, 1, 10 }, /* o */ + { 1712, 7, 12, 1, 10 }, /* p */ + { 1736, 7, 12, 1, 10 }, /* q */ + { 1760, 7, 9, 1, 7 }, /* r */ + { 1778, 7, 9, 1, 9 }, /* s */ + { 1796, 5, 11, 1, 7 }, /* t */ + { 1818, 7, 9, 1, 10 }, /* u */ + { 1836, 7, 9, 0, 9 }, /* v */ + { 1854, 7, 9, 0, 12 }, /* w */ + { 1872, 7, 9, 0, 9 }, /* x */ + { 1890, 7, 12, 0, 9 }, /* y */ + { 1914, 7, 9, 1, 9 }, /* z */ + { 1932, 4, 15, 1, 8 }, /* { */ + { 1962, 4, 15, 1, 4 }, /* | */ + { 1992, 4, 15, 1, 8 }, /* } */ + { 2022, 9, 2, 1, 10 }, /* ~ */ + { 2026, 15, 1, 0, 4 }, /* NBSP */ + { 2028, 7, 10, 2, 6 }, /* ¡ */ + { 2048, 4, 12, 1, 10 }, /* ¢ */ + { 2072, 4, 12, 1, 10 }, /* £ */ + { 2096, 6, 8, 0, 9 }, /* ¤ */ + { 2112, 4, 12, 0, 9 }, /* ¥ */ + { 2136, 4, 15, 1, 4 }, /* ¦ */ + { 2166, 4, 13, 1, 10 }, /* § */ + { 2192, 5, 1, 1, 7 }, /* ¨ */ + { 2194, 4, 12, 1, 13 }, /* © */ + { 2218, 5, 6, 1, 6 }, /* ª */ + { 2230, 9, 6, 1, 9 }, /* « */ + { 2242, 10, 5, 0, 10 }, /* ¬ */ + { 0, 19, 0, 0, 0 }, /* SHY */ + { 2252, 4, 12, 1, 13 }, /* ® */ + { 2276, 3, 1, 0, 9 }, /* ¯ */ + { 2278, 4, 5, 1, 7 }, /* ° */ + { 2288, 6, 10, 1, 10 }, /* ± */ + { 2308, 5, 6, 1, 6 }, /* ² */ + { 2320, 5, 6, 0, 6 }, /* ³ */ + { 2332, 3, 3, 1, 6 }, /* ´ */ + { 2338, 7, 12, 1, 9 }, /* µ */ + { 2362, 4, 14, 1, 10 }, /* ¶ */ + { 2390, 10, 1, 1, 5 }, /* · */ + { 2392, 16, 3, 1, 5 }, /* ¸ */ + { 2398, 5, 6, 0, 5 }, /* ¹ */ + { 2410, 5, 6, 1, 7 }, /* º */ + { 2422, 9, 6, 1, 9 }, /* » */ + { 2434, 4, 12, 1, 13 }, /* ¼ */ + { 2458, 4, 12, 1, 14 }, /* ½ */ + { 2482, 5, 11, 1, 14 }, /* ¾ */ + { 2504, 7, 10, 1, 9 }, /* ¿ */ + { 2524, 0, 3, 0, 11 }, /* À */ + { 2530, 0, 3, 0, 11 }, /* Á */ + { 2536, 0, 3, 1, 12 }, /* Â */ + { 2542, 1, 2, 1, 12 }, /* Ã */ + { 2546, 2, 1, 0, 11 }, /* Ä */ + { 2548, 1, 2, 1, 12 }, /* Å */ + { 2552, 4, 12, 0, 16 }, /* Æ */ + { 2576, 4, 15, 1, 12 }, /* Ç */ + { 2606, 0, 3, 1, 11 }, /* È */ + { 2612, 0, 3, 1, 11 }, /* É */ + { 2618, 0, 3, 1, 11 }, /* Ê */ + { 2624, 2, 1, 1, 11 }, /* Ë */ + { 2626, 0, 3, 0, 4 }, /* Ì (left -1 < 0) */ + { 2632, 0, 3, 0, 4 }, /* Í */ + { 2638, 0, 16, 0, 4 }, /* Î (left -1 < 0) */ + { 2670, 2, 14, 0, 5 }, /* Ï */ + { 2698, 4, 12, 1, 13 }, /* Ð */ + { 2722, 1, 2, 1, 11 }, /* Ñ */ + { 2726, 0, 3, 1, 13 }, /* Ò */ + { 2732, 0, 3, 1, 13 }, /* Ó */ + { 2738, 0, 3, 1, 13 }, /* Ô */ + { 2744, 1, 2, 1, 13 }, /* Õ */ + { 2748, 2, 1, 1, 13 }, /* Ö */ + { 2750, 6, 9, 1, 9 }, /* × */ + { 2768, 4, 13, 1, 13 }, /* Ø */ + { 2794, 0, 3, 1, 11 }, /* Ù */ + { 2800, 0, 3, 1, 11 }, /* Ú */ + { 2806, 0, 3, 1, 11 }, /* Û */ + { 2812, 2, 1, 1, 11 }, /* Ü */ + { 2814, 1, 2, 0, 11 }, /* Ý */ + { 2818, 4, 12, 1, 11 }, /* Þ */ + { 2842, 4, 12, 1, 10 }, /* ß */ + { 2866, 4, 2, 1, 9 }, /* à */ + { 2870, 4, 2, 1, 9 }, /* á */ + { 2874, 4, 2, 1, 9 }, /* â */ + { 2878, 4, 2, 1, 9 }, /* ã */ + { 2882, 4, 2, 1, 9 }, /* ä */ + { 2886, 2, 4, 1, 9 }, /* å */ + { 2894, 7, 9, 1, 15 }, /* æ */ + { 2912, 7, 12, 1, 9 }, /* ç */ + { 2936, 4, 2, 1, 10 }, /* è */ + { 2940, 4, 2, 1, 10 }, /* é */ + { 2944, 4, 2, 1, 10 }, /* ê */ + { 2948, 4, 2, 1, 10 }, /* ë */ + { 2952, 4, 12, 0, 4 }, /* ì (left -1 < 0) */ + { 2976, 4, 12, 1, 4 }, /* í */ + { 3000, 4, 12, 0, 4 }, /* î (left -1 < 0) */ + { 3024, 4, 12, 0, 5 }, /* ï */ + { 3048, 4, 12, 1, 10 }, /* ð */ + { 3072, 4, 2, 1, 10 }, /* ñ */ + { 3076, 4, 2, 1, 10 }, /* ò */ + { 3080, 4, 2, 1, 10 }, /* ó */ + { 3084, 4, 2, 1, 10 }, /* ô */ + { 3088, 4, 2, 1, 10 }, /* õ */ + { 3092, 4, 2, 1, 10 }, /* ö */ + { 3096, 6, 8, 1, 10 }, /* ÷ */ + { 3112, 6, 11, 0, 10 }, /* ø */ + { 3134, 4, 2, 1, 10 }, /* ù */ + { 3138, 4, 2, 1, 10 }, /* ú */ + { 3142, 4, 2, 1, 10 }, /* û */ + { 3146, 4, 2, 1, 10 }, /* ü */ + { 3150, 4, 2, 0, 9 }, /* ý */ + { 3154, 4, 15, 1, 10 }, /* þ */ + { 3184, 4, 2, 0, 9 }, /* ÿ */ +}; + +static const char font_normal_bold_bases[64] = { + 'A', 'A', 'A', 'A', 'A', 'A', 0 , 0 , 'E', 'E', 'E', 'E', 'I', 'I', 0 , 0 , /*C0-CF*/ + 0 , 'N', 'O', 'O', 'O', 'O', 'O', 0 , 0 , 'U', 'U', 'U', 'U', 'Y', 0 , 0 , /*D0-DF*/ + 'a', 'a', 'a', 'a', 'a', 'a', 0 , 0 , 'e', 'e', 'e', 'e', 'i', 'i', 0 , 0 , /*E0-EF*/ + 0 , 'n', 'o', 'o', 'o', 'o', 'o', 0 , 0 , 'u', 'u', 'u', 'u', 'y', 0 , 'y', /*F0-FF*/ +}; + +/* FT_Set_Pixel_Sizes(Arimo, width 0, height 12) */ + +#define FONT_SMALL_HEIGHT 12 +#define FONT_SMALL_BIT_WIDTH 12 +#define FONT_SMALL_BIT_HEIGHT 15 + +/* Each character is 12 bits wide */ +static const unsigned char font_small[2450] = { + 0x00,0x00, /* SP */ + 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x00,0x00, 0x00,0x00, 0x80,0x00, /* ! */ + 0xA0,0x00, 0xA0,0x00, 0xA0,0x00, /* " */ + 0x24,0x00, 0x24,0x00, 0x28,0x00, 0xFE,0x00, 0x48,0x00, 0x48,0x00, 0xFC,0x00, 0x48,0x00, 0x50,0x00, /* # */ + 0x70,0x00, 0xA8,0x00, 0xA0,0x00, 0xE0,0x00, 0x70,0x00, 0x28,0x00, 0xA8,0x00, 0xA8,0x00, 0xF0,0x00, 0x20,0x00, /* $ */ + 0x61,0x00, 0x92,0x00, 0x92,0x00, 0x95,0x80, 0x9A,0x40, 0x6A,0x40, 0x12,0x40, 0x12,0x40, 0x21,0x80, /* % */ + 0x38,0x00, 0x44,0x00, 0x44,0x00, 0x58,0x00, 0x62,0x00, 0xB2,0x00, 0x9C,0x00, 0x8C,0x00, 0x7B,0x00, /* & */ + 0x80,0x00, 0x80,0x00, 0x80,0x00, /* ' */ + 0x20,0x00, 0x40,0x00, 0x40,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x40,0x00, 0x40,0x00, 0x20,0x00, /* ( */ + 0x80,0x00, 0x40,0x00, 0x40,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x40,0x00, 0x40,0x00, 0x80,0x00, /* ) */ + 0x20,0x00, 0xA8,0x00, 0x70,0x00, 0x50,0x00, 0x10,0x00, /* * */ + 0x20,0x00, 0x20,0x00, 0xF8,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, /* + */ + 0x80,0x00, 0x80,0x00, 0x80,0x00, /* , */ + 0xE0,0x00, /* - */ + 0x80,0x00, /* . */ + 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x80,0x00, 0x80,0x00, /* / */ + 0x78,0x00, 0xC8,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x48,0x00, 0x78,0x00, /* 0 */ + 0x60,0x00, 0xA0,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0xF8,0x00, /* 1 */ + 0x70,0x00, 0x88,0x00, 0x08,0x00, 0x08,0x00, 0x10,0x00, 0x20,0x00, 0x40,0x00, 0x80,0x00, 0xF8,0x00, /* 2 */ + 0x70,0x00, 0x88,0x00, 0x08,0x00, 0x08,0x00, 0x30,0x00, 0x18,0x00, 0x08,0x00, 0x88,0x00, 0x70,0x00, /* 3 */ + 0x08,0x00, 0x18,0x00, 0x28,0x00, 0x28,0x00, 0x48,0x00, 0x88,0x00, 0xFC,0x00, 0x08,0x00, 0x08,0x00, /* 4 */ + 0xF8,0x00, 0x80,0x00, 0x80,0x00, 0xF0,0x00, 0x98,0x00, 0x08,0x00, 0x08,0x00, 0x98,0x00, 0x70,0x00, /* 5 */ + 0x38,0x00, 0x44,0x00, 0x80,0x00, 0xB8,0x00, 0x8C,0x00, 0x84,0x00, 0x84,0x00, 0x4C,0x00, 0x78,0x00, /* 6 */ + 0xFC,0x00, 0x04,0x00, 0x08,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, /* 7 */ + 0x78,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x78,0x00, 0xCC,0x00, 0x84,0x00, 0x84,0x00, 0x78,0x00, /* 8 */ + 0x78,0x00, 0xC8,0x00, 0x84,0x00, 0x84,0x00, 0xCC,0x00, 0x74,0x00, 0x04,0x00, 0x88,0x00, 0x70,0x00, /* 9 */ + 0x80,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x80,0x00, /* : */ + 0x80,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* ; */ + 0x00,0x00, 0x0C,0x00, 0x70,0x00, 0x80,0x00, 0xE0,0x00, 0x18,0x00, 0x04,0x00, /* < */ + 0xF8,0x00, 0x00,0x00, 0x00,0x00, 0xF8,0x00, /* = */ + 0x00,0x00, 0xE0,0x00, 0x38,0x00, 0x04,0x00, 0x1C,0x00, 0x60,0x00, 0x80,0x00, /* > */ + 0x78,0x00, 0xC4,0x00, 0x84,0x00, 0x04,0x00, 0x08,0x00, 0x10,0x00, 0x20,0x00, 0x00,0x00, 0x20,0x00, /* ? */ + 0x1F,0x00, 0x21,0x80, 0x4D,0xC0, 0xD3,0x40, 0xA2,0x40, 0xA2,0x40, 0xA2,0x40, 0xA6,0x80, 0xDB,0x80, 0x60,0x00, 0x3F,0x00, /* @ */ + 0x18,0x00, 0x18,0x00, 0x24,0x00, 0x24,0x00, 0x24,0x00, 0x7E,0x00, 0x42,0x00, 0x42,0x00, 0x81,0x00, /* A */ + 0xF8,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0xF8,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0xF8,0x00, /* B */ + 0x3C,0x00, 0x46,0x00, 0x82,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x82,0x00, 0x42,0x00, 0x3C,0x00, /* C */ + 0xF8,0x00, 0x84,0x00, 0x82,0x00, 0x82,0x00, 0x82,0x00, 0x82,0x00, 0x82,0x00, 0x84,0x00, 0xF8,0x00, /* D */ + 0xFC,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0xFC,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0xFC,0x00, /* E */ + 0xFC,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0xFC,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* F */ + 0x3E,0x00, 0x43,0x00, 0x80,0x00, 0x80,0x00, 0x8F,0x00, 0x81,0x00, 0x81,0x00, 0x43,0x00, 0x3C,0x00, /* G */ + 0x82,0x00, 0x82,0x00, 0x82,0x00, 0x82,0x00, 0xFE,0x00, 0x82,0x00, 0x82,0x00, 0x82,0x00, 0x82,0x00, /* H */ + 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* I */ + 0x38,0x00, 0x08,0x00, 0x08,0x00, 0x08,0x00, 0x08,0x00, 0x08,0x00, 0x08,0x00, 0xC8,0x00, 0x70,0x00, /* J */ + 0x84,0x00, 0x88,0x00, 0x90,0x00, 0xA0,0x00, 0xE0,0x00, 0x90,0x00, 0x98,0x00, 0x8C,0x00, 0x84,0x00, /* K */ + 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0xF8,0x00, /* L */ + 0xC3,0x00, 0xC3,0x00, 0xC3,0x00, 0xA5,0x00, 0xA5,0x00, 0xA5,0x00, 0x99,0x00, 0x99,0x00, 0x99,0x00, /* M */ + 0xC2,0x00, 0xC2,0x00, 0xA2,0x00, 0xA2,0x00, 0x92,0x00, 0x9A,0x00, 0x8A,0x00, 0x86,0x00, 0x86,0x00, /* N */ + 0x3C,0x00, 0x42,0x00, 0x81,0x00, 0x81,0x00, 0x81,0x00, 0x81,0x00, 0x81,0x00, 0x42,0x00, 0x3C,0x00, /* O */ + 0xF8,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0xF8,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* P */ + 0x3C,0x00, 0x42,0x00, 0x81,0x00, 0x81,0x00, 0x81,0x00, 0x81,0x00, 0x81,0x00, 0x42,0x00, 0x3C,0x00, 0x08,0x00, 0x08,0x00, 0x06,0x00, /* Q */ + 0xFC,0x00, 0x82,0x00, 0x82,0x00, 0x82,0x00, 0xFC,0x00, 0x88,0x00, 0x84,0x00, 0x84,0x00, 0x82,0x00, /* R */ + 0x78,0x00, 0x8C,0x00, 0x80,0x00, 0xC0,0x00, 0x38,0x00, 0x04,0x00, 0x04,0x00, 0x84,0x00, 0x78,0x00, /* S */ + 0xFE,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, /* T */ + 0x82,0x00, 0x82,0x00, 0x82,0x00, 0x82,0x00, 0x82,0x00, 0x82,0x00, 0x82,0x00, 0xC6,0x00, 0x7C,0x00, /* U */ + 0x81,0x00, 0x42,0x00, 0x42,0x00, 0x62,0x00, 0x24,0x00, 0x24,0x00, 0x3C,0x00, 0x18,0x00, 0x18,0x00, /* V */ + 0x84,0x20, 0xC6,0x20, 0x4A,0x60, 0x4A,0x40, 0x4A,0x40, 0x29,0x40, 0x31,0xC0, 0x31,0x80, 0x31,0x80, /* W */ + 0x42,0x00, 0x26,0x00, 0x24,0x00, 0x18,0x00, 0x18,0x00, 0x18,0x00, 0x24,0x00, 0x42,0x00, 0x42,0x00, /* X */ + 0x82,0x00, 0x44,0x00, 0x64,0x00, 0x28,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, /* Y */ + 0xFE,0x00, 0x04,0x00, 0x08,0x00, 0x18,0x00, 0x10,0x00, 0x20,0x00, 0x40,0x00, 0xC0,0x00, 0xFE,0x00, /* Z */ + 0xC0,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0xC0,0x00, /* [ */ + 0x80,0x00, 0x80,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, /* \ */ + 0xC0,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0xC0,0x00, /* ] */ + 0x20,0x00, 0x30,0x00, 0x50,0x00, 0x48,0x00, 0x88,0x00, /* ^ */ + 0xFE,0x00, /* _ */ + 0xC0,0x00, 0x40,0x00, /* ` */ + 0x70,0x00, 0xC8,0x00, 0x08,0x00, 0x78,0x00, 0x88,0x00, 0x98,0x00, 0xEC,0x00, /* a */ + 0x80,0x00, 0x80,0x00, 0xB0,0x00, 0xC8,0x00, 0x88,0x00, 0x88,0x00, 0x88,0x00, 0x88,0x00, 0xF0,0x00, /* b */ + 0x70,0x00, 0x88,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0xC8,0x00, 0x70,0x00, /* c */ + 0x08,0x00, 0x08,0x00, 0x68,0x00, 0x98,0x00, 0x88,0x00, 0x88,0x00, 0x88,0x00, 0x98,0x00, 0x68,0x00, /* d */ + 0x70,0x00, 0xC8,0x00, 0x88,0x00, 0xFC,0x00, 0x80,0x00, 0x88,0x00, 0x78,0x00, /* e */ + 0x60,0x00, 0x40,0x00, 0xE0,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, /* f */ + 0x68,0x00, 0x98,0x00, 0x88,0x00, 0x88,0x00, 0x88,0x00, 0x98,0x00, 0x68,0x00, 0x08,0x00, 0xC8,0x00, 0x70,0x00, /* g */ + 0x80,0x00, 0x80,0x00, 0xB0,0x00, 0xC8,0x00, 0x88,0x00, 0x88,0x00, 0x88,0x00, 0x88,0x00, 0x88,0x00, /* h */ + 0x80,0x00, 0x00,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* i */ + 0x40,0x00, 0x00,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0xC0,0x00, /* j */ + 0x80,0x00, 0x80,0x00, 0x98,0x00, 0x90,0x00, 0xA0,0x00, 0xE0,0x00, 0xA0,0x00, 0x90,0x00, 0x88,0x00, /* k */ + 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* l */ + 0xB3,0x00, 0xCC,0x80, 0x88,0x80, 0x88,0x80, 0x88,0x80, 0x88,0x80, 0x88,0x80, /* m */ + 0xB0,0x00, 0x88,0x00, 0x88,0x00, 0x88,0x00, 0x88,0x00, 0x88,0x00, 0x88,0x00, /* n */ + 0x78,0x00, 0xCC,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0xCC,0x00, 0x78,0x00, /* o */ + 0xB0,0x00, 0xC8,0x00, 0x88,0x00, 0x88,0x00, 0x88,0x00, 0x88,0x00, 0xF0,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* p */ + 0x68,0x00, 0x98,0x00, 0x88,0x00, 0x88,0x00, 0x88,0x00, 0x98,0x00, 0x68,0x00, 0x08,0x00, 0x08,0x00, 0x08,0x00, /* q */ + 0xE0,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* r */ + 0x70,0x00, 0x88,0x00, 0x80,0x00, 0x70,0x00, 0x08,0x00, 0x88,0x00, 0xF0,0x00, /* s */ + 0x40,0x00, 0x40,0x00, 0xE0,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x60,0x00, /* t */ + 0x88,0x00, 0x88,0x00, 0x88,0x00, 0x88,0x00, 0x88,0x00, 0x98,0x00, 0x68,0x00, /* u */ + 0x84,0x00, 0x48,0x00, 0x48,0x00, 0x48,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, /* v */ + 0x88,0x80, 0x99,0x00, 0x59,0x00, 0x55,0x00, 0x55,0x00, 0x66,0x00, 0x22,0x00, /* w */ + 0x48,0x00, 0x48,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x48,0x00, 0xCC,0x00, /* x */ + 0x84,0x00, 0x48,0x00, 0x48,0x00, 0x48,0x00, 0x30,0x00, 0x30,0x00, 0x30,0x00, 0x20,0x00, 0x20,0x00, 0xC0,0x00, /* y */ + 0xF8,0x00, 0x18,0x00, 0x10,0x00, 0x20,0x00, 0x40,0x00, 0xC0,0x00, 0xF8,0x00, /* z */ + 0x60,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x80,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x60,0x00, /* { */ + 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* | */ + 0xC0,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x20,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0xC0,0x00, /* } */ + 0xE0,0x00, 0x1C,0x00, /* ~ */ + 0x00,0x00, /* NBSP */ + 0x80,0x00, 0x00,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* ¡ */ + 0x20,0x00, 0x70,0x00, 0x88,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0xC8,0x00, 0x70,0x00, 0x20,0x00, /* ¢ */ + 0x38,0x00, 0x48,0x00, 0x40,0x00, 0x40,0x00, 0xF0,0x00, 0x40,0x00, 0x40,0x00, 0x44,0x00, 0xF8,0x00, /* £ */ + 0xF8,0x00, 0xD8,0x00, 0x88,0x00, 0x88,0x00, 0xD8,0x00, 0xF8,0x00, /* ¤ */ + 0xC6,0x00, 0x44,0x00, 0x28,0x00, 0x28,0x00, 0x7C,0x00, 0x10,0x00, 0x7C,0x00, 0x10,0x00, 0x10,0x00, /* ¥ */ + 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x00,0x00, 0x00,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* ¦ */ + 0x70,0x00, 0x88,0x00, 0x80,0x00, 0x70,0x00, 0x98,0x00, 0x88,0x00, 0xD8,0x00, 0x30,0x00, 0x08,0x00, 0x88,0x00, 0x70,0x00, /* § */ + 0xA0,0x00, /* ¨ */ + 0x3E,0x00, 0x63,0x00, 0xDD,0x80, 0xA0,0x80, 0xA0,0x80, 0xA0,0x80, 0xDD,0x80, 0x63,0x00, 0x3E,0x00, /* © */ + 0x70,0x00, 0x90,0x00, 0x70,0x00, 0x90,0x00, 0xF8,0x00, /* ª */ + 0x68,0x00, 0x50,0x00, 0xB0,0x00, 0x50,0x00, 0x68,0x00, /* « */ + 0xFC,0x00, 0x04,0x00, 0x04,0x00, 0x04,0x00, /* ¬ */ + 0x3E,0x00, 0x63,0x00, 0xFD,0x80, 0xA4,0x80, 0xB8,0x80, 0xA8,0x80, 0xE5,0x80, 0x63,0x00, 0x3E,0x00, /* ® */ + 0xFE,0x00, /* ¯ */ + 0x60,0x00, 0x90,0x00, 0x90,0x00, 0x60,0x00, /* ° */ + 0x20,0x00, 0x20,0x00, 0x20,0x00, 0xF8,0x00, 0x20,0x00, 0x20,0x00, 0x00,0x00, 0xF8,0x00, /* ± */ + 0x70,0x00, 0x10,0x00, 0x20,0x00, 0x40,0x00, 0xF0,0x00, /* ² */ + 0x70,0x00, 0x10,0x00, 0x20,0x00, 0x10,0x00, 0x70,0x00, /* ³ */ + 0x40,0x00, 0x80,0x00, /* ´ */ + 0x88,0x00, 0x88,0x00, 0x88,0x00, 0x88,0x00, 0x88,0x00, 0x88,0x00, 0xFC,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* µ */ + 0x7C,0x00, 0xE8,0x00, 0xE8,0x00, 0xE8,0x00, 0x68,0x00, 0x28,0x00, 0x28,0x00, 0x28,0x00, 0x28,0x00, 0x28,0x00, 0x28,0x00, /* ¶ */ + 0x80,0x00, /* · */ + 0x80,0x00, 0x40,0x00, 0xC0,0x00, /* ¸ */ + 0xC0,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0xE0,0x00, /* ¹ */ + 0x60,0x00, 0x90,0x00, 0x90,0x00, 0x90,0x00, 0x60,0x00, /* º */ + 0x90,0x00, 0x48,0x00, 0x24,0x00, 0x48,0x00, 0x90,0x00, /* » */ + 0xC2,0x00, 0x44,0x00, 0x44,0x00, 0x49,0x00, 0x4B,0x00, 0xF3,0x00, 0x15,0x00, 0x27,0x80, 0x21,0x00, /* ¼ */ + 0xC2,0x00, 0x42,0x00, 0x44,0x00, 0x4B,0x80, 0x4A,0x80, 0xF0,0x80, 0x11,0x00, 0x22,0x00, 0x23,0x80, /* ½ */ + 0x71,0x00, 0x12,0x00, 0x22,0x00, 0x14,0x00, 0x95,0x80, 0x7A,0x80, 0x12,0x80, 0x13,0xC0, 0x20,0x80, /* ¾ */ + 0x10,0x00, 0x00,0x00, 0x10,0x00, 0x20,0x00, 0x40,0x00, 0x80,0x00, 0x84,0x00, 0x8C,0x00, 0x78,0x00, /* ¿ */ + 0x10,0x00, 0x08,0x00, /* À */ + 0x08,0x00, 0x10,0x00, /* Á */ + 0x18,0x00, 0x24,0x00, /* Â */ + 0x34,0x00, 0x2C,0x00, /* Ã */ + 0x28,0x00, /* Ä */ + 0x08,0x00, 0x14,0x00, /* Å */ + 0x0F,0xE0, 0x0A,0x00, 0x12,0x00, 0x12,0x00, 0x23,0xE0, 0x3E,0x00, 0x22,0x00, 0x42,0x00, 0x43,0xF0, /* Æ */ + 0x3C,0x00, 0x46,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x82,0x00, 0x46,0x00, 0x3C,0x00, 0x10,0x00, 0x08,0x00, 0x18,0x00, /* Ç */ + 0x20,0x00, 0x10,0x00, /* È */ + 0x10,0x00, 0x20,0x00, /* É */ + 0x30,0x00, 0x48,0x00, /* Ê */ + 0x48,0x00, /* Ë */ + 0x80,0x00, 0x40,0x00, /* Ì */ + 0x40,0x00, 0x80,0x00, /* Í */ + 0x40,0x00, 0xA0,0x00, 0x00,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, /* Î */ + 0xA0,0x00, 0x00,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, /* Ï */ + 0x7C,0x00, 0x42,0x00, 0x41,0x00, 0x41,0x00, 0xF1,0x00, 0x41,0x00, 0x41,0x00, 0x42,0x00, 0x7C,0x00, /* Ð */ + 0x34,0x00, 0x58,0x00, /* Ñ */ + 0x30,0x00, 0x08,0x00, /* Ò */ + 0x08,0x00, 0x10,0x00, /* Ó */ + 0x18,0x00, 0x34,0x00, /* Ô */ + 0x34,0x00, 0x0C,0x00, /* Õ */ + 0x24,0x00, /* Ö */ + 0x88,0x00, 0x50,0x00, 0x20,0x00, 0x50,0x00, 0x88,0x00, 0x80,0x00, /* × */ + 0x3D,0x00, 0x42,0x00, 0x85,0x00, 0x89,0x00, 0x99,0x00, 0x91,0x00, 0xA1,0x00, 0x42,0x00, 0xBC,0x00, /* Ø */ + 0x20,0x00, 0x10,0x00, /* Ù */ + 0x08,0x00, 0x10,0x00, /* Ú */ + 0x10,0x00, 0x28,0x00, /* Û */ + 0x28,0x00, /* Ü */ + 0x08,0x00, 0x10,0x00, /* Ý */ + 0x80,0x00, 0x80,0x00, 0xF8,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0xF8,0x00, 0x80,0x00, 0x80,0x00, /* Þ */ + 0x70,0x00, 0x88,0x00, 0x88,0x00, 0x90,0x00, 0x90,0x00, 0x98,0x00, 0x84,0x00, 0x84,0x00, 0xB8,0x00, /* ß */ + 0x40,0x00, 0x20,0x00, /* à */ + 0x10,0x00, 0x20,0x00, /* á */ + 0x70,0x00, /* â */ + 0x68,0x00, 0x10,0x00, /* ã */ + 0x50,0x00, /* ä */ + 0x20,0x00, 0x50,0x00, 0x50,0x00, 0x20,0x00, /* å */ + 0x77,0x80, 0x8C,0xC0, 0x08,0x40, 0x7F,0xC0, 0x88,0x00, 0x98,0xC0, 0xE7,0x80, /* æ */ + 0x70,0x00, 0x88,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0xC8,0x00, 0x70,0x00, 0x20,0x00, 0x10,0x00, 0x30,0x00, /* ç */ + 0x60,0x00, 0x10,0x00, /* è */ + 0x18,0x00, 0x20,0x00, /* é */ + 0x70,0x00, /* ê */ + 0x50,0x00, /* ë */ + 0xC0,0x00, 0x00,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, /* ì */ + 0x40,0x00, 0x00,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, /* í */ + 0xE0,0x00, 0x00,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, /* î */ + 0xA0,0x00, 0x00,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, /* ï */ + 0x28,0x00, 0x70,0x00, 0x08,0x00, 0x7C,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x78,0x00, /* ð */ + 0x68,0x00, 0xB0,0x00, /* ñ */ + 0x60,0x00, 0x10,0x00, /* ò */ + 0x08,0x00, 0x30,0x00, /* ó */ + 0x78,0x00, /* ô */ + 0x60,0x00, 0x18,0x00, /* õ */ + 0x48,0x00, /* ö */ + 0x20,0x00, 0x00,0x00, 0x00,0x00, 0xF8,0x00, 0x00,0x00, 0x20,0x00, /* ÷ */ + 0x3E,0x00, 0x66,0x00, 0x4E,0x00, 0x5A,0x00, 0x72,0x00, 0x66,0x00, 0x7C,0x00, /* ø */ + 0x20,0x00, /* ù */ + 0x30,0x00, /* ú */ + 0x70,0x00, /* û */ + 0x50,0x00, /* ü */ + 0x30,0x00, /* ý */ + 0x80,0x00, 0x80,0x00, 0xB0,0x00, 0xC8,0x00, 0x88,0x00, 0x88,0x00, 0x88,0x00, 0x88,0x00, 0xF0,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* þ */ + 0x50,0x00, /* ÿ */ +}; + +static const struct font_info font_small_infos[191] = { + { 0, 11, 1, 0, 3 }, /* SP */ + { 2, 3, 9, 1, 3 }, /* ! */ + { 20, 3, 3, 1, 5 }, /* " */ + { 26, 3, 9, 0, 7 }, /* # */ + { 44, 3, 10, 1, 7 }, /* $ */ + { 64, 3, 9, 1, 12 }, /* % */ + { 82, 3, 9, 1, 9 }, /* & */ + { 100, 3, 3, 1, 3 }, /* ' */ + { 106, 3, 12, 1, 4 }, /* ( */ + { 130, 3, 12, 0, 4 }, /* ) */ + { 154, 3, 5, 0, 5 }, /* * */ + { 164, 5, 6, 1, 7 }, /* + */ + { 176, 11, 3, 1, 3 }, /* , */ + { 182, 8, 1, 1, 5 }, /* - */ + { 184, 11, 1, 1, 3 }, /* . */ + { 186, 3, 9, 0, 3 }, /* / */ + { 204, 3, 9, 1, 7 }, /* 0 */ + { 222, 3, 9, 1, 7 }, /* 1 */ + { 240, 3, 9, 1, 7 }, /* 2 */ + { 258, 3, 9, 1, 7 }, /* 3 */ + { 276, 3, 9, 1, 7 }, /* 4 */ + { 294, 3, 9, 1, 7 }, /* 5 */ + { 312, 3, 9, 1, 7 }, /* 6 */ + { 330, 3, 9, 0, 7 }, /* 7 */ + { 348, 3, 9, 1, 7 }, /* 8 */ + { 366, 3, 9, 1, 7 }, /* 9 */ + { 384, 5, 7, 1, 3 }, /* : */ + { 398, 5, 9, 1, 3 }, /* ; */ + { 416, 4, 7, 1, 8 }, /* < */ + { 430, 6, 4, 1, 7 }, /* = */ + { 438, 4, 7, 1, 8 }, /* > */ + { 452, 3, 9, 1, 8 }, /* ? */ + { 470, 3, 11, 1, 12 }, /* @ */ + { 492, 3, 9, 0, 8 }, /* A */ + { 510, 3, 9, 1, 8 }, /* B */ + { 528, 3, 9, 1, 9 }, /* C */ + { 546, 3, 9, 1, 9 }, /* D */ + { 564, 3, 9, 1, 8 }, /* E */ + { 582, 3, 9, 1, 7 }, /* F */ + { 600, 3, 9, 1, 10 }, /* G */ + { 618, 3, 9, 1, 9 }, /* H */ + { 636, 3, 9, 1, 3 }, /* I */ + { 654, 3, 9, 0, 6 }, /* J */ + { 672, 3, 9, 1, 8 }, /* K */ + { 690, 3, 9, 1, 7 }, /* L */ + { 708, 3, 9, 1, 10 }, /* M */ + { 726, 3, 9, 1, 9 }, /* N */ + { 744, 3, 9, 1, 10 }, /* O */ + { 762, 3, 9, 1, 8 }, /* P */ + { 780, 3, 12, 1, 10 }, /* Q */ + { 804, 3, 9, 1, 9 }, /* R */ + { 822, 3, 9, 1, 8 }, /* S */ + { 840, 3, 9, 0, 7 }, /* T */ + { 858, 3, 9, 1, 9 }, /* U */ + { 876, 3, 9, 0, 8 }, /* V */ + { 894, 3, 9, 0, 11 }, /* W */ + { 912, 3, 9, 0, 8 }, /* X */ + { 930, 3, 9, 0, 7 }, /* Y */ + { 948, 3, 9, 1, 8 }, /* Z */ + { 966, 3, 12, 1, 3 }, /* [ */ + { 990, 3, 9, 0, 3 }, /* \ */ + { 1008, 3, 12, 0, 3 }, /* ] */ + { 1032, 3, 5, 0, 6 }, /* ^ */ + { 1042, 14, 1, 0, 7 }, /* _ */ + { 1044, 2, 2, 1, 4 }, /* ` */ + { 1048, 5, 7, 1, 7 }, /* a */ + { 1062, 3, 9, 1, 7 }, /* b */ + { 1080, 5, 7, 1, 6 }, /* c */ + { 1094, 3, 9, 1, 7 }, /* d */ + { 1112, 5, 7, 1, 7 }, /* e */ + { 1126, 3, 9, 0, 3 }, /* f */ + { 1144, 5, 10, 1, 7 }, /* g */ + { 1164, 3, 9, 1, 7 }, /* h */ + { 1182, 3, 9, 1, 3 }, /* i */ + { 1200, 3, 12, 0, 3 }, /* j */ + { 1224, 3, 9, 1, 6 }, /* k */ + { 1242, 3, 9, 1, 3 }, /* l */ + { 1260, 5, 7, 1, 11 }, /* m */ + { 1274, 5, 7, 1, 7 }, /* n */ + { 1288, 5, 7, 1, 8 }, /* o */ + { 1302, 5, 10, 1, 7 }, /* p */ + { 1322, 5, 10, 1, 7 }, /* q */ + { 1342, 5, 7, 1, 4 }, /* r */ + { 1356, 5, 7, 1, 7 }, /* s */ + { 1370, 3, 9, 0, 3 }, /* t */ + { 1388, 5, 7, 1, 7 }, /* u */ + { 1402, 5, 7, 0, 6 }, /* v */ + { 1416, 5, 7, 0, 9 }, /* w */ + { 1430, 5, 7, 0, 6 }, /* x */ + { 1444, 5, 10, 0, 6 }, /* y */ + { 1464, 5, 7, 1, 7 }, /* z */ + { 1478, 3, 12, 0, 4 }, /* { */ + { 1502, 3, 12, 1, 3 }, /* | */ + { 1526, 3, 12, 1, 5 }, /* } */ + { 1550, 7, 2, 1, 8 }, /* ~ */ + { 1554, 11, 1, 0, 3 }, /* NBSP */ + { 1556, 5, 8, 1, 4 }, /* ¡ */ + { 1572, 3, 9, 1, 7 }, /* ¢ */ + { 1590, 3, 9, 1, 7 }, /* £ */ + { 1608, 5, 6, 1, 7 }, /* ¤ */ + { 1620, 3, 9, 0, 7 }, /* ¥ */ + { 1638, 3, 12, 1, 3 }, /* ¦ */ + { 1662, 3, 11, 1, 7 }, /* § */ + { 1684, 3, 1, 1, 5 }, /* ¨ */ + { 1686, 3, 9, 1, 11 }, /* © */ + { 1704, 4, 5, 0, 4 }, /* ª */ + { 1714, 6, 5, 1, 7 }, /* « */ + { 1724, 7, 4, 1, 8 }, /* ¬ */ + { 0, 15, 0, 0, 0 }, /* SHY */ + { 1732, 3, 9, 1, 11 }, /* ® */ + { 1750, 2, 1, 0, 7 }, /* ¯ */ + { 1752, 3, 4, 1, 6 }, /* ° */ + { 1760, 4, 8, 1, 7 }, /* ± */ + { 1776, 4, 5, 0, 4 }, /* ² */ + { 1786, 4, 5, 0, 4 }, /* ³ */ + { 1796, 2, 2, 1, 5 }, /* ´ */ + { 1800, 5, 10, 1, 7 }, /* µ */ + { 1820, 3, 11, 1, 7 }, /* ¶ */ + { 1842, 8, 1, 1, 3 }, /* · */ + { 1844, 12, 3, 1, 4 }, /* ¸ */ + { 1850, 4, 5, 1, 4 }, /* ¹ */ + { 1860, 4, 5, 0, 4 }, /* º */ + { 1870, 6, 5, 1, 7 }, /* » */ + { 1880, 3, 9, 1, 10 }, /* ¼ */ + { 1898, 3, 9, 1, 11 }, /* ½ */ + { 1916, 3, 9, 0, 10 }, /* ¾ */ + { 1934, 5, 9, 1, 8 }, /* ¿ */ + { 1952, 0, 2, 0, 8 }, /* À */ + { 1956, 0, 2, 0, 8 }, /* Á */ + { 1960, 0, 2, 0, 8 }, /* Â */ + { 1964, 0, 2, 0, 8 }, /* Ã */ + { 1968, 1, 1, 0, 7 }, /* Ä */ + { 1970, 0, 2, 0, 9 }, /* Å */ + { 1974, 3, 9, 0, 12 }, /* Æ */ + { 1992, 3, 12, 1, 9 }, /* Ç */ + { 2016, 0, 2, 1, 8 }, /* È */ + { 2020, 0, 2, 1, 8 }, /* É */ + { 2024, 0, 2, 1, 8 }, /* Ê */ + { 2028, 1, 1, 1, 8 }, /* Ë */ + { 2030, 0, 2, 0, 3 }, /* Ì */ + { 2034, 0, 2, 1, 3 }, /* Í */ + { 2038, 0, 12, 0, 3 }, /* Î */ + { 2062, 1, 11, 1, 5 }, /* Ï */ + { 2084, 3, 9, 0, 9 }, /* Ð */ + { 2102, 0, 2, 1, 9 }, /* Ñ */ + { 2106, 0, 2, 1, 10 }, /* Ò */ + { 2110, 0, 2, 1, 10 }, /* Ó */ + { 2114, 0, 2, 1, 10 }, /* Ô */ + { 2118, 0, 2, 1, 10 }, /* Õ */ + { 2122, 1, 1, 1, 10 }, /* Ö */ + { 2124, 5, 6, 1, 7 }, /* × */ + { 2136, 3, 9, 1, 10 }, /* Ø */ + { 2154, 0, 2, 1, 9 }, /* Ù */ + { 2158, 0, 2, 1, 9 }, /* Ú */ + { 2162, 0, 2, 1, 9 }, /* Û */ + { 2166, 1, 1, 1, 9 }, /* Ü */ + { 2168, 0, 2, 0, 7 }, /* Ý */ + { 2172, 3, 9, 1, 8 }, /* Þ */ + { 2190, 3, 9, 1, 8 }, /* ß */ + { 2208, 2, 2, 1, 7 }, /* à */ + { 2212, 2, 2, 1, 7 }, /* á */ + { 2216, 3, 1, 1, 7 }, /* â */ + { 2218, 2, 2, 1, 7 }, /* ã */ + { 2222, 3, 1, 1, 7 }, /* ä */ + { 2224, 0, 4, 1, 7 }, /* å */ + { 2232, 5, 7, 1, 12 }, /* æ */ + { 2246, 5, 10, 1, 7 }, /* ç */ + { 2266, 2, 2, 1, 7 }, /* è */ + { 2270, 2, 2, 1, 7 }, /* é */ + { 2274, 3, 1, 1, 7 }, /* ê */ + { 2276, 3, 1, 1, 7 }, /* ë */ + { 2278, 3, 9, 1, 4 }, /* ì */ + { 2296, 3, 9, 0, 4 }, /* í */ + { 2314, 3, 9, 0, 3 }, /* î */ + { 2332, 3, 9, 1, 5 }, /* ï */ + { 2350, 3, 9, 1, 8 }, /* ð */ + { 2368, 2, 2, 1, 7 }, /* ñ */ + { 2372, 2, 2, 1, 8 }, /* ò */ + { 2376, 2, 2, 1, 8 }, /* ó */ + { 2380, 3, 1, 1, 8 }, /* ô */ + { 2382, 2, 2, 1, 8 }, /* õ */ + { 2386, 3, 1, 1, 8 }, /* ö */ + { 2388, 4, 6, 1, 7 }, /* ÷ */ + { 2400, 5, 7, 0, 8 }, /* ø */ + { 2414, 3, 1, 1, 7 }, /* ù */ + { 2416, 3, 1, 1, 7 }, /* ú */ + { 2418, 3, 1, 1, 7 }, /* û */ + { 2420, 3, 1, 1, 7 }, /* ü */ + { 2422, 3, 1, 0, 6 }, /* ý */ + { 2424, 3, 12, 1, 7 }, /* þ */ + { 2448, 3, 1, 0, 5 }, /* ÿ */ +}; + +static const char font_small_bases[64] = { + 'A', 'A', 'A', 'A', 'A', 'A', 0 , 0 , 'E', 'E', 'E', 'E', 'I', 'I', 0 , 0 , /*C0-CF*/ + 0 , 'N', 'O', 'O', 'O', 'O', 'O', 0 , 0 , 'U', 'U', 'U', 'U', 'Y', 0 , 0 , /*D0-DF*/ + 'a', 'a', 'a', 'a', 'a', 'a', 0 , 0 , 'e', 'e', 'e', 'e', 'i', 'i', 0 , 0 , /*E0-EF*/ + 0 , 'n', 'o', 'o', 'o', 'o', 'o', 0 , 0 , 'u', 'u', 'u', 'u', 'y', 0 , 'y', /*F0-FF*/ +}; + +/* FT_Set_Pixel_Sizes(Arimo-Bold, width 0, height 14) */ + +#define FONT_SMALL_BOLD_HEIGHT 14 +#define FONT_SMALL_BOLD_BIT_WIDTH 14 +#define FONT_SMALL_BOLD_BIT_HEIGHT 17 + +/* Each character is 14 bits wide */ +static const unsigned char font_small_bold[2772] = { + 0x00,0x00, /* SP */ + 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x00,0x00, 0x00,0x00, 0x80,0x00, /* ! */ + 0x90,0x00, 0x90,0x00, 0x90,0x00, /* " */ + 0x12,0x00, 0x22,0x00, 0x24,0x00, 0xFF,0x00, 0x24,0x00, 0x24,0x00, 0xFE,0x00, 0x48,0x00, 0x48,0x00, 0x48,0x00, /* # */ + 0x10,0x00, 0x7C,0x00, 0x96,0x00, 0x90,0x00, 0xD0,0x00, 0x78,0x00, 0x1C,0x00, 0x12,0x00, 0x92,0x00, 0x92,0x00, 0x7C,0x00, 0x10,0x00, /* $ */ + 0x60,0x80, 0x91,0x00, 0x91,0x00, 0x92,0xC0, 0x95,0x20, 0x65,0x20, 0x09,0x20, 0x11,0x20, 0x11,0x20, 0x20,0xC0, /* % */ + 0x18,0x00, 0x24,0x00, 0x24,0x00, 0x28,0x00, 0x30,0x00, 0x52,0x00, 0x8A,0x00, 0x8C,0x00, 0xC4,0x00, 0x7B,0x80, /* & */ + 0x80,0x00, 0x80,0x00, 0x80,0x00, /* ' */ + 0x20,0x00, 0x40,0x00, 0x40,0x00, 0xC0,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0xC0,0x00, 0x40,0x00, 0x40,0x00, 0x20,0x00, /* ( */ + 0x80,0x00, 0x40,0x00, 0x40,0x00, 0x60,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x60,0x00, 0x40,0x00, 0x40,0x00, 0x80,0x00, /* ) */ + 0x20,0x00, 0xA8,0x00, 0xF8,0x00, 0x50,0x00, 0x50,0x00, /* * */ + 0x10,0x00, 0x10,0x00, 0x10,0x00, 0xFE,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, /* + */ + 0x80,0x00, 0x80,0x00, 0x80,0x00, /* , */ + 0xE0,0x00, /* - */ + 0x80,0x00, /* . */ + 0x10,0x00, 0x30,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x60,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0xC0,0x00, 0x80,0x00, /* / */ + 0x38,0x00, 0x44,0x00, 0x82,0x00, 0x82,0x00, 0x82,0x00, 0x82,0x00, 0x82,0x00, 0x82,0x00, 0x44,0x00, 0x38,0x00, /* 0 */ + 0x30,0x00, 0x70,0x00, 0x90,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, 0xFC,0x00, /* 1 */ + 0x78,0x00, 0xC4,0x00, 0x84,0x00, 0x04,0x00, 0x08,0x00, 0x18,0x00, 0x20,0x00, 0x40,0x00, 0xC0,0x00, 0xFC,0x00, /* 2 */ + 0x78,0x00, 0xC4,0x00, 0x04,0x00, 0x0C,0x00, 0x30,0x00, 0x0C,0x00, 0x04,0x00, 0x84,0x00, 0xCC,0x00, 0x78,0x00, /* 3 */ + 0x0C,0x00, 0x0C,0x00, 0x14,0x00, 0x34,0x00, 0x24,0x00, 0x44,0x00, 0xC4,0x00, 0xFE,0x00, 0x04,0x00, 0x04,0x00, /* 4 */ + 0xFC,0x00, 0x80,0x00, 0x80,0x00, 0xF8,0x00, 0x8C,0x00, 0x04,0x00, 0x04,0x00, 0x84,0x00, 0x88,0x00, 0x78,0x00, /* 5 */ + 0x38,0x00, 0x44,0x00, 0x80,0x00, 0xB8,0x00, 0xCC,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x4C,0x00, 0x78,0x00, /* 6 */ + 0xFC,0x00, 0x04,0x00, 0x08,0x00, 0x08,0x00, 0x10,0x00, 0x10,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, /* 7 */ + 0x78,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x78,0x00, 0xCC,0x00, 0x84,0x00, 0x84,0x00, 0xCC,0x00, 0x78,0x00, /* 8 */ + 0x78,0x00, 0xC8,0x00, 0x84,0x00, 0x84,0x00, 0xCC,0x00, 0x74,0x00, 0x04,0x00, 0x04,0x00, 0xC8,0x00, 0x70,0x00, /* 9 */ + 0x80,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x80,0x00, /* : */ + 0x80,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* ; */ + 0x00,0x00, 0x0E,0x00, 0x38,0x00, 0xC0,0x00, 0xC0,0x00, 0x70,0x00, 0x0C,0x00, 0x02,0x00, /* < */ + 0xFE,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0xFE,0x00, /* = */ + 0x00,0x00, 0xE0,0x00, 0x38,0x00, 0x06,0x00, 0x06,0x00, 0x1C,0x00, 0x60,0x00, 0x80,0x00, /* > */ + 0x78,0x00, 0xCC,0x00, 0x84,0x00, 0x04,0x00, 0x0C,0x00, 0x18,0x00, 0x20,0x00, 0x20,0x00, 0x00,0x00, 0x20,0x00, /* ? */ + 0x0F,0x80, 0x30,0x60, 0x60,0x20, 0x46,0x90, 0x89,0x90, 0x91,0x90, 0x91,0x10, 0x91,0x10, 0x93,0x20, 0x8D,0xC0, 0x40,0x00, 0x60,0xC0, 0x1F,0x00, /* @ */ + 0x0C,0x00, 0x14,0x00, 0x14,0x00, 0x12,0x00, 0x22,0x00, 0x23,0x00, 0x7F,0x00, 0x41,0x00, 0x41,0x80, 0xC0,0x80, /* A */ + 0xFC,0x00, 0x82,0x00, 0x82,0x00, 0x86,0x00, 0xFC,0x00, 0x86,0x00, 0x82,0x00, 0x82,0x00, 0x86,0x00, 0xFC,0x00, /* B */ + 0x3E,0x00, 0x63,0x00, 0xC1,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0xC1,0x80, 0x63,0x00, 0x3E,0x00, /* C */ + 0xFC,0x00, 0x86,0x00, 0x83,0x00, 0x81,0x00, 0x81,0x00, 0x81,0x00, 0x81,0x00, 0x82,0x00, 0x86,0x00, 0xFC,0x00, /* D */ + 0xFE,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0xFE,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0xFE,0x00, /* E */ + 0xFE,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0xFC,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* F */ + 0x3E,0x00, 0x61,0x00, 0xC0,0x00, 0x80,0x00, 0x80,0x00, 0x87,0x80, 0x80,0x80, 0xC0,0x80, 0x61,0x80, 0x3E,0x00, /* G */ + 0x81,0x00, 0x81,0x00, 0x81,0x00, 0x81,0x00, 0xFF,0x00, 0x81,0x00, 0x81,0x00, 0x81,0x00, 0x81,0x00, 0x81,0x00, /* H */ + 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* I */ + 0x38,0x00, 0x08,0x00, 0x08,0x00, 0x08,0x00, 0x08,0x00, 0x08,0x00, 0x08,0x00, 0x88,0x00, 0x88,0x00, 0x70,0x00, /* J */ + 0x86,0x00, 0x8C,0x00, 0x98,0x00, 0xB0,0x00, 0xE0,0x00, 0xD0,0x00, 0x98,0x00, 0x8C,0x00, 0x86,0x00, 0x82,0x00, /* K */ + 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0xFC,0x00, /* L */ + 0xC1,0x80, 0xC1,0x80, 0xC1,0x80, 0xA2,0x80, 0xA2,0x80, 0xB6,0x80, 0x94,0x80, 0x94,0x80, 0x8C,0x80, 0x88,0x80, /* M */ + 0xC1,0x00, 0xC1,0x00, 0xA1,0x00, 0xB1,0x00, 0x91,0x00, 0x89,0x00, 0x8D,0x00, 0x85,0x00, 0x83,0x00, 0x83,0x00, /* N */ + 0x3E,0x00, 0x63,0x00, 0xC1,0x80, 0x80,0x80, 0x80,0x80, 0x80,0x80, 0x80,0x80, 0xC1,0x80, 0x63,0x00, 0x3E,0x00, /* O */ + 0xFC,0x00, 0x86,0x00, 0x82,0x00, 0x82,0x00, 0x86,0x00, 0xFC,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* P */ + 0x3E,0x00, 0x63,0x00, 0xC1,0x80, 0x80,0x80, 0x80,0x80, 0x80,0x80, 0x80,0x80, 0xC1,0x80, 0x63,0x00, 0x3E,0x00, 0x0C,0x00, 0x04,0x00, 0x07,0x00, /* Q */ + 0xFE,0x00, 0x83,0x00, 0x81,0x00, 0x81,0x00, 0x83,0x00, 0xFE,0x00, 0x84,0x00, 0x86,0x00, 0x82,0x00, 0x81,0x00, /* R */ + 0x7C,0x00, 0xC6,0x00, 0x80,0x00, 0x80,0x00, 0x70,0x00, 0x0C,0x00, 0x02,0x00, 0x82,0x00, 0x86,0x00, 0x7C,0x00, /* S */ + 0xFF,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, /* T */ + 0x81,0x00, 0x81,0x00, 0x81,0x00, 0x81,0x00, 0x81,0x00, 0x81,0x00, 0x81,0x00, 0x81,0x00, 0x42,0x00, 0x3C,0x00, /* U */ + 0xC0,0x80, 0x41,0x80, 0x41,0x00, 0x61,0x00, 0x23,0x00, 0x32,0x00, 0x16,0x00, 0x14,0x00, 0x1C,0x00, 0x0C,0x00, /* V */ + 0xC2,0x08, 0xC3,0x18, 0x45,0x10, 0x45,0x10, 0x65,0x10, 0x2C,0xB0, 0x28,0xA0, 0x28,0xA0, 0x38,0xA0, 0x18,0x40, /* W */ + 0x41,0x00, 0x23,0x00, 0x32,0x00, 0x14,0x00, 0x0C,0x00, 0x1C,0x00, 0x16,0x00, 0x22,0x00, 0x61,0x00, 0x41,0x80, /* X */ + 0x41,0x00, 0x63,0x00, 0x22,0x00, 0x36,0x00, 0x14,0x00, 0x08,0x00, 0x08,0x00, 0x08,0x00, 0x08,0x00, 0x08,0x00, /* Y */ + 0xFE,0x00, 0x06,0x00, 0x0C,0x00, 0x08,0x00, 0x10,0x00, 0x30,0x00, 0x20,0x00, 0x40,0x00, 0x80,0x00, 0xFF,0x00, /* Z */ + 0xE0,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0xE0,0x00, /* [ */ + 0x80,0x00, 0x80,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x30,0x00, 0x10,0x00, /* \ */ + 0xE0,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0xE0,0x00, /* ] */ + 0x10,0x00, 0x30,0x00, 0x28,0x00, 0x48,0x00, 0x44,0x00, 0x84,0x00, /* ^ */ + 0xFF,0x00, /* _ */ + 0xC0,0x00, 0x20,0x00, /* ` */ + 0x78,0x00, 0xC4,0x00, 0x04,0x00, 0x7C,0x00, 0xC4,0x00, 0x84,0x00, 0x8C,0x00, 0x76,0x00, /* a */ + 0x80,0x00, 0x80,0x00, 0x80,0x00, 0xB8,0x00, 0xCC,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0xCC,0x00, 0xB8,0x00, /* b */ + 0x78,0x00, 0xC8,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0xC8,0x00, 0x78,0x00, /* c */ + 0x04,0x00, 0x04,0x00, 0x04,0x00, 0x74,0x00, 0xCC,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0xCC,0x00, 0x74,0x00, /* d */ + 0x78,0x00, 0x44,0x00, 0x84,0x00, 0xFE,0x00, 0x80,0x00, 0x80,0x00, 0xC4,0x00, 0x78,0x00, /* e */ + 0x60,0x00, 0x40,0x00, 0x40,0x00, 0xE0,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, /* f */ + 0x74,0x00, 0xCC,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0xCC,0x00, 0x74,0x00, 0x04,0x00, 0xCC,0x00, 0x78,0x00, /* g */ + 0x80,0x00, 0x80,0x00, 0x80,0x00, 0xB8,0x00, 0xC4,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, /* h */ + 0x80,0x00, 0x00,0x00, 0x00,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* i */ + 0x40,0x00, 0x00,0x00, 0x00,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0xC0,0x00, /* j */ + 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x88,0x00, 0x90,0x00, 0xB0,0x00, 0xE0,0x00, 0xE0,0x00, 0x90,0x00, 0x98,0x00, 0x8C,0x00, /* k */ + 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* l */ + 0xB3,0x00, 0xCC,0x80, 0x88,0x80, 0x88,0x80, 0x88,0x80, 0x88,0x80, 0x88,0x80, 0x88,0x80, /* m */ + 0xB8,0x00, 0xC4,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, /* n */ + 0x78,0x00, 0xCC,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0xCC,0x00, 0x78,0x00, /* o */ + 0xB8,0x00, 0xCC,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0xCC,0x00, 0xB8,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* p */ + 0x74,0x00, 0xCC,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0xCC,0x00, 0x74,0x00, 0x04,0x00, 0x04,0x00, 0x04,0x00, /* q */ + 0xA0,0x00, 0xC0,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* r */ + 0x78,0x00, 0x8C,0x00, 0x80,0x00, 0x70,0x00, 0x1C,0x00, 0x04,0x00, 0x84,0x00, 0x78,0x00, /* s */ + 0x40,0x00, 0x40,0x00, 0xE0,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x60,0x00, /* t */ + 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x8C,0x00, 0x74,0x00, /* u */ + 0xC6,0x00, 0x44,0x00, 0x44,0x00, 0x44,0x00, 0x28,0x00, 0x28,0x00, 0x28,0x00, 0x10,0x00, /* v */ + 0x8C,0x40, 0xCC,0x40, 0x4C,0x80, 0x4A,0x80, 0x52,0x80, 0x52,0x80, 0x33,0x00, 0x33,0x00, /* w */ + 0x44,0x00, 0x6C,0x00, 0x28,0x00, 0x10,0x00, 0x38,0x00, 0x28,0x00, 0x44,0x00, 0xC6,0x00, /* x */ + 0x84,0x00, 0x84,0x00, 0x4C,0x00, 0x48,0x00, 0x68,0x00, 0x38,0x00, 0x30,0x00, 0x30,0x00, 0x20,0x00, 0x20,0x00, 0xC0,0x00, /* y */ + 0xFC,0x00, 0x0C,0x00, 0x18,0x00, 0x10,0x00, 0x20,0x00, 0x60,0x00, 0xC0,0x00, 0xFC,0x00, /* z */ + 0x30,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x80,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x70,0x00, /* { */ + 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* | */ + 0xC0,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x10,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0xE0,0x00, /* } */ + 0xF0,0x00, 0x1E,0x00, /* ~ */ + 0x00,0x00, /* NBSP */ + 0x80,0x00, 0x00,0x00, 0x00,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* ¡ */ + 0x10,0x00, 0x78,0x00, 0x44,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x44,0x00, 0x38,0x00, 0x10,0x00, /* ¢ */ + 0x38,0x00, 0x44,0x00, 0x40,0x00, 0x40,0x00, 0xF8,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x84,0x00, 0xFC,0x00, /* £ */ + 0xFC,0x00, 0xCC,0x00, 0x84,0x00, 0x84,0x00, 0xCC,0x00, 0xFC,0x00, /* ¤ */ + 0x82,0x00, 0x44,0x00, 0x44,0x00, 0x28,0x00, 0x28,0x00, 0xFE,0x00, 0x10,0x00, 0xFE,0x00, 0x10,0x00, 0x10,0x00, /* ¥ */ + 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* ¦ */ + 0x78,0x00, 0x8C,0x00, 0x80,0x00, 0x60,0x00, 0x58,0x00, 0x84,0x00, 0x84,0x00, 0x78,0x00, 0x0C,0x00, 0x04,0x00, 0x84,0x00, 0x78,0x00, /* § */ + 0x90,0x00, /* ¨ */ + 0x1E,0x00, 0x21,0x00, 0x40,0x80, 0x9C,0x40, 0xA2,0x40, 0xA0,0x40, 0xA0,0x40, 0xB2,0x40, 0x5C,0x80, 0x21,0x00, 0x1E,0x00, /* © */ + 0x70,0x00, 0x90,0x00, 0xF0,0x00, 0x90,0x00, 0xF8,0x00, /* ª */ + 0x24,0x00, 0x4C,0x00, 0xD8,0x00, 0xD8,0x00, 0x4C,0x00, 0x24,0x00, /* « */ + 0xFE,0x00, 0x02,0x00, 0x02,0x00, 0x02,0x00, /* ¬ */ + 0x1E,0x00, 0x21,0x00, 0x40,0x80, 0x9C,0x40, 0x92,0x40, 0x92,0x40, 0x9C,0x40, 0x94,0x40, 0x52,0x80, 0x21,0x00, 0x1E,0x00, /* ® */ + 0xFF,0x00, /* ¯ */ + 0x60,0x00, 0x90,0x00, 0x90,0x00, 0x60,0x00, /* ° */ + 0x10,0x00, 0x10,0x00, 0x10,0x00, 0xFE,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, 0x00,0x00, 0xFE,0x00, /* ± */ + 0x70,0x00, 0x90,0x00, 0x10,0x00, 0x20,0x00, 0xC0,0x00, 0xF0,0x00, /* ² */ + 0x70,0x00, 0x10,0x00, 0x60,0x00, 0x10,0x00, 0x90,0x00, 0xE0,0x00, /* ³ */ + 0x60,0x00, 0x80,0x00, /* ´ */ + 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x8C,0x00, 0xF6,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* µ */ + 0x7E,0x00, 0x74,0x00, 0xF4,0x00, 0x74,0x00, 0x74,0x00, 0x14,0x00, 0x14,0x00, 0x14,0x00, 0x14,0x00, 0x14,0x00, 0x14,0x00, 0x14,0x00, 0x14,0x00, /* ¶ */ + 0x80,0x00, /* · */ + 0x40,0x00, 0x20,0x00, 0xE0,0x00, /* ¸ */ + 0xC0,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0xE0,0x00, /* ¹ */ + 0x70,0x00, 0x88,0x00, 0x88,0x00, 0x88,0x00, 0x70,0x00, /* º */ + 0xD8,0x00, 0x4C,0x00, 0x24,0x00, 0x24,0x00, 0x4C,0x00, 0xD8,0x00, /* » */ + 0xC0,0x80, 0x41,0x00, 0x43,0x00, 0x42,0x00, 0x44,0xC0, 0xF4,0xC0, 0x09,0x40, 0x1A,0x40, 0x13,0xE0, 0x20,0x40, 0x20,0x40, /* ¼ */ + 0xC1,0x00, 0x42,0x00, 0x42,0x00, 0x44,0x00, 0x45,0xC0, 0xE8,0x40, 0x08,0x40, 0x10,0x80, 0x21,0x00, 0x23,0xC0, /* ½ */ + 0x60,0x80, 0x91,0x00, 0x11,0x00, 0x62,0x00, 0x94,0x40, 0xF4,0xC0, 0x09,0x40, 0x0A,0x40, 0x13,0xE0, 0x20,0x40, 0x20,0x40, /* ¾ */ + 0x10,0x00, 0x00,0x00, 0x10,0x00, 0x10,0x00, 0x60,0x00, 0xC0,0x00, 0x80,0x00, 0x84,0x00, 0xCC,0x00, 0x78,0x00, /* ¿ */ + 0x18,0x00, 0x04,0x00, /* À */ + 0x04,0x00, 0x08,0x00, /* Á */ + 0x1C,0x00, 0x36,0x00, /* Â */ + 0x1A,0x00, 0x2E,0x00, /* Ã */ + 0x12,0x00, /* Ä */ + 0x08,0x00, 0x14,0x00, /* Å */ + 0x0F,0xF0, 0x0A,0x00, 0x12,0x00, 0x12,0x00, 0x23,0xF0, 0x22,0x00, 0x7E,0x00, 0x42,0x00, 0xC2,0x00, 0x83,0xF0, /* Æ */ + 0x3E,0x00, 0x63,0x00, 0xC1,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0xC1,0x80, 0x63,0x00, 0x3E,0x00, 0x08,0x00, 0x04,0x00, 0x1C,0x00, /* Ç */ + 0x20,0x00, 0x10,0x00, /* È */ + 0x18,0x00, 0x10,0x00, /* É */ + 0x38,0x00, 0x6C,0x00, /* Ê */ + 0x28,0x00, /* Ë */ + 0x80,0x00, 0x40,0x00, /* Ì */ + 0x40,0x00, 0x80,0x00, /* Í */ + 0x70,0x00, 0xD8,0x00, 0x00,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, /* Î */ + 0x90,0x00, 0x00,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, /* Ï */ + 0x7E,0x00, 0x43,0x00, 0x41,0x80, 0x40,0x80, 0xF8,0x80, 0x40,0x80, 0x40,0x80, 0x41,0x00, 0x43,0x00, 0x7E,0x00, /* Ð */ + 0x32,0x00, 0x4C,0x00, /* Ñ */ + 0x18,0x00, 0x04,0x00, /* Ò */ + 0x0C,0x00, 0x10,0x00, /* Ó */ + 0x1C,0x00, 0x22,0x00, /* Ô */ + 0x3A,0x00, 0x2C,0x00, /* Õ */ + 0x12,0x00, /* Ö */ + 0x84,0x00, 0x48,0x00, 0x30,0x00, 0x30,0x00, 0x48,0x00, 0x84,0x00, /* × */ + 0x00,0x80, 0x3F,0x80, 0x63,0x00, 0xC3,0x80, 0x84,0x80, 0x8C,0x80, 0x98,0x80, 0x90,0x80, 0xE1,0x00, 0x63,0x00, 0xBE,0x00, /* Ø */ + 0x10,0x00, 0x08,0x00, /* Ù */ + 0x08,0x00, 0x10,0x00, /* Ú */ + 0x38,0x00, 0x44,0x00, /* Û */ + 0x24,0x00, /* Ü */ + 0x04,0x00, 0x08,0x00, /* Ý */ + 0x80,0x00, 0x80,0x00, 0xFC,0x00, 0x86,0x00, 0x82,0x00, 0x82,0x00, 0x86,0x00, 0xFC,0x00, 0x80,0x00, 0x80,0x00, /* Þ */ + 0x78,0x00, 0xC4,0x00, 0x84,0x00, 0x8C,0x00, 0x98,0x00, 0x98,0x00, 0x8C,0x00, 0x86,0x00, 0x82,0x00, 0x82,0x00, 0x9C,0x00, /* ß */ + 0x20,0x00, 0x10,0x00, /* à */ + 0x18,0x00, 0x20,0x00, /* á */ + 0x38,0x00, 0x4C,0x00, /* â */ + 0x74,0x00, 0x98,0x00, /* ã */ + 0x48,0x00, /* ä */ + 0x30,0x00, 0x48,0x00, 0x30,0x00, /* å */ + 0x7B,0xC0, 0xC6,0x20, 0x04,0x20, 0x7F,0xF0, 0xC4,0x00, 0x84,0x00, 0x8E,0x20, 0x73,0xC0, /* æ */ + 0x78,0x00, 0x44,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, 0x44,0x00, 0x78,0x00, 0x10,0x00, 0x08,0x00, 0x38,0x00, /* ç */ + 0x30,0x00, 0x10,0x00, /* è */ + 0x18,0x00, 0x10,0x00, /* é */ + 0x38,0x00, 0x4C,0x00, /* ê */ + 0x48,0x00, /* ë */ + 0x60,0x00, 0x20,0x00, 0x00,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, /* ì */ + 0x60,0x00, 0x40,0x00, 0x00,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, /* í */ + 0x70,0x00, 0xD8,0x00, 0x00,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, /* î */ + 0x90,0x00, 0x00,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, /* ï */ + 0x24,0x00, 0x38,0x00, 0x4C,0x00, 0x04,0x00, 0x7E,0x00, 0xC6,0x00, 0x82,0x00, 0x82,0x00, 0x82,0x00, 0xC4,0x00, 0x7C,0x00, /* ð */ + 0x64,0x00, 0x98,0x00, /* ñ */ + 0x20,0x00, 0x10,0x00, /* ò */ + 0x10,0x00, 0x20,0x00, /* ó */ + 0x38,0x00, 0x4C,0x00, /* ô */ + 0x68,0x00, 0x98,0x00, /* õ */ + 0x48,0x00, /* ö */ + 0x10,0x00, 0x00,0x00, 0xFE,0x00, 0x00,0x00, 0x00,0x00, 0x10,0x00, /* ÷ */ + 0x3E,0x00, 0x66,0x00, 0x46,0x00, 0x4A,0x00, 0x52,0x00, 0x62,0x00, 0x66,0x00, 0x7C,0x00, /* ø */ + 0x20,0x00, 0x10,0x00, /* ù */ + 0x18,0x00, 0x20,0x00, /* ú */ + 0x30,0x00, 0xC8,0x00, /* û */ + 0x48,0x00, /* ü */ + 0x18,0x00, 0x20,0x00, /* ý */ + 0x80,0x00, 0x80,0x00, 0x80,0x00, 0xB8,0x00, 0xCC,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0x84,0x00, 0xCC,0x00, 0xB8,0x00, 0x80,0x00, 0x80,0x00, 0x80,0x00, /* þ */ + 0x48,0x00, /* ÿ */ +}; + +static const struct font_info font_small_bold_infos[191] = { + { 0, 13, 1, 0, 4 }, /* SP */ + { 2, 4, 10, 1, 3 }, /* ! */ + { 22, 4, 3, 1, 6 }, /* " */ + { 28, 4, 10, 0, 8 }, /* # */ + { 48, 3, 12, 1, 9 }, /* $ */ + { 72, 4, 10, 1, 13 }, /* % */ + { 92, 4, 10, 1, 10 }, /* & */ + { 112, 4, 3, 1, 3 }, /* ' */ + { 118, 3, 14, 1, 5 }, /* ( */ + { 146, 3, 14, 1, 5 }, /* ) */ + { 174, 4, 5, 0, 5 }, /* * */ + { 184, 6, 7, 1, 9 }, /* + */ + { 198, 13, 3, 1, 3 }, /* , */ + { 204, 10, 1, 1, 5 }, /* - */ + { 206, 13, 1, 1, 3 }, /* . */ + { 208, 3, 11, 0, 4 }, /* / */ + { 230, 4, 10, 1, 8 }, /* 0 */ + { 250, 4, 10, 1, 8 }, /* 1 */ + { 270, 4, 10, 1, 8 }, /* 2 */ + { 290, 4, 10, 1, 8 }, /* 3 */ + { 310, 4, 10, 1, 8 }, /* 4 */ + { 330, 4, 10, 1, 8 }, /* 5 */ + { 350, 4, 10, 1, 8 }, /* 6 */ + { 370, 4, 10, 1, 8 }, /* 7 */ + { 390, 4, 10, 1, 8 }, /* 8 */ + { 410, 4, 10, 1, 8 }, /* 9 */ + { 430, 6, 8, 1, 3 }, /* : */ + { 446, 6, 10, 1, 3 }, /* ; */ + { 466, 5, 8, 1, 9 }, /* < */ + { 482, 6, 5, 1, 9 }, /* = */ + { 492, 5, 8, 1, 9 }, /* > */ + { 508, 4, 10, 1, 8 }, /* ? */ + { 528, 3, 13, 1, 14 }, /* @ */ + { 554, 4, 10, 0, 9 }, /* A */ + { 574, 4, 10, 1, 9 }, /* B */ + { 594, 4, 10, 1, 10 }, /* C */ + { 614, 4, 10, 1, 10 }, /* D */ + { 634, 4, 10, 1, 9 }, /* E */ + { 654, 4, 10, 1, 8 }, /* F */ + { 674, 4, 10, 1, 11 }, /* G */ + { 694, 4, 10, 1, 10 }, /* H */ + { 714, 4, 10, 1, 3 }, /* I */ + { 734, 4, 10, 1, 7 }, /* J */ + { 754, 4, 10, 1, 9 }, /* K */ + { 774, 4, 10, 1, 7 }, /* L */ + { 794, 4, 10, 1, 11 }, /* M */ + { 814, 4, 10, 1, 10 }, /* N */ + { 834, 4, 10, 1, 11 }, /* O */ + { 854, 4, 10, 1, 9 }, /* P */ + { 874, 4, 13, 1, 11 }, /* Q */ + { 900, 4, 10, 1, 10 }, /* R */ + { 920, 4, 10, 1, 9 }, /* S */ + { 940, 4, 10, 1, 10 }, /* T */ + { 960, 4, 10, 1, 10 }, /* U */ + { 980, 4, 10, 0, 9 }, /* V */ + { 1000, 4, 10, 0, 13 }, /* W */ + { 1020, 4, 10, 0, 9 }, /* X */ + { 1040, 4, 10, 0, 9 }, /* Y */ + { 1060, 4, 10, 1, 10 }, /* Z */ + { 1080, 3, 14, 1, 4 }, /* [ */ + { 1108, 3, 11, 0, 4 }, /* \ */ + { 1130, 3, 14, 0, 4 }, /* ] */ + { 1158, 3, 6, 0, 7 }, /* ^ */ + { 1170, 16, 1, 0, 8 }, /* _ */ + { 1172, 3, 2, 1, 5 }, /* ` */ + { 1176, 6, 8, 1, 8 }, /* a */ + { 1192, 3, 11, 1, 8 }, /* b */ + { 1214, 6, 8, 1, 7 }, /* c */ + { 1230, 3, 11, 1, 8 }, /* d */ + { 1252, 6, 8, 1, 8 }, /* e */ + { 1268, 3, 11, 0, 3 }, /* f */ + { 1290, 6, 11, 1, 8 }, /* g */ + { 1312, 3, 11, 1, 8 }, /* h */ + { 1334, 3, 11, 1, 3 }, /* i */ + { 1356, 3, 14, 0, 3 }, /* j */ + { 1384, 3, 11, 1, 7 }, /* k */ + { 1406, 3, 11, 1, 3 }, /* l */ + { 1428, 6, 8, 1, 11 }, /* m */ + { 1444, 6, 8, 1, 8 }, /* n */ + { 1460, 6, 8, 1, 8 }, /* o */ + { 1476, 6, 11, 1, 8 }, /* p */ + { 1498, 6, 11, 1, 8 }, /* q */ + { 1520, 6, 8, 1, 5 }, /* r */ + { 1536, 6, 8, 1, 8 }, /* s */ + { 1552, 4, 10, 0, 4 }, /* t */ + { 1572, 6, 8, 1, 8 }, /* u */ + { 1588, 6, 8, 0, 7 }, /* v */ + { 1604, 6, 8, 0, 10 }, /* w */ + { 1620, 6, 8, 0, 7 }, /* x */ + { 1636, 6, 11, 0, 7 }, /* y */ + { 1658, 6, 8, 1, 8 }, /* z */ + { 1674, 3, 14, 1, 5 }, /* { */ + { 1702, 3, 14, 1, 3 }, /* | */ + { 1730, 3, 14, 0, 5 }, /* } */ + { 1758, 8, 2, 1, 9 }, /* ~ */ + { 1762, 13, 1, 0, 4 }, /* NBSP */ + { 1764, 6, 10, 2, 5 }, /* ¡ */ + { 1784, 4, 10, 1, 8 }, /* ¢ */ + { 1804, 4, 10, 1, 8 }, /* £ */ + { 1824, 6, 6, 1, 8 }, /* ¤ */ + { 1836, 4, 10, 0, 7 }, /* ¥ */ + { 1856, 3, 14, 1, 3 }, /* ¦ */ + { 1884, 3, 12, 1, 8 }, /* § */ + { 1908, 4, 1, 1, 6 }, /* ¨ */ + { 1910, 3, 11, 1, 12 }, /* © */ + { 1932, 4, 5, 1, 6 }, /* ª */ + { 1942, 7, 6, 1, 8 }, /* « */ + { 1954, 9, 4, 0, 8 }, /* ¬ */ + { 0, 17, 0, 0, 0 }, /* SHY */ + { 1962, 3, 11, 1, 12 }, /* ® */ + { 1984, 3, 1, 0, 8 }, /* ¯ */ + { 1986, 4, 4, 1, 6 }, /* ° */ + { 1994, 5, 9, 1, 9 }, /* ± */ + { 2012, 4, 6, 0, 4 }, /* ² */ + { 2024, 4, 6, 0, 4 }, /* ³ */ + { 2036, 3, 2, 1, 5 }, /* ´ */ + { 2040, 6, 11, 1, 9 }, /* µ */ + { 2062, 4, 13, 0, 7 }, /* ¶ */ + { 2088, 9, 1, 2, 5 }, /* · */ + { 2090, 14, 3, 0, 4 }, /* ¸ */ + { 2096, 4, 6, 1, 5 }, /* ¹ */ + { 2108, 4, 5, 1, 6 }, /* º */ + { 2118, 7, 6, 1, 8 }, /* » */ + { 2130, 4, 11, 1, 12 }, /* ¼ */ + { 2152, 4, 10, 1, 12 }, /* ½ */ + { 2172, 4, 11, 1, 12 }, /* ¾ */ + { 2194, 6, 10, 1, 8 }, /* ¿ */ + { 2214, 1, 2, 0, 9 }, /* À */ + { 2218, 1, 2, 0, 9 }, /* Á */ + { 2222, 1, 2, 0, 9 }, /* Â */ + { 2226, 1, 2, 0, 9 }, /* Ã */ + { 2230, 2, 1, 0, 10 }, /* Ä */ + { 2232, 1, 2, 0, 9 }, /* Å */ + { 2236, 4, 10, 1, 14 }, /* Æ */ + { 2256, 4, 13, 1, 10 }, /* Ç */ + { 2282, 1, 2, 1, 9 }, /* È */ + { 2286, 1, 2, 1, 9 }, /* É */ + { 2290, 1, 2, 1, 9 }, /* Ê */ + { 2294, 2, 1, 1, 9 }, /* Ë */ + { 2296, 1, 2, 0, 3 }, /* Ì */ + { 2300, 1, 2, 1, 3 }, /* Í */ + { 2304, 1, 13, 0, 5 }, /* Î */ + { 2330, 2, 12, 1, 6 }, /* Ï */ + { 2354, 4, 10, 1, 11 }, /* Ð */ + { 2374, 1, 2, 1, 10 }, /* Ñ */ + { 2378, 1, 2, 1, 11 }, /* Ò */ + { 2382, 1, 2, 1, 11 }, /* Ó */ + { 2386, 1, 2, 1, 11 }, /* Ô */ + { 2390, 1, 2, 1, 11 }, /* Õ */ + { 2394, 2, 1, 1, 11 }, /* Ö */ + { 2396, 6, 6, 1, 8 }, /* × */ + { 2408, 3, 11, 1, 11 }, /* Ø */ + { 2430, 1, 2, 1, 10 }, /* Ù */ + { 2434, 1, 2, 1, 10 }, /* Ú */ + { 2438, 1, 2, 1, 10 }, /* Û */ + { 2442, 2, 1, 1, 10 }, /* Ü */ + { 2444, 1, 2, 0, 9 }, /* Ý */ + { 2448, 4, 10, 1, 9 }, /* Þ */ + { 2468, 3, 11, 1, 9 }, /* ß */ + { 2490, 3, 2, 1, 8 }, /* à */ + { 2494, 3, 2, 1, 8 }, /* á */ + { 2498, 3, 2, 1, 8 }, /* â */ + { 2502, 3, 2, 1, 8 }, /* ã */ + { 2506, 4, 1, 1, 8 }, /* ä */ + { 2508, 2, 3, 1, 8 }, /* å */ + { 2514, 6, 8, 1, 13 }, /* æ */ + { 2530, 6, 11, 1, 8 }, /* ç */ + { 2552, 3, 2, 1, 8 }, /* è */ + { 2556, 3, 2, 1, 8 }, /* é */ + { 2560, 3, 2, 1, 8 }, /* ê */ + { 2564, 4, 1, 1, 8 }, /* ë */ + { 2566, 3, 11, 0, 4 }, /* ì */ + { 2588, 3, 11, 0, 4 }, /* í */ + { 2610, 3, 11, 0, 5 }, /* î */ + { 2632, 4, 10, 1, 6 }, /* ï */ + { 2652, 3, 11, 1, 9 }, /* ð */ + { 2674, 3, 2, 1, 8 }, /* ñ */ + { 2678, 3, 2, 1, 8 }, /* ò */ + { 2682, 3, 2, 1, 8 }, /* ó */ + { 2686, 3, 2, 1, 8 }, /* ô */ + { 2690, 3, 2, 1, 8 }, /* õ */ + { 2694, 4, 1, 1, 8 }, /* ö */ + { 2696, 6, 6, 1, 9 }, /* ÷ */ + { 2708, 6, 8, 0, 8 }, /* ø */ + { 2724, 3, 2, 1, 8 }, /* ù */ + { 2728, 3, 2, 1, 8 }, /* ú */ + { 2732, 3, 2, 1, 8 }, /* û */ + { 2736, 4, 1, 1, 8 }, /* ü */ + { 2738, 3, 2, 1, 8 }, /* ý */ + { 2742, 3, 14, 1, 8 }, /* þ */ + { 2770, 4, 1, 1, 8 }, /* ÿ */ +}; + +static const char font_small_bold_bases[64] = { + 'A', 'A', 'A', 'A', 'A', 'A', 0 , 0 , 'E', 'E', 'E', 'E', 'I', 'I', 0 , 0 , /*C0-CF*/ + 0 , 'N', 'O', 'O', 'O', 'O', 'O', 0 , 0 , 'U', 'U', 'U', 'U', 'Y', 0 , 0 , /*D0-DF*/ + 'a', 'a', 'a', 'a', 'a', 'a', 0 , 0 , 'e', 'e', 'e', 'e', 'i', 'i', 0 , 0 , /*E0-EF*/ + 0 , 'n', 'o', 'o', 'o', 'o', 'o', 0 , 0 , 'u', 'u', 'u', 'u', 'y', 0 , 'y', /*F0-FF*/ +}; + +/* Adapted from OCR-B font version 0.2 Matthew Skala + * https://tsukurimashou.osdn.jp/ocr.php.en + * + * Copyright Matthew Skala (2011); based on code by Norbert Schwarz (1986, 2011) + * + * "The version in this package descends from a set of Metafont + * definitions by Norbert Schwarz of Ruhr-Universitaet Bochum, + * bearing dates ranging from 1986 to 2010. He originally + * distributed it under a "non-commercial use only" + * restriction but has since released it for unrestricted use + * and distribution. See the README file for more details." + * + * The README states (http://mirrors.ctan.org/fonts/ocr-b.zip) + * + * "As far as the digitization in METAFONT input which I have + * developed, you may freely use, modify, and/or distribute any of + * these files or the resulting fonts, without limitation. A previous + * release of ocr-b only granted rights for non-commercial use; that + * restriction is now lifted." + * + * Note there's no bold version of OCR-B. + */ + +/* FT_Set_Pixel_Sizes(OCRB, width 0, height 20) */ + +#define FONT_UPCEAN_HEIGHT 20 +#define FONT_UPCEAN_BIT_WIDTH 16 +#define FONT_UPCEAN_BIT_HEIGHT 27 + +/* Each character is 16 bits wide */ +static const unsigned char font_upcean[412] = { + 0x1E,0x00, 0x7F,0x80, 0x61,0x80, 0xC0,0xC0, 0xC0,0xC0, 0xC0,0xC0, 0xC0,0xC0, 0xC0,0xC0, 0xC0,0xC0, 0xC0,0xC0, 0xC0,0xC0, 0xC0,0xC0, 0xE1,0xC0, 0x61,0x80, 0x7F,0x80, 0x1F,0x00, /* 0 */ + 0x1C,0x00, 0x3C,0x00, 0x7C,0x00, 0xEC,0x00, 0xCC,0x00, 0x0C,0x00, 0x0C,0x00, 0x0C,0x00, 0x0C,0x00, 0x0C,0x00, 0x0C,0x00, 0x0C,0x00, 0x0C,0x00, 0x0C,0x00, 0x0C,0x00, 0x0C,0x00, /* 1 */ + 0x3E,0x00, 0xFF,0x00, 0xC3,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x03,0x80, 0x07,0x00, 0x1E,0x00, 0x38,0x00, 0x70,0x00, 0xE0,0x00, 0xC0,0x00, 0xC0,0x00, 0xFF,0x80, 0xFF,0x80, /* 2 */ + 0xFF,0x80, 0xFF,0x80, 0x03,0x80, 0x07,0x00, 0x0E,0x00, 0x0C,0x00, 0x1F,0x00, 0x1F,0x80, 0x01,0xC0, 0x00,0xC0, 0x00,0xC0, 0x00,0xC0, 0x00,0xC0, 0xC3,0x80, 0xFF,0x80, 0x7E,0x00, /* 3 */ + 0x04,0x00, 0x0C,0x00, 0x0C,0x00, 0x18,0x00, 0x18,0x00, 0x30,0x00, 0x30,0x00, 0x63,0x00, 0x63,0x00, 0xC3,0x00, 0xFF,0xC0, 0xFF,0xC0, 0x03,0x00, 0x03,0x00, 0x03,0x00, 0x03,0x00, /* 4 */ + 0x7F,0x80, 0x7F,0x80, 0x60,0x00, 0x60,0x00, 0x60,0x00, 0x7C,0x00, 0x7F,0x00, 0x03,0x00, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x03,0x80, 0x07,0x00, 0x7E,0x00, 0x78,0x00, /* 5 */ + 0x02,0x00, 0x06,0x00, 0x0E,0x00, 0x1C,0x00, 0x38,0x00, 0x30,0x00, 0x7E,0x00, 0x7F,0x80, 0xE1,0x80, 0xC0,0xC0, 0xC0,0xC0, 0xC0,0xC0, 0xC0,0xC0, 0x61,0x80, 0x7F,0x80, 0x1E,0x00, /* 6 */ + 0xFF,0xC0, 0xFF,0xC0, 0x00,0xC0, 0x01,0x80, 0x03,0x80, 0x03,0x00, 0x07,0x00, 0x06,0x00, 0x0C,0x00, 0x0C,0x00, 0x18,0x00, 0x18,0x00, 0x18,0x00, 0x18,0x00, 0x18,0x00, 0x18,0x00, /* 7 */ + 0x1E,0x00, 0x3F,0x00, 0x73,0x80, 0x61,0x80, 0x61,0x80, 0x33,0x00, 0x3F,0x00, 0x1E,0x00, 0x77,0x80, 0x61,0x80, 0xC0,0xC0, 0xC0,0xC0, 0xC0,0xC0, 0xE1,0xC0, 0x7F,0x80, 0x3F,0x00, /* 8 */ + 0x1E,0x00, 0x7F,0x80, 0x61,0x80, 0xC0,0xC0, 0xC0,0xC0, 0xC0,0xC0, 0xC0,0xC0, 0x61,0xC0, 0x7F,0x80, 0x1F,0x80, 0x03,0x00, 0x07,0x00, 0x0E,0x00, 0x1C,0x00, 0x18,0x00, 0x10,0x00, /* 9 */ + 0xF0,0x00, 0xF0,0x00, 0xF0,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0xF0,0x00, 0xF0,0x00, 0xF0,0x00, /* : */ + 0x1E,0x00, 0x1E,0x00, 0x1E,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x1E,0x00, 0x1E,0x00, 0x3C,0x00, 0x3C,0x00, 0x78,0x00, 0x70,0x00, 0x70,0x00, 0x60,0x00, /* ; */ + 0x00,0xC0, 0x03,0xC0, 0x07,0x80, 0x0E,0x00, 0x3C,0x00, 0x70,0x00, 0xE0,0x00, 0x70,0x00, 0x3C,0x00, 0x0E,0x00, 0x07,0x80, 0x03,0xC0, 0x00,0xC0, /* < */ + 0xFF,0xC0, 0xFF,0xC0, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0xFF,0xC0, 0xFF,0xC0, /* = */ +}; + +static const struct font_info font_upcean_infos[14] = { + { 0, 4, 16, 2, 14 }, /* 0 */ + { 32, 4, 16, 3, 14 }, /* 1 */ + { 64, 4, 16, 3, 14 }, /* 2 */ + { 96, 4, 16, 2, 14 }, /* 3 */ + { 128, 4, 16, 2, 14 }, /* 4 */ + { 160, 4, 16, 2, 14 }, /* 5 */ + { 192, 4, 16, 2, 14 }, /* 6 */ + { 224, 4, 16, 2, 14 }, /* 7 */ + { 256, 4, 16, 2, 14 }, /* 8 */ + { 288, 4, 16, 2, 14 }, /* 9 */ + { 320, 9, 11, 5, 14 }, /* : */ + { 342, 9, 15, 3, 14 }, /* ; */ + { 372, 6, 13, 2, 14 }, /* < */ + { 398, 9, 7, 2, 14 }, /* = */ +}; + +/* Adapted from OCR-B font version 0.2 Matthew Skala + * https://tsukurimashou.osdn.jp/ocr.php.en + * + * Copyright Matthew Skala (2011); based on code by Norbert Schwarz (1986, 2011) + * + * "The version in this package descends from a set of Metafont + * definitions by Norbert Schwarz of Ruhr-Universitaet Bochum, + * bearing dates ranging from 1986 to 2010. He originally + * distributed it under a "non-commercial use only" + * restriction but has since released it for unrestricted use + * and distribution. See the README file for more details." + * + * The README states (http://mirrors.ctan.org/fonts/ocr-b.zip) + * + * "As far as the digitization in METAFONT input which I have + * developed, you may freely use, modify, and/or distribute any of + * these files or the resulting fonts, without limitation. A previous + * release of ocr-b only granted rights for non-commercial use; that + * restriction is now lifted." + * + * Note there's no bold version of OCR-B. + */ + +/* FT_Set_Pixel_Sizes(OCRB, width 0, height 14) */ + +#define FONT_UPCEAN_SMALL_HEIGHT 14 +#define FONT_UPCEAN_SMALL_BIT_WIDTH 13 +#define FONT_UPCEAN_SMALL_BIT_HEIGHT 20 + +/* Each character is 13 bits wide */ +static const unsigned char font_upcean_small[304] = { + 0x38,0x00, 0x44,0x00, 0x82,0x00, 0x82,0x00, 0x82,0x00, 0x82,0x00, 0x82,0x00, 0x82,0x00, 0x82,0x00, 0x82,0x00, 0x44,0x00, 0x38,0x00, /* 0 */ + 0x30,0x00, 0x70,0x00, 0xF0,0x00, 0x90,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, 0x10,0x00, /* 1 */ + 0x78,0x00, 0x8C,0x00, 0x04,0x00, 0x04,0x00, 0x0C,0x00, 0x18,0x00, 0x38,0x00, 0x60,0x00, 0xC0,0x00, 0x80,0x00, 0x80,0x00, 0xFC,0x00, /* 2 */ + 0xFE,0x00, 0x06,0x00, 0x0C,0x00, 0x18,0x00, 0x38,0x00, 0x1C,0x00, 0x06,0x00, 0x02,0x00, 0x02,0x00, 0x02,0x00, 0x84,0x00, 0xF8,0x00, /* 3 */ + 0x10,0x00, 0x10,0x00, 0x30,0x00, 0x20,0x00, 0x60,0x00, 0x60,0x00, 0xC8,0x00, 0xC8,0x00, 0xFE,0x00, 0x08,0x00, 0x08,0x00, 0x08,0x00, /* 4 */ + 0x7C,0x00, 0x40,0x00, 0x40,0x00, 0x40,0x00, 0x70,0x00, 0x08,0x00, 0x04,0x00, 0x04,0x00, 0x04,0x00, 0x0C,0x00, 0x18,0x00, 0xF0,0x00, /* 5 */ + 0x08,0x00, 0x18,0x00, 0x30,0x00, 0x60,0x00, 0x60,0x00, 0xF8,0x00, 0xC4,0x00, 0x82,0x00, 0x82,0x00, 0x82,0x00, 0x46,0x00, 0x38,0x00, /* 6 */ + 0xFE,0x00, 0x06,0x00, 0x06,0x00, 0x0C,0x00, 0x18,0x00, 0x18,0x00, 0x10,0x00, 0x30,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, 0x20,0x00, /* 7 */ + 0x38,0x00, 0x44,0x00, 0x44,0x00, 0x44,0x00, 0x7C,0x00, 0x38,0x00, 0x6C,0x00, 0xC6,0x00, 0x82,0x00, 0x82,0x00, 0xC4,0x00, 0x78,0x00, /* 8 */ + 0x38,0x00, 0x44,0x00, 0x82,0x00, 0x82,0x00, 0x82,0x00, 0x82,0x00, 0x46,0x00, 0x3C,0x00, 0x0C,0x00, 0x18,0x00, 0x30,0x00, 0x20,0x00, /* 9 */ + 0xE0,0x00, 0xE0,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0xE0,0x00, 0xE0,0x00, /* : */ + 0x38,0x00, 0x38,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x38,0x00, 0x38,0x00, 0x70,0x00, 0x70,0x00, 0x60,0x00, 0xC0,0x00, /* ; */ + 0x06,0x00, 0x1C,0x00, 0x38,0x00, 0xE0,0x00, 0xC0,0x00, 0xE0,0x00, 0x38,0x00, 0x1C,0x00, 0x04,0x00, /* < */ + 0xFE,0x00, 0x00,0x00, 0x00,0x00, 0xFE,0x00, /* = */ +}; + +static const struct font_info font_upcean_small_infos[14] = { + { 0, 3, 12, 2, 10 }, /* 0 */ + { 24, 3, 12, 2, 10 }, /* 1 */ + { 48, 3, 12, 2, 10 }, /* 2 */ + { 72, 3, 12, 2, 10 }, /* 3 */ + { 96, 3, 12, 2, 10 }, /* 4 */ + { 120, 3, 12, 1, 10 }, /* 5 */ + { 144, 3, 12, 2, 10 }, /* 6 */ + { 168, 3, 12, 2, 10 }, /* 7 */ + { 192, 3, 12, 2, 10 }, /* 8 */ + { 216, 3, 12, 2, 10 }, /* 9 */ + { 240, 7, 8, 4, 10 }, /* : */ + { 256, 7, 11, 2, 10 }, /* ; */ + { 278, 5, 9, 2, 10 }, /* < */ + { 296, 7, 4, 2, 10 }, /* = */ +}; + +struct font_hdr { + const unsigned char *font; + const struct font_info *infos; + const char *bases; + int height; + int bit_width; + int bit_height; + float ascent; + float descent; + float line_height; + float inleading; +}; + +static const struct font_hdr font_hdrs[6] = { + { font_normal, font_normal_infos, font_normal_bases, FONT_NORMAL_HEIGHT, FONT_NORMAL_BIT_WIDTH, FONT_NORMAL_BIT_HEIGHT, 13.0f, 3.0f, 16.0f, 2.0f }, + { font_normal_bold, font_normal_bold_infos, font_normal_bold_bases, FONT_NORMAL_BOLD_HEIGHT, FONT_NORMAL_BOLD_BIT_WIDTH, FONT_NORMAL_BOLD_BIT_HEIGHT, 15.0f, 4.0f, 18.0f, 4.0f }, + { font_small, font_small_infos, font_small_bases, FONT_SMALL_HEIGHT, FONT_SMALL_BIT_WIDTH, FONT_SMALL_BIT_HEIGHT, 11.0f, 3.0f, 14.0f, 3.0f }, + { font_small_bold, font_small_bold_infos, font_small_bold_bases, FONT_SMALL_BOLD_HEIGHT, FONT_SMALL_BOLD_BIT_WIDTH, FONT_SMALL_BOLD_BIT_HEIGHT, 13.0f, 3.0f, 16.0f, 2.0f }, + { font_upcean, font_upcean_infos, NULL, FONT_UPCEAN_HEIGHT, FONT_UPCEAN_BIT_WIDTH, FONT_UPCEAN_BIT_HEIGHT, 19.0f, 7.0f, 27.0f, 1.0f }, + { font_upcean_small, font_upcean_small_infos, NULL, FONT_UPCEAN_SMALL_HEIGHT, FONT_UPCEAN_SMALL_BIT_WIDTH, FONT_UPCEAN_SMALL_BIT_HEIGHT, 14.0f, 5.0f, 19.0f, 1.0f }, +}; + +/* vim: set ts=4 sw=4 et : */ +#endif /* Z_FONT_RASTER_H */ diff --git a/docs/README b/docs/README index a94386a5..dcc84ebd 100644 --- a/docs/README +++ b/docs/README @@ -1,4 +1,4 @@ -% docs/README 2026-06-05 +% docs/README 2026-07-30 % vim: set ts=4 sw=4 et : For generation of "docs/manual.html", "docs/manual.pdf" and "docs/manual.txt" from "manual.pmd" @@ -7,8 +7,8 @@ using pandoc >= 3.8.2. On Ubuntu/Debian (tested on Ubuntu 22.04 and Ubuntu 24.04) - wget https://github.com/jgm/pandoc/releases/download/3.10/pandoc-3.10-1-amd64.deb - sudo dpkg -i pandoc-3.10-1-amd64.deb + wget https://github.com/jgm/pandoc/releases/download/3.10.1/pandoc-3.10.1-1-amd64.deb + sudo dpkg -i pandoc-3.10.1-1-amd64.deb sudo apt install librsvg2-bin sudo apt install texlive-xetex sudo apt install texlive-lang-cjk @@ -17,9 +17,9 @@ On Ubuntu/Debian (tested on Ubuntu 22.04 and Ubuntu 24.04) On Fedora (tested on Fedora Linux 38 (Workstation Edition) and Fedora Linux 42 (Workstation Edition)) - wget https://github.com/jgm/pandoc/releases/download/3.10/pandoc-3.10-linux-amd64.tar.gz - tar xf pandoc-3.10-linux-amd64.tar.gz - sudo mv -i pandoc-3.10/bin/pandoc /usr/local/bin + wget https://github.com/jgm/pandoc/releases/download/3.10.1/pandoc-3.10.1-linux-amd64.tar.gz + tar xf pandoc-3.10.1-linux-amd64.tar.gz + sudo mv -i pandoc-3.10.1/bin/pandoc /usr/local/bin sudo dnf install librsvg2-tools.x86_64 sudo dnf install texlive-xetex sudo dnf install texlive-ctex.noarch diff --git a/docs/zint.1 b/docs/zint.1 index d42a0b55..a7856c88 100644 --- a/docs/zint.1 +++ b/docs/zint.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pandoc 3.10 +.\" Automatically generated by Pandoc 3.10.1 .\" .TH "ZINT" "1" "July 2026" "Version 2.16.0.9" .SH NAME