I'm trying to lay out a graphic display and it would be easier if I could determine ahead of time how many pixels a string would occupy, so I can select a display size, but having been unable to find that info for fonts I might use, I wrote a small sketch using getStrPixelWidth, but the results are nonsensical. I haven't found an example of this, so I'm probably just doing something wrong. Any advice?
Result of the attached code is:
debug mode
70
iiiiiiiiii78
WWWWWWWWWW22
WiWiWiWiWi178
#include "U8glib.h"
U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);
const char* tenspaces = " ";
const char teni[] = "iiiiiiiiii";
const char tenW[] = "WWWWWWWWWW";
const char fiveWi[] = "WiWiWiWiWi";
void setup() {
u8g.setFont(u8g_font_osr18);
Serial.begin(9600);
delay(2000);
Serial.println("");
Serial.println("debug mode");
u8g.setFont(u8g_font_osr18);
Serial.print(tenspaces);
Serial.println(u8g.getStrPixelWidth(tenspaces));
Serial.print(teni);
Serial.println(u8g.getStrPixelWidth(teni));
Serial.print(tenW);
Serial.println(u8g.getStrPixelWidth(tenW));
Serial.print(fiveWi);
Serial.println(u8g.getStrPixelWidth(fiveWi));
}
void loop() {
}