Geschrieben um 20:11 am 04.09.2007 | Zitat | Editieren | Löschen | |
Gast | Ich will vielleicht auch ein Textadventure machen, frage mich aber derzeit, wie ich sicherstellen kann, dass Nutzer verschiedener Systeme die Umlaute und Sonderzeichen richtig sehen. Normale Umlaute könnte ich zwar als ae, ue und oe schreiben, aber ich würde gerne für ein oder zwei Namen Lautschrift anfügen, die nunmal einige Sonderzeichen für bestimmte Laute verwendet. Und ich könnte wetten, dass eine Windowskonsole kein UTF-8 hat wie meine Linuxkonsole hier :-/ (ist doch immer so, dass sich alles Mögliche unterscheidet grml) Ich würde halt mein Spiel für beide Plattformen machen wollen... |
Geschrieben um 20:42 am 05.09.2007 | Zitat | Editieren | Löschen | |
Mitglied Dr Gumby Beiträge: 199 | Vorweg kann ich Dir nicht direkt weiterhelfen. Ich schlage Dir aber vor, das Spiel einem Windows-Benutzer einfach zum Testen zu geben - vielleicht wird bei ihm ja auf Anhieb alles richtig dargestellt. |
Geschrieben um 09:45 am 06.09.2007 | Zitat | Editieren | Löschen | |
Mitglied Prof Gumby Beiträge: 634 | Yarcanox:
Du würdest die Umlaute durchaus als "ae", "oe" und "ue" schreiben, aber einen Namen in Lautschrift zu erklären, das muss unbedingt sein? Komische Auffassung. Yarcanox:
Du brauchst kein UTF-8, sondern benötigst nur die Fähigkeit, 16-Bit- oder 32-Bit-Unicode-Zeichen darstellen zu können. UTF-8 ist nur ein Format für Zeichenketten, das Strings mit Unicode-Zeichen kompakt ablegt. Kurzer Check in der DOS-Konsole unter XP: Ich kann Unicode-Zeichen darstellen, wenn ich sie aus anderen Windows-Fenstern kopiere und einfüge. Dateien werden aber im DOS-Zeichensatz interpretiert, d.h. Unicode-Zeichen gehen verloren und die Umlaute werden durch andere Zeichen ersetzt, weil sie im DOS-Zeichensatz andere Codes haben. Wenn ich aber eine Datei als Unicode-Datei (UTF-16 vermutlich) abspeichere, erhalte ich mit "type uni.txt" die richtigen Zeichen, auch Unicode-Zeichen. UTF-8 wird nicht bzw. falsch als DOS-Datei interpretiert. Yarcanox:
Dann schreib halt eine Routine, in der du in den übergebenen Strings alle Sonderzeichen maskierst, zum Beispiel print_uml("gr=oe=ssere Gef=ae=sse f=uer =Oel und =Aether") oder so, und dann je nach Plattform die passenden Zeichen ausgibst. Oder gib alle Zeichen als ISO-8859-1 oder wegen mir auch als UTF-irgendwas an und konvertiere für DOS dann die, die es kennt und schreibe für alle anderen (so viele werden es ja wohl nicht sein, die du brauchst) ein Fragezeichen. Das IPA, das du ja wahrscheinlich verwenden willst, ist auch nicht unbedingt verfügbar. Bei mir hat die Darstellung nicht geklappt. (Zeichen aus dem Wikipedia-Artikel über IPA kopiert und in eine UTF-16-Datei eingefügt.) Yarcanox:
Tipp: Sieh zu, dass dein Spiel die Umlaute richtig beherrscht, lass die Lautschrift Lautschrift sein (die können eh wenige interpretieren, ohne nachzuschauen) und überlege dir, ob du tatsächlich ein Adventure schreiben willst oder doch nur "vielleicht". |
Geschrieben um 18:37 am 06.09.2007 | Zitat | Editieren | Löschen | |
Gast | Es wäre nur an einer Stelle für die Lautschrift für einen Buchstaben. Also diese DOSkodierung... dann muss ich mal nach der googeln, und beim Kompilieren eine Bedingung einbauen, die das entsprechend einsetzt. Danke für die ausführliche Antwort. |