jjgod / blog Random notes by Jjgod Jiang.

Archive for May 2006

XeTeX 的一个中文处理脚本

其实这个东西早就该写了,只不过我既是一个懒人,也是一个看不惯不完美东西的人,所以一直不好意思去写。

For the impatient: 脚本在这里

XeTeX 是 Johnathan Kew 一开始在 Mac OS X 上开发的一套 TeX 系统的扩展,主要的特点是使用 ATSUI 支持了操作系统 native 的字体,而后使用 ICU 加入了对 complex scripts 等多语言排版的直接支持,算是 TeX 世界中很振奋人心的更新,我也一直在关注着,因为没有 Mac 用,所以不大了解详情。

直到最近 Johnathan 公布了 Linux 系统下的 XeTeX,结合 fontconfig 和 freetype、ICU 一起支持了 Linux 系统下的 native fonts 和多语言排版,并在 Jin Wan Cho (dvipdfmx 的作者之一) 的帮助下扩展了 dvipdfmx,支持 xetex 的“.xdv”输出。所以近期在我的 Arch Linux 上,好好把玩了一阵子 XeTeX (中间的经历,在 [...]

FreeType 2.2.1 的一点测试

最近 FreeType 2.2.1 刚刚发布,尽管由于 API 的变化 (许多内部函数被隐藏起来了),多数的 distro 并未把系统使用的 FreeType 升级到这一版本——我相信要过很长一段时间才有可能这 么做。但使用源代码编译的版本,我做了一点小小的对比分析。

因为精力有限,只对 FreeType 2.1.10 (目前绝大多数发行版正在使用的版本) 进行了比较,试图给出基于 FreeType 的程序 (如 fontconfig) 应当如何配置字体 才能获得最好的效果的一点建议。而事实上,font rasterizer (字体光栅化工具) 必须和其他的 rasterizer 比较才能看出明显的区别来,例如 ATSUI, Win32 GDI 等等。

同时,我也只对随 Windows 附的 simsun.ttc 做了测试。如果你有兴趣,欢迎分享 更多的测试结果。

测试的截图在 flickr 上。

经过比较,我们可以给出这样一些建议:

必须打开 anti-alias,gamma 才会起作用。 gamma = 0.0 时启用 sRGB (次像素反锯齿) 模式,这种模式要比默认的 gamma = 1.0 显示得更清晰锐利一些。 绝大多数情况下,打开 hinting 能达到更好的效果。 小于 12px 的情况下,关闭 anti-alias,打开 hinting 能使字体勉强可读, 但仍然建议绝对不要使用这么小的字体。 12px 以上,即 [...]

来写 ikiwiki 的试用报告

大家都知道,无聊的人特点之一是见到好玩的东西就找来玩一玩,ikiwiki 就是新近发现的有趣东西,把我的兴趣:Subversion, Markdown, wiki 的概念整合到了一起,算是 wiki 程序里边思路比较另类的,本来看到要装一堆 Perl Module,不愿意去折腾,但 hlb 说等我的试用报告 (笑),就试着装了装看,发现真的很好玩,值得推荐,所以把装的时候遇到的问题流水帐地记下来,或许对你有用。

说了这么多,那 ikiwiki 究竟是什么呢?它其实是一套 Perl 程序,虽然是用作 wiki,但和一般的 CGI/mod_perl 的 wiki 程序不一样的是,它把所有的 wiki 数据文件用 Subversion 来管理,这样文件的历史记录、备份和并行控制就可以直接把 Subversion 的功能搬来用,这是 ikiwiki 最大的特点。

此外,ikiwiki 有趣的地方还在于它使用了 Markdown 的语法来作标记,相比常用的 wikitext,我觉得 Markdown 实在是人性化得多的标记方式。在 Markdown 的基础上,ikiwiki 做的两个额外的处理就是 wiki 的链接 (CamelCase 或者手动指定) 和子页面的创建。

ikiwiki 还有些好玩的功能,比如当作 blog 来用、支持反向链接 等等,你可以在它的 features 页面中看到,不过我这里是还没有尝试过啦。

哦,顺便提一句,ikiwiki 的作者 Joey Hess 是一位 Debian Hacker,也是 [...]