Blog

如果我们的网页是 PDF

在整个做网页的技术中,我唯一不在行的就是 CSS 了。严格来讲其它技术也不怎么在行,而我对于 CSS 则有种“畏惧”的心理,很长时间不敢动它。过去我同样有这种感觉的是 javascript,后来在今年暑假的学期中有一门课需要我们自己写 javascript 来做 AJAX 页面,那一阵子 firebug 和 Safari 的内建调试工具同时出动,虽然痛苦,也让我对 javascript 不那么恐惧了。而 CSS 则不然,我从头到尾一直都没有学过,因此虽然 CSS 不是一门很难的技术,我却一直感到恐惧。

今年初把 blog 程序转换到 Movable Type 中后,发觉所有的默认模板显式中文都很难看,用 Unstyled 这个没有任何 CSS 的模板后中文反倒更好看。之前用的 WordPress 的模板的 CSS 就写的不错,所以我一直都没考虑过这个问题。同样是今年暑假的某一天,我实在忍不了默认的恶心的字体设定,痛下决心,埋头研究了 Eric Raymond 的网页和蔡智浩的 Taiwan 2.0 部落格的 CSS 文件,把字体部分的设定挪到自己的 CSS 文件中来。当时为了弄明白 CSS 中每一部分对于页面的影响,我尝试了许多次,最终终于成功,整个 blog 顿时感觉清爽了许多。不过我对 CSS 的了解只限于那一部分,之后就再也没有动它。

这次我的 blog 更换地址后,我手动更新了新 blog 的 CSS,虽然学到了一些新的东西,但仍然感觉相当痛苦。而且做出的更改还是只限于正文,文章的标题的字体依旧还是很难看,很多字明显粗细不一,而且有一些特殊的字,比如“关”,看上去就明显比正常的字窄。有一部分我怀疑是 Mac 下的字体的原因,估计在 Windows 下可能会好一点,不过我没有查证。我试过几次,发现无论怎么改都还是那样,最终放弃。

这几天我还看了两篇讲述 CSS 字体设定的很好的文章。第一篇看到的是《再谈 Web 默认字体》。这篇文章开始时我匆匆浏览了一下,觉得非常不错,这天就一直在我的浏览器里开着。今天自习看了一下文章的留言,又找到了这一篇《默认Web字体样式》,看下来感觉更有帮助。他们页面的字体也很美观,不是我这个 MT4 站点可以比的。其实我觉得 WordPress 的很多模板的默认字体就已经很不错了,自己改改的意义也不是很大。可对于 MT4 站点来说,模板的字体就需要作者改动许多了,这两篇文章的意义也就大的多了。在 MT5 中的 Pico 风格对这一点有了很大的改善,但其它的一些之前就有的模板就还是有这个问题。

我这个学期的《密码学》这门课的笔记,我主要是用 ConTeXt 来记录的。其实不论是那个 TeX 分支,其基本的排版方式是相同的。也就是说,排出来的结果都是统一的。TeX 有个最大的特色,就是美观,生成的 PDF 的整个页面,无论中文还是英文,都显得落落大方。更厉害的是,做好了基础的配置后,这些几乎都是自动完成的,不用用户操心。所以我就想,因为网页的发布与普通的页面出版相当类似,所以如果我们的网页都是一个个 PDF 格式的页面,会不会让网页更美观呢?

结合这一观点,也和 Macintosh 系统有一定的关系。在 Mac 中,PDF 是基础的页面渲染格式之一,内嵌与系统之中。如果在 Safari 中点进去了一个指向 PDF 文件的链接,直接从 Safari 中就可以把文件显式出来。因为 PDF 是内建在系统之中的,所以显式的速度非常快。而且在 Mac 的基础打印功能中,它的预览功能其实就是把页面转换成 PDF,再从 Preview 里面显式的,生成的 PDF 文件还可以保存,这说明,PDF 文件格式已经被苹果接受作为其其本的页面渲染格式之一了。而现在的 PDF 文件中都可以内嵌链接、也支持 Form,所以就有了 HTML 的最基本的功能。更大的好处是,PDF 文件有点把整个文章当作画一样“画”出来,而描述这幅“画”的语言是通用的,这样在不同平台上就不用担心兼容问题了。坏处就是浏览的用户不能设定自己的格式,弹性方面打了折扣。

有一个网站基本就是这样子做的,就是 ConTeXt 的老家 ── PRAGMA-ADE。看看这个文件,它是一个所有示例的索引,从里面可以直接点击跳到不同的页面。我之前浏览这个网页的时候,也纳闷为什么好多说明文档他不用 HTML 来写,非要生成 PDF 的格式?但后来也觉得想通了:PRAGMA-ADE 就是一家推广排版的公司,自然要支持 PDF。

当然,PDF 文件做网页的缺陷也是很明显的。最主要的是文件的体积远大于普通的 HTML 文件,不利于网页传输。光是这一点就让近期实现变得不可能。将来网络更发达的时候,难保不会出现更先进的技术。所以,这一点也仅仅是我自己的幻想。不过说道 MT 的发布,其实与 TeX 文件的编译应该是有异曲同工之妙的。在后台写 TeX 格式的文件,让 MT 再编译成美观的网页,其实就是 MT 发布在做的事情,只是生成的结果不同罢了。

没有评论

Leave a Reply