C/C++ Probleme mit ä,ö,ü und ß?

2 Antworten

Hallo Samyness,

ich habe mir das Projekt jetzt nicht direkt angeschaut, aber es hört sich nach einem Codierungsfehler an. Da das Projekt ja aus dem Englischen stammt wird dort auch ein entsprechender Zeichensatz verwendet worden sein.

Je nach dem wie du dich mit C / C++ auskennst kannst du dir den Code mal genauer angucken, entweder wurde an einer Zeile definiert welche Codierung verwendet wurde oder es wird der System verwendet. Im ersten Fall solltest du einfach die Codierung durch z.B. UTF-8 ersetzen können. Im Zweiten Fall kannst du entweder selber den Codierungs-Code-Schnipsel einfügen oder deine System-Codierung ändern.

Mfg

TOminerTV

Samyness 
Fragesteller
 16.05.2020, 16:58

Ich habe den Fehler schon gefunden denk ich.. in app/src/fonts/arial56.c werden die ascii chars der Umlaute nicht definiert.

Weißt du wie ich die chars der Umlaute definieren müsste, damit ich den richtigen output bekomme? Kann die .fnt mit dem dazugehörigen png ja nicht einfach umwandeln oder?

1
TOcrafterHD  08.07.2020, 15:29
@Samyness

Sorry erstmal das ich das erst jetzt lese :D.
Was du meinst ist wohl das du eine Schriftdatei hast welche nur für die Englische-Sprache, bzw. die ASCII Tabelle ausgelegt ist. Die ASCII-Tabelle hat keine Einträge für Umlaute, deshalb nutzt man ja mittlerweile auch UTF-8 oder andere Codierungen. Es gibt halt die Möglichkeit wenn das Problem nur die Schriftdatei ist diese einfach auszutauschen. Unter dem selben Namen eine andere Datei zu speichern. Allerdings kann ich dir nicht sagen was genau in der arial56.c Datei steht, ist schon etwas länger her das ich mit C was gemacht habe. Wenn das ganze in der C-Datei noch definiert werden muss dann könnte das natürlich etwas problematischer werden.

0

Soweit ich das sehe scheint der Code davon auszugehen, dass ein Zeichen in ein Char passt.

Das ist allerdings nicht der Fall, wenn du ein Encoding wie beispielsweise UTF-8 verwendest, welches Umlaute darstellen könnte.

Es handelt sich demanch vermutlich schlicht um ein nicht implementiertes Feature.

Demnach würde ich dir raten, einen Issue im Github-repository zu erstellen, sodass dir

1.) Der Entwickler evtl. genauere Angaben machen kann, sofern ich mich irren sollte

2.) Der Entwickler das Feature(UTF-8-Support) hinzufügen kann.