jjgod / blog Random notes & thoughts by Jiang Jiang.

Browsers

How to test a proxy autoconfiguration file

Due to the existence of Greal Firewall, I have a terribly long proxy.pac file. Apparently, how to maintain that becomes a problem. Regularly, I use git to keep a “stable” version and make updates on it. Recently I just found the script stop working for no good reason, because the proxy server I’m using is [...]

Pro JavaScript Techniques 的中文版上市

相信熟悉 Web 设计的朋友已经了解,这本书是一本关于 JavaScript 的较有深度的书籍,中文版是由贤安 (realazy) 和我一起翻译的,中文译名是《精通 JavaScript》。 原书的价值,对于熟悉的朋友应该毋庸置疑,我们两人在翻译时也颇费了一番功夫,大致分工是我主要负责和语言特性相关的,贤安主要负责和 Web 应用相关的 (包括与 CSS 的配合),如果有任何意见建议,欢迎致信 projsch@gmail.com,我们会将所有的更正与改进放在勘误页面上。

Mozilla 2

Brendan Eich 的这篇 Mozilla 2,过了一个多月我才来看。还是有些新内容的。 现在“Mozilla”这个词比较怪,它不再指以前那个“Mozilla Suite”浏览器 (自从 SeaMonkey 分出去之后),也不专指“Firefox”,更不仅限于“Gecko”渲染引擎 (虽然现在给 Mozilla 起的版本号还是和 Gecko 同步的),按我的理解,指的是 Mozilla 组织这面大旗下的整个平台的统称,Web 渲染,XUL, XBL, JavaScript, XML/XSL 等许多引擎的统称,而其招牌产品就是 Firefox。 其中,Mozilla 1.9 将对应着 Firefox 3.0,其路线大致已经确定了。Brendan 讨论的是在架构上将有巨大变化的 Mozilla 2,它预期在 2008 年出现。 最引人注目的是基于 JIT 的 JavaScript 虚拟机的出现,加上改进的垃圾回收,将给 JavaScript 的效率 (在 DOM 访问和内存占用方面) 带来巨大提升,据说。同时,它支持的语言会是 ECMAScript 4 (俗称 JavaScript 2)。 其他的改进对普通用户则不大可见,比如放弃 XPCOM,而更多的依赖标准 C++ 的特性来写程序,去掉一些为了兼容性遗留的旧 API,简化代码组织,放弃 CVS [...]

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 [...]

Why Cairo?

因为想写一个 lightweight & fast 的文本布局引擎,这两天在留意一些新的图形 API。其实有些都不算很新了,像 Anti-Grain Geometry、Amanith 和 Xara。 曾被誉为“Linux 图形未来希望”的 cairo 广受诟病的是它的效率,尽管从一开始 cairo 便宣称将会利用 glitz 这样的 backend 实现硬件加速的矢量图形绘制,从而达到软件绘制无法达到的效果。结果现在戏剧性的是,cairo 比所有这些用软件绘制的引擎都慢得多。 所以才有人写了这么一篇 Why Cairo?,意思大概说得很清楚了,Mozilla 选用 cairo 的借口现在看来是非常苍白无力的,比如说 cairo 引以为傲的“bring vector graphics to print”有多少人需要把网页输出到 PDF/PS?如果最基本的页面渲染都做不到高效,谈何页面印刷的高效? 所以我觉得啊,rendering model 好当然不错,cross-platform 性能好也很好,但 cairo 是不是中 gnome 社群的毒太深了?什么东西都来搞个 backend,结果最后每个 backend 都半死不活的,没错,也许某天 David Reveman 搞定了 xgl 腾出手来整 glitz 了,可 David Reveman 就算搞定了 [...]

← Before After →