vt100/src/vt100_font.inc

1/* DEC VT100 character generator ROM, part 23-018E2 (2 KB).2 * Generated by vt100/tools/mkfont.py from the dump published by PCjs:3 *   https://www.pcjs.org/machines/dec/vt100/rom/23-018E2.json54 * The glyph data is DEC's (now HP's); it is reproduced unchanged so the terminal shows5 * exactly the dots a VT100 did. 16 bytes per character, most significant bit = leftmost dot. */6static const unsigned char vt100_rom[128][16] = {7  {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 0x00 */8  {0x10,0x38,0x7C,0xFE,0x7C,0x38,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 0x01 */9  {0x92,0x44,0x92,0x44,0x92,0x44,0x92,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 0x02 */10  {0x88,0x88,0xF8,0x88,0x88,0x3E,0x08,0x08,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 0x03 */11  {0xF0,0x80,0xE0,0x80,0x9E,0x10,0x1C,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 0x04 */12  {0x78,0x80,0x80,0x78,0x3C,0x22,0x3C,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 0x05 */13  {0x80,0x80,0x80,0xF8,0x3E,0x20,0x3C,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 0x06 */14  {0x38,0x44,0x44,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 0x07 */15  {0x00,0x10,0x10,0xFE,0x10,0x10,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 0x08 */16  {0x88,0xC8,0xA8,0x98,0x88,0x20,0x20,0x20,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 0x09 */17  {0x88,0x88,0x50,0x20,0x3E,0x08,0x08,0x08,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 0x0A */18  {0x10,0x10,0x10,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10}, /* 0x0B */19  {0x00,0x00,0x00,0xF0,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 0x0C */20  {0x00,0x00,0x00,0x1F,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 0x0D */21  {0x10,0x10,0x10,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10}, /* 0x0E */22  {0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x10}, /* 0x0F */23  {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF}, /* 0x10 */24  {0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 0x11 */25  {0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 0x12 */26  {0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 0x13 */27  {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 0x14 */28  {0x10,0x10,0x10,0x1F,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x10}, /* 0x15 */29  {0x10,0x10,0x10,0xF0,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x10}, /* 0x16 */30  {0x10,0x10,0x10,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10}, /* 0x17 */31  {0x00,0x00,0x00,0xFF,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 0x18 */32  {0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x10}, /* 0x19 */33  {0x02,0x08,0x20,0x80,0x20,0x08,0x02,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 0x1A */34  {0x80,0x20,0x08,0x02,0x08,0x20,0x80,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 0x1B */35  {0x00,0x00,0xFE,0x24,0x24,0x24,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 0x1C */36  {0x02,0x04,0xFE,0x10,0xFE,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 0x1D */37  {0x1C,0x22,0x20,0xF8,0x20,0x78,0xA6,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 0x1E */38  {0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 0x1F */39  {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 0x20 */40  {0x10,0x10,0x10,0x10,0x10,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* ! */41  {0x24,0x24,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* " */42  {0x48,0x48,0xFC,0x48,0xFC,0x48,0x48,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* # */43  {0x10,0x7C,0x90,0x7C,0x12,0x7C,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* $ */44  {0xC2,0xC4,0x08,0x10,0x20,0x46,0x86,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* % */45  {0x70,0x88,0x88,0x70,0x8A,0x84,0x7A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* & */46  {0x18,0x10,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* ' */47  {0x08,0x10,0x20,0x20,0x20,0x10,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* ( */48  {0x20,0x10,0x08,0x08,0x08,0x10,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* ) */49  {0x00,0x44,0x28,0xFE,0x28,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 0x2A */50  {0x00,0x10,0x10,0xFE,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* + */51  {0x00,0x00,0x00,0x00,0x00,0x30,0x20,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* , */52  {0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* - */53  {0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* . */54  {0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 0x2F */55  {0x38,0x44,0x82,0x82,0x82,0x44,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 0 */56  {0x10,0x30,0x50,0x10,0x10,0x10,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 1 */57  {0x78,0x84,0x02,0x1C,0x60,0x80,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 2 */58  {0xFE,0x04,0x08,0x1C,0x02,0x82,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 3 */59  {0x08,0x18,0x28,0x48,0xFE,0x08,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 4 */60  {0xFE,0x80,0xBC,0xC2,0x02,0x82,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 5 */61  {0x3C,0x42,0x80,0xBC,0xC2,0x42,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 6 */62  {0xFE,0x02,0x04,0x08,0x10,0x20,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 7 */63  {0x7C,0x82,0x82,0x7C,0x82,0x82,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 8 */64  {0x78,0x84,0x86,0x7A,0x02,0x84,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 9 */65  {0x00,0x30,0x30,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* : */66  {0x00,0x30,0x30,0x00,0x00,0x30,0x20,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* ; */67  {0x02,0x08,0x20,0x80,0x20,0x08,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* < */68  {0x00,0x00,0xFE,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* = */69  {0x80,0x20,0x08,0x02,0x08,0x20,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* > */70  {0x7C,0x82,0x0C,0x10,0x10,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* ? */71  {0x7C,0x82,0x8A,0x92,0x9C,0x80,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* @ */72  {0x10,0x28,0x44,0x82,0xFE,0x82,0x82,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* A */73  {0xFC,0x42,0x42,0x7C,0x42,0x42,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* B */74  {0x3C,0x42,0x80,0x80,0x80,0x42,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* C */75  {0xF8,0x44,0x42,0x42,0x42,0x44,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* D */76  {0xFE,0x80,0x80,0xF8,0x80,0x80,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* E */77  {0xFE,0x80,0x80,0xF8,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* F */78  {0x3C,0x42,0x80,0x80,0x8E,0x42,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* G */79  {0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* H */80  {0x7C,0x10,0x10,0x10,0x10,0x10,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* I */81  {0x0E,0x04,0x04,0x04,0x04,0x84,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* J */82  {0x82,0x8C,0xB0,0xC0,0xB0,0x8C,0x82,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* K */83  {0x80,0x80,0x80,0x80,0x80,0x80,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* L */84  {0x82,0xC6,0xAA,0x92,0x82,0x82,0x82,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* M */85  {0x82,0xC2,0xA2,0x92,0x8A,0x86,0x82,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* N */86  {0x7C,0x82,0x82,0x82,0x82,0x82,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* O */87  {0xFC,0x82,0x82,0xFC,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* P */88  {0x7C,0x82,0x82,0x82,0x8A,0x84,0x7A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* Q */89  {0xFC,0x82,0x82,0xFC,0x88,0x84,0x82,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* R */90  {0x7C,0x82,0x80,0x7C,0x02,0x82,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* S */91  {0xFE,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* T */92  {0x82,0x82,0x82,0x82,0x82,0x82,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* U */93  {0x82,0x82,0x44,0x44,0x28,0x28,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* V */94  {0x82,0x82,0x82,0x92,0x92,0xAA,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* W */95  {0x82,0x44,0x28,0x10,0x28,0x44,0x82,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* X */96  {0x82,0x44,0x28,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* Y */97  {0xFE,0x04,0x08,0x10,0x20,0x40,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* Z */98  {0x3C,0x20,0x20,0x20,0x20,0x20,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* [ */99  {0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 0x5C */100  {0x78,0x08,0x08,0x08,0x08,0x08,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* ] */101  {0x10,0x28,0x44,0x82,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* ^ */102  {0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* _ */103  {0x30,0x10,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* ` */104  {0x00,0x00,0x7C,0x02,0x7E,0x82,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* a */105  {0x80,0x80,0xBC,0xC2,0x82,0xC2,0xBC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* b */106  {0x00,0x00,0x3C,0x42,0x80,0x40,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* c */107  {0x02,0x02,0x7A,0x86,0x82,0x86,0x7A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* d */108  {0x00,0x00,0x7C,0x82,0xFE,0x80,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* e */109  {0x1C,0x22,0x20,0xF8,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* f */110  {0x00,0x02,0x7A,0x84,0x84,0x7C,0x04,0x84,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* g */111  {0x80,0x80,0xBC,0xC2,0x82,0x82,0x82,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* h */112  {0x10,0x00,0x30,0x10,0x10,0x10,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* i */113  {0x04,0x00,0x04,0x04,0x04,0x04,0x84,0x84,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* j */114  {0x80,0x80,0x88,0x90,0xE0,0x88,0x82,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* k */115  {0x30,0x10,0x10,0x10,0x10,0x10,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* l */116  {0x00,0x00,0xC4,0xAA,0x92,0x92,0x82,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* m */117  {0x00,0x00,0xBC,0xC2,0x82,0x82,0x82,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* n */118  {0x00,0x00,0x7C,0x82,0x82,0x82,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* o */119  {0x00,0x00,0xBC,0xC2,0xC2,0xBC,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* p */120  {0x00,0x00,0x7A,0x86,0x86,0x7A,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* q */121  {0x00,0x00,0x9C,0x62,0x40,0x40,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* r */122  {0x00,0x00,0x7C,0x80,0x7C,0x02,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* s */123  {0x20,0x20,0xF8,0x20,0x20,0x24,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* t */124  {0x00,0x00,0x84,0x84,0x84,0x84,0x7A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* u */125  {0x00,0x00,0x82,0x82,0x44,0x28,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* v */126  {0x00,0x00,0x82,0x82,0x92,0xAA,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* w */127  {0x00,0x00,0x84,0x48,0x30,0x48,0x84,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* x */128  {0x00,0x00,0x84,0x84,0x8C,0x74,0x04,0x84,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* y */129  {0x00,0x00,0xFE,0x04,0x18,0x20,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* z */130  {0x0E,0x10,0x10,0x60,0x10,0x10,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* { */131  {0x10,0x10,0x10,0x00,0x00,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* | */132  {0xE0,0x10,0x10,0x0C,0x10,0x10,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* } */133  {0x62,0x92,0x8C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* ~ */134  {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 0x7F */135};