True u8x8 is fixed pitch. Accept this, and you will be happy. Fight it, and you will end up rewriting the display driver.
. Unlike the standard U8g2 graphics library, U8x8 writes directly to the display, requiring no memory buffer in the microcontroller. U8x8 Font Characteristics Grid-Based: u8x8 fonts
drawGlyph(x, y, char) : Draws a single character at the specified grid position. True u8x8 is fixed pitch
u8x8.begin(); u8x8.setFont(u8x8_font_chroma48_f); // Set a common 8x8 font u8x8.drawString(0, 0, "Hello World"); // Draw at column 0, row 0 Use code with caution. Copied to clipboard ⚖️ When to Choose U8x8 over U8g2 U8x8 writes directly to the display