From 05b0d84e45ce77fd0992e96991d7346afcc7609f Mon Sep 17 00:00:00 2001 From: James Waples Date: Wed, 21 Oct 2020 11:10:09 +0100 Subject: [PATCH 1/5] New, more consistent terminal font This font is taken from the ATIx_550_8x8.png font image from the romfonts repo. A bitmap can be found here: https://github.com/spacerace/romfont/blob/master/font-images/ATIx550_8x8.png I don't have hardware to test with tat the moment so I might have messed up the character mappings. I'd appreciate if someone could test on a physical display and see how this looks. I'm not including any of the special characters defined in that font. If we want to add them, I'd suggest we do that in a future PR. Closes #135 --- CHANGELOG.md | 4 +- src/mode/terminal.rs | 186 +++++++++++++++++++++---------------------- 2 files changed, 96 insertions(+), 94 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e03256c6..beacde39 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,8 @@ ## [Unreleased] - ReleaseDate +- [#137](https://github.com/jamwaffles/ssd1306/pull/137) Replaced `TerminalMode` font with a new, more consistent one. This now uses the `ATIx550_8x8` font from the `romfonts` project. + ## [0.4.0] - 2020-08-03 ### Added @@ -110,9 +112,9 @@ - Builder docs clarify the order of method calls (#89) + [unreleased]: https://github.com/jamwaffles/ssd1306/compare/v0.4.0...HEAD [0.4.0]: https://github.com/jamwaffles/ssd1306/compare/v0.3.1...v0.4.0 - [0.3.1]: https://github.com/jamwaffles/ssd1306/compare/v0.3.0...v0.3.1 [0.3.0]: https://github.com/jamwaffles/ssd1306/compare/v0.3.0-alpha.4...v0.3.0 [0.3.0-alpha.4]: https://github.com/jamwaffles/ssd1306/compare/v0.3.0-alpha.3...v0.3.0-alpha.4 diff --git a/src/mode/terminal.rs b/src/mode/terminal.rs index 85dfee18..86687442 100644 --- a/src/mode/terminal.rs +++ b/src/mode/terminal.rs @@ -361,99 +361,99 @@ where fn char_to_bitmap(input: char) -> [u8; 8] { // Populate the array with the data from the character array at the right index match input { - '!' => [0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00], - '"' => [0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00], - '#' => [0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, 0x00, 0x00], - '$' => [0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, 0x00, 0x00], - '%' => [0x23, 0x13, 0x08, 0x64, 0x62, 0x00, 0x00, 0x00], - '&' => [0x36, 0x49, 0x55, 0x22, 0x50, 0x00, 0x00, 0x00], - '\'' => [0x00, 0x05, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00], - '(' => [0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, 0x00, 0x00], - ')' => [0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, 0x00, 0x00], - '*' => [0x08, 0x2A, 0x1C, 0x2A, 0x08, 0x00, 0x00, 0x00], - '+' => [0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, 0x00, 0x00], - ',' => [0x00, 0x50, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00], - '-' => [0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00], - '.' => [0x00, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00], - '/' => [0x20, 0x10, 0x08, 0x04, 0x02, 0x00, 0x00, 0x00], - '0' => [0x1C, 0x3E, 0x61, 0x41, 0x43, 0x3E, 0x1C, 0x00], - '1' => [0x40, 0x42, 0x7F, 0x7F, 0x40, 0x40, 0x00, 0x00], - '2' => [0x62, 0x73, 0x79, 0x59, 0x5D, 0x4F, 0x46, 0x00], - '3' => [0x20, 0x61, 0x49, 0x4D, 0x4F, 0x7B, 0x31, 0x00], - '4' => [0x18, 0x1C, 0x16, 0x13, 0x7F, 0x7F, 0x10, 0x00], - '5' => [0x27, 0x67, 0x45, 0x45, 0x45, 0x7D, 0x38, 0x00], - '6' => [0x3C, 0x7E, 0x4B, 0x49, 0x49, 0x79, 0x30, 0x00], - '7' => [0x03, 0x03, 0x71, 0x79, 0x0D, 0x07, 0x03, 0x00], - '8' => [0x36, 0x7F, 0x49, 0x49, 0x49, 0x7F, 0x36, 0x00], - '9' => [0x06, 0x4F, 0x49, 0x49, 0x69, 0x3F, 0x1E, 0x00], - ':' => [0x00, 0x36, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00], - ';' => [0x00, 0x56, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00], - '<' => [0x00, 0x08, 0x14, 0x22, 0x41, 0x00, 0x00, 0x00], - '=' => [0x14, 0x14, 0x14, 0x14, 0x14, 0x00, 0x00, 0x00], - '>' => [0x41, 0x22, 0x14, 0x08, 0x00, 0x00, 0x00, 0x00], - '?' => [0x02, 0x01, 0x51, 0x09, 0x06, 0x00, 0x00, 0x00], - '@' => [0x32, 0x49, 0x79, 0x41, 0x3E, 0x00, 0x00, 0x00], - 'A' => [0x7E, 0x11, 0x11, 0x11, 0x7E, 0x00, 0x00, 0x00], - 'B' => [0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, 0x00, 0x00], - 'C' => [0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, 0x00, 0x00], - 'D' => [0x7F, 0x7F, 0x41, 0x41, 0x63, 0x3E, 0x1C, 0x00], - 'E' => [0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, 0x00, 0x00], - 'F' => [0x7F, 0x09, 0x09, 0x01, 0x01, 0x00, 0x00, 0x00], - 'G' => [0x3E, 0x41, 0x41, 0x51, 0x32, 0x00, 0x00, 0x00], - 'H' => [0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, 0x00, 0x00], - 'I' => [0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, 0x00, 0x00], - 'J' => [0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, 0x00, 0x00], - 'K' => [0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, 0x00, 0x00], - 'L' => [0x7F, 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00], - 'M' => [0x7F, 0x02, 0x04, 0x02, 0x7F, 0x00, 0x00, 0x00], - 'N' => [0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, 0x00, 0x00], - 'O' => [0x3E, 0x7F, 0x41, 0x41, 0x41, 0x7F, 0x3E, 0x00], - 'P' => [0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, 0x00, 0x00], - 'Q' => [0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, 0x00, 0x00], - 'R' => [0x7F, 0x7F, 0x11, 0x31, 0x79, 0x6F, 0x4E, 0x00], - 'S' => [0x46, 0x49, 0x49, 0x49, 0x31, 0x00, 0x00, 0x00], - 'T' => [0x01, 0x01, 0x7F, 0x01, 0x01, 0x00, 0x00, 0x00], - 'U' => [0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, 0x00, 0x00], - 'V' => [0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, 0x00, 0x00], - 'W' => [0x7F, 0x7F, 0x38, 0x1C, 0x38, 0x7F, 0x7F, 0x00], - 'X' => [0x63, 0x14, 0x08, 0x14, 0x63, 0x00, 0x00, 0x00], - 'Y' => [0x03, 0x04, 0x78, 0x04, 0x03, 0x00, 0x00, 0x00], - 'Z' => [0x61, 0x51, 0x49, 0x45, 0x43, 0x00, 0x00, 0x00], - '[' => [0x00, 0x00, 0x7F, 0x41, 0x41, 0x00, 0x00, 0x00], - '\\' => [0x02, 0x04, 0x08, 0x10, 0x20, 0x00, 0x00, 0x00], - ']' => [0x41, 0x41, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00], - '^' => [0x04, 0x02, 0x01, 0x02, 0x04, 0x00, 0x00, 0x00], - '_' => [0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00], - '`' => [0x00, 0x01, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00], - 'a' => [0x20, 0x54, 0x54, 0x54, 0x78, 0x00, 0x00, 0x00], - 'b' => [0x7F, 0x48, 0x44, 0x44, 0x38, 0x00, 0x00, 0x00], - 'c' => [0x38, 0x44, 0x44, 0x44, 0x20, 0x00, 0x00, 0x00], - 'd' => [0x38, 0x44, 0x44, 0x48, 0x7F, 0x00, 0x00, 0x00], - 'e' => [0x38, 0x54, 0x54, 0x54, 0x18, 0x00, 0x00, 0x00], - 'f' => [0x08, 0x7E, 0x09, 0x01, 0x02, 0x00, 0x00, 0x00], - 'g' => [0x08, 0x14, 0x54, 0x54, 0x3C, 0x00, 0x00, 0x00], - 'h' => [0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, 0x00, 0x00], - 'i' => [0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, 0x00, 0x00], - 'j' => [0x20, 0x40, 0x44, 0x3D, 0x00, 0x00, 0x00, 0x00], - 'k' => [0x00, 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, 0x00], - 'l' => [0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, 0x00, 0x00], - 'm' => [0x7C, 0x04, 0x18, 0x04, 0x78, 0x00, 0x00, 0x00], - 'n' => [0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, 0x00, 0x00], - 'o' => [0x38, 0x44, 0x44, 0x44, 0x38, 0x00, 0x00, 0x00], - 'p' => [0x7C, 0x14, 0x14, 0x14, 0x08, 0x00, 0x00, 0x00], - 'q' => [0x08, 0x14, 0x14, 0x18, 0x7C, 0x00, 0x00, 0x00], - 'r' => [0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, 0x00, 0x00], - 's' => [0x48, 0x54, 0x54, 0x54, 0x20, 0x00, 0x00, 0x00], - 't' => [0x04, 0x3F, 0x44, 0x40, 0x20, 0x00, 0x00, 0x00], - 'u' => [0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, 0x00, 0x00], - 'v' => [0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, 0x00, 0x00], - 'w' => [0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, 0x00, 0x00], - 'x' => [0x00, 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, 0x00], - 'y' => [0x0C, 0x50, 0x50, 0x50, 0x3C, 0x00, 0x00, 0x00], - 'z' => [0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, 0x00, 0x00], - '{' => [0x00, 0x08, 0x36, 0x41, 0x00, 0x00, 0x00, 0x00], - '|' => [0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00], - '}' => [0x00, 0x41, 0x36, 0x08, 0x00, 0x00, 0x00, 0x00], + '!' => [0x18, 0x3c, 0x3c, 0x18, 0x18, 0x00, 0x18, 0x00], + '"' => [0x6c, 0x6c, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00], + '#' => [0x6c, 0x6c, 0xfe, 0x6c, 0xfe, 0x6c, 0x6c, 0x00], + '$' => [0x18, 0x7e, 0xc0, 0x7c, 0x06, 0xfc, 0x18, 0x00], + '%' => [0x00, 0xc6, 0x0c, 0x18, 0x30, 0x60, 0xc6, 0x00], + '&' => [0x38, 0x6c, 0x38, 0x76, 0xcc, 0xcc, 0x76, 0x00], + '\'' => [0x18, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00], + '(' => [0x18, 0x30, 0x60, 0x60, 0x60, 0x30, 0x18, 0x00], + ')' => [0x60, 0x30, 0x18, 0x18, 0x18, 0x30, 0x60, 0x00], + '*' => [0x00, 0xee, 0x7c, 0xfe, 0x7c, 0xee, 0x00, 0x00], + '+' => [0x00, 0x18, 0x18, 0x7e, 0x18, 0x18, 0x00, 0x00], + ',' => [0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x30, 0x00], + '-' => [0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00], + '.' => [0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x38, 0x00], + '/' => [0x06, 0x0c, 0x18, 0x30, 0x60, 0xc0, 0x80, 0x00], + '0' => [0x7c, 0xc6, 0xce, 0xde, 0xf6, 0xe6, 0x7c, 0x00], + '1' => [0x18, 0x78, 0x18, 0x18, 0x18, 0x18, 0x7e, 0x00], + '2' => [0x7c, 0xc6, 0x0c, 0x18, 0x30, 0x66, 0xfe, 0x00], + '3' => [0x7c, 0xc6, 0x06, 0x3c, 0x06, 0xc6, 0x7c, 0x00], + '4' => [0x0c, 0x1c, 0x3c, 0x6c, 0xfe, 0x0c, 0x0c, 0x00], + '5' => [0xfe, 0xc0, 0xfc, 0x06, 0x06, 0xc6, 0x7c, 0x00], + '6' => [0x7c, 0xc6, 0xc0, 0xfc, 0xc6, 0xc6, 0x7c, 0x00], + '7' => [0xfe, 0xc6, 0x06, 0x0c, 0x18, 0x18, 0x18, 0x00], + '8' => [0x7c, 0xc6, 0xc6, 0x7c, 0xc6, 0xc6, 0x7c, 0x00], + '9' => [0x7c, 0xc6, 0xc6, 0x7e, 0x06, 0xc6, 0x7c, 0x00], + ':' => [0x00, 0x1c, 0x1c, 0x00, 0x00, 0x1c, 0x1c, 0x00], + ';' => [0x00, 0x18, 0x18, 0x00, 0x00, 0x18, 0x18, 0x30], + '<' => [0x0c, 0x18, 0x30, 0x60, 0x30, 0x18, 0x0c, 0x00], + '=' => [0x00, 0x00, 0xfe, 0x00, 0x00, 0xfe, 0x00, 0x00], + '>' => [0x60, 0x30, 0x18, 0x0c, 0x18, 0x30, 0x60, 0x00], + '?' => [0x7c, 0xc6, 0x06, 0x0c, 0x18, 0x00, 0x18, 0x00], + '@' => [0x7c, 0xc6, 0xc6, 0xde, 0xdc, 0xc0, 0x7e, 0x00], + 'A' => [0x38, 0x6c, 0xc6, 0xc6, 0xfe, 0xc6, 0xc6, 0x00], + 'B' => [0xfc, 0x66, 0x66, 0x7c, 0x66, 0x66, 0xfc, 0x00], + 'C' => [0x3c, 0x66, 0xc0, 0xc0, 0xc0, 0x66, 0x3c, 0x00], + 'D' => [0xf8, 0x6c, 0x66, 0x66, 0x66, 0x6c, 0xf8, 0x00], + 'E' => [0xfe, 0xc2, 0xc0, 0xf8, 0xc0, 0xc2, 0xfe, 0x00], + 'F' => [0xfe, 0x62, 0x60, 0x7c, 0x60, 0x60, 0xf0, 0x00], + 'G' => [0x7c, 0xc6, 0xc0, 0xc0, 0xde, 0xc6, 0x7c, 0x00], + 'H' => [0xc6, 0xc6, 0xc6, 0xfe, 0xc6, 0xc6, 0xc6, 0x00], + 'I' => [0x3c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00], + 'J' => [0x3c, 0x18, 0x18, 0x18, 0xd8, 0xd8, 0x70, 0x00], + 'K' => [0xc6, 0xcc, 0xd8, 0xf0, 0xd8, 0xcc, 0xc6, 0x00], + 'L' => [0xf0, 0x60, 0x60, 0x60, 0x60, 0x62, 0xfe, 0x00], + 'M' => [0xc6, 0xee, 0xfe, 0xd6, 0xd6, 0xc6, 0xc6, 0x00], + 'N' => [0xc6, 0xe6, 0xe6, 0xf6, 0xde, 0xce, 0xc6, 0x00], + 'O' => [0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00], + 'P' => [0xfc, 0x66, 0x66, 0x7c, 0x60, 0x60, 0xf0, 0x00], + 'Q' => [0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xd6, 0x7c, 0x06], + 'R' => [0xfc, 0xc6, 0xc6, 0xfc, 0xd8, 0xcc, 0xc6, 0x00], + 'S' => [0x7c, 0xc6, 0xc0, 0x7c, 0x06, 0xc6, 0x7c, 0x00], + 'T' => [0x7e, 0x5a, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00], + 'U' => [0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00], + 'V' => [0xc6, 0xc6, 0xc6, 0xc6, 0x6c, 0x38, 0x10, 0x00], + 'W' => [0xc6, 0xc6, 0xd6, 0xd6, 0xfe, 0xee, 0xc6, 0x00], + 'X' => [0xc6, 0x6c, 0x38, 0x38, 0x38, 0x6c, 0xc6, 0x00], + 'Y' => [0x66, 0x66, 0x66, 0x3c, 0x18, 0x18, 0x3c, 0x00], + 'Z' => [0xfe, 0x86, 0x0c, 0x18, 0x30, 0x62, 0xfe, 0x00], + '[' => [0x7c, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7c, 0x00], + '\\' => [0xc0, 0x60, 0x30, 0x18, 0x0c, 0x06, 0x02, 0x00], + ']' => [0x7c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x7c, 0x00], + '^' => [0x10, 0x38, 0x6c, 0xc6, 0x00, 0x00, 0x00, 0x00], + '_' => [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff], + '`' => [0x30, 0x30, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00], + 'a' => [0x00, 0x00, 0x78, 0x0c, 0x7c, 0xcc, 0x7e, 0x00], + 'b' => [0xe0, 0x60, 0x7c, 0x66, 0x66, 0x66, 0xfc, 0x00], + 'c' => [0x00, 0x00, 0x7c, 0xc6, 0xc0, 0xc6, 0x7c, 0x00], + 'd' => [0x1c, 0x0c, 0x7c, 0xcc, 0xcc, 0xcc, 0x7e, 0x00], + 'e' => [0x00, 0x00, 0x7c, 0xc6, 0xfe, 0xc0, 0x7c, 0x00], + 'f' => [0x1c, 0x36, 0x30, 0xfc, 0x30, 0x30, 0x78, 0x00], + 'g' => [0x00, 0x00, 0x76, 0xce, 0xc6, 0x7e, 0x06, 0x7c], + 'h' => [0xe0, 0x60, 0x7c, 0x66, 0x66, 0x66, 0xe6, 0x00], + 'i' => [0x18, 0x00, 0x38, 0x18, 0x18, 0x18, 0x3c, 0x00], + 'j' => [0x0c, 0x00, 0x1c, 0x0c, 0x0c, 0x0c, 0xcc, 0x78], + 'k' => [0xe0, 0x60, 0x66, 0x6c, 0x78, 0x6c, 0xe6, 0x00], + 'l' => [0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1c, 0x00], + 'm' => [0x00, 0x00, 0x6c, 0xfe, 0xd6, 0xd6, 0xc6, 0x00], + 'n' => [0x00, 0x00, 0xdc, 0x66, 0x66, 0x66, 0x66, 0x00], + 'o' => [0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0x7c, 0x00], + 'p' => [0x00, 0x00, 0xdc, 0x66, 0x66, 0x7c, 0x60, 0xf0], + 'q' => [0x00, 0x00, 0x76, 0xcc, 0xcc, 0x7c, 0x0c, 0x1e], + 'r' => [0x00, 0x00, 0xdc, 0x66, 0x60, 0x60, 0xf0, 0x00], + 's' => [0x00, 0x00, 0x7c, 0xc0, 0x7c, 0x06, 0x7c, 0x00], + 't' => [0x30, 0x30, 0xfc, 0x30, 0x30, 0x36, 0x1c, 0x00], + 'u' => [0x00, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0x76, 0x00], + 'v' => [0x00, 0x00, 0xc6, 0xc6, 0x6c, 0x38, 0x10, 0x00], + 'w' => [0x00, 0x00, 0xc6, 0xc6, 0xd6, 0xfe, 0x6c, 0x00], + 'x' => [0x00, 0x00, 0xc6, 0x6c, 0x38, 0x6c, 0xc6, 0x00], + 'y' => [0x00, 0x00, 0xc6, 0xc6, 0xce, 0x76, 0x06, 0x7c], + 'z' => [0x00, 0x00, 0xfc, 0x98, 0x30, 0x64, 0xfc, 0x00], + '{' => [0x0e, 0x18, 0x18, 0x70, 0x18, 0x18, 0x0e, 0x00], + '|' => [0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x00], + '}' => [0x70, 0x18, 0x18, 0x0e, 0x18, 0x18, 0x70, 0x00], _ => [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], } } From f126e9354b71beeb48851b44e3056fed073c2aae Mon Sep 17 00:00:00 2001 From: James Waples Date: Tue, 1 Dec 2020 10:37:22 +0000 Subject: [PATCH 2/5] Replace font with BMSPA font From https://jared.geek.nz/2014/jan/custom-fonts-for-microcontrollers --- src/mode/terminal.rs | 187 ++++++++++++++++++++++--------------------- 1 file changed, 94 insertions(+), 93 deletions(-) diff --git a/src/mode/terminal.rs b/src/mode/terminal.rs index 86687442..0f44cab2 100644 --- a/src/mode/terminal.rs +++ b/src/mode/terminal.rs @@ -361,99 +361,100 @@ where fn char_to_bitmap(input: char) -> [u8; 8] { // Populate the array with the data from the character array at the right index match input { - '!' => [0x18, 0x3c, 0x3c, 0x18, 0x18, 0x00, 0x18, 0x00], - '"' => [0x6c, 0x6c, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00], - '#' => [0x6c, 0x6c, 0xfe, 0x6c, 0xfe, 0x6c, 0x6c, 0x00], - '$' => [0x18, 0x7e, 0xc0, 0x7c, 0x06, 0xfc, 0x18, 0x00], - '%' => [0x00, 0xc6, 0x0c, 0x18, 0x30, 0x60, 0xc6, 0x00], - '&' => [0x38, 0x6c, 0x38, 0x76, 0xcc, 0xcc, 0x76, 0x00], - '\'' => [0x18, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00], - '(' => [0x18, 0x30, 0x60, 0x60, 0x60, 0x30, 0x18, 0x00], - ')' => [0x60, 0x30, 0x18, 0x18, 0x18, 0x30, 0x60, 0x00], - '*' => [0x00, 0xee, 0x7c, 0xfe, 0x7c, 0xee, 0x00, 0x00], - '+' => [0x00, 0x18, 0x18, 0x7e, 0x18, 0x18, 0x00, 0x00], - ',' => [0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x30, 0x00], - '-' => [0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00], - '.' => [0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x38, 0x00], - '/' => [0x06, 0x0c, 0x18, 0x30, 0x60, 0xc0, 0x80, 0x00], - '0' => [0x7c, 0xc6, 0xce, 0xde, 0xf6, 0xe6, 0x7c, 0x00], - '1' => [0x18, 0x78, 0x18, 0x18, 0x18, 0x18, 0x7e, 0x00], - '2' => [0x7c, 0xc6, 0x0c, 0x18, 0x30, 0x66, 0xfe, 0x00], - '3' => [0x7c, 0xc6, 0x06, 0x3c, 0x06, 0xc6, 0x7c, 0x00], - '4' => [0x0c, 0x1c, 0x3c, 0x6c, 0xfe, 0x0c, 0x0c, 0x00], - '5' => [0xfe, 0xc0, 0xfc, 0x06, 0x06, 0xc6, 0x7c, 0x00], - '6' => [0x7c, 0xc6, 0xc0, 0xfc, 0xc6, 0xc6, 0x7c, 0x00], - '7' => [0xfe, 0xc6, 0x06, 0x0c, 0x18, 0x18, 0x18, 0x00], - '8' => [0x7c, 0xc6, 0xc6, 0x7c, 0xc6, 0xc6, 0x7c, 0x00], - '9' => [0x7c, 0xc6, 0xc6, 0x7e, 0x06, 0xc6, 0x7c, 0x00], - ':' => [0x00, 0x1c, 0x1c, 0x00, 0x00, 0x1c, 0x1c, 0x00], - ';' => [0x00, 0x18, 0x18, 0x00, 0x00, 0x18, 0x18, 0x30], - '<' => [0x0c, 0x18, 0x30, 0x60, 0x30, 0x18, 0x0c, 0x00], - '=' => [0x00, 0x00, 0xfe, 0x00, 0x00, 0xfe, 0x00, 0x00], - '>' => [0x60, 0x30, 0x18, 0x0c, 0x18, 0x30, 0x60, 0x00], - '?' => [0x7c, 0xc6, 0x06, 0x0c, 0x18, 0x00, 0x18, 0x00], - '@' => [0x7c, 0xc6, 0xc6, 0xde, 0xdc, 0xc0, 0x7e, 0x00], - 'A' => [0x38, 0x6c, 0xc6, 0xc6, 0xfe, 0xc6, 0xc6, 0x00], - 'B' => [0xfc, 0x66, 0x66, 0x7c, 0x66, 0x66, 0xfc, 0x00], - 'C' => [0x3c, 0x66, 0xc0, 0xc0, 0xc0, 0x66, 0x3c, 0x00], - 'D' => [0xf8, 0x6c, 0x66, 0x66, 0x66, 0x6c, 0xf8, 0x00], - 'E' => [0xfe, 0xc2, 0xc0, 0xf8, 0xc0, 0xc2, 0xfe, 0x00], - 'F' => [0xfe, 0x62, 0x60, 0x7c, 0x60, 0x60, 0xf0, 0x00], - 'G' => [0x7c, 0xc6, 0xc0, 0xc0, 0xde, 0xc6, 0x7c, 0x00], - 'H' => [0xc6, 0xc6, 0xc6, 0xfe, 0xc6, 0xc6, 0xc6, 0x00], - 'I' => [0x3c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00], - 'J' => [0x3c, 0x18, 0x18, 0x18, 0xd8, 0xd8, 0x70, 0x00], - 'K' => [0xc6, 0xcc, 0xd8, 0xf0, 0xd8, 0xcc, 0xc6, 0x00], - 'L' => [0xf0, 0x60, 0x60, 0x60, 0x60, 0x62, 0xfe, 0x00], - 'M' => [0xc6, 0xee, 0xfe, 0xd6, 0xd6, 0xc6, 0xc6, 0x00], - 'N' => [0xc6, 0xe6, 0xe6, 0xf6, 0xde, 0xce, 0xc6, 0x00], - 'O' => [0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00], - 'P' => [0xfc, 0x66, 0x66, 0x7c, 0x60, 0x60, 0xf0, 0x00], - 'Q' => [0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xd6, 0x7c, 0x06], - 'R' => [0xfc, 0xc6, 0xc6, 0xfc, 0xd8, 0xcc, 0xc6, 0x00], - 'S' => [0x7c, 0xc6, 0xc0, 0x7c, 0x06, 0xc6, 0x7c, 0x00], - 'T' => [0x7e, 0x5a, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00], - 'U' => [0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00], - 'V' => [0xc6, 0xc6, 0xc6, 0xc6, 0x6c, 0x38, 0x10, 0x00], - 'W' => [0xc6, 0xc6, 0xd6, 0xd6, 0xfe, 0xee, 0xc6, 0x00], - 'X' => [0xc6, 0x6c, 0x38, 0x38, 0x38, 0x6c, 0xc6, 0x00], - 'Y' => [0x66, 0x66, 0x66, 0x3c, 0x18, 0x18, 0x3c, 0x00], - 'Z' => [0xfe, 0x86, 0x0c, 0x18, 0x30, 0x62, 0xfe, 0x00], - '[' => [0x7c, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7c, 0x00], - '\\' => [0xc0, 0x60, 0x30, 0x18, 0x0c, 0x06, 0x02, 0x00], - ']' => [0x7c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x7c, 0x00], - '^' => [0x10, 0x38, 0x6c, 0xc6, 0x00, 0x00, 0x00, 0x00], - '_' => [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff], - '`' => [0x30, 0x30, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00], - 'a' => [0x00, 0x00, 0x78, 0x0c, 0x7c, 0xcc, 0x7e, 0x00], - 'b' => [0xe0, 0x60, 0x7c, 0x66, 0x66, 0x66, 0xfc, 0x00], - 'c' => [0x00, 0x00, 0x7c, 0xc6, 0xc0, 0xc6, 0x7c, 0x00], - 'd' => [0x1c, 0x0c, 0x7c, 0xcc, 0xcc, 0xcc, 0x7e, 0x00], - 'e' => [0x00, 0x00, 0x7c, 0xc6, 0xfe, 0xc0, 0x7c, 0x00], - 'f' => [0x1c, 0x36, 0x30, 0xfc, 0x30, 0x30, 0x78, 0x00], - 'g' => [0x00, 0x00, 0x76, 0xce, 0xc6, 0x7e, 0x06, 0x7c], - 'h' => [0xe0, 0x60, 0x7c, 0x66, 0x66, 0x66, 0xe6, 0x00], - 'i' => [0x18, 0x00, 0x38, 0x18, 0x18, 0x18, 0x3c, 0x00], - 'j' => [0x0c, 0x00, 0x1c, 0x0c, 0x0c, 0x0c, 0xcc, 0x78], - 'k' => [0xe0, 0x60, 0x66, 0x6c, 0x78, 0x6c, 0xe6, 0x00], - 'l' => [0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1c, 0x00], - 'm' => [0x00, 0x00, 0x6c, 0xfe, 0xd6, 0xd6, 0xc6, 0x00], - 'n' => [0x00, 0x00, 0xdc, 0x66, 0x66, 0x66, 0x66, 0x00], - 'o' => [0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0x7c, 0x00], - 'p' => [0x00, 0x00, 0xdc, 0x66, 0x66, 0x7c, 0x60, 0xf0], - 'q' => [0x00, 0x00, 0x76, 0xcc, 0xcc, 0x7c, 0x0c, 0x1e], - 'r' => [0x00, 0x00, 0xdc, 0x66, 0x60, 0x60, 0xf0, 0x00], - 's' => [0x00, 0x00, 0x7c, 0xc0, 0x7c, 0x06, 0x7c, 0x00], - 't' => [0x30, 0x30, 0xfc, 0x30, 0x30, 0x36, 0x1c, 0x00], - 'u' => [0x00, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0x76, 0x00], - 'v' => [0x00, 0x00, 0xc6, 0xc6, 0x6c, 0x38, 0x10, 0x00], - 'w' => [0x00, 0x00, 0xc6, 0xc6, 0xd6, 0xfe, 0x6c, 0x00], - 'x' => [0x00, 0x00, 0xc6, 0x6c, 0x38, 0x6c, 0xc6, 0x00], - 'y' => [0x00, 0x00, 0xc6, 0xc6, 0xce, 0x76, 0x06, 0x7c], - 'z' => [0x00, 0x00, 0xfc, 0x98, 0x30, 0x64, 0xfc, 0x00], - '{' => [0x0e, 0x18, 0x18, 0x70, 0x18, 0x18, 0x0e, 0x00], - '|' => [0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x00], - '}' => [0x70, 0x18, 0x18, 0x0e, 0x18, 0x18, 0x70, 0x00], + '!' => [0x00, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], + '"' => [0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00], + '#' => [0x0a, 0x1f, 0x0a, 0x1f, 0x0a, 0x00, 0x00, 0x00], + '$' => [0x24, 0x2a, 0x2a, 0x7f, 0x2a, 0x2a, 0x12, 0x00], + '%' => [0x00, 0x47, 0x25, 0x17, 0x08, 0x74, 0x52, 0x71], + '&' => [0x00, 0x36, 0x49, 0x49, 0x49, 0x41, 0x41, 0x38], + '\'' => [0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], + '(' => [0x00, 0x3e, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00], + ')' => [0x41, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], + '*' => [0x04, 0x15, 0x0e, 0x15, 0x04, 0x00, 0x00, 0x00], + '+' => [0x08, 0x08, 0x3e, 0x08, 0x08, 0x00, 0x00, 0x00], + ',' => [0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], + '-' => [0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00], + '.' => [0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], + '/' => [0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x00], + '0' => [0x00, 0x3e, 0x61, 0x51, 0x49, 0x45, 0x43, 0x3e], + '1' => [0x01, 0x01, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00], + '2' => [0x00, 0x71, 0x49, 0x49, 0x49, 0x49, 0x49, 0x46], + '3' => [0x41, 0x49, 0x49, 0x49, 0x49, 0x49, 0x36, 0x00], + '4' => [0x00, 0x0f, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7f], + '5' => [0x00, 0x4f, 0x49, 0x49, 0x49, 0x49, 0x49, 0x31], + '6' => [0x00, 0x3e, 0x49, 0x49, 0x49, 0x49, 0x49, 0x30], + '7' => [0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x7e, 0x00], + '8' => [0x00, 0x36, 0x49, 0x49, 0x49, 0x49, 0x49, 0x36], + '9' => [0x00, 0x06, 0x49, 0x49, 0x49, 0x49, 0x49, 0x3e], + ':' => [0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], + ';' => [0x40, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], + '<' => [0x08, 0x14, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00], + '=' => [0x14, 0x14, 0x14, 0x14, 0x14, 0x00, 0x00, 0x00], + '>' => [0x22, 0x14, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00], + '?' => [0x00, 0x06, 0x01, 0x01, 0x59, 0x09, 0x09, 0x06], + '@' => [0x00, 0x3e, 0x41, 0x5d, 0x55, 0x5d, 0x51, 0x5e], + 'A' => [0x00, 0x7e, 0x01, 0x09, 0x09, 0x09, 0x09, 0x7e], + 'B' => [0x00, 0x7f, 0x41, 0x49, 0x49, 0x49, 0x49, 0x36], + 'C' => [0x00, 0x3e, 0x41, 0x41, 0x41, 0x41, 0x41, 0x22], + 'D' => [0x00, 0x7f, 0x41, 0x41, 0x41, 0x41, 0x41, 0x3e], + 'E' => [0x00, 0x3e, 0x49, 0x49, 0x49, 0x49, 0x49, 0x41], + 'F' => [0x00, 0x7e, 0x09, 0x09, 0x09, 0x09, 0x09, 0x01], + 'G' => [0x00, 0x3e, 0x41, 0x49, 0x49, 0x49, 0x49, 0x79], + 'H' => [0x00, 0x7f, 0x08, 0x08, 0x08, 0x08, 0x08, 0x7f], + 'I' => [0x00, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], + 'J' => [0x00, 0x38, 0x40, 0x40, 0x41, 0x41, 0x41, 0x3f], + 'K' => [0x00, 0x7f, 0x08, 0x08, 0x08, 0x0c, 0x0a, 0x71], + 'L' => [0x00, 0x3f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40], + 'M' => [0x00, 0x7e, 0x01, 0x01, 0x7e, 0x01, 0x01, 0x7e], + 'N' => [0x00, 0x7e, 0x01, 0x01, 0x3e, 0x40, 0x40, 0x3f], + 'O' => [0x00, 0x3e, 0x41, 0x41, 0x41, 0x41, 0x41, 0x3e], + 'P' => [0x00, 0x7e, 0x09, 0x09, 0x09, 0x09, 0x09, 0x06], + 'Q' => [0x00, 0x3e, 0x41, 0x41, 0x71, 0x51, 0x51, 0x7e], + 'R' => [0x00, 0x7e, 0x01, 0x31, 0x49, 0x49, 0x49, 0x46], + 'S' => [0x00, 0x46, 0x49, 0x49, 0x49, 0x49, 0x49, 0x31], + 'T' => [0x01, 0x01, 0x01, 0x7f, 0x01, 0x01, 0x01, 0x00], + 'U' => [0x00, 0x3f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x3f], + 'V' => [0x00, 0x0f, 0x10, 0x20, 0x40, 0x20, 0x10, 0x0f], + 'W' => [0x00, 0x3f, 0x40, 0x40, 0x3f, 0x40, 0x40, 0x3f], + 'X' => [0x00, 0x63, 0x14, 0x08, 0x08, 0x08, 0x14, 0x63], + 'Y' => [0x00, 0x07, 0x08, 0x08, 0x78, 0x08, 0x08, 0x07], + 'Z' => [0x00, 0x71, 0x49, 0x49, 0x49, 0x49, 0x49, 0x47], + '[' => [0x00, 0x7f, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00], + '\\' => [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], + ']' => [0x41, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], + '^' => [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], + '_' => [0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00], + '`' => [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], + 'a' => [0x00, 0x7e, 0x01, 0x09, 0x09, 0x09, 0x09, 0x7e], + 'b' => [0x00, 0x7f, 0x41, 0x49, 0x49, 0x49, 0x49, 0x36], + 'c' => [0x00, 0x3e, 0x41, 0x41, 0x41, 0x41, 0x41, 0x22], + 'd' => [0x00, 0x7f, 0x41, 0x41, 0x41, 0x41, 0x41, 0x3e], + 'e' => [0x00, 0x3e, 0x49, 0x49, 0x49, 0x49, 0x49, 0x41], + 'f' => [0x00, 0x7e, 0x09, 0x09, 0x09, 0x09, 0x09, 0x01], + 'g' => [0x00, 0x3e, 0x41, 0x49, 0x49, 0x49, 0x49, 0x79], + 'h' => [0x00, 0x7f, 0x08, 0x08, 0x08, 0x08, 0x08, 0x7f], + 'i' => [0x00, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], + 'j' => [0x00, 0x38, 0x40, 0x40, 0x41, 0x41, 0x41, 0x3f], + 'k' => [0x00, 0x7f, 0x08, 0x08, 0x08, 0x0c, 0x0a, 0x71], + 'l' => [0x00, 0x3f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40], + 'm' => [0x00, 0x7e, 0x01, 0x01, 0x7e, 0x01, 0x01, 0x7e], + 'n' => [0x00, 0x7e, 0x01, 0x01, 0x3e, 0x40, 0x40, 0x3f], + 'o' => [0x00, 0x3e, 0x41, 0x41, 0x41, 0x41, 0x41, 0x3e], + 'p' => [0x00, 0x7e, 0x09, 0x09, 0x09, 0x09, 0x09, 0x06], + 'q' => [0x00, 0x3e, 0x41, 0x41, 0x71, 0x51, 0x51, 0x7e], + 'r' => [0x00, 0x7e, 0x01, 0x31, 0x49, 0x49, 0x49, 0x46], + 's' => [0x00, 0x46, 0x49, 0x49, 0x49, 0x49, 0x49, 0x31], + 't' => [0x01, 0x01, 0x01, 0x7f, 0x01, 0x01, 0x01, 0x00], + 'u' => [0x00, 0x3f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x3f], + 'v' => [0x00, 0x0f, 0x10, 0x20, 0x40, 0x20, 0x10, 0x0f], + 'w' => [0x00, 0x3f, 0x40, 0x40, 0x3f, 0x40, 0x40, 0x3f], + 'x' => [0x00, 0x63, 0x14, 0x08, 0x08, 0x08, 0x14, 0x63], + 'y' => [0x00, 0x07, 0x08, 0x08, 0x78, 0x08, 0x08, 0x07], + 'z' => [0x00, 0x71, 0x49, 0x49, 0x49, 0x49, 0x49, 0x47], + '{' => [0x08, 0x36, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00], + '|' => [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], + '}' => [0x41, 0x36, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00], + '~' => [0x02, 0x01, 0x01, 0x02, 0x02, 0x01, 0x00, 0x00], _ => [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], } } From 00f64f029b4cb0142ed225c5ca2f4a7a552be937 Mon Sep 17 00:00:00 2001 From: James Waples Date: Tue, 1 Dec 2020 10:41:10 +0000 Subject: [PATCH 3/5] Switch to zxpix font From https://jared.geek.nz/2014/jan/custom-fonts-for-microcontrollers Each character is padded by 1px either side to get the width to 8px --- src/mode/terminal.rs | 186 +++++++++++++++++++++---------------------- 1 file changed, 93 insertions(+), 93 deletions(-) diff --git a/src/mode/terminal.rs b/src/mode/terminal.rs index 0f44cab2..2010a58b 100644 --- a/src/mode/terminal.rs +++ b/src/mode/terminal.rs @@ -361,100 +361,100 @@ where fn char_to_bitmap(input: char) -> [u8; 8] { // Populate the array with the data from the character array at the right index match input { - '!' => [0x00, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], + '!' => [0x00, 0x2f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], '"' => [0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00], - '#' => [0x0a, 0x1f, 0x0a, 0x1f, 0x0a, 0x00, 0x00, 0x00], - '$' => [0x24, 0x2a, 0x2a, 0x7f, 0x2a, 0x2a, 0x12, 0x00], - '%' => [0x00, 0x47, 0x25, 0x17, 0x08, 0x74, 0x52, 0x71], - '&' => [0x00, 0x36, 0x49, 0x49, 0x49, 0x41, 0x41, 0x38], - '\'' => [0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], - '(' => [0x00, 0x3e, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00], - ')' => [0x41, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], - '*' => [0x04, 0x15, 0x0e, 0x15, 0x04, 0x00, 0x00, 0x00], - '+' => [0x08, 0x08, 0x3e, 0x08, 0x08, 0x00, 0x00, 0x00], - ',' => [0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], - '-' => [0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00], - '.' => [0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], - '/' => [0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x00], - '0' => [0x00, 0x3e, 0x61, 0x51, 0x49, 0x45, 0x43, 0x3e], - '1' => [0x01, 0x01, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00], - '2' => [0x00, 0x71, 0x49, 0x49, 0x49, 0x49, 0x49, 0x46], - '3' => [0x41, 0x49, 0x49, 0x49, 0x49, 0x49, 0x36, 0x00], - '4' => [0x00, 0x0f, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7f], - '5' => [0x00, 0x4f, 0x49, 0x49, 0x49, 0x49, 0x49, 0x31], - '6' => [0x00, 0x3e, 0x49, 0x49, 0x49, 0x49, 0x49, 0x30], - '7' => [0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x7e, 0x00], - '8' => [0x00, 0x36, 0x49, 0x49, 0x49, 0x49, 0x49, 0x36], - '9' => [0x00, 0x06, 0x49, 0x49, 0x49, 0x49, 0x49, 0x3e], - ':' => [0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], - ';' => [0x40, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], - '<' => [0x08, 0x14, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00], - '=' => [0x14, 0x14, 0x14, 0x14, 0x14, 0x00, 0x00, 0x00], - '>' => [0x22, 0x14, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00], - '?' => [0x00, 0x06, 0x01, 0x01, 0x59, 0x09, 0x09, 0x06], - '@' => [0x00, 0x3e, 0x41, 0x5d, 0x55, 0x5d, 0x51, 0x5e], - 'A' => [0x00, 0x7e, 0x01, 0x09, 0x09, 0x09, 0x09, 0x7e], - 'B' => [0x00, 0x7f, 0x41, 0x49, 0x49, 0x49, 0x49, 0x36], - 'C' => [0x00, 0x3e, 0x41, 0x41, 0x41, 0x41, 0x41, 0x22], - 'D' => [0x00, 0x7f, 0x41, 0x41, 0x41, 0x41, 0x41, 0x3e], - 'E' => [0x00, 0x3e, 0x49, 0x49, 0x49, 0x49, 0x49, 0x41], - 'F' => [0x00, 0x7e, 0x09, 0x09, 0x09, 0x09, 0x09, 0x01], - 'G' => [0x00, 0x3e, 0x41, 0x49, 0x49, 0x49, 0x49, 0x79], - 'H' => [0x00, 0x7f, 0x08, 0x08, 0x08, 0x08, 0x08, 0x7f], - 'I' => [0x00, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], - 'J' => [0x00, 0x38, 0x40, 0x40, 0x41, 0x41, 0x41, 0x3f], - 'K' => [0x00, 0x7f, 0x08, 0x08, 0x08, 0x0c, 0x0a, 0x71], - 'L' => [0x00, 0x3f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40], - 'M' => [0x00, 0x7e, 0x01, 0x01, 0x7e, 0x01, 0x01, 0x7e], - 'N' => [0x00, 0x7e, 0x01, 0x01, 0x3e, 0x40, 0x40, 0x3f], - 'O' => [0x00, 0x3e, 0x41, 0x41, 0x41, 0x41, 0x41, 0x3e], - 'P' => [0x00, 0x7e, 0x09, 0x09, 0x09, 0x09, 0x09, 0x06], - 'Q' => [0x00, 0x3e, 0x41, 0x41, 0x71, 0x51, 0x51, 0x7e], - 'R' => [0x00, 0x7e, 0x01, 0x31, 0x49, 0x49, 0x49, 0x46], - 'S' => [0x00, 0x46, 0x49, 0x49, 0x49, 0x49, 0x49, 0x31], - 'T' => [0x01, 0x01, 0x01, 0x7f, 0x01, 0x01, 0x01, 0x00], - 'U' => [0x00, 0x3f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x3f], - 'V' => [0x00, 0x0f, 0x10, 0x20, 0x40, 0x20, 0x10, 0x0f], - 'W' => [0x00, 0x3f, 0x40, 0x40, 0x3f, 0x40, 0x40, 0x3f], - 'X' => [0x00, 0x63, 0x14, 0x08, 0x08, 0x08, 0x14, 0x63], - 'Y' => [0x00, 0x07, 0x08, 0x08, 0x78, 0x08, 0x08, 0x07], - 'Z' => [0x00, 0x71, 0x49, 0x49, 0x49, 0x49, 0x49, 0x47], - '[' => [0x00, 0x7f, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00], - '\\' => [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], - ']' => [0x41, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], - '^' => [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], - '_' => [0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00], - '`' => [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], - 'a' => [0x00, 0x7e, 0x01, 0x09, 0x09, 0x09, 0x09, 0x7e], - 'b' => [0x00, 0x7f, 0x41, 0x49, 0x49, 0x49, 0x49, 0x36], - 'c' => [0x00, 0x3e, 0x41, 0x41, 0x41, 0x41, 0x41, 0x22], - 'd' => [0x00, 0x7f, 0x41, 0x41, 0x41, 0x41, 0x41, 0x3e], - 'e' => [0x00, 0x3e, 0x49, 0x49, 0x49, 0x49, 0x49, 0x41], - 'f' => [0x00, 0x7e, 0x09, 0x09, 0x09, 0x09, 0x09, 0x01], - 'g' => [0x00, 0x3e, 0x41, 0x49, 0x49, 0x49, 0x49, 0x79], - 'h' => [0x00, 0x7f, 0x08, 0x08, 0x08, 0x08, 0x08, 0x7f], - 'i' => [0x00, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], - 'j' => [0x00, 0x38, 0x40, 0x40, 0x41, 0x41, 0x41, 0x3f], - 'k' => [0x00, 0x7f, 0x08, 0x08, 0x08, 0x0c, 0x0a, 0x71], - 'l' => [0x00, 0x3f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40], - 'm' => [0x00, 0x7e, 0x01, 0x01, 0x7e, 0x01, 0x01, 0x7e], - 'n' => [0x00, 0x7e, 0x01, 0x01, 0x3e, 0x40, 0x40, 0x3f], - 'o' => [0x00, 0x3e, 0x41, 0x41, 0x41, 0x41, 0x41, 0x3e], - 'p' => [0x00, 0x7e, 0x09, 0x09, 0x09, 0x09, 0x09, 0x06], - 'q' => [0x00, 0x3e, 0x41, 0x41, 0x71, 0x51, 0x51, 0x7e], - 'r' => [0x00, 0x7e, 0x01, 0x31, 0x49, 0x49, 0x49, 0x46], - 's' => [0x00, 0x46, 0x49, 0x49, 0x49, 0x49, 0x49, 0x31], - 't' => [0x01, 0x01, 0x01, 0x7f, 0x01, 0x01, 0x01, 0x00], - 'u' => [0x00, 0x3f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x3f], - 'v' => [0x00, 0x0f, 0x10, 0x20, 0x40, 0x20, 0x10, 0x0f], - 'w' => [0x00, 0x3f, 0x40, 0x40, 0x3f, 0x40, 0x40, 0x3f], - 'x' => [0x00, 0x63, 0x14, 0x08, 0x08, 0x08, 0x14, 0x63], - 'y' => [0x00, 0x07, 0x08, 0x08, 0x78, 0x08, 0x08, 0x07], - 'z' => [0x00, 0x71, 0x49, 0x49, 0x49, 0x49, 0x49, 0x47], - '{' => [0x08, 0x36, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00], - '|' => [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], - '}' => [0x41, 0x36, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00], - '~' => [0x02, 0x01, 0x01, 0x02, 0x02, 0x01, 0x00, 0x00], + '#' => [0x00, 0x12, 0x3f, 0x12, 0x12, 0x3f, 0x12, 0x00], + '$' => [0x00, 0x2e, 0x2a, 0x7f, 0x2a, 0x3a, 0x00, 0x00], + '%' => [0x00, 0x23, 0x13, 0x08, 0x04, 0x32, 0x31, 0x00], + '&' => [0x00, 0x10, 0x2a, 0x25, 0x2a, 0x10, 0x20, 0x00], + '\'' => [0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00], + '(' => [0x00, 0x1e, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00], + ')' => [0x00, 0x21, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00], + '*' => [0x00, 0x08, 0x2a, 0x1c, 0x2a, 0x08, 0x08, 0x00], + '+' => [0x00, 0x08, 0x08, 0x3e, 0x08, 0x08, 0x08, 0x00], + ',' => [0x00, 0x80, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00], + '-' => [0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00], + '.' => [0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00], + '/' => [0x00, 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, 0x00], + '0' => [0x00, 0x1e, 0x31, 0x29, 0x25, 0x23, 0x1e, 0x00], + '1' => [0x00, 0x22, 0x21, 0x3f, 0x20, 0x20, 0x20, 0x00], + '2' => [0x00, 0x32, 0x29, 0x29, 0x29, 0x29, 0x26, 0x00], + '3' => [0x00, 0x12, 0x21, 0x21, 0x25, 0x25, 0x1a, 0x00], + '4' => [0x00, 0x18, 0x14, 0x12, 0x3f, 0x10, 0x10, 0x00], + '5' => [0x00, 0x17, 0x25, 0x25, 0x25, 0x25, 0x19, 0x00], + '6' => [0x00, 0x1e, 0x25, 0x25, 0x25, 0x25, 0x18, 0x00], + '7' => [0x00, 0x01, 0x01, 0x31, 0x09, 0x05, 0x03, 0x00], + '8' => [0x00, 0x1a, 0x25, 0x25, 0x25, 0x25, 0x1a, 0x00], + '9' => [0x00, 0x06, 0x29, 0x29, 0x29, 0x29, 0x1e, 0x00], + ':' => [0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], + ';' => [0x00, 0x80, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00], + '<' => [0x00, 0x08, 0x14, 0x22, 0x00, 0x00, 0x00, 0x00], + '=' => [0x00, 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, 0x00], + '>' => [0x00, 0x22, 0x14, 0x08, 0x00, 0x00, 0x00, 0x00], + '?' => [0x00, 0x02, 0x01, 0x01, 0x29, 0x05, 0x02, 0x00], + '@' => [0x00, 0x1e, 0x21, 0x2d, 0x2b, 0x2d, 0x0e, 0x00], + 'A' => [0x00, 0x3e, 0x09, 0x09, 0x09, 0x09, 0x3e, 0x00], + 'B' => [0x00, 0x3f, 0x25, 0x25, 0x25, 0x25, 0x1a, 0x00], + 'C' => [0x00, 0x1e, 0x21, 0x21, 0x21, 0x21, 0x12, 0x00], + 'D' => [0x00, 0x3f, 0x21, 0x21, 0x21, 0x12, 0x0c, 0x00], + 'E' => [0x00, 0x3f, 0x25, 0x25, 0x25, 0x25, 0x21, 0x00], + 'F' => [0x00, 0x3f, 0x05, 0x05, 0x05, 0x05, 0x01, 0x00], + 'G' => [0x00, 0x1e, 0x21, 0x21, 0x21, 0x29, 0x1a, 0x00], + 'H' => [0x00, 0x3f, 0x04, 0x04, 0x04, 0x04, 0x3f, 0x00], + 'I' => [0x00, 0x21, 0x21, 0x3f, 0x21, 0x21, 0x21, 0x00], + 'J' => [0x00, 0x10, 0x20, 0x20, 0x20, 0x20, 0x1f, 0x00], + 'K' => [0x00, 0x3f, 0x04, 0x0c, 0x0a, 0x11, 0x20, 0x00], + 'L' => [0x00, 0x3f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00], + 'M' => [0x00, 0x3f, 0x02, 0x04, 0x04, 0x02, 0x3f, 0x00], + 'N' => [0x00, 0x3f, 0x02, 0x04, 0x08, 0x10, 0x3f, 0x00], + 'O' => [0x00, 0x1e, 0x21, 0x21, 0x21, 0x21, 0x1e, 0x00], + 'P' => [0x00, 0x3f, 0x09, 0x09, 0x09, 0x09, 0x06, 0x00], + 'Q' => [0x00, 0x1e, 0x21, 0x29, 0x31, 0x21, 0x1e, 0x00], + 'R' => [0x00, 0x3f, 0x09, 0x09, 0x09, 0x19, 0x26, 0x00], + 'S' => [0x00, 0x12, 0x25, 0x25, 0x25, 0x25, 0x18, 0x00], + 'T' => [0x00, 0x01, 0x01, 0x01, 0x3f, 0x01, 0x01, 0x00], + 'U' => [0x00, 0x1f, 0x20, 0x20, 0x20, 0x20, 0x1f, 0x00], + 'V' => [0x00, 0x0f, 0x10, 0x20, 0x20, 0x10, 0x0f, 0x00], + 'W' => [0x00, 0x1f, 0x20, 0x10, 0x10, 0x20, 0x1f, 0x00], + 'X' => [0x00, 0x21, 0x12, 0x0c, 0x0c, 0x12, 0x21, 0x00], + 'Y' => [0x00, 0x01, 0x02, 0x0c, 0x38, 0x04, 0x02, 0x00], + 'Z' => [0x00, 0x21, 0x31, 0x29, 0x25, 0x23, 0x21, 0x00], + '[' => [0x00, 0x3f, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00], + '\\' => [0x00, 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, 0x00], + ']' => [0x00, 0x21, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00], + '^' => [0x00, 0x04, 0x02, 0x3f, 0x02, 0x04, 0x00, 0x00], + '_' => [0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00], + '`' => [0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00], + 'a' => [0x00, 0x10, 0x30, 0x2a, 0x2a, 0x3c, 0x00, 0x00], + 'b' => [0x00, 0x3f, 0x24, 0x24, 0x24, 0x18, 0x00, 0x00], + 'c' => [0x00, 0x0c, 0x14, 0x22, 0x22, 0x00, 0x00, 0x00], + 'd' => [0x00, 0x18, 0x24, 0x24, 0x24, 0x3f, 0x00, 0x00], + 'e' => [0x00, 0x1c, 0x2c, 0x2a, 0x2a, 0x24, 0x00, 0x00], + 'f' => [0x00, 0x3e, 0x05, 0x01, 0x00, 0x00, 0x00, 0x00], + 'g' => [0x00, 0x18, 0x28, 0xa4, 0xa4, 0x7c, 0x00, 0x00], + 'h' => [0x00, 0x3f, 0x04, 0x04, 0x0c, 0x30, 0x00, 0x00], + 'i' => [0x00, 0x24, 0x3d, 0x20, 0x00, 0x00, 0x00, 0x00], + 'j' => [0x00, 0x20, 0x40, 0x40, 0x3d, 0x00, 0x00, 0x00], + 'k' => [0x00, 0x3f, 0x0c, 0x12, 0x20, 0x00, 0x00, 0x00], + 'l' => [0x00, 0x1f, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00], + 'm' => [0x00, 0x3e, 0x02, 0x3c, 0x02, 0x3c, 0x00, 0x00], + 'n' => [0x00, 0x3e, 0x02, 0x02, 0x02, 0x3c, 0x00, 0x00], + 'o' => [0x00, 0x0c, 0x14, 0x22, 0x32, 0x0c, 0x00, 0x00], + 'p' => [0x00, 0xfc, 0x24, 0x24, 0x24, 0x18, 0x00, 0x00], + 'q' => [0x00, 0x18, 0x24, 0x24, 0x24, 0xfc, 0x80, 0x00], + 'r' => [0x00, 0x3c, 0x04, 0x02, 0x02, 0x00, 0x00, 0x00], + 's' => [0x00, 0x24, 0x2c, 0x2a, 0x2a, 0x10, 0x00, 0x00], + 't' => [0x00, 0x02, 0x1f, 0x22, 0x20, 0x00, 0x00, 0x00], + 'u' => [0x00, 0x1e, 0x20, 0x20, 0x20, 0x1e, 0x00, 0x00], + 'v' => [0x00, 0x06, 0x18, 0x20, 0x18, 0x06, 0x00, 0x00], + 'w' => [0x00, 0x1e, 0x30, 0x1c, 0x30, 0x0e, 0x00, 0x00], + 'x' => [0x00, 0x22, 0x14, 0x08, 0x14, 0x22, 0x00, 0x00], + 'y' => [0x00, 0x0c, 0x10, 0xa0, 0xa0, 0x7c, 0x00, 0x00], + 'z' => [0x00, 0x22, 0x32, 0x2a, 0x26, 0x22, 0x22, 0x00], + '{' => [0x00, 0x0c, 0x3f, 0x21, 0x00, 0x00, 0x00, 0x00], + '|' => [0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], + '}' => [0x00, 0x21, 0x3f, 0x0c, 0x00, 0x00, 0x00, 0x00], + '~' => [0x00, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0x00], _ => [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], } } From 605fc9f67abdf8f3c37bde18a3253181865897e2 Mon Sep 17 00:00:00 2001 From: James Waples Date: Tue, 1 Dec 2020 11:41:52 +0000 Subject: [PATCH 4/5] Manually fix some characters --- src/mode/terminal.rs | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/src/mode/terminal.rs b/src/mode/terminal.rs index 2010a58b..425e65cf 100644 --- a/src/mode/terminal.rs +++ b/src/mode/terminal.rs @@ -361,7 +361,7 @@ where fn char_to_bitmap(input: char) -> [u8; 8] { // Populate the array with the data from the character array at the right index match input { - '!' => [0x00, 0x2f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], + '!' => [0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x00, 0x00], '"' => [0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00], '#' => [0x00, 0x12, 0x3f, 0x12, 0x12, 0x3f, 0x12, 0x00], '$' => [0x00, 0x2e, 0x2a, 0x7f, 0x2a, 0x3a, 0x00, 0x00], @@ -370,8 +370,8 @@ where '\'' => [0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00], '(' => [0x00, 0x1e, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00], ')' => [0x00, 0x21, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00], - '*' => [0x00, 0x08, 0x2a, 0x1c, 0x2a, 0x08, 0x08, 0x00], - '+' => [0x00, 0x08, 0x08, 0x3e, 0x08, 0x08, 0x08, 0x00], + '*' => [0x00, 0x08, 0x2a, 0x1c, 0x2a, 0x08, 0x00, 0x00], + '+' => [0x00, 0x08, 0x08, 0x3e, 0x08, 0x08, 0x00, 0x00], ',' => [0x00, 0x80, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00], '-' => [0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00], '.' => [0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00], @@ -380,7 +380,7 @@ where '1' => [0x00, 0x22, 0x21, 0x3f, 0x20, 0x20, 0x20, 0x00], '2' => [0x00, 0x32, 0x29, 0x29, 0x29, 0x29, 0x26, 0x00], '3' => [0x00, 0x12, 0x21, 0x21, 0x25, 0x25, 0x1a, 0x00], - '4' => [0x00, 0x18, 0x14, 0x12, 0x3f, 0x10, 0x10, 0x00], + '4' => [0x00, 0x18, 0x14, 0x12, 0x3f, 0x10, 0x00, 0x00], '5' => [0x00, 0x17, 0x25, 0x25, 0x25, 0x25, 0x19, 0x00], '6' => [0x00, 0x1e, 0x25, 0x25, 0x25, 0x25, 0x18, 0x00], '7' => [0x00, 0x01, 0x01, 0x31, 0x09, 0x05, 0x03, 0x00], @@ -401,7 +401,7 @@ where 'F' => [0x00, 0x3f, 0x05, 0x05, 0x05, 0x05, 0x01, 0x00], 'G' => [0x00, 0x1e, 0x21, 0x21, 0x21, 0x29, 0x1a, 0x00], 'H' => [0x00, 0x3f, 0x04, 0x04, 0x04, 0x04, 0x3f, 0x00], - 'I' => [0x00, 0x21, 0x21, 0x3f, 0x21, 0x21, 0x21, 0x00], + 'I' => [0x00, 0x21, 0x21, 0x3f, 0x21, 0x21, 0x00, 0x00], 'J' => [0x00, 0x10, 0x20, 0x20, 0x20, 0x20, 0x1f, 0x00], 'K' => [0x00, 0x3f, 0x04, 0x0c, 0x0a, 0x11, 0x20, 0x00], 'L' => [0x00, 0x3f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00], @@ -409,7 +409,7 @@ where 'N' => [0x00, 0x3f, 0x02, 0x04, 0x08, 0x10, 0x3f, 0x00], 'O' => [0x00, 0x1e, 0x21, 0x21, 0x21, 0x21, 0x1e, 0x00], 'P' => [0x00, 0x3f, 0x09, 0x09, 0x09, 0x09, 0x06, 0x00], - 'Q' => [0x00, 0x1e, 0x21, 0x29, 0x31, 0x21, 0x1e, 0x00], + 'Q' => [0x00, 0x1e, 0x21, 0x29, 0x31, 0x21, 0x5e, 0x00], 'R' => [0x00, 0x3f, 0x09, 0x09, 0x09, 0x19, 0x26, 0x00], 'S' => [0x00, 0x12, 0x25, 0x25, 0x25, 0x25, 0x18, 0x00], 'T' => [0x00, 0x01, 0x01, 0x01, 0x3f, 0x01, 0x01, 0x00], @@ -417,7 +417,7 @@ where 'V' => [0x00, 0x0f, 0x10, 0x20, 0x20, 0x10, 0x0f, 0x00], 'W' => [0x00, 0x1f, 0x20, 0x10, 0x10, 0x20, 0x1f, 0x00], 'X' => [0x00, 0x21, 0x12, 0x0c, 0x0c, 0x12, 0x21, 0x00], - 'Y' => [0x00, 0x01, 0x02, 0x0c, 0x38, 0x04, 0x02, 0x00], + 'Y' => [0x00, 0x01, 0x02, 0x3c, 0x02, 0x01, 0x00, 0x00], 'Z' => [0x00, 0x21, 0x31, 0x29, 0x25, 0x23, 0x21, 0x00], '[' => [0x00, 0x3f, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00], '\\' => [0x00, 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, 0x00], @@ -425,32 +425,32 @@ where '^' => [0x00, 0x04, 0x02, 0x3f, 0x02, 0x04, 0x00, 0x00], '_' => [0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00], '`' => [0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00], - 'a' => [0x00, 0x10, 0x30, 0x2a, 0x2a, 0x3c, 0x00, 0x00], + 'a' => [0x00, 0x10, 0x2a, 0x2a, 0x2a, 0x3c, 0x00, 0x00], 'b' => [0x00, 0x3f, 0x24, 0x24, 0x24, 0x18, 0x00, 0x00], - 'c' => [0x00, 0x0c, 0x14, 0x22, 0x22, 0x00, 0x00, 0x00], + 'c' => [0x00, 0x1c, 0x22, 0x22, 0x22, 0x00, 0x00, 0x00], 'd' => [0x00, 0x18, 0x24, 0x24, 0x24, 0x3f, 0x00, 0x00], - 'e' => [0x00, 0x1c, 0x2c, 0x2a, 0x2a, 0x24, 0x00, 0x00], - 'f' => [0x00, 0x3e, 0x05, 0x01, 0x00, 0x00, 0x00, 0x00], - 'g' => [0x00, 0x18, 0x28, 0xa4, 0xa4, 0x7c, 0x00, 0x00], - 'h' => [0x00, 0x3f, 0x04, 0x04, 0x0c, 0x30, 0x00, 0x00], - 'i' => [0x00, 0x24, 0x3d, 0x20, 0x00, 0x00, 0x00, 0x00], + 'e' => [0x00, 0x1c, 0x2a, 0x2a, 0x2a, 0x24, 0x00, 0x00], + 'f' => [0x00, 0x00, 0x3e, 0x05, 0x01, 0x00, 0x00, 0x00], + 'g' => [0x00, 0x18, 0xa4, 0xa4, 0xa4, 0x7c, 0x00, 0x00], + 'h' => [0x00, 0x3f, 0x04, 0x04, 0x04, 0x38, 0x00, 0x00], + 'i' => [0x00, 0x00, 0x24, 0x3d, 0x20, 0x00, 0x00, 0x00], 'j' => [0x00, 0x20, 0x40, 0x40, 0x3d, 0x00, 0x00, 0x00], 'k' => [0x00, 0x3f, 0x0c, 0x12, 0x20, 0x00, 0x00, 0x00], 'l' => [0x00, 0x1f, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00], 'm' => [0x00, 0x3e, 0x02, 0x3c, 0x02, 0x3c, 0x00, 0x00], 'n' => [0x00, 0x3e, 0x02, 0x02, 0x02, 0x3c, 0x00, 0x00], - 'o' => [0x00, 0x0c, 0x14, 0x22, 0x32, 0x0c, 0x00, 0x00], + 'o' => [0x00, 0x1c, 0x22, 0x22, 0x22, 0x1c, 0x00, 0x00], 'p' => [0x00, 0xfc, 0x24, 0x24, 0x24, 0x18, 0x00, 0x00], - 'q' => [0x00, 0x18, 0x24, 0x24, 0x24, 0xfc, 0x80, 0x00], - 'r' => [0x00, 0x3c, 0x04, 0x02, 0x02, 0x00, 0x00, 0x00], - 's' => [0x00, 0x24, 0x2c, 0x2a, 0x2a, 0x10, 0x00, 0x00], + 'q' => [0x00, 0x18, 0x24, 0x24, 0x24, 0xfc, 0x00, 0x00], + 'r' => [0x00, 0x3e, 0x04, 0x02, 0x02, 0x00, 0x00, 0x00], + 's' => [0x00, 0x24, 0x2a, 0x2a, 0x2a, 0x10, 0x00, 0x00], 't' => [0x00, 0x02, 0x1f, 0x22, 0x20, 0x00, 0x00, 0x00], 'u' => [0x00, 0x1e, 0x20, 0x20, 0x20, 0x1e, 0x00, 0x00], 'v' => [0x00, 0x06, 0x18, 0x20, 0x18, 0x06, 0x00, 0x00], - 'w' => [0x00, 0x1e, 0x30, 0x1c, 0x30, 0x0e, 0x00, 0x00], + 'w' => [0x00, 0x1e, 0x30, 0x1c, 0x30, 0x1e, 0x00, 0x00], 'x' => [0x00, 0x22, 0x14, 0x08, 0x14, 0x22, 0x00, 0x00], - 'y' => [0x00, 0x0c, 0x10, 0xa0, 0xa0, 0x7c, 0x00, 0x00], - 'z' => [0x00, 0x22, 0x32, 0x2a, 0x26, 0x22, 0x22, 0x00], + 'y' => [0x00, 0x1c, 0xa0, 0xa0, 0xa0, 0x7c, 0x00, 0x00], + 'z' => [0x00, 0x22, 0x32, 0x2a, 0x26, 0x22, 0x00, 0x00], '{' => [0x00, 0x0c, 0x3f, 0x21, 0x00, 0x00, 0x00, 0x00], '|' => [0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], '}' => [0x00, 0x21, 0x3f, 0x0c, 0x00, 0x00, 0x00, 0x00], From c8aee7d6782b8ea7b6cdee700071fe94870a1627 Mon Sep 17 00:00:00 2001 From: James Waples Date: Tue, 1 Dec 2020 12:03:54 +0000 Subject: [PATCH 5/5] Update changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index beacde39..6bdf33e3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ ## [Unreleased] - ReleaseDate -- [#137](https://github.com/jamwaffles/ssd1306/pull/137) Replaced `TerminalMode` font with a new, more consistent one. This now uses the `ATIx550_8x8` font from the `romfonts` project. +- [#137](https://github.com/jamwaffles/ssd1306/pull/137) Replaced `TerminalMode` font with a new, more consistent one. This now uses the `zxpix` font from . ## [0.4.0] - 2020-08-03