OLED Localization Guide
-
Create an extended ASCII custom font. Use a glyph editor to create a new font file. The easiest way is to use the online glyph editor from the OLED library. (glyph editor source code)
- Copy and paste the existing font.
- Modify it according desired codepage and save the new font file in
graphics/font
folder. Please note that the used font file format differs from common Adafruit GFX.
-
Update the
customFontTableLookup
function inScreen.h
- To map the double-byte UTF-8 code to the corresponding extended ASCII character of the desired codepage update the
customFontTableLookup
function in theScreen.h
file. - Modify the
switch (last)
statement: use left byte from UTF-8 code in thecase
label to map character's right byte to its extended ASCII code by specifying an offset.
- To map the double-byte UTF-8 code to the corresponding extended ASCII character of the desired codepage update the
-
Define language and font in
Screen.cpp
#ifdef OLED_{LANG_NAME}
#include "fonts/OLEDDisplayFonts{LANG_NAME}.h"
#endif
...
#ifdef OLED_{LANG_NAME}
#define FONT_SMALL ArialMT_Plain_10_{LANG_NAME}
#else
#define FONT_SMALL ArialMT_Plain_10
#endif -
Define language in
variant/*/platformio.ini
build_flags =
${esp32_base.build_flags}
-D xxxxx
-D OLED_{LANG_NAME}
-I variants/xxxxx