5

では基本的に、SDL や OpenGL のゲームやアプリケーションでは、西洋以外の入力はどのように処理されるのでしょうか? それをグーグルで検索すると、http://sdl-im.csie.net/が明らかになりますが、それはもう維持されていないか、利用できないようです。ページを表示するには、Google キャッシュを使用する必要がありました。

明確にするために、アプリケーションが非西洋言語のテキストをユーザーに表示するという点で、私は何の問題も抱えていません。これは解決済みの問題です。多くの Unicode フォントが利用可能であり、テキストをグリフに処理してからディスプレイ サーフェスに処理するさまざまな方法があります。

私は反対方向にファウルをします。私のプログラムが任意のエンコーディングでテキスト データを安全に処理できたとしても、生成するのに複数のキーストロークを必要とする文字が含まれている場合、ユーザーが実際に名前を入力する方法はありません。

4

3 に答える 3

3

に興味がありSDL_EnableUNICODE()ます。Unicode 変換を有効にすると、構造体のunicodeフィールドを使用SDL_keysymして、ユーザーが入力したキーに基づいて Unicode 文字を取得できます。

一般に、テキスト入力を行うときはいつでも(たとえば、ユーザーがテキストボックスに焦点を合わせている場合)、Unicodeフィールドを使用する必要があり、自分で翻訳しようとしないでください。

YATC で行ったことを次に示します。物事がどのように行われるべきかの輝かしい例ではありませんが、unicodeフィールドの使用法を示しています。

于 2009-03-26T10:56:18.197 に答える
1

通常、誰もがアプリを国際化するためにテキストにユニコードを使用することになります。

SDLを覚えていないか、OpenGLが国際入出力の実装を妨げるものを実装していないことを覚えていますが、どちらも役に立っていない場合を除きます。

.ttfフォントでレンダリングするために使用できるOpenGL上のユーティリティがあります。

于 2008-12-30T12:32:25.037 に答える
0

X11MacOS Xの両方について、このトピックに関する Google Summer of Code プロジェクトが現在あるようです。

于 2009-05-30T22:40:57.163 に答える