Umlaute mit Adafruit GFX Library Font "TomThumb"

Hallo Allerseits

Mein erstes ESP32 Projekt ist auf gutem Wege. Ich betreibe damit u.a. ein 0.96 Inch Color IPS Screen TFT LCD Display SPI ST7735 Module. Bislang habe ich den Standard Font der Adafruit GFX Library gebraucht und konnte damit Umlaute anzeigen, wie zum Beispiel ein “ü” → \201 (also z.B. grün mit gr\201n ).

Nun verwende ich den Font TomThumb.h aus der gleichen Adafruit GFX Library. Dieser ist von der Schriftgrösse her perfekt für mein Projekt. Leider funktioniert das nun aber mit den Umlauten nicht mehr.

Gibt es hier eine Lösung?

Vielen Dank für Eure Hilfe.

Den Font habe ich als Attachment (TomThumb.h) angehängt, da ich im Code Feld sonst die max. zulässigen 9000 Zeichen für diesen Post überschritten hätte

TomThumb.h (23.2 KB)

Das Zeichen '\201' (0x81) ist bei diesem Font gar nicht vorgesehen, da dort nur 0x20 .. 0x7F und 0xA1 .. vorgesehen sind. Der Font hat auch an keiner anderen Stelle ein ü vorgesehen.

Du könntest irgendein anderes nicht benötigtes Zeichen verwenden.
Im einfachen Fall eines, bei dem die Breite schon passt.

Allerdings ist das ein so winziger Font (3x5 pixel, Kleinbuchstaben 3x4 pixel), dass deine Umlaute kaum erkennbar (von Fliegendreck unterscheidbar) wären.

Dies ist z.B. der Text "Mm" in deinem TomThumb - Font

█ █
███ ███
███ ███
█ █ ███
█ █ █ █

Hallo michael_x,
vielen Dank für Deine Antwort. Ich sehe den Punkt (fast im wahrsten Sinne des Wortes :wink: ) bezüglich "Schriftgrösse", aber ein Versuch wärs mir wert. Angenommen ich möchte z.B. das Dollar Zeichen durch ein "ü" ersetzen, was müsste ich da im Font verändern?
Sorry ich weiss, das sind ziemliche Neulings-Fragen?
Danke aber sehr für Deine Hilfe.

Entschuldige bitte die späte Antwort. In deiner TomThumb.h findest du leicht die Zeile

0x60, 0xC0, 0x60, 0xC0, 0x40, /* 0x24 dollar */

die folgenden Pixeln entspricht:

 ██   6
██    C
 ██   6
██    C
 █    4

"Deutlich" von einem S zu unterscheiden ! :slight_smile:

Guck dir zum Vergleich [b]u[/b] und [b]U[/b] an und überlege, wie etwa ein [b]ü[/b] aussehen könnte, das sich von beiden unterscheidet.
Wenn du dich auf die vorgegebenen 5 Byte und darin auf die oberen 3 Bit beschränkst, brauchst du den hinteren Teil der Font-Definition nicht anzupassen.

Die Herausforderung ist eher, verschiedene Test-Varianten der Font-Datei nicht zu verwechseln.

Eventuell ist [b]U[/b] noch der beste Kompromiss, und du musst gar nichts machen, nur den Text "grUn" ausgeben. Deine Entscheidung.
:slight_smile:

Hallo michael_x,
Vielen Dank für Deine Erklärungen. Damit kann ich sicher etwas anfangen und werde mal entsprechende Tests durchführen.