周记
工作上面比以前忙了些,由新来的以色列大妈管着了,反正事情就是多些了。
看联通号一直闲置浪费,也开始用了,换到了主力手机上。发现n900不支持动感地带的号码(或者只是不支持134这些新号段的),只好又用起了680。
装了下qt 4.7 的技术预览版,还有新的qt creator。我以前基本上没有接触过qt,也算试试看啦。qt安装需要自己编译,真是漫长。。
qt的几个demo都不错,尤其mobile-demo,我觉得效果很好,在mac上看起来效果也不错。
昨天才发现,n900上的qt程序里不支持用mscim输入。看了下changelog,mscim上次更新都是一个多月前了。这两天有点点小改动,主要是原来版本卸载后系统输入法好像还是不能用,修正了一下。还有几个码表名字改得好看了一点儿。我有想是不是把scim-qtimm的qt支持模块也移植上来,可是看起来可能也不是很容易的活。倒是him-scim这个项目人家做得好像也还可以,不知道是不是也把mscim换用him的前端呢。可是明明him前端也是gtk immodule而已,为什么它就支持在qt中的输入?我是有担心接下来换meego上,这些工作都白费啦。
最近半年多在跟的小说只有《凡人修仙传》了,之前跟的两本都完结了。
好像也没什么了?。。。 我决定每周至少更新一篇blog,不然每周都是自动twitter合集的文了。。。
更新一些关于N900和Maemo的
很久没有写blog了,来更新点内容,首先是关于手机的。
很杯具的,我的htc magic在杭州忘在出租车上了,上次在北京还捡回来了(参考本文)。这次情况几乎一模一样,就是打电话人家就是不接。
于是我主力手机用回nokia e90,平时就玩玩n900。本月开始用186的号了,96套餐,可是只打过一个电话,双机还是太麻烦啊。
n900的多语言化项目还比较顺利。中港台的汉化基本完全,平时做些小的优化。比较大的一个更新是对简中和台版繁中的locale增加了排序,联系人应该可以正常排序了。zh_cn的locale是用了glibc的iso14651_t1_pinyin文件,这个文件是在glibc的master分支上找到的,但是maemo 5用的还是glibc 2.5版本,所以主要就是做了个合并的工作。zh_tw的排序文件就是我和couldvbb网友自己做的啦。看看有机会也回馈到glibc项目中去。但是不知道nokia是怎么打算的,他们迟早肯定也要解决这个排序问题吧。nokia maps因为版权问题,我们的项目里就不做翻译了。
目前我们同时开始的语言已经不少了,可以看这里。不过韩文几近中断,日文没有展开。我觉得日文这个很应该宣传展开啊,日本宅男这么多-_-
在发布bg_bg locale时发现maemo 5有个bug,日期格式以空格开头会crash,比如控制面板里的日期和时间设置就打不开。这个我们已经向maemo项目上报了bug,不知道下次更新能不能解决。
mscim项目还算好。周末刚刚更新了对韩语hangul输入法的支持。个人觉得基本上可用了啦。中文的话,google拼音和智能拼音两个可选,后者应该是支持模糊音和双拼的。五笔这些码表输入法更应该是比较稳定的了。
目前比较严重的bug仍然是和系统浏览器的兼容有问题。点击选字时,事件会穿过窗口被浏览器接收,实在是比较诡异的事情,我没有什么解决思路了。比较小的bug就是好像会对有竖屏支持的软件有影响,主要是输入法面板不支持竖屏,这个我或许可以下次试试检测输入窗口变化,竖屏时就禁用掉输入法。
我的pcman的移植一直都没时间做了,我得把它优先级提高。
/usr/bin和/usr/sbin下还是有很多没有发掘的有意义的小工具的。比如原来添加locale时,都是改gconf的一个值的,后来发现有个add_remove_language命令,方便了许多。maemo下目录结构和一般linux还是有些不同。比如rc*.d是在/etc目录下,而不是/etc/init.d/目录下,不知道为什么这样改。信息程序(就是短信和im会话集成体那个)的ui是html配置的,看到talk.maemo.org上他们在讨论自己改,可以美化下。我用exchange同步的方式和自己的gmail帐号同步联系人和日历是可以成功的,但是用公司的帐号就不行,我们买的是google企业帐号,之前在n97上试就可以,相信也只是n900的问题。
http://maemo.gitorious.org/ 这里可以看到很多maemo组件的源代码,他们原来的svn源好像停了,都改git了。就是不如android项目,有个repo工具一次全部下载的。当然更不如android的是,人家下载下来的代码直接能编译出完整系统来。这里的代码只能参考看看。
末了,替imaemo论坛做个广告,欢迎大家来访及提问。
N900初玩小感
注意:本页一些截图因为从800×480转成640宽,好像会显得不清晰一些,可以点击打开
先说存在的一些问题。
1. 屏幕音关不掉,太发指了。profile设置里关掉还是有,甚至整个系统切成静音模式还有声音,我觉得这系统的声音体系设计就有问题,看来有的程序故意要忽略静音设置也是做得到的了。害我半夜不能玩… 今天上午搜到了解决方案:
打开终端,输入
killall maemo-xinput-sounds
这应该只是在这个版本上出现的bug,以后应该会解决
2. 自带的forecaweather widget好像有bug,在把温度单位设置成摄氏度后,总是不能正常保存,桌面上的widget还是显示华氏度。我还是乖乖地去载了个omweather。不过我觉得forecaweather widget要好看一点
(这点已经解决,后来发现点击打开后是主程序,widget要单独设置,反正还是挺容易让人误解的)
3. 这机器既不能纯键盘操作,也不能纯触屏操作。而且maemo 4时还有聚焦状态,可以用方向键导航,maemo 5的开发文档里就建议去除这些。 read more
Build SCIM on Maemo5

maemocjk project has not been updated for a long time. there’s a scim for maemo sub-project in it, which i think is the most important part of maemocjk. i’ve tried to build it on maemo5 sdk beta1 and beta2, before. it would be compiled and built successfully on all of these sdk versions. but scim could not be actived when i click into an editable text area. i’m not sure if it’s just the sdk bug.
anyway, when i try to build scim on maemo official sdk today, it works now, without any modification of the code. like before sdks, chinese character cannot be shown because the build-in font in the sdk doesn’t support cjk. i install droid font from maemo extra devel repository. as you can see, it works. though it’s not very good to use yet. it’s a good beginning, isn’t it?
there’re still lots of things need to do:
- the scim-setup application is not listed in the application panel
- scim cannot be actived in the input field of web pages. in other words, it doesn’t work in the browser.
- the front-end ui of scim is not working well. as you can see in the screen-shot, the character cannot displayed well in the scim drop down list. it’s just one of the easiest bug to fix. i guess just need to use correct font. other bugs like, the float window cannot be shown. i disabled it in scim-setup. if the float window is set to be shown, the whole scim cannot work. when i click into an input field, then scim actives, and try to show its float window. the task switcher of maemo system will treat the float window as a new task window, and switch to that one.
i will try to keep working on that..
Hildon input framework and plugins
啧啧,真是复杂的玩意儿。
半夜没事就看看这个东西,想想怎么让n900上有中文输入。他们提到的一个日本人在做的基于him plugin机制,加上ibus输入法引擎做后端的东西,我也google到了。 http://domaemon.blogspot.com/ 访问需要翻墙。看起来人家好像进展不错?我其实是很希望人家赶紧做好,那ibus支持的输入法应该就都支持了,比如中文。。
其实我对n900的sdk也不是很熟。n810时,我都编译了直接在真机上跑,n900还没有真机。虽然him plugin example已经更新,但我编译安装了,完全不知道怎么启用能看看效果,这点也比较orz.
我现在两个思路,简单的就是看看能不能修正scim for mameo,让它跑起来。据说只是获取焦点的问题。我通过比较him framework的svn历史版本,大概也能找出些需要的相关代码。不过nokia其实不太厚道。这些东西都是内部开发的,开发完一次性merge到开源分支上,中间的逐次修改的记录就没有了。上面的那个日本人的blog里提及为什么不用scim,一个是说用him插件机制容易切换系统原有输入法和cjk输入法,这点其实我没看出来,虽然我确实认为这个蛮重要的,并且如果用scim的确基本就不可能了。他还说,因为浏览器不支持preedit就不能用scim,这点我表示怀疑。这个preedit我没理解错,就是inline input,那种输入英文字母,还没转成中文前的时候就先在输入框里显示,一般还带个下划线那种。但是scim是支持over-the-fly模式的,就是自己弹出个小框来做预输入区,中文字完全后再送入客户端文本框,所以我觉得这应该不是个问题。当然,能不能捕获到浏览器内部的输入框就是另外一个问题了,这好像在很多平台上都是比较麻烦的事情。
另外一个思路,就是我打算用最简单的方法改改him或framework。我目前都不能确定him和him framework两个项目间具体什么关系。但看到点的一些代码中的事件处理,我相信应该可以做如下处理:就是关着键盘时,什么都不改,该怎么用软键盘就怎么用,也就不能支持cjk输入;打开键盘时,原来继续要传给him plugin的全部拦截掉,自己送给一个输入法后端变成中文,直接上屏。我是觉得这样子代码入口会比较好定位,折腾plugin的话,除了本来就要做的和输入法引擎的联调外,还要做些ui,以及一大堆需要补全的接口。
当然,我还是只是想想而已。我在him及him framework的代码中都加了几行debug输出,编译安装,竟然都没有这些debug信息出来,让我很失望。。不知道是什么原因没能替换成功。再说了。。
N900终于要来了
之前有消息说七月就要上的机器,我等了许久也没有看到。昨天有fcc的消息传出些参数,今天终于有看到图了。
代号nokia rx-51。一些参数 (来源于techvixen.com):
1. 3.5 inch resistive touch screen with matte screen (non-glossy)
2. 800 x 480 screen resolution
3. 32 gb inbuilt memory , micro sdhc slot for explandable memory upto 48gb( like in n97)
4. support for additional memory (micro/mini)
5. fm receiver and transmitter*
6. gsm + gprs + hspa 1700/2100(t- mobile) + wlan + bluetooth with a2dp
7. cpu arm cortex a8 @ 600mhz upto 1ghz (similar to iphone 3gs and palm pre)
8. 256 mb ram + 512mb virtual memory
9. support for open gl 2.0
10. video out
11. charging via usb
12. 5 mpx carl zeiss 2.8/5.2 af with dual led flash, back facing camera.
13. low resolution web cam in the front 果然是双摄像头
14. 3 row keyboard. with 4 directional arrow keys instead of d-pad. 这个4方向键我好像没看到在哪
15. accelerometer
16. gps
17. ambient light sensor.
18. os – maemo 5 – 80% open source
19. application manager with 99% free applications and popular ports of desktop linux applications.
20. kick stand.
21. ability to run firefox 3.5 and open office
22.with full flash support. 完全版的flash支持,应该是第一款支持flash的手机了?看和htc android上比哪个早上市吧。其它平台是flash lite的
会搭载一个完全版本的firefox 3。大赞,不知道速度怎么样
我一般是不转新闻来的,只是实在对这机器很有爱。现在就开始等吧~
现在的是t-mobile 3g版(1700mhz),将会有对应欧洲和大陆的wcdma 3g版(1800/2100mhz)啦 (消息来自handspring)
read more
