° Zeichen im Free_Font_Demo

Hallo,

ich hänge gerade am ° Zeichen, welches per ESP32 auf einem 3,5 " TFT mit ILI9486_DRIVER dargestellt werden soll.

Der folgende Code mit unterschiedlichen Schriftsätzen liefert nichts (schwarzer Klotz).

tft.setFreeFont(FF18);
tft.drawChar(127, X, Y, GFXFF);

Nutze ich tft.drawChar(127, X, Y, 2); so erscheint ein winziges °
Alle anderen Schriften ausser 2 liefern nichts.
Wer kann helfen?

Das Grad-Zeichen ist einfach nicht teil des normalen ASCII-Zeichensatzes:

Deshalb wird es nicht von allen Fonts implementiert

Das ist mir bekannt und keine Lösung.
" C " für " °C " sieht nicht gut aus und eine Temperatur anzuzeigen kann doch kein Hexenwerk sein?

Zeichen 127 für dein '°' zu missbrauchen, ist aber auch keine Lösung, wenn wir schon pingelig sein wollen.
Das Gradzeichen wäre eigentlich U+00B0 (oder Zeichen 176 im ANSI Zeichensatz).

Ich bin sicher, Zeichen 96 (0x60), '`' oder '\140' wirst du auch sehr selten verwenden. (Hätte den Vorteil, auf deiner Tastatur vorhanden zu sein, mitten im ASCII - Bereich zu liegen und nur wenige Pixel Änderung zu brauchen).

Wie willst du z.B. ein '€' darstellen?
Wenn du da mit "EUR" zufrieden bist, würde ich auch "C" für eine Temperatur in Celsius akzeptieren.

Wenn nicht: Finde erstmal raus, welche Code-Bereiche von welchen deiner Fonts abgedeckt werden. Dann kannst du diese leicht nach deinen Bedürfnissen anpassen.

Rubbernose:
Das ist mir bekannt und keine Lösung.
" C " für " °C " sieht nicht gut aus und eine Temperatur anzuzeigen kann doch kein Hexenwerk sein?

Da stimme ich Dir vollkommen zu!

Du kannst also den Autor der von Dir gewählten Bibliothek um eine Erweiterung bitten oder es selbst machen.

Da ich faul bin, nutze ich eine Bibliothek mit dem mir passenden Font, beispielsweise die von OliKraus. Mit einem anderen Displaytyp funktioniert diese auch bestens mit einem ESP32.

Rubbernose:
kann doch kein Hexenwerk sein?

Nein. Du musst nur herausfinden wie die Fonts aufgebaut sind und ein Zeichen entsprechend anpassen. Wie genau das geht kann man aber so nicht sagen

Das Zeichen 127 war im Demo-Code enthalten, funktioniert aber auch nur in diesem Schriftsatz.
Ich habe andere Schriftsätze MIT dem ° Zeichen konvertiert: truetype2gfx - Converting fonts from TrueType to Adafruit GFX
Sonderzeichen werden auch hier nicht mit umgewandelt.
Habe mir so beholfen, daß ich ein kleines o an die richtige Stelle schreibe..... mühsam