Mit print wie schon @Plumps vermutet hat geht das nicht.
Wichtig ist das "medium", vorher die breite zugewiesen bekommt.
tft.setTextPadding(tft.textWidth("medium", 2));
was die 2 soll verstehe nicht.
Wen man jedoch so schreibt
tft.setTextPadding(tft.textWidth(" xxxxx "));
Padding wird berechnet nach Zahl der Zeichen was in Klammer stehen also hier wird platz für 7 Zeichen berechnet 5 + zwei Space .
Bei der nutzung vom Padding ist empfohlen gleichzeitig die Formatierung mit geben z.B.
tft.setTextDatum(BL_DATUM);
alle Möglichkeiten stehen in der .h
TL_DATUM (0) // Alle Formatierungen werden verworfen , auch die mit M, C, R am Anfang
TL_DATUM // Top left (default)
TC_DATUM // Top centre
TR_DATUM // Top right
ML_DATUM // Middle left
CL_DATUM // Centre left, same as above
MC_DATUM // Middle centre
CC_DATUM // Centre centre, same as above
MR_DATUM // Middle right
CR_DATUM // Centre right, same as above
BL_DATUM // Bottom left
BC_DATUM // Bottom centre
BR_DATUM // Bottom right
L_BASELINE // Left character baseline (Line the 'A' character would sit on)
C_BASELINE // Centre character baseline
R_BASELINE // Right character baseline
Der ausgegebener Text wird formatiert wie beschrieben, z.B.
tft.setTextDatum(BL_DATUM);
tft.setTextColor(TFT_YELLOW, TFT_BLACK);
tft.setTextPadding(tft.textWidth(" 44:44:44 ")); // String width + margin
tft.drawString(timeNow, 58, 47);
Der Text wird angezeigt Linksbindig in pos X, Y das ist klar,
Achtung wen man centre nimmt und man zeigt an z.B. Uhrzeit kan pasieren das die Anzeige wird unruhig die zeichenschriftbreite wird sich ändern
" 11:11:11" wird angezeigt viel schmaler als "22:22:22", wem man aber links, oder rechts formatiert ändert sich die Breite nicht.
Das ganze erklären ohne das zeigen auf Display ist sehr schwierig.
Ach ja man muss nicht unbedingt die Formatierung nutzen, man kann schreiben auch so wie in anderen Bibliotheken.
.