2008-12-27 6 views
5

Also, im Grunde, wie wird nicht-westlichen Input in SDL oder OpenGL Spiele oder Anwendungen behandelt? Googeln zeigt http://sdl-im.csie.net/, aber das scheint nicht mehr gepflegt oder verfügbar zu sein. Nur um die Seite zu sehen, musste ich die Google cache verwenden.SDL oder PyGame internationale Eingabe

Um zu verdeutlichen, habe ich keine Probleme in Bezug auf die Anwendung, die den Benutzern Text in nicht-westlichen Sprachen anzeigt. Dies ist ein gelöstes Problem. Es gibt viele Unicode-Fonts und viele verschiedene Möglichkeiten, Text in Glyphen und dann in Anzeigeoberflächen zu verarbeiten.

Ich laufe A-Foul in die entgegengesetzte Richtung. Selbst wenn mein Programm Textdaten in beliebiger Kodierung sicher verarbeiten könnte, gibt es keine Möglichkeit für Benutzer, ihren Namen einzugeben, wenn sie ein Zeichen enthält, das mehr als einen Tastendruck benötigt.

Antwort

1

Normalerweise landen alle nur mit Unicode für den Text, um ihre Apps zu internationalisieren.

Ich kann mich nicht an SDL erinnern oder weder OpenGL implementiert irgendetwas, was Sie daran hindern würde, internationale Ein-/Ausgabe zu implementieren, außer sie helfen auch nicht dabei.

Es gibt Dienstprogramme über OpenGL, die Sie verwenden können, um mit .ttf-Schriftarten zu rendern.

3

Sie haben Interesse an SDL_EnableUNICODE(). Wenn Sie die Unicode-Konvertierung aktivieren, können Sie das unicode-Feld der SDL_keysym-Struktur verwenden, um das Unicode-Zeichen basierend auf dem eingegebenen Schlüsselbenutzer abzurufen.

Generell denke ich, wenn Sie Texteingabe (z. B. Benutzer konzentriert sich auf eine Textbox), sollten Sie das Unicode-Feld verwenden und nicht versuchen, die Übersetzung selbst zu tun.

Here's etwas, was wir in YATC getan haben. Nicht wirklich ein leuchtendes Beispiel dafür, wie Dinge getan werden sollten, aber demonstriert die Verwendung des unicode Feldes.