BastEt 阅读(1441) 评论(1)

SDL-IM: IM(输入法) 支援 in SDL

(本页不保证最新,新讯息以英文网页为主 English main page )

哪里我可取得需要的档案?

您可取得 SDL-1.2.8 从: http://www.libsdl.org

您可取得 SDL_im for SDL-1.2.8 从: SDL_im-1.2.8-20050828.diff.gz


还有其它的吗?

是的!这里有一些使用了该修补的范例或程式库:

SDL_imm -- 一个提供更多 IM 支援的 Option Pack.

1.GuiChan/SDL-IM by harpy (感谢 harpy!)

2. patch for paraGUI-1.1.8

3. patch for aedGUI-0.1.8a 

4. 用标准 C/C++ 实现 i18n 支援,以及一个简单易用的 ustring 程式库,这是 std::basic_string 的包覆模板。

5. patch for OGRE(> 1.0.3),使其支援 i18n (可显示及输入中文、日文、韩文及多种语言)。

一些快照:

1. showfont.c(included in test.tar.gz) example for SDL_ttf. screenshot.

2. test.tar.gz: simple tests for SDL-IM. (update: 2005/08/28)

以SDL_im修补过的二进位元套件( 开发程式库 ):

SDL-devel-1.2.8-VC6.zip (Visual C++ 5,6,7)
SDL-devel-1.2.8-mingw32.tar.gz (Mingw32)


如何使用这份修补呢?

1. 下载 SDL-1.2.8 并解压缩它(ex. $tar zxvf SDL-1.2.8.tar.gz).
2. 下载修补,放到 SDL-1.2.8 方才解压的目录里,并解压缩它(ex. $gzip -d SDL_im-1.2.8-20050828.diff.gz).
3.
在 SDL-1.2.8 目录里 patch 这份 diff file(ex. $patch -p1 < SDL_im-1.2.8-20050211.diff).
4. 确定预先处理的巨集符号已定义(ENABLE_IM_EVENT).
5. 接下来,建造 SDL 并好好享用吧! :-)

注意: 如果你在 Win32 环境下使用 Visual C++ ,加上 ENABLE_IM_EVENT 定义到你的 Makefile 或 Project file. 如果你在 Linux 环境下使用 automake ,当你下 “./configure” 指命时,只要检查 “--enable-im-event” 符号是否开启(default=yes).

There are the project files for VC6 and VC7.1: VisualC.zip, VisualC7.zip

There is the DirectX devel source for MinGW to build SDL: http://www.libsdl.org/extras/win32/common/


支援哪些平台?

这份修补支援 Win32 上的 IME(Input Method Editor)和 Linux(X11) 上的 XIM(X Input Method). 它也支援在 全萤幕 下显示 IME/XIM 视窗。

如何使用这些新的函式?

首先,确定您的输入法至少支援三种模式中的其中一种: Root, OverTheSpot, OnTheSpot.

然后,阅读以下的手册:

SDL_imvalue

SDL_SetIMValues

SDL_GetIMValues

SDL_SetIMPosition

SDL_FlushIMString

SDL_GetIMInfo

如果您有任何建议,问题或麻烦,请写信给小弟(请用英语或正体中文,谢谢). < >

我为何要使用这份 patch 呢?

小弟有两个理由来做这件事:

1. 如果您想开发一款线上游戏并且想要发布至全世界,特别是亚洲地区,那么 IM(输入法) 的支援是必要的。

2. 目前已有需多根植於 SDL 的优良 GUI 程式库。假若 SDL 支援 IM(输入法) ,那便表示我们不仅只可选择  MFC、 Qt 或 GTK+ 来写您的应用程式,而且还有许多其它的 GUI 程式库可用。没有什么比「能够自由自在地选择自己想要且需要的东西」还要更棒的了!

我自己有能力来 patch 吗?

当然罗!修补并不难。因为 SDL 的结构非常明析而且物件导向。您所需要知道的技术,只要知道如何在您的平台上,建立一个视窗并且让这个主视窗能够接收系统事件(event)。您若有兴趣来使得 SDL 得以支援 IM(输入法),小弟会非常高兴。

除此之外,小弟希望有人愿意帮忙小弟来维护这专案,直到这份 patch 整合进 SDL 的官方释出版本。

你需要帮忙吗?

是的!我需要您的帮忙:

1. 在  Win32 DirectDraw 环境下,虽然小弟已成功地在全萤幕下显示 IME 视窗,但状态视窗仍然无法翻转出来。小弟不知道如何解决这个问题,如果您知道,请告诉小弟。(此问题已解决)

2. 这份修补还没有经过许多的测试。如果您可以用日文、韩文或任何其它使用多位元字组的语言来帮忙测试,小弟会很感激您的帮助。

3. 假若您有一些麦金塔、FreeBSD或其它平台的视窗程式设计经验,请加入小弟一同来实做IM(输入法)的支援! :-)

修补的重点在哪?

                     (略)

本页的修改纪录: 

                      2005/03/12: 新增本页。

Copyright 2004-2005 L.Y.C., Taiwan(Formosa).


评论列表
e
SDL_im-1.2.8-20050828.diff.gz这个文件你还有吗?

发表评论
切换编辑模式