SDL或PyGame国际输入

5
基本上,SDL或OpenGL游戏或应用程序如何处理非西方输入?搜索它会显示http://sdl-im.csie.net/,但似乎不再维护或可用。只有使用Google cache才能查看该页面。
为了澄清,我在用户界面显示非西方语言的文本方面没有任何问题。这是一个解决的问题。有许多Unicode字体可用,并且有许多不同的方法可以将文本处理为字形,然后转换为显示表面。
我朝相反的方向前进。即使我的程序可以安全地处理任意编码的文本数据,如果用户的名称包括需要多次击键才能生成的字符,那么用户实际上无法输入他们的姓名。
3个回答

3
您对SDL_EnableUNICODE()感兴趣。启用Unicode转换后,您可以使用SDL_keysym结构的unicode字段来获取基于用户键入的Unicode字符。
通常情况下,我认为每当您进行文本输入(例如,用户聚焦在文本框上)时,应使用unicode字段而不是尝试自己进行转换。
这里是我们在YATC中完成的一些事情(链接)。虽然不是如何完成事情的光辉典范,但演示了unicode字段的使用。

1
通常,每个人最终都会使用Unicode来国际化他们的应用程序。
我不记得SDL或OpenGL实现了任何阻止您实现国际化输入/输出的内容,除非它们在这方面没有帮助。
有一些OpenGL工具可用于使用.ttf字体进行渲染。

0

看起来现在有一个关于这个主题的Google Summer of Code项目,适用于X11MacOS X


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接