#ifndef _CHAR_H #define _CHAR_H #include "System.h" static const Byte FontLookup [][5] = { { 0x00, 0x00, 0x00, 0x00, 0x00 }, // sp { 0x00, 0x00, 0x2f, 0x00, 0x00 }, // ! { 0x00, 0x07, 0x00, 0x07, 0x00 }, // " { 0x14, 0x7f, 0x14, 0x7f, 0x14 }, // # { 0x24, 0x2a, 0x7f, 0x2a, 0x12 }, // $ { 0xc4, 0xc8, 0x10, 0x26, 0x46 }, // % { 0x36, 0x49, 0x55, 0x22, 0x50 }, // & { 0x00, 0x05, 0x03, 0x00, 0x00 }, // ' { 0x00, 0x1c, 0x22, 0x41, 0x00 }, // ( { 0x00, 0x41, 0x22, 0x1c, 0x00 }, // ) { 0x14, 0x08, 0x3E, 0x08, 0x14 }, // * { 0x08, 0x08, 0x3E, 0x08, 0x08 }, // + { 0x00, 0x00, 0x50, 0x30, 0x00 }, // , { 0x10, 0x10, 0x10, 0x10, 0x10 }, // - { 0x00, 0x60, 0x60, 0x00, 0x00 }, // . { 0x20, 0x10, 0x08, 0x04, 0x02 }, // / { 0x3E, 0x51, 0x49, 0x45, 0x3E }, // 0 { 0x00, 0x42, 0x7F, 0x40, 0x00 }, // 1 { 0x42, 0x61, 0x51, 0x49, 0x46 }, // 2 { 0x21, 0x41, 0x45, 0x4B, 0x31 }, // 3 { 0x18, 0x14, 0x12, 0x7F, 0x10 }, // 4 { 0x27, 0x45, 0x45, 0x45, 0x39 }, // 5 { 0x3C, 0x4A, 0x49, 0x49, 0x30 }, // 6 { 0x01, 0x71, 0x09, 0x05, 0x03 }, // 7 { 0x36, 0x49, 0x49, 0x49, 0x36 }, // 8 { 0x06, 0x49, 0x49, 0x29, 0x1E }, // 9 { 0x00, 0x36, 0x36, 0x00, 0x00 }, // : { 0x00, 0x56, 0x36, 0x00, 0x00 }, // ; { 0x08, 0x14, 0x22, 0x41, 0x00 }, // < { 0x14, 0x14, 0x14, 0x14, 0x14 }, // = { 0x00, 0x41, 0x22, 0x14, 0x08 }, // > { 0x02, 0x01, 0x51, 0x09, 0x06 }, // ? { 0x32, 0x49, 0x59, 0x51, 0x3E }, // @ { 0x7E, 0x11, 0x11, 0x11, 0x7E }, // A { 0x7F, 0x49, 0x49, 0x49, 0x36 }, // B { 0x3E, 0x41, 0x41, 0x41, 0x22 }, // C { 0x7F, 0x41, 0x41, 0x22, 0x1C }, // D { 0x7F, 0x49, 0x49, 0x49, 0x41 }, // E { 0x7F, 0x09, 0x09, 0x09, 0x01 }, // F { 0x3E, 0x41, 0x49, 0x49, 0x7A }, // G { 0x7F, 0x08, 0x08, 0x08, 0x7F }, // H { 0x00, 0x41, 0x7F, 0x41, 0x00 }, // I { 0x20, 0x40, 0x41, 0x3F, 0x01 }, // J { 0x7F, 0x08, 0x14, 0x22, 0x41 }, // K { 0x7F, 0x40, 0x40, 0x40, 0x40 }, // L { 0x7F, 0x02, 0x0C, 0x02, 0x7F }, // M { 0x7F, 0x04, 0x08, 0x10, 0x7F }, // N { 0x3E, 0x41, 0x41, 0x41, 0x3E }, // O { 0x7F, 0x09, 0x09, 0x09, 0x06 }, // P { 0x3E, 0x41, 0x51, 0x21, 0x5E }, // Q { 0x7F, 0x09, 0x19, 0x29, 0x46 }, // R { 0x46, 0x49, 0x49, 0x49, 0x31 }, // S { 0x01, 0x01, 0x7F, 0x01, 0x01 }, // T { 0x3F, 0x40, 0x40, 0x40, 0x3F }, // U { 0x1F, 0x20, 0x40, 0x20, 0x1F }, // V { 0x3F, 0x40, 0x38, 0x40, 0x3F }, // W { 0x63, 0x14, 0x08, 0x14, 0x63 }, // X { 0x07, 0x08, 0x70, 0x08, 0x07 }, // Y { 0x61, 0x51, 0x49, 0x45, 0x43 }, // Z { 0x00, 0x7F, 0x41, 0x41, 0x00 }, // [ { 0x55, 0x2A, 0x55, 0x2A, 0x55 }, // 55 { 0x00, 0x41, 0x41, 0x7F, 0x00 }, // ] { 0x04, 0x02, 0x01, 0x02, 0x04 }, // ^ { 0x40, 0x40, 0x40, 0x40, 0x40 }, // _ { 0x00, 0x01, 0x02, 0x04, 0x00 }, // ' { 0x20, 0x54, 0x54, 0x54, 0x78 }, // a { 0x7F, 0x48, 0x44, 0x44, 0x38 }, // b { 0x38, 0x44, 0x44, 0x44, 0x20 }, // c { 0x38, 0x44, 0x44, 0x48, 0x7F }, // d { 0x38, 0x54, 0x54, 0x54, 0x18 }, // e { 0x08, 0x7E, 0x09, 0x01, 0x02 }, // f { 0x0C, 0x52, 0x52, 0x52, 0x3E }, // g { 0x7F, 0x08, 0x04, 0x04, 0x78 }, // h { 0x00, 0x44, 0x7D, 0x40, 0x00 }, // i { 0x20, 0x40, 0x44, 0x3D, 0x00 }, // j { 0x7F, 0x10, 0x28, 0x44, 0x00 }, // k { 0x00, 0x41, 0x7F, 0x40, 0x00 }, // l { 0x7C, 0x04, 0x18, 0x04, 0x78 }, // m { 0x7C, 0x08, 0x04, 0x04, 0x78 }, // n { 0x38, 0x44, 0x44, 0x44, 0x38 }, // o { 0x7C, 0x14, 0x14, 0x14, 0x08 }, // p { 0x08, 0x14, 0x14, 0x18, 0x7C }, // q { 0x7C, 0x08, 0x04, 0x04, 0x08 }, // r { 0x48, 0x54, 0x54, 0x54, 0x20 }, // s { 0x04, 0x3F, 0x44, 0x40, 0x20 }, // t { 0x3C, 0x40, 0x40, 0x20, 0x7C }, // u { 0x1C, 0x20, 0x40, 0x20, 0x1C }, // v { 0x3C, 0x40, 0x30, 0x40, 0x3C }, // w { 0x44, 0x28, 0x10, 0x28, 0x44 }, // x { 0x0C, 0x50, 0x50, 0x50, 0x3C }, // y { 0x44, 0x64, 0x54, 0x4C, 0x44 }, // z { 0x00, 0x08, 0x36, 0x41, 0x00 }, // { { 0x00, 0x00, 0x7F, 0x00, 0x00 }, // | { 0x00, 0x41, 0x36, 0x08, 0x00 }, // } { 0x04, 0x02, 0x04, 0x08, 0x04 }, // ~ { 0x00, 0x00, 0x00, 0x00, 0x00 }, // DEL { 0x01, 0x7F, 0x09, 0x48, 0x30 }, // 0x80 { 0x00, 0x7E, 0x02, 0x03, 0x02 }, // 0x81 { 0x00, 0x00, 0x50, 0x30, 0x00 }, // 0x82 { 0x00, 0x7C, 0x05, 0x04, 0x00 }, // 0x83 { 0x50, 0x30, 0x00, 0x50, 0x30 }, // 0x84 { 0x40, 0x00, 0x40, 0x00, 0x40 }, // 0x85 { 0x04, 0x04, 0x7F, 0x04, 0x04 }, // 0x86 { 0x22, 0x22, 0x7F, 0x22, 0x22 }, // 0x87 { 0x00, 0x00, 0x00, 0x00, 0x00 }, // 0x88 { 0x16, 0x3E, 0x34, 0x32, 0x31 }, // 0x89 { 0x7E, 0x01, 0x7F, 0x48, 0x30 }, // 0x8A { 0x00, 0x10, 0x28, 0x00, 0x00 }, // 0x8B { 0x7F, 0x08, 0x7F, 0x48, 0x30 }, // 0x8C { 0x7E, 0x18, 0x25, 0x42, 0x00 }, // 0x8D { 0x01, 0x7F, 0x09, 0x08, 0x70 }, // 0x8E { 0x3F, 0x20, 0x60, 0x20, 0x3F }, // 0x8F { 0x01, 0x3F, 0x05, 0x44, 0x38 }, // 0x90 { 0x00, 0x00, 0x06, 0x05, 0x00 }, // 0x91 { 0x00, 0x00, 0x0A, 0x06, 0x00 }, // 0x92 { 0x00, 0x06, 0x00, 0x06, 0x00 }, // 0x93 { 0x00, 0x06, 0x00, 0x06, 0x00 }, // 0x94 { 0x00, 0x00, 0x00, 0x00, 0x00 }, // 0x95 { 0x00, 0x08, 0x08, 0x08, 0x00 }, // 0x96 { 0x08, 0x08, 0x08, 0x08, 0x08 }, // 0x97 { 0x00, 0x00, 0x00, 0x00, 0x00 }, // 0x98 { 0x01, 0x07, 0x1D, 0x08, 0x1C }, // 0x99 { 0x78, 0x04, 0x7C, 0x50, 0x20 }, // 0x9A { 0x00, 0x00, 0x28, 0x10, 0x00 }, // 0x9B { 0x7C, 0x10, 0x7C, 0x50, 0x20 }, // 0x9C { 0x7C, 0x10, 0x29, 0x44, 0x00 }, // 0x9D { 0x02, 0x7E, 0x0A, 0x08, 0x70 }, // 0x9E { 0x00, 0x3E, 0x60, 0x3E, 0x00 }, // 0x9F { 0x00, 0x00, 0x00, 0x00, 0x00 }, // 0xA0 { 0x0E, 0x50, 0x51, 0x50, 0x3E }, // 0xA1 { 0x00, 0x0C, 0x51, 0x51, 0x3C }, // 0xA2 { 0x20, 0x40, 0x41, 0x3F, 0x01 }, // 0xA3 { 0x28, 0x7C, 0x28, 0x7C, 0x28 }, // 0xA4 { 0x00, 0x7E, 0x02, 0x02, 0x01 }, // 0xA5 { 0x00, 0x00, 0x77, 0x00, 0x00 }, // 0xA6 { 0x00, 0x5C, 0x36, 0x1D, 0x00 }, // 0xA7 { 0x7C, 0x55, 0x54, 0x55, 0x00 }, // 0xA8 { 0x3E, 0x49, 0x55, 0x41, 0x3E }, // 0xA9 { 0x3E, 0x49, 0x49, 0x49, 0x22 }, // 0xAA { 0x10, 0x28, 0x00, 0x10, 0x28 }, // 0xAB { 0x00, 0x00, 0x00, 0x00, 0x00 }, // 0xAC { 0x00, 0x08, 0x08, 0x08, 0x00 }, // 0xAD { 0x00, 0x00, 0x00, 0x00, 0x00 }, // 0xAE { 0x00, 0x45, 0x7C, 0x45, 0x00 }, // 0xAF { 0x00, 0x0E, 0x0A, 0x0E, 0x00 }, // 0xB0 { 0x00, 0x24, 0x2E, 0x24, 0x00 }, // 0xB1 { 0x00, 0x00, 0x0F, 0x00, 0x00 }, // 0xB2 { 0x00, 0x44, 0x7D, 0x40, 0x00 }, // 0xB3 { 0x00, 0x7C, 0x04, 0x04, 0x02 }, // 0xB4 { 0x40, 0x7E, 0x20, 0x1E, 0x20 }, // 0xB5 { 0x00, 0x00, 0x00, 0x00, 0x00 }, // 0xB6 { 0x00, 0x00, 0x18, 0x18, 0x00 }, // 0xB7 { 0x38, 0x55, 0x54, 0x55, 0x58 }, // 0xB8 { 0x40, 0x3F, 0x04, 0x08, 0x7F }, // 0xB9 { 0x38, 0x54, 0x54, 0x54, 0x44 }, // 0xBA { 0x28, 0x10, 0x00, 0x28, 0x10 }, // 0xBB { 0x00, 0x20, 0x40, 0x40, 0x3D }, // 0xBC { 0x26, 0x49, 0x49, 0x49, 0x32 }, // 0xBD { 0x48, 0x54, 0x54, 0x54, 0x24 }, // 0xBE { 0x00, 0x45, 0x7C, 0x41, 0x00 }, // 0xBF { 0x7C, 0x0A, 0x09, 0x09, 0x7F }, // À { 0x7F, 0x49, 0x49, 0x49, 0x31 }, // Á { 0x7F, 0x49, 0x49, 0x49, 0x36 }, // Â { 0x7F, 0x01, 0x01, 0x01, 0x03 }, // Ã { 0x60, 0x3E, 0x21, 0x3F, 0x60 }, // Ä { 0x7F, 0x49, 0x49, 0x41, 0x41 }, // Å { 0x77, 0x08, 0x7F, 0x08, 0x77 }, // Æ { 0x22, 0x41, 0x49, 0x49, 0x36 }, // Ç { 0x7F, 0x10, 0x08, 0x04, 0x7F }, // È { 0x7F, 0x10, 0x09, 0x04, 0x7F }, // É { 0x7F, 0x08, 0x14, 0x22, 0x41 }, // Ê { 0x40, 0x3E, 0x01, 0x01, 0x7F }, // Ë { 0x7F, 0x02, 0x04, 0x02, 0x7F }, // Ì { 0x7F, 0x08, 0x08, 0x08, 0x7F }, // Í { 0x3E, 0x41, 0x41, 0x41, 0x3E }, // Î { 0x7F, 0x01, 0x01, 0x01, 0x7F }, // Ï { 0x7F, 0x09, 0x09, 0x09, 0x06 }, // Ð { 0x3E, 0x41, 0x41, 0x41, 0x22 }, // Ñ { 0x03, 0x01, 0x7F, 0x01, 0x03 }, // Ò { 0x27, 0x48, 0x48, 0x48, 0x3F }, // Ó { 0x0E, 0x11, 0x7F, 0x11, 0x0E }, // Ô { 0x63, 0x14, 0x08, 0x14, 0x63 }, // Õ { 0x3F, 0x20, 0x20, 0x3F, 0x60 }, // Ö { 0x07, 0x08, 0x08, 0x08, 0x7F }, // × { 0x7F, 0x40, 0x7F, 0x40, 0x7F }, // Ø { 0x3F, 0x20, 0x3F, 0x20, 0x7F }, // Ù { 0x01, 0x7F, 0x48, 0x48, 0x30 }, // Ú { 0x7F, 0x48, 0x30, 0x00, 0x7F }, // Û { 0x7F, 0x48, 0x48, 0x30, 0x00 }, // Ü { 0x22, 0x49, 0x49, 0x49, 0x3E }, // Ý { 0x7F, 0x08, 0x3E, 0x41, 0x3E }, // Þ { 0x46, 0x29, 0x19, 0x09, 0x7F }, // ß { 0x20, 0x54, 0x54, 0x38, 0x40 }, // à { 0x3C, 0x4A, 0x4A, 0x4A, 0x31 }, // á { 0x7C, 0x54, 0x54, 0x54, 0x28 }, // â { 0x7C, 0x04, 0x04, 0x04, 0x04 }, // ã { 0x60, 0x38, 0x24, 0x3C, 0x60 }, // ä { 0x38, 0x54, 0x54, 0x54, 0x18 }, // å { 0x6C, 0x10, 0x7C, 0x10, 0x6C }, // æ { 0x28, 0x44, 0x54, 0x54, 0x28 }, // ç { 0x7C, 0x20, 0x10, 0x08, 0x7C }, // è { 0x7C, 0x20, 0x12, 0x08, 0x7C }, // é { 0x7C, 0x10, 0x10, 0x28, 0x44 }, // ê { 0x40, 0x38, 0x04, 0x04, 0x7C }, // ë { 0x7C, 0x08, 0x10, 0x08, 0x7C }, // ì { 0x7C, 0x10, 0x10, 0x10, 0x7C }, // í { 0x38, 0x44, 0x44, 0x44, 0x38 }, // î { 0x7C, 0x04, 0x04, 0x04, 0x7C }, // ï { 0x7C, 0x24, 0x24, 0x24, 0x18 }, // ð { 0x38, 0x44, 0x44, 0x44, 0x28 }, // ñ { 0x04, 0x04, 0x7C, 0x04, 0x04 }, // ò { 0x4C, 0x50, 0x50, 0x50, 0x3C }, // ó { 0x18, 0x24, 0x7C, 0x24, 0x18 }, // ô { 0x44, 0x28, 0x10, 0x28, 0x44 }, // õ { 0x3C, 0x20, 0x20, 0x3C, 0x60 }, // ö { 0x1C, 0x20, 0x20, 0x20, 0x7C }, // ÷ { 0x7C, 0x40, 0x7C, 0x40, 0x7C }, // ø { 0x3C, 0x20, 0x3C, 0x20, 0x7C }, // ù { 0x04, 0x7C, 0x48, 0x48, 0x30 }, // ú { 0x7C, 0x48, 0x30, 0x00, 0x7C }, // û { 0x7C, 0x48, 0x48, 0x48, 0x30 }, // ü { 0x54, 0x54, 0x54, 0x54, 0x38 }, // ý { 0x7C, 0x10, 0x38, 0x44, 0x38 }, // þ { 0x48, 0x54, 0x34, 0x14, 0x7C }, // ÿ }; #endif