Skip to main content

OLED Localization Guide

  1. 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)

    1. Copy and paste the existing font.
    2. 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.
  2. Update the customFontTableLookup function in Screen.h

    1. To map the double-byte UTF-8 code to the corresponding extended ASCII character of the desired codepage update the customFontTableLookup function in the Screen.h file.
    2. Modify the switch (last) statement: use left byte from UTF-8 code in the case label to map character's right byte to its extended ASCII code by specifying an offset.
  3. 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
  4. Define language in variant/*/platformio.ini

    build_flags =
    ${esp32_base.build_flags}
    -D xxxxx
    -D OLED_{LANG_NAME}
    -I variants/xxxxx