From 7c852cf7d1e375071cf73f580b0c8cb34be558d0 Mon Sep 17 00:00:00 2001 From: Dave Allie Date: Sat, 13 Dec 2025 00:16:10 +1100 Subject: [PATCH] Swap out babyblue font for pixelarial14 --- lib/EpdFont/builtinFonts/pixelarial14.h | 184 ++++++++++++++++++++++++ src/config.h | 4 +- src/main.cpp | 16 +-- src/screens/EpubReaderScreen.cpp | 15 +- 4 files changed, 202 insertions(+), 17 deletions(-) create mode 100644 lib/EpdFont/builtinFonts/pixelarial14.h diff --git a/lib/EpdFont/builtinFonts/pixelarial14.h b/lib/EpdFont/builtinFonts/pixelarial14.h new file mode 100644 index 0000000..f8fe4d3 --- /dev/null +++ b/lib/EpdFont/builtinFonts/pixelarial14.h @@ -0,0 +1,184 @@ +/** + * generated by fontconvert.py + * name: pixelarial14 + * size: 8 + * mode: 1-bit + */ +#pragma once +#include "EpdFontData.h" + +static const uint8_t pixelarial14Bitmaps[1145] = { + 0xFF, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xFF, 0x1C, 0x63, 0x8C, 0xF7, 0x98, 0xCF, 0xFF, 0xFF, 0xDC, 0xE7, 0xFE, 0xFF, + 0xFF, 0xFB, 0x9C, 0x63, 0x0C, 0x60, 0x30, 0xF3, 0xFF, 0xBF, 0x1F, 0x9F, 0x9B, 0x37, 0xEF, 0xFB, 0xE3, 0x00, 0x70, + 0x67, 0xCF, 0x37, 0x61, 0xBB, 0x0D, 0xF0, 0x7D, 0x81, 0xDD, 0xC0, 0xDF, 0x07, 0x98, 0xFC, 0xC7, 0x66, 0x7B, 0xF3, + 0x07, 0x00, 0x3E, 0x0F, 0xE1, 0x8C, 0x31, 0x86, 0x60, 0xFC, 0x1F, 0x07, 0xE4, 0xC7, 0x98, 0xF3, 0x0E, 0x7F, 0xF7, + 0xE6, 0xFF, 0xF0, 0x37, 0x66, 0xCC, 0xCC, 0xCC, 0xCC, 0xC6, 0x67, 0x30, 0xCE, 0x66, 0x33, 0x33, 0x33, 0x33, 0x36, + 0x6E, 0xC0, 0x6F, 0xF6, 0xFF, 0x08, 0x0E, 0x07, 0x03, 0x8F, 0xFF, 0xFC, 0x70, 0x38, 0x1C, 0x0E, 0x00, 0xFF, 0xC0, + 0xFB, 0xFF, 0x80, 0xF0, 0x1C, 0x73, 0xCC, 0x30, 0xC7, 0x18, 0x61, 0x8E, 0x30, 0xC0, 0x7E, 0xFF, 0xC3, 0xC3, 0xC3, + 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xFF, 0x7E, 0x37, 0xFF, 0x33, 0x33, 0x33, 0x33, 0x30, 0x7E, 0xFF, 0xC3, 0xC3, + 0x03, 0x03, 0x07, 0x0E, 0x1C, 0x38, 0x70, 0xFF, 0xFF, 0x7E, 0xFF, 0xC3, 0xC3, 0x03, 0x3F, 0x3F, 0x03, 0x03, 0xC3, + 0xC3, 0xFF, 0x7E, 0x03, 0x03, 0x83, 0xC3, 0xE3, 0x31, 0x99, 0xCD, 0xC6, 0xC3, 0x7F, 0xFF, 0xE0, 0x60, 0x30, 0x7F, + 0x7F, 0xE0, 0xC0, 0xFE, 0xFF, 0xC3, 0x03, 0x03, 0xC3, 0xC7, 0xFE, 0x7E, 0x7E, 0xFF, 0xC3, 0xC0, 0xC0, 0xFE, 0xFF, + 0xE3, 0xC3, 0xC3, 0xC3, 0xFF, 0x7E, 0xFF, 0xFF, 0x07, 0x06, 0x06, 0x1E, 0x1C, 0x1C, 0x1C, 0x38, 0x30, 0x30, 0x30, + 0x7E, 0xFF, 0xC3, 0xC3, 0xC3, 0xFF, 0xFF, 0xC3, 0xC3, 0xC3, 0xC3, 0xFF, 0x7E, 0x7E, 0xFF, 0xC3, 0xC3, 0xC3, 0xC7, + 0xFF, 0x7F, 0x03, 0x03, 0xC7, 0xFE, 0x7C, 0xF0, 0x00, 0x3C, 0xF0, 0x00, 0x3F, 0xF0, 0x03, 0x03, 0x1E, 0x7E, 0xF0, + 0xF0, 0x70, 0x7E, 0x1F, 0x03, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xC0, 0xC0, 0x70, 0x7E, 0x1F, 0x0F, 0x1E, 0x7E, + 0xF0, 0xC0, 0x7E, 0xFF, 0xC3, 0xC3, 0x03, 0x07, 0x1E, 0x1C, 0x30, 0x30, 0x30, 0x30, 0x30, 0x3F, 0x87, 0xFE, 0xFF, + 0x7D, 0xFB, 0xF1, 0xBF, 0x1B, 0xF3, 0xBF, 0xFF, 0xDF, 0xE6, 0x00, 0x7F, 0x03, 0xF0, 0x06, 0x01, 0xF0, 0x1F, 0x01, + 0xF0, 0x1F, 0x03, 0xB8, 0x31, 0x87, 0xFC, 0x7F, 0xE7, 0xFE, 0xE0, 0x7C, 0x03, 0xC0, 0x30, 0xFF, 0x7F, 0xF0, 0x78, + 0x3C, 0x1F, 0xFF, 0xFF, 0x83, 0xC1, 0xE0, 0xF0, 0x7F, 0xFF, 0xF0, 0x3F, 0x0F, 0xF3, 0x87, 0xE0, 0x3C, 0x01, 0x80, + 0x30, 0x06, 0x00, 0xC0, 0x18, 0x0F, 0x87, 0xBF, 0xC3, 0xF0, 0xFF, 0x1F, 0xF3, 0x07, 0xE0, 0x3C, 0x07, 0x80, 0xF0, + 0x1E, 0x03, 0xC0, 0x78, 0x0F, 0x07, 0xFF, 0xCF, 0xF0, 0xFF, 0xFF, 0xF0, 0x18, 0x0C, 0x07, 0xFF, 0xFF, 0x80, 0xC0, + 0x60, 0x30, 0x1F, 0xFF, 0xF8, 0xFF, 0xFF, 0xF0, 0x18, 0x0C, 0x07, 0xFB, 0xFD, 0x80, 0xC0, 0x60, 0x30, 0x18, 0x0C, + 0x00, 0x3F, 0x87, 0xFE, 0xE0, 0x7C, 0x03, 0xC0, 0x0C, 0x00, 0xC1, 0xFC, 0x1F, 0xC0, 0x3C, 0x03, 0xE0, 0x77, 0xFE, + 0x3F, 0x80, 0xC1, 0xE0, 0xF0, 0x78, 0x3C, 0x1F, 0xFF, 0xFF, 0x83, 0xC1, 0xE0, 0xF0, 0x78, 0x3C, 0x18, 0xFF, 0xFF, + 0xFF, 0xC0, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC1, 0x83, 0x07, 0x8F, 0x1F, 0xF7, 0xC0, 0xC0, 0x78, 0x3F, 0x0E, 0x61, + 0x8C, 0x61, 0xBC, 0x3F, 0x87, 0xB8, 0xE3, 0x1C, 0x63, 0x0E, 0x60, 0xFC, 0x06, 0xC0, 0x60, 0x30, 0x18, 0x0C, 0x06, + 0x03, 0x01, 0x80, 0xC0, 0x60, 0x30, 0x1F, 0xFF, 0xF8, 0xC0, 0x3E, 0x07, 0xE0, 0x7E, 0x07, 0xF1, 0xBF, 0x1B, 0xFB, + 0xBD, 0xF3, 0xDF, 0x3D, 0xF3, 0xDF, 0x3C, 0x63, 0xC6, 0x30, 0xC1, 0xF0, 0xFC, 0x7E, 0x3F, 0x1F, 0xEF, 0x77, 0xBB, + 0xC7, 0xE3, 0xF1, 0xF8, 0x7C, 0x18, 0x3F, 0x87, 0xFE, 0xE0, 0x7C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, + 0x3C, 0x03, 0xE0, 0x77, 0xFE, 0x3F, 0x80, 0xFF, 0x7F, 0xF0, 0x78, 0x3C, 0x1E, 0x0F, 0xFF, 0xFE, 0xC0, 0x60, 0x30, + 0x18, 0x0C, 0x00, 0x3F, 0x87, 0xFE, 0xE0, 0x7C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x37, 0xE3, + 0xE7, 0xFF, 0x3F, 0x70, 0xFF, 0x9F, 0xFF, 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xFF, 0xFF, 0xFC, 0xC6, 0x18, 0xE3, 0x0E, + 0x60, 0xFC, 0x06, 0x7F, 0x7F, 0xF0, 0x78, 0x3C, 0x07, 0xE1, 0xFE, 0x0F, 0x01, 0xE0, 0xF0, 0x7F, 0xF7, 0xF0, 0xFF, + 0xFF, 0xC7, 0x03, 0x81, 0xC0, 0xE0, 0x70, 0x38, 0x1C, 0x0E, 0x07, 0x03, 0x81, 0xC0, 0xC1, 0xE0, 0xF0, 0x78, 0x3C, + 0x1E, 0x0F, 0x07, 0x83, 0xC1, 0xE0, 0xF8, 0xEF, 0xE3, 0xE0, 0xC0, 0x3C, 0x03, 0xE0, 0x76, 0x06, 0x60, 0x67, 0x1E, + 0x31, 0x83, 0xB8, 0x1F, 0x01, 0xF0, 0x1F, 0x00, 0x60, 0x06, 0x00, 0xC1, 0x81, 0xE1, 0xF0, 0xF8, 0xD8, 0xEC, 0x6C, + 0x66, 0x36, 0x33, 0x1B, 0x19, 0xDD, 0xFC, 0x6C, 0x7C, 0x36, 0x3E, 0x1B, 0x1F, 0x0F, 0x8F, 0x03, 0x83, 0x01, 0xC1, + 0x80, 0xC0, 0x7C, 0x3D, 0x86, 0x30, 0xC3, 0x30, 0x7E, 0x07, 0x80, 0xF8, 0x33, 0x0E, 0x71, 0x86, 0x70, 0xFC, 0x06, + 0xC0, 0x3E, 0x07, 0x71, 0xE3, 0x18, 0x31, 0x83, 0xF8, 0x1F, 0x00, 0x60, 0x06, 0x00, 0x60, 0x06, 0x00, 0x60, 0x06, + 0x00, 0xFF, 0xFF, 0xFC, 0x0E, 0x01, 0x80, 0x30, 0x0E, 0x07, 0x80, 0xE0, 0x30, 0x06, 0x01, 0xC0, 0x7F, 0xFF, 0xFE, + 0xFF, 0x6D, 0xB6, 0xDB, 0x6D, 0xB7, 0xE0, 0xC3, 0x0E, 0x18, 0x61, 0x87, 0x0C, 0x30, 0xC3, 0x87, 0x1C, 0xFD, 0xB6, + 0xDB, 0x6D, 0xB6, 0xDF, 0xE0, 0x30, 0xF1, 0xF3, 0xE7, 0xDD, 0xF1, 0x80, 0xFF, 0xFF, 0xFC, 0xCE, 0x73, 0x00, 0x7E, + 0x7E, 0xC3, 0xC3, 0x3F, 0x7F, 0x63, 0xE3, 0xC7, 0xFF, 0x7F, 0xC0, 0xC0, 0xFE, 0xFE, 0xE3, 0xE3, 0xC3, 0xC3, 0xC3, + 0xC3, 0xE3, 0xFF, 0xFE, 0x78, 0xFB, 0x1E, 0x3C, 0x18, 0x30, 0x60, 0xC7, 0xFD, 0xF0, 0x03, 0x03, 0x7B, 0x7F, 0xC7, + 0xC7, 0xC3, 0xC3, 0xC3, 0xC3, 0xC7, 0xFF, 0x7F, 0x7E, 0x7E, 0xC3, 0xC3, 0xFF, 0xFF, 0xC0, 0xC0, 0xC3, 0xFF, 0x7E, + 0x3D, 0xEF, 0xBF, 0x61, 0x86, 0x18, 0x61, 0x86, 0x18, 0x60, 0x7B, 0x7F, 0xC7, 0xC7, 0xC3, 0xC3, 0xC3, 0xC3, 0xC7, + 0xFF, 0x7F, 0x03, 0xC3, 0xFF, 0x7E, 0xC0, 0xC0, 0xFE, 0xFE, 0xE3, 0xE3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, + 0xFF, 0xFF, 0xFF, 0xC0, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x3F, 0xE0, 0xC0, 0xC0, 0xC3, 0xC3, 0xC6, 0xDE, + 0xFC, 0xF8, 0xFC, 0xEE, 0xC6, 0xC7, 0xC3, 0xFF, 0xFF, 0xFF, 0xC0, 0xF9, 0xEF, 0xDE, 0xE7, 0x3E, 0x73, 0xC6, 0x3C, + 0x63, 0xC6, 0x3C, 0x63, 0xC6, 0x3C, 0x63, 0xC6, 0x30, 0xFE, 0xFE, 0xE3, 0xE3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, + 0xC3, 0x7E, 0x7E, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xFF, 0x7E, 0xFE, 0xFE, 0xE3, 0xE3, 0xC3, 0xC3, 0xC3, + 0xC3, 0xE3, 0xFF, 0xFE, 0xC0, 0xC0, 0xC0, 0xC0, 0x7B, 0x7F, 0xC7, 0xC7, 0xC3, 0xC3, 0xC3, 0xC3, 0xC7, 0xFF, 0x7F, + 0x03, 0x03, 0x03, 0x03, 0xFB, 0xFE, 0x38, 0xC3, 0x0C, 0x30, 0xC3, 0x0C, 0x00, 0x78, 0xFB, 0x1E, 0x3F, 0x8F, 0x81, + 0x83, 0xC7, 0xFD, 0xF0, 0x61, 0x8F, 0xBF, 0x61, 0x86, 0x18, 0x61, 0x86, 0x1E, 0x7C, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, + 0xC3, 0xC3, 0xC3, 0xC7, 0xFF, 0x7F, 0xC1, 0xE0, 0xF0, 0x7C, 0x76, 0x33, 0xB8, 0xD8, 0x6C, 0x3E, 0x0E, 0x07, 0x00, + 0xC6, 0x3C, 0x63, 0xC6, 0x3F, 0xF7, 0x7F, 0x67, 0xF6, 0x7F, 0x67, 0xF6, 0x7B, 0xE3, 0x18, 0x31, 0x80, 0xC3, 0xC3, + 0x66, 0x66, 0x7E, 0x3C, 0x3C, 0x7E, 0x66, 0xE7, 0xC3, 0xC1, 0xE0, 0xF0, 0x7C, 0x76, 0x33, 0xB8, 0xD8, 0x6C, 0x36, + 0x1F, 0x07, 0x03, 0x81, 0xC3, 0xE1, 0xC0, 0xFF, 0xFF, 0x06, 0x1E, 0x1C, 0x1C, 0x30, 0x30, 0x70, 0xFF, 0xFF, 0x37, + 0x66, 0x66, 0x6E, 0xCE, 0x66, 0x66, 0x67, 0x30, 0xFF, 0xFF, 0xFF, 0xC0, 0xCE, 0x66, 0x66, 0x67, 0x37, 0x66, 0x66, + 0x6E, 0xC0, 0xC3, 0x9B, 0xFF, 0xF9, 0xB8, 0x30, 0xDB, 0x66, 0xC0, 0x6D, 0xBD, 0x80, 0x7F, 0xEF, 0x3C, 0xF3, 0xC0, + 0x7D, 0xF7, 0xDF, 0xF3, 0xC0, +}; + +static const EpdGlyph pixelarial14Glyphs[] = { + {0, 0, 4, 0, 0, 0, 0}, // + {2, 13, 3, 0, 13, 4, 0}, // ! + {4, 6, 5, 0, 13, 3, 4}, // " + {11, 13, 12, 0, 13, 18, 7}, // # + {7, 13, 8, 0, 13, 12, 25}, // $ + {13, 13, 14, 0, 13, 22, 37}, // % + {11, 13, 12, 0, 13, 18, 59}, // & + {2, 6, 3, 0, 13, 2, 77}, // ' + {4, 17, 5, 0, 13, 9, 79}, // ( + {4, 17, 5, 0, 13, 9, 88}, // ) + {4, 6, 5, 0, 13, 3, 97}, // * + {9, 10, 10, 0, 11, 12, 100}, // + + {2, 5, 3, 0, 2, 2, 112}, // , + {6, 3, 6, 0, 6, 3, 114}, // - + {2, 2, 3, 0, 2, 1, 117}, // . + {6, 13, 6, 0, 13, 10, 118}, // / + {8, 13, 9, 0, 13, 13, 128}, // 0 + {4, 13, 5, 0, 13, 7, 141}, // 1 + {8, 13, 9, 0, 13, 13, 148}, // 2 + {8, 13, 9, 0, 13, 13, 161}, // 3 + {9, 13, 10, 0, 13, 15, 174}, // 4 + {8, 13, 9, 0, 13, 13, 189}, // 5 + {8, 13, 9, 0, 13, 13, 202}, // 6 + {8, 13, 9, 0, 13, 13, 215}, // 7 + {8, 13, 9, 0, 13, 13, 228}, // 8 + {8, 13, 9, 0, 13, 13, 241}, // 9 + {2, 11, 3, 0, 11, 3, 254}, // : + {2, 14, 3, 0, 11, 4, 257}, // ; + {8, 10, 9, 0, 11, 10, 261}, // < + {8, 6, 9, 0, 9, 6, 271}, // = + {8, 10, 9, 0, 11, 10, 277}, // > + {8, 13, 9, 0, 13, 13, 287}, // ? + {12, 12, 13, 0, 9, 18, 300}, // @ + {12, 13, 13, 0, 13, 20, 318}, // A + {9, 13, 10, 0, 13, 15, 338}, // B + {11, 13, 12, 0, 13, 18, 353}, // C + {11, 13, 12, 0, 13, 18, 371}, // D + {9, 13, 10, 0, 13, 15, 389}, // E + {9, 13, 10, 0, 13, 15, 404}, // F + {12, 13, 13, 0, 13, 20, 419}, // G + {9, 13, 10, 0, 13, 15, 439}, // H + {2, 13, 3, 0, 13, 4, 454}, // I + {7, 13, 8, 0, 13, 12, 458}, // J + {11, 13, 12, 0, 13, 18, 470}, // K + {9, 13, 10, 0, 13, 15, 488}, // L + {12, 13, 13, 0, 13, 20, 503}, // M + {9, 13, 10, 0, 13, 15, 523}, // N + {12, 13, 13, 0, 13, 20, 538}, // O + {9, 13, 10, 0, 13, 15, 558}, // P + {12, 13, 13, 0, 13, 20, 573}, // Q + {11, 13, 12, 0, 13, 18, 593}, // R + {9, 13, 10, 0, 13, 15, 611}, // S + {9, 13, 10, 0, 13, 15, 626}, // T + {9, 13, 10, 0, 13, 15, 641}, // U + {12, 13, 13, 0, 13, 20, 656}, // V + {17, 13, 18, 0, 13, 28, 676}, // W + {11, 13, 12, 0, 13, 18, 704}, // X + {12, 13, 13, 0, 13, 20, 722}, // Y + {11, 13, 12, 0, 13, 18, 742}, // Z + {3, 17, 4, 0, 13, 7, 760}, // [ + {6, 13, 6, 0, 13, 10, 767}, // + {3, 17, 4, 0, 13, 7, 777}, // ] + {7, 7, 8, 0, 13, 7, 784}, // ^ + {11, 2, 12, 0, 2, 3, 791}, // _ + {4, 5, 5, 0, 13, 3, 794}, // ` + {8, 11, 9, 0, 11, 11, 797}, // a + {8, 13, 9, 0, 13, 13, 808}, // b + {7, 11, 8, 0, 11, 10, 821}, // c + {8, 13, 9, 0, 13, 13, 831}, // d + {8, 11, 9, 0, 11, 11, 844}, // e + {6, 13, 6, 0, 13, 10, 855}, // f + {8, 15, 9, 0, 11, 15, 865}, // g + {8, 13, 9, 0, 13, 13, 880}, // h + {2, 13, 3, 0, 13, 4, 893}, // i + {4, 17, 5, 0, 13, 9, 897}, // j + {8, 13, 9, 0, 13, 13, 906}, // k + {2, 13, 3, 0, 13, 4, 919}, // l + {12, 11, 13, 0, 11, 17, 923}, // m + {8, 11, 9, 0, 11, 11, 940}, // n + {8, 11, 9, 0, 11, 11, 951}, // o + {8, 15, 9, 0, 11, 15, 962}, // p + {8, 15, 9, 0, 11, 15, 977}, // q + {6, 11, 6, 0, 11, 9, 992}, // r + {7, 11, 8, 0, 11, 10, 1001}, // s + {6, 13, 6, 0, 13, 10, 1011}, // t + {8, 11, 9, 0, 11, 11, 1021}, // u + {9, 11, 10, 0, 11, 13, 1032}, // v + {12, 11, 13, 0, 11, 17, 1045}, // w + {8, 11, 9, 0, 11, 11, 1062}, // x + {9, 15, 10, 0, 11, 17, 1073}, // y + {8, 11, 9, 0, 11, 11, 1090}, // z + {4, 17, 5, 0, 13, 9, 1101}, // { + {2, 13, 3, 0, 13, 4, 1110}, // | + {4, 17, 5, 0, 13, 9, 1114}, // } + {11, 4, 12, 0, 9, 6, 1123}, // ~ + {3, 6, 4, 0, 13, 3, 1129}, // ‘ + {3, 6, 4, 0, 13, 3, 1132}, // ’ + {6, 6, 6, 0, 13, 5, 1135}, // “ + {6, 6, 6, 0, 13, 5, 1140}, // ” +}; + +static const EpdUnicodeInterval pixelarial14Intervals[] = { + {0x20, 0x7E, 0x0}, + {0x2018, 0x2019, 0x5F}, + {0x201C, 0x201D, 0x61}, +}; + +static const EpdFontData pixelarial14 = { + pixelarial14Bitmaps, pixelarial14Glyphs, pixelarial14Intervals, 3, 17, 13, -4, false, +}; diff --git a/src/config.h b/src/config.h index 613a02b..1ca24f5 100644 --- a/src/config.h +++ b/src/config.h @@ -23,7 +23,7 @@ /** * Generated with: * ruby -rdigest -e 'puts [ - * "./lib/EpdFont/builtinFonts/babyblue.h", + * "./lib/EpdFont/builtinFonts/pixelarial14.h", * ].map{|f| Digest::SHA256.hexdigest(File.read(f)).to_i(16) }.sum % (2 ** 32) - (2 ** 31)' */ -#define SMALL_FONT_ID 141891058 +#define SMALL_FONT_ID 2037928017 diff --git a/src/main.cpp b/src/main.cpp index 8b6fc7a..1b3bfce 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -5,16 +5,16 @@ #include #include #include +#include +#include +#include +#include +#include +#include +#include #include "Battery.h" #include "CrossPointState.h" -#include "builtinFonts/babyblue.h" -#include "builtinFonts/bookerly_2b.h" -#include "builtinFonts/bookerly_bold_2b.h" -#include "builtinFonts/bookerly_bold_italic_2b.h" -#include "builtinFonts/bookerly_italic_2b.h" -#include "builtinFonts/ubuntu_10.h" -#include "builtinFonts/ubuntu_bold_10.h" #include "config.h" #include "screens/BootLogoScreen.h" #include "screens/EpubReaderScreen.h" @@ -49,7 +49,7 @@ EpdFont bookerlyItalicFont(&bookerly_italic_2b); EpdFont bookerlyBoldItalicFont(&bookerly_bold_italic_2b); EpdFontFamily bookerlyFontFamily(&bookerlyFont, &bookerlyBoldFont, &bookerlyItalicFont, &bookerlyBoldItalicFont); -EpdFont smallFont(&babyblue); +EpdFont smallFont(&pixelarial14); EpdFontFamily smallFontFamily(&smallFont); EpdFont ubuntu10Font(&ubuntu_10); diff --git a/src/screens/EpubReaderScreen.cpp b/src/screens/EpubReaderScreen.cpp index 818fcff..e0a93d7 100644 --- a/src/screens/EpubReaderScreen.cpp +++ b/src/screens/EpubReaderScreen.cpp @@ -10,9 +10,9 @@ constexpr int PAGES_PER_REFRESH = 15; constexpr unsigned long SKIP_CHAPTER_MS = 700; constexpr float lineCompression = 0.95f; -constexpr int marginTop = 10; +constexpr int marginTop = 8; constexpr int marginRight = 10; -constexpr int marginBottom = 20; +constexpr int marginBottom = 22; constexpr int marginLeft = 10; void EpubReaderScreen::taskTrampoline(void* param) { @@ -261,17 +261,18 @@ void EpubReaderScreen::renderContents(std::unique_ptr page) { } void EpubReaderScreen::renderStatusBar() const { + constexpr auto textY = 776; // Right aligned text for progress counter const std::string progress = std::to_string(section->currentPage + 1) + " / " + std::to_string(section->pageCount); const auto progressTextWidth = renderer.getTextWidth(SMALL_FONT_ID, progress.c_str()); - renderer.drawText(SMALL_FONT_ID, GfxRenderer::getScreenWidth() - marginRight - progressTextWidth, 776, + renderer.drawText(SMALL_FONT_ID, GfxRenderer::getScreenWidth() - marginRight - progressTextWidth, textY, progress.c_str()); // Left aligned battery icon and percentage const uint16_t percentage = battery.readPercentage(); const auto percentageText = std::to_string(percentage) + "%"; const auto percentageTextWidth = renderer.getTextWidth(SMALL_FONT_ID, percentageText.c_str()); - renderer.drawText(SMALL_FONT_ID, 20 + marginLeft, 776, percentageText.c_str()); + renderer.drawText(SMALL_FONT_ID, 20 + marginLeft, textY, percentageText.c_str()); // 1 column on left, 2 columns on right, 5 columns of battery body constexpr int batteryWidth = 15; @@ -287,8 +288,8 @@ void EpubReaderScreen::renderStatusBar() const { renderer.drawLine(x, y, x, y + batteryHeight - 1); // Battery end renderer.drawLine(x + batteryWidth - 4, y, x + batteryWidth - 4, y + batteryHeight - 1); - renderer.drawLine(x + batteryWidth - 3, y + 2, x + batteryWidth - 3, y + batteryHeight - 3); - renderer.drawLine(x + batteryWidth - 2, y + 2, x + batteryWidth - 2, y + batteryHeight - 3); + renderer.drawLine(x + batteryWidth - 3, y + 2, x + batteryWidth - 1, y + 2); + renderer.drawLine(x + batteryWidth - 3, y + batteryHeight - 3, x + batteryWidth - 1, y + batteryHeight - 3); renderer.drawLine(x + batteryWidth - 1, y + 2, x + batteryWidth - 1, y + batteryHeight - 3); // The +1 is to round up, so that we always fill at least one pixel @@ -311,5 +312,5 @@ void EpubReaderScreen::renderStatusBar() const { titleWidth = renderer.getTextWidth(SMALL_FONT_ID, title.c_str()); } - renderer.drawText(SMALL_FONT_ID, titleMarginLeft + (availableTextWidth - titleWidth) / 2, 777, title.c_str()); + renderer.drawText(SMALL_FONT_ID, titleMarginLeft + (availableTextWidth - titleWidth) / 2, textY, title.c_str()); }