crashtest-r0ket/firmware/lcd/o-glyphs.c

704 lines
15 KiB
C

/*
* Hershey glyph set string encoded in C, copied from Keith Packards twin system.
*
* Copyright © 2004 Keith Packard
* Copyright © 2011 Øyvind Kolås
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
* the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of Keith Packard not be used in
* advertising or publicity pertaining to distribution of the software without
* specific, written prior permission. Keith Packard makes no
* representations about the suitability of this software for any purpose. It
* is provided "as is" without express or implied warranty.
*
* KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
* EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
const signed char _o_glyphs[] = {
/* 0x0 '\0' */
'm', 0, 0,
'l', 0, -42,
'l', 24, -42,
'l', 24, 0,
'z',
's', '.',
/* 0x20 ' ' */
's', '.',
/* 0x21 '!' */
'm', 2, -42,
'l', 2, -14,
'm', 2, -4,
'c', 1, -4, 0, -3, 0, -2,
'c', 0, -1, 1, 0, 2, 0,
'c', 3, 0, 4, -1, 4, -2,
'c', 4, -3, 3, -4, 2, -4,
's', '.',
/* 0x22 '"' */
'm', 0, -42,
'l', 0, -28,
'm', 16, -42,
'l', 16, -28,
's', '.',
/* 0x23 '#' */
'm', 16, -50,
'l', 2, 14,
'm', 28, -50,
'l', 14, 14,
'm', 2, -24,
'l', 30, -24,
'm', 0, -12,
'l', 28, -12,
's', '.',
/* 0x24 '$' */
's', '.',
/* 0x25 '%' */
's', '.',
/* 0x26 '&' */
'm', 40, -24,
'c', 40, -27, 39, -28, 37, -28,
'c', 29, -28, 32, 0, 12, 0,
'c', 0, 0, 0, -8, 0, -10,
'c', 0, -24, 22, -20, 22, -34,
'c', 22, -45, 10, -45, 10, -34,
'c', 10, -27, 25, 0, 36, 0,
'c', 39, 0, 40, -1, 40, -4,
's', '.',
/* 0x27 ''' */
'm', 2, -38,
'c', -1, -38, -1, -42, 2, -42,
'c', 6, -42, 5, -33, 0, -30,
's', '.',
/* 0x28 '(' */
'm', 14, -50,
'c', -5, -32, -5, -5, 14, 14,
's', '.',
/* 0x29 ')' */
'm', 0, -50,
'c', 19, -34, 19, -2, 0, 14,
's', '.',
/* 0x2a '*' */
'm', 10, -30,
'l', 10, -6,
'm', 0, -24,
'l', 20, -12,
'm', 20, -24,
'l', 0, -12,
's', '.',
/* 0x2b '+' */
'm', 18, -36,
'l', 18, 0,
'm', 0, -18,
'l', 36, -18,
's', '.',
/* 0x2c ',' */
'm', 4, -2,
'c', 4, 1, 0, 1, 0, -2,
'c', 0, -5, 4, -5, 4, -2,
'c', 4, 4, 2, 6, 0, 8,
's', '.',
/* 0x2d '-' */
'm', 0, -18,
'l', 36, -18,
's', '.',
/* 0x2e 's', '.' */
'm', 2, -4,
'c', -1, -4, -1, 0, 2, 0,
'c', 5, 0, 5, -4, 2, -4,
's', '.',
/* 0x2f '/' */
'm', 36, -50,
'l', 0, 14,
's', '.',
/* 0x30 '0' */
'm', 14, -42,
'c', 9, -42, 0, -42, 0, -21,
'c', 0, 0, 9, 0, 14, 0,
'c', 19, 0, 28, 0, 28, -21,
'c', 28, -42, 19, -42, 14, -42,
's', '.',
/* 0x31 '1' */
'm', 7, -34,
'c', 11, -35, 15, -38, 17, -42,
'l', 17, 0,
's', '.',
/* 0x32 '2' */
'm', 2, -32,
'c', 2, -34, 2, -42, 14, -42,
'c', 26, -42, 26, -34, 26, -32,
'c', 26, -30, 25, -25, 10, -10,
'l', 0, 0,
'l', 28, 0,
's', '.',
/* 0x33 '3' */
'm', 4, -42,
'l', 26, -42,
'l', 14, -26,
'c', 21, -26, 28, -26, 28, -14,
'c', 28, 0, 17, 0, 13, 0,
'c', 8, 0, 3, -1, 0, -8,
's', '.',
/* 0x34 '4' */
'm', 20, -42,
'l', 0, -14,
'l', 30, -14,
'm', 20, -42,
'l', 20, 0,
's', '.',
/* 0x35 '5' */
'm', 24, -42,
'l', 4, -42,
'l', 2, -24,
'c', 5, -27, 10, -28, 13, -28,
'c', 16, -28, 28, -28, 28, -14,
'c', 28, 0, 16, 0, 13, 0,
'c', 10, 0, 3, 0, 0, -8,
's', '.',
/* 0x36 '6' */
'm', 24, -36,
'c', 22, -41, 19, -42, 14, -42,
'c', 9, -42, 0, -41, 0, -19,
'c', 0, -1, 9, 0, 13, 0,
'c', 18, 0, 26, -3, 26, -13,
'c', 26, -18, 23, -26, 13, -26,
'c', 10, -26, 1, -24, 0, -14,
's', '.',
/* 0x37 '7' */
'm', 28, -42,
'l', 8, 0,
'm', 0, -42,
'l', 28, -42,
's', '.',
/* 0x38 '8' */
'm', 14, -42,
'c', 5, -42, 2, -40, 2, -34,
'c', 2, -18, 28, -32, 28, -11,
'c', 28, 0, 18, 0, 14, 0,
'c', 10, 0, 0, 0, 0, -11,
'c', 0, -32, 26, -18, 26, -34,
'c', 26, -40, 23, -42, 14, -42,
's', '.',
/* 0x39 '9' */
'm', 26, -28,
'c', 25, -16, 13, -16, 13, -16,
'c', 8, -16, 0, -19, 0, -29,
'c', 0, -34, 3, -42, 13, -42,
'c', 24, -42, 26, -32, 26, -23,
'c', 26, -14, 24, 0, 12, 0,
'c', 7, 0, 4, -2, 2, -6,
's', '.',
/* 0x3a ':' */
'm', 2, -28,
'c', -1, -28, -1, -24, 2, -24,
'c', 5, -24, 5, -28, 2, -28,
'm', 2, -4,
'c', -1, -4, -1, 0, 2, 0,
'c', 5, 0, 5, -4, 2, -4,
's', '.',
/* 0x3b ';' */
'm', 2, -28,
'c', -1, -28, -1, -24, 2, -24,
'c', 5, -24, 5, -28, 2, -28,
'm', 4, -2,
'c', 4, 1, 0, 1, 0, -2,
'c', 0, -5, 4, -5, 4, -2,
'c', 4, 3, 2, 6, 0, 8,
's', '.',
/* 0x3c '<' */
'm', 32, -36,
'l', 0, -18,
'l', 32, 0,
's', '.',
/* 0x3d '=' */
'm', 0, -24,
'l', 36, -24,
'm', 0, -12,
'l', 36, -12,
's', '.',
/* 0x3e '>' */
'm', 0, -36,
'l', 32, -18,
'l', 0, 0,
's', '.',
/* 0x3f '?' */
'm', 0, -32,
'c', 0, -34, 0, -42, 12, -42,
'c', 24, -42, 24, -34, 24, -32,
'c', 24, -29, 24, -24, 12, -20,
'l', 12, -14,
'm', 12, -4,
'c', 9, -4, 9, 0, 12, 0,
'c', 15, 0, 15, -4, 12, -4,
's', '.',
/* 0x40 '@' */
'm', 30, -26,
'c', 28, -31, 24, -32, 21, -32,
'c', 10, -32, 10, -23, 10, -19,
'c', 10, -13, 11, -10, 19, -10,
'c', 30, -10, 28, -21, 30, -32,
'c', 27, -10, 30, -10, 34, -10,
'c', 41, -10, 42, -19, 42, -22,
'c', 42, -34, 34, -42, 21, -42,
'c', 9, -42, 0, -34, 0, -21,
'c', 0, -9, 8, 0, 21, 0,
'c', 30, 0, 34, -3, 36, -6,
's', '.',
/* 0x41 'A' */
'm', 16, -42,
'l', 0, 0,
'm', 16, -42,
'l', 32, 0,
'm', 6, -14,
'l', 26, -14,
's', '.',
/* 0x42 'B' */
'm', 0, -42,
'l', 0, 0,
'm', 0, -42,
'l', 18, -42,
'c', 32, -42, 32, -22, 18, -22,
'm', 0, -22,
'l', 18, -22,
'c', 32, -22, 32, 0, 18, 0,
'l', 0, 0,
's', '.',
/* 0x43 'C' */
'm', 30, -32,
'c', 26, -42, 21, -42, 16, -42,
'c', 2, -42, 0, -29, 0, -21,
'c', 0, -13, 2, 0, 16, 0,
'c', 21, 0, 26, 0, 30, -10,
's', '.',
/* 0x44 'D' */
'm', 0, -42,
'l', 0, 0,
'm', 0, -42,
'l', 14, -42,
'c', 33, -42, 33, 0, 14, 0,
'l', 0, 0,
's', '.',
/* 0x45 'E' */
'm', 0, -42,
'l', 0, 0,
'm', 0, -42,
'l', 26, -42,
'm', 0, -22,
'l', 16, -22,
'm', 0, 0,
'l', 26, 0,
's', '.',
/* 0x46 'F' */
'm', 0, -42,
'l', 0, 0,
'm', 0, -42,
'l', 26, -42,
'm', 0, -22,
'l', 16, -22,
's', '.',
/* 0x47 'G' */
'm', 30, -32,
'c', 26, -42, 21, -42, 16, -42,
'c', 2, -42, 0, -29, 0, -21,
'c', 0, -13, 2, 0, 16, 0,
'c', 28, 0, 30, -7, 30, -16,
'm', 20, -16,
'l', 30, -16,
's', '.',
/* 0x48 'H' */
'm', 0, -42,
'l', 0, 0,
'm', 28, -42,
'l', 28, 0,
'm', 0, -22,
'l', 28, -22,
's', '.',
/* 0x49 'I' */
'm', 0, -42,
'l', 0, 0,
's', '.',
/* 0x4a 'J' */
'm', 20, -42,
'l', 20, -10,
'c', 20, 3, 0, 3, 0, -10,
'l', 0, -14,
's', '.',
/* 0x4b 'K' */
'm', 0, -42,
'l', 0, 0,
'm', 28, -42,
'l', 0, -14,
'm', 10, -24,
'l', 28, 0,
's', '.',
/* 0x4c 'L' */
'm', 0, -42,
'l', 0, 0,
'm', 0, 0,
'l', 24, 0,
's', '.',
/* 0x4d 'M' */
'm', 0, -42,
'l', 0, 0,
'm', 0, -42,
'l', 16, 0,
'm', 32, -42,
'l', 16, 0,
'm', 32, -42,
'l', 32, 0,
's', '.',
/* 0x4e 'N' */
'm', 0, -42,
'l', 0, 0,
'm', 0, -42,
'l', 28, 0,
'm', 28, -42,
'l', 28, 0,
's', '.',
/* 0x4f 'O' */
'm', 16, -42,
'c', 2, -42, 0, -29, 0, -21,
'c', 0, -13, 2, 0, 16, 0,
'c', 30, 0, 32, -13, 32, -21,
'c', 32, -29, 30, -42, 16, -42,
's', '.',
/* 0x50 'P' */
'm', 0, -42,
'l', 0, 0,
'm', 0, -42,
'l', 18, -42,
'c', 32, -42, 32, -20, 18, -20,
'l', 0, -20,
's', '.',
/* 0x51 'Q' */
'm', 16, -42,
'c', 2, -42, 0, -29, 0, -21,
'c', 0, -13, 2, 0, 16, 0,
'c', 30, 0, 32, -13, 32, -21,
'c', 32, -29, 30, -42, 16, -42,
'm', 18, -8,
'l', 30, 4,
's', '.',
/* 0x52 'R' */
'm', 0, -42,
'l', 0, 0,
'm', 0, -42,
'l', 18, -42,
'c', 32, -42, 31, -22, 18, -22,
'l', 0, -22,
'm', 14, -22,
'l', 28, 0,
's', '.',
/* 0x53 'S' */
'm', 28, -36,
'c', 25, -41, 21, -42, 14, -42,
'c', 10, -42, 0, -42, 0, -34,
'c', 0, -17, 28, -28, 28, -9,
'c', 28, 0, 19, 0, 14, 0,
'c', 7, 0, 3, -1, 0, -6,
's', '.',
/* 0x54 'T' */
'm', 14, -42,
'l', 14, 0,
'm', 0, -42,
'l', 28, -42,
's', '.',
/* 0x55 'U' */
'm', 0, -42,
'l', 0, -12,
'c', 0, 4, 28, 4, 28, -12,
'l', 28, -42,
's', '.',
/* 0x56 'V' */
'm', 0, -42,
'l', 16, 0,
'm', 32, -42,
'l', 16, 0,
's', '.',
/* 0x57 'W' */
'm', 0, -42,
'l', 10, 0,
'm', 20, -42,
'l', 10, 0,
'm', 20, -42,
'l', 30, 0,
'm', 40, -42,
'l', 30, 0,
's', '.',
/* 0x58 'X' */
'm', 0, -42,
'l', 28, 0,
'm', 28, -42,
'l', 0, 0,
's', '.',
/* 0x59 'Y' */
'm', 0, -42,
'l', 16, -22,
'l', 16, 0,
'm', 32, -42,
'l', 16, -22,
's', '.',
/* 0x5a 'Z' */
'm', 28, -42,
'l', 0, 0,
'm', 0, -42,
'l', 28, -42,
'm', 0, 0,
'l', 28, 0,
's', '.',
/* 0x5b '[' */
'm', 14, -44,
'l', 0, -44,
'l', 0, 0,
'l', 14, 0,
's', '.',
/* 0x5c '\' */
'm', 0, -50,
'l', 36, 14,
's', '.',
/* 0x5d ']' */
'm', 0, -44,
'l', 14, -44,
'l', 14, 0,
'l', 0, 0,
's', '.',
/* 0x5e '^' */
'm', 16, -46,
'l', 0, -18,
'm', 16, -46,
'l', 32, -18,
's', '.',
/* 0x5f '_' */
'm', 0, 0,
'l', 36, 0,
's', '.',
/* 0x60 '`' */
'm', 4, -42,
'c', 2, -40, 0, -39, 0, -32,
'c', 0, -31, 1, -30, 2, -30,
'c', 5, -30, 5, -34, 2, -34,
's', '.',
/* 0x61 'a' */
'm', 24, -28,
'l', 24, 0,
'm', 24, -22,
'c', 21, -27, 18, -28, 13, -28,
'c', 2, -28, 0, -19, 0, -14,
'c', 0, -9, 2, 0, 13, 0,
'c', 18, 0, 21, -1, 24, -6,
's', '.',
/* 0x62 'b' */
'm', 0, -42,
'l', 0, 0,
'm', 0, -22,
'c', 3, -26, 6, -28, 11, -28,
'c', 22, -28, 24, -19, 24, -14,
'c', 24, -9, 22, 0, 11, 0,
'c', 6, 0, 3, -2, 0, -6,
's', '.',
/* 0x63 'c' */
'm', 24, -22,
'c', 21, -26, 18, -28, 13, -28,
'c', 2, -28, 0, -19, 0, -14,
'c', 0, -9, 2, 0, 13, 0,
'c', 18, 0, 21, -2, 24, -6,
's', '.',
/* 0x64 'd' */
'm', 24, -42,
'l', 24, 0,
'm', 24, -22,
'c', 21, -26, 18, -28, 13, -28,
'c', 2, -28, 0, -19, 0, -14,
'c', 0, -9, 2, 0, 13, 0,
'c', 18, 0, 21, -2, 24, -6,
's', '.',
/* 0x65 's', '.' */
'm', 0, -16,
'l', 24, -16,
'c', 24, -20, 24, -28, 13, -28,
'c', 2, -28, 0, -19, 0, -14,
'c', 0, -9, 2, 0, 13, 0,
'c', 18, 0, 21, -2, 24, -6,
's', '.',
/* 0x66 'f' */
'm', 16, -42,
'c', 8, -42, 6, -40, 6, -34,
'l', 6, 0,
'm', 0, -28,
'l', 14, -28,
's', '.',
/* 0x67 'g' */
'm', 24, -28,
'l', 24, 4,
'c', 23, 14, 16, 14, 13, 14,
'c', 10, 14, 8, 14, 6, 12,
'm', 24, -22,
'c', 21, -26, 18, -28, 13, -28,
'c', 2, -28, 0, -19, 0, -14,
'c', 0, -9, 2, 0, 13, 0,
'c', 18, 0, 21, -2, 24, -6,
's', '.',
/* 0x68 'h' */
'm', 0, -42,
'l', 0, 0,
'm', 0, -20,
'c', 8, -32, 22, -31, 22, -20,
'l', 22, 0,
's', '.',
/* 0x69 'i' */
'm', 0, -42,
'c', 0, -39, 4, -39, 4, -42,
'c', 4, -45, 0, -45, 0, -42,
'm', 2, -28,
'l', 2, 0,
's', '.',
/* 0x6a 'j' */
'm', 0, -42,
'c', 0, -39, 4, -39, 4, -42,
'c', 4, -45, 0, -45, 0, -42,
'm', 2, -28,
'l', 2, 6,
'c', 2, 13, -1, 14, -8, 14,
's', '.',
/* 0x6b 'k' */
'm', 0, -42,
'l', 0, 0,
'm', 20, -28,
'l', 0, -8,
'm', 8, -16,
'l', 22, 0,
's', '.',
/* 0x6c 'l' */
'm', 0, -42,
'l', 0, 0,
's', '.',
/* 0x6d 'm' */
'm', 0, -28,
'l', 0, 0,
'm', 0, -20,
'c', 5, -29, 22, -33, 22, -20,
'l', 22, 0,
'm', 22, -20,
'c', 27, -29, 44, -33, 44, -20,
'l', 44, 0,
's', '.',
/* 0x6e 'n' */
'm', 0, -28,
'l', 0, 0,
'm', 0, -20,
'c', 4, -28, 22, -34, 22, -20,
'l', 22, 0,
's', '.',
/* 0x6f 'o' */
'm', 13, -28,
'c', 2, -28, 0, -19, 0, -14,
'c', 0, -9, 2, 0, 13, 0,
'c', 24, 0, 26, -9, 26, -14,
'c', 26, -19, 24, -28, 13, -28,
's', '.',
/* 0x70 'p' */
'm', 0, -28,
'l', 0, 14,
'm', 0, -22,
'c', 3, -26, 6, -28, 11, -28,
'c', 22, -28, 24, -19, 24, -14,
'c', 24, -9, 22, 0, 11, 0,
'c', 6, 0, 3, -2, 0, -6,
's', '.',
/* 0x71 'q' */
'm', 24, -28,
'l', 24, 14,
'm', 24, -22,
'c', 21, -26, 18, -28, 13, -28,
'c', 2, -28, 0, -19, 0, -14,
'c', 0, -9, 2, 0, 13, 0,
'c', 18, 0, 21, -2, 24, -6,
's', '.',
/* 0x72 'r' */
'm', 0, -28,
'l', 0, 0,
'm', 0, -16,
'c', 2, -27, 7, -28, 16, -28,
's', '.',
/* 0x73 's' */
'm', 22, -22,
'c', 22, -27, 16, -28, 11, -28,
'c', 4, -28, 0, -26, 0, -22,
'c', 0, -11, 22, -20, 22, -7,
'c', 22, 0, 17, 0, 11, 0,
'c', 6, 0, 0, -1, 0, -6,
's', '.',
/* 0x74 't' */
'm', 6, -42,
'l', 6, -8,
'c', 6, -2, 8, 0, 16, 0,
'm', 0, -28,
'l', 14, -28,
's', '.',
/* 0x75 'u' */
'm', 0, -28,
'l', 0, -8,
'c', 0, 6, 18, 0, 22, -8,
'm', 22, -28,
'l', 22, 0,
's', '.',
/* 0x76 'v' */
'm', 0, -28,
'l', 12, 0,
'm', 24, -28,
'l', 12, 0,
's', '.',
/* 0x77 'w' */
'm', 0, -28,
'l', 8, 0,
'm', 16, -28,
'l', 8, 0,
'm', 16, -28,
'l', 24, 0,
'm', 32, -28,
'l', 24, 0,
's', '.',
/* 0x78 'x' */
'm', 0, -28,
'l', 22, 0,
'm', 22, -28,
'l', 0, 0,
's', '.',
/* 0x79 'y' */
'm', 0, -28,
'l', 12, 0,
'm', 24, -28,
'l', 12, 0,
'c', 6, 13, 0, 14, -2, 14,
's', '.',
/* 0x7a 'z' */
'm', 22, -28,
'l', 0, 0,
'm', 0, -28,
'l', 22, -28,
'm', 0, 0,
'l', 22, 0,
's', '.',
/* 0x7b '{' */
's', '.',
/* 0x7c '|' */
'm', 0, -50,
'l', 0, 14,
's', '.',
/* 0x7d '}' */
's', '.',
/* 0x7e '~' */
'm', 0, -14,
'c', 1, -21, 4, -24, 8, -24,
'c', 18, -24, 18, -12, 28, -12,
'c', 32, -12, 35, -15, 36, -22,
's', '.',
};