真的是.. a mess,估计就像 pango maillist 上有的人说的,有能力使用 layout engine 的人都能够直接看 reference 写程序,没能力的都去用 GUI Toolkit 提供的 high-level API 了。
最近看的几个 layout engine 包括:[Uniscribe](http://www.microsoft.com/typography/developers/uniscribe/), [Graphite](http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&cat_id=RenderingGraphite), [Pango](http://www.pango.org) 和 [ICU](http://icu.sourceforge.net/userguide/layoutEngine.html)。最惨的是它们的定位和功能还不一样,有些相互之间还有牵扯。
就是这样居然还有人能把 Graphite, ICU 和 ATSUI 集成起来[给 TeX 用](http://scripts.sil.org/xetex),考虑到 TeX 还是用 WEB (Pascal 的 literate programming 版本) 语言写成的,这真是让人崇拜得五体投地的[强者](http://www.unicode.org/iuc/iuc22/b051.html)啊。
(看了一下强者的 biography,原来自从我出生开始就在 SIL 工作了.. 那么这样我比较不自卑一点。)
更新:看完这篇 [mail](http://mail.gnome.org/archives/gtk-i18n-list/2004-December/msg00010.html),我又很高兴了 🙂