Now accepting donations

我在页面下方加入了两个小按钮,分别接受 RMB 和 USD 的捐赠,如果你对下面任一关键字有兴趣:

* [vim-cocoa](http://vim-cocoa.googlecode.com)
* [Mac Dictionary Kit](http://mac-dictionary-kit.googlecode.com)
* [TextEdit/UCD](http://www.newsmth.org/bbscon.php?bid=719&id=203914)
* (upcoming) Quick Look Plugin for text file in all encodings
* [libtlp](/2007/11/21/texlive-new-infrastructure/)

而且希望见到它们得到更好的开发,可以考虑给我一点鼓励,捐赠将用来购买书籍、设备和支付参加会议的费用 🙂 不过不管有没有捐赠,我都只能按照自己的时间和计划来工作 (yep, 这和 vim 的 [sponsor](http://www.vim.org/sponsor) 政策差不多)。

Mac Dictionary Kit

开发了将近两周的一个项目终于可以称作_正式发布_了: [Mac Dictionary Kit](http://code.google.com/p/mac-dictionary-kit/) 的目标是成为一套在 Mac OS X 系统下常用的词典处理与转换工具。虽然在目前它只支持 [stardict 格式](https://stardict.svn.sourceforge.net/svnroot/stardict/trunk/doc/StarDictFileFormat)的转换,但相信随着以后代码的抽象和新格式需求的增加,我们会支持更多的格式,以及更强大、更复杂的转换功能。也尽可能提供更方便的图形用户界面。

DictUnifier

目前 MDK 以两个子项目的形式发布: sdconv 是独立的命令行方式转换工具,专门用于 stardict 词典格式到 Dictionary 2.0 词典格式的转换;DictUnifier 是一个图形界面转换工具,它的设计是为了自动探测并支持多种来源格式,虽然目前它也只支持 stardict 格式。

发布在 Google Code 上,主要是为了提供更好的下载服务、更详细的文档和 bug 跟踪。因为这个项目原来参考了 stardict 的代码,所以沿用 GNU GPLv2 发布。

目前,这两套工具提供的都是 Universal Binary,支持 Intel 和 PowerPC 的 Mac 机器。也都是绿色软件,只需要解压/挂载就可以使用。

在这两套工具正式发布之前,得到了水木社区 [Apple 版](http://www.newsmth.org/bbsdoc.php?board=Apple)许多版友的测试与 bug 报告,在此表示诚挚的谢意。

Nally

这两天做了[一些](http://jjgod.org/code/GBK-support.patch.gz) [Nally][] ([MacBlueTelnet][]) 的[修改](http://jjgod.org/code/font-smooth.patch),主要是让它支持 GBK 编码的 BBS。如果你经常在 Mac 下上 BBS,又对现有的客户端 (Terminal, iTerm, AlienBBS) 的显示正确性/速度/文本渲染效果不满意,可以试一试 [yllan][] 开发的这个 Nally。最大的优点就是用 Core Text 渲染文本,速度特别快,而且字体选择方面专为中文 BBS 优化。我自己已经用它替代使用了很长时间的 iTerm 了。

另外,这是一个开放源码的项目,你也可以用 subversion checkout 下代码做出贡献哦。

Nally, 连线水木

[Nally]: http://yllan.org/mac/Nally
[MacBlueTelnet]: http://sourceforge.net/projects/macbluetelnet/
[yllan]: http://yllan.org

The State of wine on OS X

[wine][] 虽然声称自己是一个跨各平台的项目,可是它的 Mac OS X 支持一直很糟糕。因为最近 [ie4osx][] 的出现,原本对 wine 不感兴趣的人,如我又开始活络起来。今天花了一点时间理了理 wine 在 OS X 上的几个问题,简单记录如下,也许对别人有用。

[wine]: http://www.winehq.org
[ie4osx]: http://www.kronenberg.org/ies4osx

首先,wine 原本是不支持 Mac OS X 的,但独立的 [Darwine][] 项目很大程度上解决了这一点,可是 Darwine 项目自从去年十月份一来就再也没有更新过了,也没有给 x86 的二进制包发布。最近 ie4osx 的编译者提供了二进制包的下载,其实是来自[这里](http://thisismyinter.net/?p=21)编译的,然而这里提供的安装包中能用只有 x11drv,也就是说,wine 必须依靠 X11 才能运行,不能脱离 X11,像一个 native 的 OS X 应用程序那样运行。

[Darwine]: http://darwine.sourceforge.net

原本 [quartzdrv][] 也是 Darwine 项目中的一个分支,目标就是实现 native 的 OS X 支持,可惜出师未捷身先死,quartzdrv 目前也不能和最新的 wine 代码很好的兼容了。然而事实上,依赖 wine 开发的 [CrossOver Mac][] 这个项目早就完成了 quartzdrv 的改定,只不过这是一个商业项目,修改后的代码并没有公开,甚为遗憾。

[quartzdrv]: http://wiki.winehq.org/MacOSX/QuartzDriver
[CrossOver Mac]: http://www.codeweavers.com/products/cxmac/

所以一个好用的开源 quartzdrv 实现就成为了一直悬而未决的开发难题,现在 wine 的 git tree 中虽然有部分残余,其实是去年 Pierre d’Herbemont 发到 wine-patch 邮件列表的一系列 patch 中的第 [1](http://article.gmane.org/gmane.comp.emulators.wine.patches/29764), [2](http://article.gmane.org/gmane.comp.emulators.wine.patches/29766) 个,后续的 patch 一直未能合并进去,然而我咨询 Pierre 得到的回答是,他发的这一系列 patch 的功能仍然不能补足整个 quartzdrv 的需要。

我强烈建议有兴趣的同学,把这个开发的想法作为明年 [Google Summer of Code](http://code.google.com/soc/) 的项目。

话说回来,基于 X11 的实现在 Leopard 下会有一个 IE 页面频繁刷新的问题,通过更新 X11 到 [2.1.0](http://trac.macosforge.org/projects/xquartz/wiki/Releases) 版本可以解决。

对各平台文本渲染技术的一个简短的介绍

上周末参加 [thossclub](http://groups.google.com/group/thossclub) 的讨论,对各平台文本排版与渲染技术做了一个简短的介绍,这个介绍的 slides 可以在这里下载: [text-rendering-tech.pdf](http://jjgod.org/docs/slides/text-rendering-tech.pdf) (6.1 MB, PDF)