Recent Stuffs

下面是最近关注的东东:

* A List Apart 重构!原来的域名要等 DNS 生效以后才会启用,现在可以用 TextDrive 的地址访问
* Wikiwyg,wiki 上方便的所见即所得编辑器,看这个 demo
* Cairo 的 Win32 开发包,你可能需要一些 GTK+ Win32 的GnuWin32 提供的库才能编译。(用到的库包括: fontconfig, freetype, libpng, expat 等)。
* WordPress.COM 能做什么?这个只有一个 Invitation 的东西……

Vanilla 的本地化

这个东东本来已经快写完了,结果 Firefox 居然崩溃了,前边写的全丢失,打倒 Firefox!

Vanilla 是个新出的论坛系统,里边有不少新概念,比如 AJAX 的运用,Atom 1.0,OO 的 PHP 开发方式,CSS 中对手持设备的支持,等等。可惜作者的水平显然还不算老练,本地化特别不方便,而是性能特别差,三是 bug 还很多,作者改 bug 又很慢。所以注定是个玩具了。建议认真想开论坛的现在别用。

昨天看了 Jedi 的 Vanilla 的中文化,便手痒找来玩玩,有几个小 bug,原来详细写了,刚才丢了数据,也懒得重新写,简单说说吧。

1. 配置文件不支持中文,解决方法看这里
2. MySQL 4.1,论坛内容不支持中文,解决方法看这里
3. PHP 5,扩展列表有错,解决方法看这里
4. 中文化中遇到的问题,过几天整理一下再细写。

ConTeXt 配置小记

刚刚更新了 MikTeX 中的 ConTeXt,版本是 2005-07-12,发现了一些问题。

首先是 fmt 文件无法生成了,似乎是 ConTeXt 需求的容量超过了 TeX 原本配置可以提供的。解决方法是修改 `localtexmf/miktex/config/miktex.ini` 文件,把
`trie_op_size=2048` 增大一些,比如 `trie_op_size=4096` 即可。

然后用 `texexec –make en` 重新生成 fmt 文件。

然后是用 `texfont` 安装字体的问题。原本 `afm2tfm` 编译时应该加入了 Kpathsea 库支持的,也就是能够自动找到 texmf 下的文件,但 MikTeX 下现在这个 `afm2tfm` 并没有加入 Kpathsea 库,一旦使用 `-p` 参数就会崩溃。

幸好 `texfont` 不需要真的使用 `afm2tfm` 生成的文件,它只需要从 `afm2tfm` 的输出内容中截取一个字体的名称就可以了,所以可以对 `texmf/scripts/context/perl/texfont.pl` 作如下修改:

my $command = “afm2tfm “$file” texfont.tfm”;
print “$command\n” if $trace;
$font = `$command`;
UnLink “texfont.tfm”;
# ($rawfont,$cleanfont,$restfont) = split(/\s/,$font)
($rawfont,$cleanfont) = split(/\s/,$font)

(注释掉的内容为原来的代码,可以依此找到应该修改的位置)

`texfont` 的另一个问题是不能自动刷新文件名数据库,原因是 `mktexlsr` 给加上了目录参数,而 MikTeX 下的 `mktexlsr` 其实是 `initexmf` 的一个别名,不支持目录参数的。可以简单的去掉 `texfont.pl` 中 `mktexlsr` 出现后的参数,也可以不管,安装字体后手动刷新文件名数据库。

另外,texfont 其实是一个很方便的工具,就算不用 ConTeXt,用这个工具来安装 Type 1 和 Open Type 字体也比 fontinst 方便得多,就是目前用得人不多,遇到问题的时候需要自己调整一下。