Ervin Yan's Weblog

Ervin Yan's Weblog

全部分类 | General | Java | Music
« Previous month (Mar 2005) | Main | Next month (May 2005) »

20050530 星期一 2005年05月30日

Proposal for IIIM GIMLET enhancement

To improve the usability, I'd like to propose a big enhancement with gimlet which based on significant redesign of gimlet, instead of bug fix.

We can make Gimlet act as an iiim desktop service agent, and have the following features:

1. Support PreFilter modules to do some preprocess for the keyevent before send to iiim server, such as:

a). Hotkey filter, different engines/different users/defferent locales may have different hotkeys.
b). keymapping filter.


2. Support common GUI modules, such as:

a). common status/preedit/candidates window
b). common configuration window
c). virtual keyboard.
d). should be scalable to support different window system, such as gtk/qt/Windows.
e). should be scalable to support iiimcf/user defined GUI(status/preedit/candidates) modules.


3. Provide interface to support local input modules, such as:

a). handwriting
b). voice recognization.
c). character lookup table.
d). user defined input engine.
e). user defined characters for specific input engine.
f). user defined keymapping.

4. Provide interface to support PostFilter modules to do some conversion for the commit result from iiim server, such as:

a). encoding converters, such as UTF-8 <-> big5
b). phrase converters, such as Simpified Chinese phrase <-> Traditional Chinese phrase.
c). others, such as, hagual<->hanja ...
d). user defined postfilters.


Each filtering should be registered whether or not they are needed so that the process can be ommitted.


5. Provide overall configuration panel to support:

a). input methods disable/enable
b). input method properties setting.
c). GUI styles switching.
d). Hotkey definition.
e). local input engine definition.


6. Support systray as Windows.


Event flow:

Two scenarios:

A). Fontend mode

gimlet can implement as a desktop service agent for iiim clients and server.

1. iiim client register gimlet for iiim desktop services. if not register, the iiim client events will be sent to iiim server directly.
2. iiim client sent events to gimlet first.
3. gimlet do prefilter process for the events.
4. gimlet sent prefilter result to iiim server.
5. iiim server send status/preedit/candidate/commit info back to gimlet.
6. if status/preedit/candidate info, gimlet use common GUI modules to show them.
7. if commit info, gimlet call postfilter modules and commit the result.


B). Backend mode

gimlet can implement an additional capability as a mini-cascaded server so that a possible optimization is possible, so that this significant modification proposal is a part of bigger picture.

gimlet is still on the desktop, however event is first sent to the server, then forwarded to gimlet, then gimlet perform pre-filter, then send back to the server and LE, then send to gimlet for post filtering.

( 2005年05月30日, 02:27:19 下午 CST ) Permalink 评论 [3]

20050510 星期二 2005年05月10日

Cairo Postscript Backend

Cairo will be the next generation rendering engine for Unix/Linux. it use uniform architecture for display and printing, just the same as Windows GDI/GDI+. These days I discussed about the current status of cairo postscript backend with Owen Taylor. As Owen said, currently, The PDF backend is closer to working "right". It currently has some bugs in embedding fonts, but should work almost OK for CJK TrueType fonts, though not for Type1 fonts (especially CID fonts.) But for PS backend, it just generates a big image. and Kristian Høgsberg is starting to work on a "real" PS backend. The first piece of work needed for that is cairo infrastructure ... a way of figuring what areas of drawing can be drawn with Postscript primitives and what areas need to be drawn with images. (Because of alpha transparency, for example.) There will be lots of work after that to fix up embedding of different types of fonts into Postscript files. That's a good chance to plug ourselves into this project and do some contributions.

( 2005年05月10日, 10:17:57 上午 CST ) Permalink 评论 [0]

IIIMF 12.2 is released and IRC meeting for 12.4 On 2nd May, which is a day of golden week in Japan and China, IIIMF version 12.2 was released. The announcement see: Leon Ho's announcement That is a really a great milestone that we added so many features in this release. Now, we are moving forward to next release 12.4. Today, IRC meeting (irc.freestandards.org/#iiimf) is opening to discuss the following topics: * Schedule * Feedback on feature implementation * Feedback from users on usability * Things that we need to keep on doing * Things that we need to improve * QA * Release engineering Welcome to join! ( 2005年05月10日, 08:49:23 上午 CST ) Permalink 评论 [0]