mirror of
https://github.com/alexhopeoconnor/firmware.git
synced 2026-10-14 23:41:29 +10:00
133 lines
3.8 KiB
C
133 lines
3.8 KiB
C
#pragma once
|
|
|
|
#ifdef OLED_PL
|
|
#include "graphics/fonts/OLEDDisplayFontsPL.h"
|
|
#endif
|
|
|
|
#ifdef OLED_RU
|
|
#include "graphics/fonts/OLEDDisplayFontsRU.h"
|
|
#endif
|
|
|
|
#ifdef OLED_UA
|
|
#include "graphics/fonts/OLEDDisplayFontsUA.h"
|
|
#endif
|
|
|
|
#ifdef OLED_CS
|
|
#include "graphics/fonts/OLEDDisplayFontsCS.h"
|
|
#endif
|
|
|
|
#ifdef OLED_GR
|
|
#include "graphics/fonts/OLEDDisplayFontsGR.h"
|
|
#endif
|
|
|
|
#if (defined(CROWPANEL_ESP32S3_5_EPAPER) || defined(T5_S3_EPAPER_PRO)) && defined(USE_EINK)
|
|
#include "graphics/fonts/EinkDisplayFonts.h"
|
|
#endif
|
|
|
|
#ifdef OLED_GR
|
|
#define FONT_SMALL_LOCAL ArialMT_Plain_10_GR // Height: 13
|
|
#else
|
|
#ifdef OLED_PL
|
|
#define FONT_SMALL_LOCAL ArialMT_Plain_10_PL
|
|
#else
|
|
#ifdef OLED_RU
|
|
#define FONT_SMALL_LOCAL ArialMT_Plain_10_RU
|
|
#else
|
|
#ifdef OLED_UA
|
|
#define FONT_SMALL_LOCAL ArialMT_Plain_10_UA // Height: 13
|
|
#else
|
|
#ifdef OLED_CS
|
|
#define FONT_SMALL_LOCAL ArialMT_Plain_10_CS
|
|
#else
|
|
#define FONT_SMALL_LOCAL ArialMT_Plain_10 // Height: 13
|
|
#endif
|
|
#endif
|
|
#endif
|
|
#endif
|
|
#endif
|
|
#ifdef OLED_GR
|
|
#define FONT_MEDIUM_LOCAL ArialMT_Plain_16_GR // Height: 19
|
|
#else
|
|
#ifdef OLED_PL
|
|
#define FONT_MEDIUM_LOCAL ArialMT_Plain_16_PL // Height: 19
|
|
#else
|
|
#ifdef OLED_RU
|
|
#define FONT_MEDIUM_LOCAL ArialMT_Plain_16_RU // Height: 19
|
|
#else
|
|
#ifdef OLED_UA
|
|
#define FONT_MEDIUM_LOCAL ArialMT_Plain_16_UA // Height: 19
|
|
#else
|
|
#ifdef OLED_CS
|
|
#define FONT_MEDIUM_LOCAL ArialMT_Plain_16_CS
|
|
#else
|
|
#define FONT_MEDIUM_LOCAL ArialMT_Plain_16 // Height: 19
|
|
#endif
|
|
#endif
|
|
#endif
|
|
#endif
|
|
#endif
|
|
#ifdef OLED_GR
|
|
#define FONT_LARGE_LOCAL ArialMT_Plain_24_GR // Height: 28
|
|
#else
|
|
#ifdef OLED_PL
|
|
#define FONT_LARGE_LOCAL ArialMT_Plain_24_PL // Height: 28
|
|
#else
|
|
#ifdef OLED_RU
|
|
#define FONT_LARGE_LOCAL ArialMT_Plain_24_RU // Height: 28
|
|
#else
|
|
#ifdef OLED_UA
|
|
#define FONT_LARGE_LOCAL ArialMT_Plain_24_UA // Height: 28
|
|
#else
|
|
#ifdef OLED_CS
|
|
#define FONT_LARGE_LOCAL ArialMT_Plain_24_CS // Height: 28
|
|
#else
|
|
#define FONT_LARGE_LOCAL ArialMT_Plain_24 // Height: 28
|
|
#endif
|
|
#endif
|
|
#endif
|
|
#endif
|
|
#endif
|
|
|
|
// nRF52 flash optimization: re-route FONT_LARGE_LOCAL to the 16pt glyph so
|
|
// the display-tier dispatch below picks up 16pt everywhere it would have used
|
|
// 24pt. Drops the ~9.6 KB ArialMT_Plain_24 table from the linked binary.
|
|
// Set MESHTASTIC_LARGE_FONT_24PT=1 in build_flags to opt out per variant
|
|
// (undefined or 0 keeps the optimization on).
|
|
#if defined(ARCH_NRF52) && (!defined(MESHTASTIC_LARGE_FONT_24PT) || MESHTASTIC_LARGE_FONT_24PT == 0)
|
|
#undef FONT_LARGE_LOCAL
|
|
#define FONT_LARGE_LOCAL FONT_MEDIUM_LOCAL
|
|
#endif
|
|
|
|
#if (defined(USE_EINK) || defined(ILI9341_DRIVER) || defined(ILI9342_DRIVER) || defined(ST7701_CS) || defined(ST7735_CS) || \
|
|
defined(ST7789_CS) || defined(USE_ST7789) || defined(HX8357_CS) || defined(ILI9488_CS) || defined(ST7796_CS) || \
|
|
defined(USE_ST7796) || defined(HACKADAY_COMMUNICATOR)) && \
|
|
!defined(DISPLAY_FORCE_SMALL_FONTS)
|
|
// The screen is bigger so use bigger fonts
|
|
#define FONT_SMALL FONT_MEDIUM_LOCAL // Height: 19
|
|
#define FONT_MEDIUM FONT_LARGE_LOCAL // Height: 28
|
|
#define FONT_LARGE FONT_LARGE_LOCAL // Height: 28
|
|
#elif defined(M5STACK_UNITC6L)
|
|
#define FONT_SMALL FONT_SMALL_LOCAL // Height: 13
|
|
#define FONT_MEDIUM FONT_SMALL_LOCAL // Height: 13
|
|
#define FONT_LARGE FONT_SMALL_LOCAL // Height: 13
|
|
#else
|
|
#define FONT_SMALL FONT_SMALL_LOCAL // Height: 13
|
|
#define FONT_MEDIUM FONT_MEDIUM_LOCAL // Height: 19
|
|
#define FONT_LARGE FONT_LARGE_LOCAL // Height: 28
|
|
#endif
|
|
|
|
#if defined(CROWPANEL_ESP32S3_5_EPAPER) || defined(T5_S3_EPAPER_PRO)
|
|
#undef FONT_SMALL
|
|
#undef FONT_MEDIUM
|
|
#undef FONT_LARGE
|
|
#define FONT_SMALL Monospaced_plain_30
|
|
#define FONT_MEDIUM Monospaced_plain_30
|
|
#define FONT_LARGE Monospaced_plain_30
|
|
#endif
|
|
|
|
#define _fontHeight(font) ((font)[1] + 1) // height is position 1
|
|
|
|
#define FONT_HEIGHT_SMALL _fontHeight(FONT_SMALL)
|
|
#define FONT_HEIGHT_MEDIUM _fontHeight(FONT_MEDIUM)
|
|
#define FONT_HEIGHT_LARGE _fontHeight(FONT_LARGE)
|