SunPinyin for Mac Leopard (Intel) Updated (2)
这次更新的主要内容是在首选项中加入了自定义候选个数、字体、颜色等。
实现对颜色和字体的支持时,还颇费了些周折。在preferences.nib中加入一个NSColorWell,部署之后,点击这个控件就是无法将颜色选择对话框给显示出来。四处求教外加自己探索,发现要将这些Window的“Hides On Deactivate”属性设置为NO,原因是输入法是一个始终在后台运行的程序。
随后感觉到,要响应字体设置的动作,还是需要由自己来显示preferences对话框。一个有趣的地方是,虽然我在Interface Builder中将首选项菜单项的响应方法指定为Delegation类的showPrefPanel:方法,但是实际上IMKServer试图在InputController中寻找并调用这个方法。所以我在InputController中定义了一个同名的方法,然后将调用转发给Delegation类的方法。


这是用python开发的是吧,是为了拿来练习python而做,还是觉得用python做这方便而用python呢?
发表于 g.zhen.ning 在 2008年05月10日, 01:01 下午 CST #
这是用objective-c开发的,不过我想也有可能用python或ruby来开发,cocoa有python和ruby的binding。不过sunpinyin-ime-core的部分是C++的,这一部分也要提供python的实现才可以。
发表于 Yong Sun 在 2008年05月10日, 03:23 下午 CST #
我下的是您提供的新版,为什么找不到设置字体和颜色等参数的窗口?
发表于 HeaTeR 在 2008年05月14日, 09:09 上午 CST #
啊,糟糕,好像我上传的没有将以前的覆盖掉,我马上重新打包。非常抱歉。
发表于 Yong Sun 在 2008年05月14日, 10:16 上午 CST #
已经重新上传了,非常抱歉:$
发表于 Yong Sun 在 2008年05月14日, 10:33 上午 CST #
呵呵,为什么不将不同版本分别放在不同目录,然后用链接来指向最新的包呢?
Mac上一直没有一个顺手的输入法… 开源的 SUNPINYIN 会是一个很好的开始。
发表于 HeaTeR 在 2008年05月14日, 11:22 上午 CST #
汇报一些bug:
无法更改候选窗口词的字体颜色。背景颜色可以正常修改。
在输入法打开的情况下,在 Safari 中的文本框中进行输入的时候,Safari 的热键不起作用。包括 cmd+t 、cmd+shift+[ ] 等。
还有关于一些特性:
如果在即时转换状态下输入,则关闭输入法是自动上屏中文?
发表于 HeaTeR 在 2008年05月14日, 11:52 上午 CST #
很不错,赞一下作者,希望也能够有MAC PPC的版本。
发表于 3z 在 2008年05月14日, 12:10 下午 CST #
Hi, HeaTeR, 非常感谢!我正在着手解决Safari的问题。关于前景色和高亮色的设置,我会尽快加入。及时转换模式下也应该在关闭输入法时提交中文,这个也会尽快解决。3z, 我手边没有PPC的机器,所以无法保证交叉编译的结果是可用的,需要大家帮忙了。
发表于 Yong Sun 在 2008年05月14日, 12:21 下午 CST #
Sun,你应该可以看到我的邮件,我可以尽力帮你。身边有很多可以用来测试的机器。
目前在用户体验上我觉得问题比较大。。。分别说一下两个模式
sunpinyin在即时转换风格下,输入的字符被即时转换成中文并显示,关闭输入法后自动上屏中文。
即时转换模式应该是和微软拼音的新风格比较接近,用户可以一直输入,自动通过标点来完成上屏的操作。这个时候缺乏一个上屏英文的方式。因为用户很难注意到当前的输入法状态。因此IME应该要提供一个用户在中文输入状态下错误输入英文的时候,如何不丢失用户的输入。通常情况下,用户发现自己正在中文输入状态下输入英文,会通过切换输入法或者中英文输入状态(某些输入法提供的功能)。这个时候,应该自动上屏英文,而不应该是中文。但是sunpinyin在即时转换风格的时候没有任何已经输入的英文的提示,关闭输入法后出现屏幕上没有的内容,也不太妥当。
如果可以限制用户只能使用完整拼音(如果第一个字符是拼音,但是后面的输入不是合法拼音,则前面的自动上屏均为英文,没有研究过微软拼音的中英混合方式,大致上应该是如此),那么可以在即时转换方式下识别出大部分的非拼音输入,进而自动上屏英文。这个会是一个比较合适的解决方案。当前是允许简拼,这样就无法自动判断输入的文字了。再需要添加一个输入键来直接上屏英文,比如ITABC的return按键。
在经典风格下,输入还是比较流畅的。不过还是有一些小问题,比如隔音符号的输入,例如“西安”,可否在输入xian的时候依然给出西安的候选?隔音符号在拼音输入法这个需要候选选择的环境下不应该是一个必须输入的项目。
即时转换风格下,对用户用光标移动修改的字可否有反白或者其他方式(比如候选窗口的位置,这个在候选窗口在屏幕右边界的时候不太靠谱)的提示?否则用户不知道自己修改的是什么拼音,不太恰当。同时,用户修改即时转换风格中的错误,心智模型上应该是从头到尾,但是在当前的SunPinyin中并不能一下从开始进行修改,这个应该要支持输入完后用右方向键从第一个词开始。
发表于 HeaTeR 在 2008年05月14日, 12:53 下午 CST #
Hi, HeaTeR, 非常感谢您的建议,我们也在筹划下一步的开发计划,包括支持模糊切分、易混淆音等。有些是功能则是由于我对IMKit API的不熟悉而未能实现的。非常希望您能有兴趣加入我们的开发工作!:)
发表于 Yong Sun 在 2008年05月14日, 03:12 下午 CST #
什么时候有PPC的版本呀? 我一直在期待呀!
没有找到源码包下载的地方. 如果需要, 我现在手头是iBook G4的机器(leopard).
发表于 Hongguang 在 2008年05月15日, 12:36 下午 CST #
Hongguang,太感谢了,如何check out repository请参见http://www.opensolaris.org/os/project/input-method/repository,不过时间会比较长,主要是几个二进制文件比较大。另参见http://www.opensolaris.org/os/project/input-method/documents/building_sunpinyin,在mac os上编译。
另外我编译了一个ppc的版本,不过不确认能否正常工作,http://blogs.sun.com/yongsun/resource/sunpinyin-mac-leopard-ppc.app.bz2,解开之后直接拷贝到/Library/Input Methods,下载语言模型和词表时,请下载后缀为.sparc的文件。
发表于 Yong Sun 在 2008年05月15日, 01:26 下午 CST #
你编译的包在PPC的 Leopard 下面可以正常运行。
发表于 HeaTeR 在 2008年05月15日, 05:25 下午 CST #
HeaTer,太感谢了,我稍后就build一个PPC的安装包。
发表于 Yong Sun 在 2008年05月15日, 09:15 下午 CST #