From 928943f3833f9145c711598eaf5dbf08fad125dc Mon Sep 17 00:00:00 2001 From: Jonas Diemer Date: Wed, 14 Jan 2026 12:40:40 +0100 Subject: [PATCH] ifdef around optional fonts to reduce flash size/time. (#339) Adds define to omit optional fonts from the build. This reduces time to flash from >31s to <13s. Useful for development that doesn't require fonts. Addresses #193 Invoke it like this during development: `PLATFORMIO_BUILD_FLAGS="-D OMIT_FONTS" pio run --target upload && pio device monitor` Changing the define causes `pio` to do a full rebuild (but it will be quick if you keep the define). --- While CrossPoint doesn't have restrictions on AI tools in contributing, please be transparent about their usage as it helps set the right context for reviewers. Did you use AI tools to help write this code? NO --- src/main.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index 824cdc5e..3bee26d6 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -43,6 +43,7 @@ GfxRenderer renderer(einkDisplay); Activity* currentActivity; // Fonts +<<<<<<< HEAD EpdFont bookerly10RegularFont(&bookerly_10_regular); EpdFont bookerly10BoldFont(&bookerly_10_bold); EpdFont bookerly10ItalicFont(&bookerly_10_italic); @@ -55,12 +56,21 @@ EpdFont bookerly12ItalicFont(&bookerly_12_italic); EpdFont bookerly12BoldItalicFont(&bookerly_12_bolditalic); EpdFontFamily bookerly12FontFamily(&bookerly12RegularFont, &bookerly12BoldFont, &bookerly12ItalicFont, &bookerly12BoldItalicFont); +======= +>>>>>>> 9a9dc04 (ifdef around optional fonts to reduce flash size/time. (#339)) EpdFont bookerly14RegularFont(&bookerly_14_regular); EpdFont bookerly14BoldFont(&bookerly_14_bold); EpdFont bookerly14ItalicFont(&bookerly_14_italic); EpdFont bookerly14BoldItalicFont(&bookerly_14_bolditalic); EpdFontFamily bookerly14FontFamily(&bookerly14RegularFont, &bookerly14BoldFont, &bookerly14ItalicFont, &bookerly14BoldItalicFont); +#ifndef OMIT_FONTS +EpdFont bookerly12RegularFont(&bookerly_12_regular); +EpdFont bookerly12BoldFont(&bookerly_12_bold); +EpdFont bookerly12ItalicFont(&bookerly_12_italic); +EpdFont bookerly12BoldItalicFont(&bookerly_12_bolditalic); +EpdFontFamily bookerly12FontFamily(&bookerly12RegularFont, &bookerly12BoldFont, &bookerly12ItalicFont, + &bookerly12BoldItalicFont); EpdFont bookerly16RegularFont(&bookerly_16_regular); EpdFont bookerly16BoldFont(&bookerly_16_bold); EpdFont bookerly16ItalicFont(&bookerly_16_italic); @@ -135,6 +145,7 @@ EpdFont opendyslexic14ItalicFont(&opendyslexic_14_italic); EpdFont opendyslexic14BoldItalicFont(&opendyslexic_14_bolditalic); EpdFontFamily opendyslexic14FontFamily(&opendyslexic14RegularFont, &opendyslexic14BoldFont, &opendyslexic14ItalicFont, &opendyslexic14BoldItalicFont); +#endif // OMIT_FONTS EpdFont smallFont(¬osans_8_regular); EpdFontFamily smallFontFamily(&smallFont); @@ -257,9 +268,10 @@ void onGoHome() { void setupDisplayAndFonts() { einkDisplay.begin(); Serial.printf("[%lu] [ ] Display initialized\n", millis()); + renderer.insertFont(BOOKERLY_14_FONT_ID, bookerly14FontFamily); +#ifndef OMIT_FONTS renderer.insertFont(BOOKERLY_10_FONT_ID, bookerly10FontFamily); renderer.insertFont(BOOKERLY_12_FONT_ID, bookerly12FontFamily); - renderer.insertFont(BOOKERLY_14_FONT_ID, bookerly14FontFamily); renderer.insertFont(BOOKERLY_16_FONT_ID, bookerly16FontFamily); renderer.insertFont(BOOKERLY_18_FONT_ID, bookerly18FontFamily); renderer.insertFont(NOTOSANS_10_FONT_ID, notosans10FontFamily); @@ -272,6 +284,7 @@ void setupDisplayAndFonts() { renderer.insertFont(OPENDYSLEXIC_10_FONT_ID, opendyslexic10FontFamily); renderer.insertFont(OPENDYSLEXIC_12_FONT_ID, opendyslexic12FontFamily); renderer.insertFont(OPENDYSLEXIC_14_FONT_ID, opendyslexic14FontFamily); +#endif // OMIT_FONTS renderer.insertFont(UI_10_FONT_ID, ui10FontFamily); renderer.insertFont(UI_12_FONT_ID, ui12FontFamily); renderer.insertFont(SMALL_FONT_ID, smallFontFamily);