![]() |
|
Spaces home live <-> evilProfileFriendsBlogMore ![]() | ![]() |
live <-> evil在一个平庸的社会,我是否应该做一个平庸的人?
September 22 耐心等下一篇吧嗯,抛砖引玉以后的那周我blog的访问量顿时过千,所以感谢各位的支持。抛砖引玉那篇其实写得还很粗略,基本上是个general的overview。
在下一篇中,我们将继续讨论字符间距离的控制,单词间距离的控制,各级标题所用字号的计算等等诸多重要的问题。
所以大家继续等待吧,呵呵。最近比较忙,下一篇得等到明年了,因此上次说抛砖引玉是本年度最后一篇博客,实在抱歉。
准备闭关了,向往简单的生活很久了,衡门之下,可以栖迟。泌之洋洋,可以乐饥。让我歇息一阵,该了的事情过一阵子再说吧。
前一阵还和台湾的李果正吵了一架,现在网上什么人都有,每个人都认为自己是个人物,自己都认为懂得比你多,说出一些稀奇古怪的空洞言论。
懒得去争个谁对谁错,参与这种是是非非了。我心匪石,不可转也。我心匪席,不可卷也。威仪棣棣,不可选也。但我总躲得起吧,呵呵。
在这个时代,我还是安守本分,帮助我该帮助的人,在这里发上几篇博客,提供一些真正有价值的信息,
从而让朋友们看了以后,可以有所收获,不至于看我的博客觉得是在浪费时间,我就心满意足了。 September 09 写一篇关于排版理论具体实践的文档来抛砖引玉OK,这次的内容貌似使用live space很难写,所以就得找一个对于代码和图片支持更好的写作引擎,就改到了is-programmer上,然后这里做了下同步。排版系列的文档一度终止了,主要因为我有太多的正经事情要干,现在我的眼前堆满了托福和公式,但是,就抽出晚上几个小时的时间,还一些文章债。 今天和大家说的,是关于排版实践的问题。近年来,中国的TeX用户激增,一方面是由于通过国内外开发者共同的努力,TeX对中文的支持越来越好了, 另一方面,强大的中文社区的力量培养了大量的用户。可是目前TeX社区的兴盛没有太多改变目前TeX业界的排版质量,很多人都是看着一个叫wangyin 的人的文章才用上TeX的,而对于其宣传的“所谓所想即所得”的思维颇为推崇,认为自己只要搞定内容结构,剩下的事情可以由TeX全包。一些用户一再强调 LaTeX的默认设置非常之好,以至于不建议用户进行改动,所以用户只要闭着眼睛敲内容就可以了,以至于见到难看至极的itemize行距都无动于衷,甚 至认为这个就该这样。在这样的思想指导下,导致了一个很严重的问题,也就是涌现出一堆的用TeX制作的垃圾排版作品,整个页面黑一块白一块,充满由于由盒 子溢出导致的不可忍受的断行。其实仔细用脑子想象,TeX软件并不是钻到你肚子里的蛔虫,怎么可能知道你希望把文档排版成为什么样子呢?即使页面相当整洁 不错的优秀LaTeX排版出来的文档,也一看上去就能认出是LaTeX做的,没有任何版面的特色。纵然最近几年出现了类似ConTeXt或者Memoir 之类的由专业人士开发的TeX宏并且越来越成熟,但是局势并不见好转。另外近几年网络上涌现出大量的文档资料,大多都是描述LaTeX的基本命令和使用方 法,但是缺乏有关如何真正做好排版工作的文档。因此我有必要写一些东西出来,纠正一些目前TeX中文社区的错误认识,起一个抛砖引玉的作用,希望在这短短 的blog之后,能够涌现出一批真正艺术性的东西来,而不仅仅是技术性的介绍。当然,我是一个很小很弱的理工科学生,对于排版也是外行,希望得到专业人士 的指正。 这次我就举我最近做的一个例子,也就是我即将发给申请学校的个人材料,来说明文档是如何设计实现的,当然我对这个文档并不满意,还有很多需要增加修 改的地方,但是希望通过这个短文,可以给大家一些文档设计的大致思路。OK,说明完毕,下面进入正题。我使用的排版格式是ConTeXt,使用 LaTeX的用户可以一样做出这些东西来,只是命令稍有不同,而且可能需要引用十几个甚至几十个宏包(当然,近几年出现的Memoir Class貌似可以一站式搞定)。 首先是定义印刷的格式,由于我希望印成彩色的,而目前普通的彩色打印,是使用C,M,Y,K四种颜料完成的,有些专业打印会使用更加多的颜料,即所谓的Spot Color,这就需要做相关的定义。比如在我文档中,我只需要 \setupcolors[state=start]
就可以了,针对offset printing 中所使用的 Spot Color,则需要更为复杂的定义,比如 \setupcolors[rgb=no,cmyk=yes,spot=yes,state=start,overprint=yes]
这样,就能够手动设置更多的 channel 了。 然后是一些和PDF电子文档相关的设置,我不需要任何的超连接功能,PDF文档的属性需要填写完整,而且我希望别人打开电子文档,就是对开显示的,方便读者阅读,所以做了如下的定义: \setupinteraction[state=stop,title=Application Matters, author=Yue Wang]
\setupinteractionscreen[option=doublesided] 通过这样的定义,读者不但能够了解到这个文档的作者和题目,挂到网上也方便日后使用搜索引擎搜索,同时观众能够按照我设置的文档显示模式进行预览,这些都是方便读者阅读的重要表现。 书籍的版式设计永远是排版中最为核心的内容,作为一个正式的申请文件,设计版式当然需要中规中矩的,一般采用标准的纸张大小和标准的版式,同时也需 要方便拿在手中阅读。一般来说,可以使用US Letter或者A4的纸张单面应刷,但是这样虽然正式,却没有了在版式中做文章的可能,非常古板,限制了发挥。经过考虑,A5大小的纸张双面对开印刷阅 读性可能更好。不采用其他的纸张大小,另一方面也是由于我没有剪裁的条件。,因此,先定义一下双面对开,至于页码,先不去管它,待会慢慢设置。 \setuppagenumbering[state=stop,location=,alternative=doublesided]
然后定义一下纸张的大小,A5的纸张宽度是148毫米,高度是根号2倍的宽度: \newdimen\Pagewidth \Pagewidth=148mm
\newdimen\Pageheight \Pageheight=1.414\Pagewidth \definepapersize[mypage][width=\the\Pagewidth,height=\the\Pageheight] \setuppapersize[mypage][mypage] 至于文字块的大小,则是根据了J.A. van de Graaf定义的的经典版式,也就是页面上画上对角线,按照焦点连线组成的直角三角形的斜边和对角线的交点作为文本高度,然后通过此点做平行线和对角线分 别相交,使用最为基本的平面几何知识就能确定出文字块的大小应该为天头1地脚2文本块6,订口1开口2文本块6,所以很方便地确定出了如下的定义: \setuplayout
[backspace=.111\Pagewidth, leftmargin=.0000\Pagewidth, leftmargindistance=0.0000\Pagewidth, width=.666\Pagewidth, rightmargin=.20\Pagewidth, rightmargindistance=.02\Pagewidth, topspace=.1111\Pageheight, header=.0000\Pageheight, headerdistance=.0000\Pageheight, height=.7777\Pageheight, footerdistance=.0555\Pageheight, footer=.05555\Pageheight, leftedge=.0000\Pagewidth, leftedgedistance=.0000\Pagewidth, rightedge=.0000\Pagewidth, rightedgedistance=.0000\Pagewidth, top=.0000\Pageheight, topdistance=.0000\Pageheight, bottom=.0000\Pageheight, bottomdistance=.0000\Pageheight, location=right] 定义好了文字块,接下来就开始弄字体了,这里举出大家熟悉的Minion Pro和Myriad Pro为例子,一方面是因为这些字体大家可以直接从Acrobat中获得,一方面这些OpenType字体虽然常见但却并不腻味,而且Minion也是我 喜欢的晚期文艺复兴字体之一,在TeX业界,Minion还有免费的数学字体MnSymbol可用,当然我这里不用数学公式,使用字体定义命令定义这些字 体即可。 \starttypescript[all][myfont][name]
\definefontsynonym[Minion][MinionPro-Regular] \definefontsynonym[MinionBold][MinionPro-Bold] \definefontsynonym[MinionItalic][MinionPro-It] \definefontsynonym[MinionBoldItalic][MinionPro-BoldIt] \definefontsynonym[Myriad][MyriadPro-Regular] \definefontsynonym[MyriadBold][MyriadPro-Bold] \definefontsynonym[MyriadItalic][MyriadPro-It] \definefontsynonym[MyriadBoldItalic][MyriadPro-BoldIt] \stoptypescript 其中,MinionPro-Regular之类的,都是这些字体真实的名字,你需要事先把这些OpenType字体复制到TEXMF-LOCAL/fonts/opentype中,并且刷新文件名数据库。否则LuaTeX是找不到它们的。 既然是OpenType字体,那自然需要使用到一些这些字体的高级特性,如何查看这些字体有些什么OpenType特性呢?以前可以使用一个第三方工具otfinfo来查看,现在ConTeXt中直接提供了这样的一个命令。 mtxrun --script font --list "fontname" --info
其中fontname就是这些字体的名字了。经过一番判断,对于语言,都应该使用默认的dflt,书写系统自然选择拉丁语系latn,对于 Minion Pro,分数(frac,fraction number),旧体数字(onum, oldstyle number),kerning(kern),普通ligature(liga)以及专业ligature(dlig)都是我们需要的,而Myriad Pro,我觉得slash zero比较酷。所以我们定义这些字体的特性,当然我们待会还会用到Minion Pro的small caps的glyph,所以自然多做一次定义。 \definefontfeature[minion][language=dflt, script=latn, mode=node,
frac=yes, onum=yes, kern=yes, liga=yes, dlig=yes, protrusion=quality, expansion=quality] \definefontfeature[minionsmcp][language=dflt, script=latn, mode=node, frac=yes, onum=yes, kern=yes, liga=yes, dlig=yes, smcp=yes, protrusion=quality, expansion=quality] \definefontfeature[myriad][language=dflt, script=latn, mode=node, frac=yes, onum=yes, kern=yes, liga=yes, zero=yes, protrusion=quality, expansion=quality] \starttypescript[serif][myfont][name] \definefontsynonym[Serif][Minion][features=minion] \definefontsynonym[SerifBold][MinionBold][features=minion] \definefontsynonym[SerifItalic][MinionItalic][features=minion] \definefontsynonym[SerifBoldItalic][MinionBoldItalic][features=minion] \definefontsynonym[SerifSlanted][MinionItalic][features=minion] \definefontsynonym[SerifBoldSlanted][MinionBoldItalic][features=minion] \definefontsynonym[SerifCaps][MinionBold][features=minionsmcp] \stoptypescript \starttypescript[sans][myfont][name] \definefontsynonym[Sans][Myriad][features=myriad] \definefontsynonym[SansBold][MyriadBold][features=myriad] \definefontsynonym[SansItalic][MyriadItalic][features=myriad] \definefontsynonym[SansBoldItalic][MyriadBoldItalic][features=myriad] \definefontsynonym[SansSlanted][MyriadItalic][features=myriad] \definefontsynonym[SansBoldSlanted][MyriadBoldItalic][features=myriad] \definefontsynonym[SansCaps][Myriad][features=myriad] \stoptypescript \definetypeface [myfont] [rm] [serif] [myfont] [default]
\definetypeface [myfont] [ss] [sans] [myfont] [default] \usetypescript[myfont] 当然这里我还有两个没有介绍,一个是protrusion,一个是expansion,这两个的全名,应该叫做margin kerning和font expansion,是在Donald Knuth的断行算法的基础上新实现的算法,这个算法的祖宗很有可能就是模仿Hermann Zapf的hz-program。这两个微排版学算法,一个可以让标点挂在文字块的边线上,不但边线看上去更加均匀,而且还提供了更灵活的断行,因为这样 一来,等于变相地在人不知觉间把行距增大了,这样原先可能会溢出的盒子,就可能能够撑下现在更宽的行距,即使增加的数值使用肉眼几乎看不出来。至于另一个 font expansion,是可以在肉眼察觉不到的情况下,适当地伸缩字体的大小,这样等于变相地改变了本身盒子的长度,使得它不至于溢出。这些在很多的现代排 版软件中都是有类似的实现的,所以象word这种连断行都是基于行而不是基于断的非排版用的办公软件来说,能写出一本叫做《word排版艺术》的书的人也 真是让人喷饭(我没有诋毁word的意思,word本身是不错的办公软件而不是排版软件,有人非叫它是排版软件,还出了一批什么都不是的书来坑害人。不说 了,扯远了)。说正事,既然我们定义了微排版算法,就需要做一下排版上的定义: \setupalign[hanging]
当然即使是这样依然会遇到盒子溢出的现象,而这个是不可忍受的(连 word 都不会出现盒子溢出的行为,TeX怎么能行呢),所以在极端糟糕的文本情况下,我们还是选择忍受惩罚而不让盒子超出边线。所以我们加上 \setuptolerance[horizontal, stretch]
在相当糟糕的情况下(比如行宽过小),还是直接伸缩吧。 我在先前的博文中已经讨论过,一行放多少个打印字符,直接影响着人们阅读体验,一般来说一行65个打印字符为佳,60-70属于可以接受的范围,而 把文字的磅因(point)是需要查表计算得出的。按照目前的行宽和 Minion Pro字符的宽度查表,似乎因改介于10-12磅因之间,而对于视力不佳的人来说,可能10磅因的过于难读,同时,由于文字的特征,也就是这份申请材料一 个专题放一个对开,而11磅因往往排不满,所以就选择了12磅因,定义如下: \definetypeface [myfont] [rm] [serif] [myfont] [default]
另外虽然这个是一份英文材料,不过当中有一份所发表的论文列表,而我有中文的论文,自然需要定义一个中文字体,Adobe公司的Adobe Song Std Light字体,这个字体在Acroread中也是可以免费获取的:\definetypeface [myfont] [ss] [sans] [myfont] [default] \usetypescript[myfont] \setupbodyfont[myfont,rm,12pt] \definefontfeature[zh][mode=node, script=hang, lang=zhs]
\definefontsynonym[zhserif][AdobeSongStd-Light][features=zh] \definefont[ChineseFont][zhserif at 12pt] 其中,zhs/hang这个书写系统,是由ConTeXt中自己实现的,我们必须感谢Hans Hagen先生的努力,虽然他不懂中文,用英语貌似是"Chinese is all Greek to him",我到觉得这句话改成"Chinese is all Chinese to him"更好。 忙完了字体,讲各种layout安排了。彩色文档白色纸张颜色单调了些,查了查调色板,给个RGB的数值,设为背景颜色: \definecolor[bgcolor][r=1,g=.95,b=.7]
\setupbackgrounds[page][background=color,backgroundcolor=bgcolor] 黑色的当然也单调,找个和背景色相配的颜色作为正文颜色 \definecolor[textcolor][b=.5,r=.2,g=0]
\setupsectionblock[bodypart][before={\startcolor[textcolor]},after={\stopcolor}] 行距不能太挤,一般1.2倍字高,也就是一倍行距。段距离我希望采用欧洲式样,即不采用缩进,所以这个距离就应该大一些: \setupinterlinespace[small]
\setupwhitespace[medium] \indenting[no] 现在输入一串字符,就有点意思了 \input zapf
效果如下:
按照比例计算一下距离,并设计的chapter样式,除了字体成old style number, small caps外,加上了醒目的颜色。header和footer都不要,而且奇数页开始一个chapter: \def\MyChapterCommand#1#2{\framed[width=1.2\textwidth, height=\textheight,
frame=off, align=left, top=\vss,bottom=] {\vbox{#1\blank #2}}} \definefont[BigFont][SerifCaps at 80pt] \definefont[SmallFont][SerifCaps at 30pt] \setuphead[chapter][number=yes, numberstyle={\BigFont\strut}, textstyle={\SmallFont}, page=right, textcolor=blue, numbercolor=red, header=empty,footer=empty, command=\MyChapterCommand] 看了代码可能你会笑,其实我TeX学得特傻,什么东西都用box去控制,因为box是最简单的,但是不管如何,它能工作,而且工作得很好:
section 和 subsection的样式也简单定义一下,标题数字缩进到margin当中,采用深红色(Hans提供的rgb-cmyk.pdf中可以自己找你要的颜 色所对应的rgb或者cmyk数值),Myriad Pro字体。更重要的是,我们指定偶数页开始一个section,因为我们刚才说过,我的文本内容,是一个专题一个横跨页面。subsection仅仅分 割最后出版物列表用,不用太夸张,用文本颜色就罢: \definecolor[seccolor][r=.8,g=.2,b=.3]
\setupinmargin[align=inner] \setuphead[section][page=left,alternative=inmargin, style={\ss\bfa}, color=seccolor, continue=no] \definecolor[textcolor][b=.5,r=.2,g=0] \setuphead[subsection][alternative=inmargin,style={\ss},color=textcolor] 效果如下:
然后呢?我以前说过,header, footer对于type block来说,不算什么,但是一个糟糕的header或者footer的设计,就会让其他的努力付诸东流,所以一定要谨慎为之,开始我们的页码吧: \setuppagenumbering[state=start]
\setupfootertexts[margin][][\hfill\pagenumber\hfill] \setupfootertexts[section][][][chapter] ConTeXt中,复合字比如first-hand之类,都用first||hand表示,hyphen会自动加上,可惜的是,默认采用en-dash(半方破折号)而不是hyphen(连字符),所以需要改过来: \setuphyphenmark[sign=-]
目前ConTeXt有个bug,这样设置不行,得硬来,不久以后开发者会更正: \def\compoundhyphen{-}
文章中会包含引用,所以需要设置一下引用环境,我希望使用大号的Sans Serif字体,并使用hanging quotation mark效果,如下: \setupquotation[style={\ss\bfa}]
产生的效果如:
最后定义一些有用的命令,这些命令都是写个人申请材料时常常用到的。 第一是履历,我们叫 information,每个information之间,我们还空出多一点的距离,以便区分,如下: \definecolor[infocolor][g=.2,b=.2,r=.9]
\setupinmargin[1][align=inner, style={\ss},color=infocolor] \def\startinformation#1{\vskip12pt\margintext[1]{#1}} \def\stopinformation{\par} 这个时候,你大致能看出我前面设计layout布置那么大margin的真正原因了,因为我的履历标题是缩进到margin里面的。同样,履历的信息往往会一个项目分很多条目,我们再设定一个event: \setupinmargin[2][align=inner, style=smallcaps]
\def\startevent#1{\margintext[2]{#1}} \def\stopevent{\par} 效果大致如下:
第二是图片,专题主要介绍我做的项目,单纯的文字介绍当然没有意义,所以一个专题得插入三四张左右的图片,让读者有个更直观的认识,这时你就更知道为什么我设置如此大的margin了: \definefont[DescriptionFont][Sans at 10pt]
\def\myinmargin#1#2{% \useexternalfigure[#2][#2][width=.15\Pagewidth,frame=on] \inmargin{\black\externalfigure[#2]} {\DescriptionFont\setupinterlinespace\black #1\par} } 这里有两点需要注意的,一方面,字体要和正文字体区分开,同时,行距要重新设置,因为字号变化了,这个是废话,但是我还是得罗嗦。另一方面虽然设置了宽裕的margin,但是不能全占用了,否则就会造成出血,把页边弄脏了不说,更会造成版面的紧张感。所以最终的效果如下:
第三是出版物列表,当然正统的CV那样的列表未尝不可,不过可以做得更加花哨一些,也就是把出版物的封面也列上去,至于出版物之间的间距,还是通过可伸缩距离以及盒子的高度来实现的(我说过了,我很笨,只会用盒子,你爱鄙视就鄙视吧): \def\listpaper#1#2{\framedtext[frame=off,offset=none,align=right,height=27mm,width=\textwidth]
{\inmargin{\black\externalfigure[#2][width=.13\Pagewidth,frame=on]}#1}\vfill} 效果如下:
最后两件事情,就是封面和目录了。挑选自己喜欢的图片插入做封面: \definelayer[cover][x=0mm,y=0mm,width=\Pagewidth,height=\Pageheight]
\setlayer[cover][x=0mm,y=0mm]{\externalfigure[cover][width=\Pagewidth,height=\Pageheight]} \setupbackgrounds[page][background=cover] {\SmallFont\setupinterlinespace\setupalign[right]Application\blank Matters} 这个是通过设置一个和页面尺寸相同的layer,并且把layer设为背景而实现的。layer是ConTeXt中的一个比较高级的功能,相当于 InDesign的text box,可以指定绝对位置,对于InDesign用户而言这个功能是嗤之以鼻的,恩,就像正统的 Unix 用户会对Steve Jobs居然去年能把Mac OS X的Spaces都大肆宣扬一番嗤之以鼻一样。效果:
顺便说一下(或者叫做自恋一下), Matters在这里是双关语。 最后就是目录,这个是我一直在考虑的一个事情,一般TeX中都是固定的一成不变的目录格式,怎么把它弄得更好看一些呢?怎么变化一下,比如把纵向排 列的目录变为横向的呢?我和ConTeXt的开发者交流过,他们给出了异常复杂的Lua脚本实现。不过话说回来,如果一个东西都需要程序去实现了,那普通 人肯定做不了,所以这里给出我的一个很简单的实现: \newcount\chapcounter \chapcounter=0
\def\tocchap#1#2#3{\hskip0pt plus 0.02\textwidth minus 0pt\advance\chapcounter by 1 \framedtext[height=\textheight,frame=off,width=.48\textwidth,offset=none]% {\framedtext[height=.7\textheight,frame=off,width=.48\textwidth,offset=none,top=\vss,bottom=]{{\red\BigFont\setupinterlinespace #1\strut\par}{\tfb\setupinterlinespace #2\strut\par}}% \framedtext[height=.3\textheight,width=.48\textwidth,offset=none,frame=off,top=,bottom=\vss,align=right]% {\placelist[section][criterium=chapter,number=\chapcounter,alternative=command, command=\tocsec]}}} \def\tocsec#1#2#3{{\black #2~(#3)}\par} \def\placecontent{\placelist[chapter][alternative=command,command=\tocchap]} 你们可以由于我用一个盒子套了两个盒子再一次鄙视我,不过这个可以工作,而且工作得很好:
值得注意的是,排列有讲究,为了能够让1,2,3,4等和下面的标题都列在一个基线上,必须加入产生一个字符高度和深度的盒子\strut,否则数字的排列并不在一条基线上。
文章撰写完后编译过程中发现所有的overfull, underfull box,都仔细地检查一遍,耐心做修改,有些需要改变一下文本,有些可能只需要手工设置一下换行位置,这些都是细节,但是,没做好,就糟蹋了全局。 OK,我的故事讲到这里,虽然我上面所述都是非常基本的一些东西,这个小册子的设计也谈不上专业,但是之所以拿出来说,是因为目前的社区风气,丝毫 不会去注重这些细节,大家对安装发行版的自动更新感兴趣,对写入门教材感兴趣,对新引擎感兴趣,但是没有多少人能静下心来慢慢地从0开始一点一点往上设 计。是,国内的人都会做网页,有几个网页能够像BBC或者NYT等媒体的网站那样注重设计?对,国内的人造手机造MP3都在行,有几个能出 iPod/iPhone这样的设计?我不否认内容的重要性,红楼梦即使是个混乱的手抄本,依然能够流传千秋万代,一部差劲的作品,包装时即使让 Hermann Zapf监制排版,也会很快从历史中洗去。但是,既然作者们自己选择用LaTeX或者其他TeX工具排版,就应该以一个排版者的视角去审视自己的作品自己 是否满意。如果自己都无法满意自己的TeX排版出来的文档,那还不如写写手稿让专门的人去排去。TeX社区向来是个注重文档的社区,每个功能都会详细记录 在案,一些文档类的文档,比如beamer, pgf,作者都能洋洋洒洒写下五六百页的使用说明,但是不管什么重量级的文档,即使文档自身注重版式设计,又会讲述多少重要的概念原理以及实际的应用 呢?beamer文档虽然优秀,但是当中提供的幻灯片制作的观念是不可取的,lshort虽然广为流传,但是其中只会指导用户丝毫不注重排版设计 (lshort本身的排版也非常糟糕)。目前也只有类似Memoir Class文档,ConTeXt Reference等文档,是用专业排版的视角,来观察和记录整个TeX行业的动向。我们TeX社区需要读这样的文档,也需要有人来写这些文档。 本年度最后一篇blog,写于9月9日凌晨。 PS,刚才发现上面截图的字体渲染有些问题,只有第一个使用 Adobe Reader截的图片没有问题。哎, poppler引擎还真是破,bug一堆啊。不重截了,过两天我会把这个文档挂到网上,读者们可以自己看PDF文件。 August 28 时间就是这么被打发掉的给一个朋友做一张生日卡片,理所当然地用LuaTeX和ConTeXt。
设计过程很快,编辑也飞快,不到三小时就出炉了两张校样,一张是底部的用MetaPost画的图片,一张是顶部的文字。 然后就是把两部分合并起来用LuaTeX编译一遍,心想万事大吉。 然后就很郁闷地遇到了两个LuaTeX中的bug,一个存在于MPLib,一个存在于PDF Backend。 于是我熟练地编译了一遍带调试选项的LuaTeX,手工调cweb和web程序, 经过三天时间的调试,大致找出了问题的所在,寒。 曾经有宅男说过:Playing with TeX is better than spending time with your girlfriend, because it's so beautiful, [花时间折腾TeX比花时间陪女朋友更值得,因为TeX是如此的美妙。] 我就属于这类又白又宅的人吧。 June 05 不能哭....不管模考成绩多么烂,
不管一个月的笔考复习时间多么不足,
不管大白本还有一本的阅读没有做完,
不管临考前有10个红宝的list没有背诵,
不管阅读铺天盖地稀里哗啦地错,
不管看到所谓的类反大全有多绝望,
不管手捧红宝那反胃的感觉,
作为男生,可以郁闷,可以抓狂,可以喷血,就是不能哭.
PS1. 别听班里那堆模考考700多的人胡扯,你们考你们的700去吧.
PS2. 单词就是王道,不到最后一刻,坚决不放下红宝.
PS3. 别去羡慕yb之类的两个section阅读只错一两个的人,你是她么?
PS4. 多搀扶老太太过马路,以增加人品.坚决不跨区,我们要道德,要道德....
PS5. 看02年以后的题,类反新词连篇啊,使我产生了背词典的欲望......怀疑自己是不是被打击得有精神病了? May 10 TeX相关软件中文字体嵌入一个存在已久的问题水落石出,兼谈不拘小节的中文字体设计低于18周岁的小朋友们请不要看此文,会被吓到的。
如果你和中国的字体公司有联系,请把我所描述的问题转告给他们。
考完作文后,在上海小歇,除了吃喝玩乐加上逛街还有被导师虐着写文章,自己看两眼G词以外,就是在尝试解决中文TeX用户几年来一直抱怨的关于TeX产生的pdf文档中文字体看上去太细的问题。 几年来,从来没有人认真地研究过这个问题,南韩的用户都觉得dvipdfmx产生的pdf质量不错,因为他们使用的随KTUG定制的发行版发布的字体本来就比较粗,而中国的用户如果使用Windows下的中易公司的宋体,即simsun,则相当不能忍,方正公司的字体,比如书宋,则稍微好一点,但怎么也好不过Adobe公司的OpenType字体Adobe Songti Std Light。若干年前,jjgod同学写过一篇文章比较了几十个中文字体,他是使用了dvipdfmx输出的结果的视觉效果来评价字体的质量,结果一个相当好的字体,方正博雅宋,由于在阅览器中显示过细,被他认为不如方正书宋。而几年以后,这个问题被泛化,当今,TeX正在走向国际化,如今的TeX已经支持Unicode和各种高级的字体格式,也全面从dvi时代过渡到pdf时代,目前两大炒作得很热的TeX引擎,都和dvipdfmx扯上了关系。XeTeX直接使用了dvipdfmx的一个变种,xdvipdfmx来产生pdf,而LuaTeX,则用dvipdfmx的代码替换掉部分产原先pdfTeX的代码,来产生pdf。这就导致,目前所有的先进的TeX系统,在CID字体嵌入方面的代码,是近亲关系,所有产生的中文pdf,都虚得离谱,LuaTeX尤甚。 我在去年和今年,一直使用LuaTeX引擎和ConTeXt格式,写各种包括论文以内的文档,在使用的过程中,发现了不少问题,就开始和开发者交流。几个月来,报告了不少bug,其中一些,还给出了补丁。此外,我和ConTeXt开发者Hans等TeX专家讨论,试图让最新的ConTeXt和LuaTeX来支持中文排版。其他事情,还包括为ConTeXt的用户们提供FreeBSD操作系统的TeX二进制文件。因此,我和LuaTeX与ConTeXt的开发者(其实是同一拨人),有很频繁的联系,也彼此保持着不错的关系。开发者们也很勤快地修复着我汇报的各种bug,这也使我能够很好地使用这些软件进行各种文档(学术论文、技术文档)的排版。今年考完作文后,我暂时可以小歇一下,同时由于LuaTeX的开发者们刚刚搞定了一项新功能,mplib,也有空余的时间。因此,我们就有时间来讨论和解决这个由来已久的问题。 我一开始写信给LuaTeX的开发者,Taco Hoekwater,之所以不写给dvipdfmx开发者Cho而发给他,因为我和他熟,而且Taco这两年来,勤勤恳恳地写代码,我比较相信他解决问题的效率。有时候一个bug提交给他他不到几十分钟就已经fix了。结果Taco看了好几天,一无所获,于是,Taco帮助我把信转给了当今世界上几个重要的大牛,准备来专家会诊。这个会诊的医师阵容庞大,技术高超,随便举几个人:dvipdfmx开发者Cho,LuaTeX开发者Taco,外加XeTeX开发者Jonathan Kew。不久以后,话说解铃还需系铃人,Cho找到了一个可能的问题。他把pdf文件解开,仔细观察cairo输出了LuaTeX输出中字体嵌入部分的参数,发现某个数值StemV,相差悬殊。使用编辑器修改解开的pdf,讲StemV调整到相同,两个pdf文件顿时就差不多了(虽然还有些许差别,但是这个就是最重要的因素之一)。
问题顿时有了突破性的进展,比较LuaTeX产生的pdf和dvipdfmx产生的pdf,发现LuaTeX的StemV数值大得多,不久Taco就发现,这是LuaTeX的某个bug导致的。该bug当天就得到了修正,这样产生的pdf就和dvipdfmx一样了。但是修正以后事实上得到的pdf依然很细。cairo产生的pdf文件,一律取成了相同的默认数值,所以看上去宋体表现还不错。而dvipdfmx的TrueType字体的StemV数值到底是怎么产生的呢?它经验性地依赖于一个拟合公式: stemv = (os2->usWeightClass/65)*(os2->usWeightClass/65)+50 其中,os2->usWeightClass是字体中pfmtable中的信息,是一个数值。这个数值在字体设计的时候就被定了下来,一般和字体的weight有关:比如Light就是300,500表示Medium,而800则表示Extra Bold。该数值决定了StemV的数值,也就是说,如果这个字体越粗,那么StemV数值就越大,在阅览器中渲染,就会越虚,合情合理。但是当我们打开中易公司的中文字体,方正公司的字体,还有华文字体,我们失望地发现,他们都取了同样的数值:400。 于是这个问题,如果扯开拟合公式本来结果就偏大不说,其他的就应该怪罪到中文字体设计上来了。像Simsun字体,并不比AdobeSongStd-Light粗多少,甚至更细,取一个400的值本来就不合理。其次,中易字体不管黑体还是宋体,都取相同的数值,怎么都说不过去。相同的也发生在方正字体上,方正宋黑,方正书宋,小标宋,也都取相同的数值。这个基本上是不可能让软件来自动判断的问题,本该是字体公司仔细勘酌的,现在却被信手赋值。按照现在的状况,软件不可能自动判断这个值,使得黑体就是比宋体取值大。 类似的中文字体乱设参数的例子还有很多,此前yindian同学,提到了XeTeX的一个bug,导致没有办法产生正确的pdf,后来发现这个根本不是bug,完全也是由于字体设计公司乱设字体参数导致的。后来jjgod同学hack了一下xdvipdfmx总算差不多解决该问题。该问题的详细信息,请参考XeTeX的邮件列表,该主题内容在http://tug.org/pipermail/xetex/2007-October/007536.html,和后续的讨论。 中文字体设计不拘小节也让我也想到了另一个问题,用先前,中文用户使用XeTeX,需要频繁地切换中英文字体,后来XeTeX开发者不得不提供了一个机制来让字体切换变得不那么折腾。而我和ConTeXt开发者交流中文排版问题,还要煞费苦心地讲怎么切换,需要编程实现复杂的虚拟字体机制来实现。这个都归罪于中文字体普遍地缺乏高质量的英文部分,仔细看看simsun或者simhei的英文部分,就可以看出有多么夸张了。 如果说这个问题的原因是中国的字体公司,向来没有很好的英文字体设计基础,同时对这个问题也不加以重视,那么中文标点的设计,就没有丝毫的可以开罪的地方了,这个问题直接导致用户和开发者都非常为难。我们知道,高质量的中文排版,标点并不是占据一个中文字符的位置,而要比中文字符略小。同时,标点之间需要存在压缩,比如逗号后紧紧跟随的关门引号,需要使用类似kerning的特性把两个glyph的距离减小。另外,类似破折号和省略号,其实应该放在一个glyph中而不应该分开。而现在所有的中文字体的糟糕程度,竟然到所有的标点符号都占用一个中文字符距离的程度。本来这个问题如果中文字体设计得当,使用默认的排版算法,就基本上能够解决一般的中文的排版问题,而现在糟糕的设计就使得排版软件的设计难上加难。首先我们需要重新定义一系列的新算法和新规则,然后需要手工赋值去确定标点的大小和两个标点连在一起时候的压缩程度。更麻烦的是,不同字体中的相同的glyph,比如逗号或者句号,往往会在这个box的不同的位置,大小也会千差万别。调好了中易宋体的冒号和开门引号,把相同的数值使用到中易的隶书中,顿时两个符号就会挤在一起,这就使得如果不针对每一个字体仔细调整,高质量的中文排版就几乎不可能。我寒假和ConTeXt的开发者交流中文排版问题时,这个麻烦搞得头都大了,而这个问题本来就是该在字体公司设计字体时就解决的。 排版软件的开发,永远不是一个软件的事情,它牵扯到政府规范,字体设计,文档标准和字体标准的制定。往往如果排版软件不能做出令人满意的结果,很可能是由于其他非排版软件的因素造成的。Adobe或者LinoType等大公司出品的英文字体,往往都会有较高的水准,正是因为设计者已经仔细调整好字体中的各项参数,使得用户使用排版软件默认的方案,就能够做出很好的作品,偶尔遇到需要的glyph找不到,或者某个kerning长度不理想,打开fontforge之类的字体软件,也能方便快速地调校从而满足自己的需要。中文字体的设计,离开这个标准还很远很远,有很长一段路要走。
文章的最后,感谢参加专家会诊的几位TeX开发者,同时,也要感谢为我这次汇报问题提供大量帮助的同学,他们是lyanry同学,水木上的yakun同学,这两位同学帮助我完成了大部分的bug搜集和汇报工作,尤其是lyanry同学,帮助我生成了许多测试用的pdf文件,他们的技术工作,使得留给我做的仅仅是把这些资料写成英文然后和开发者交流,整个过程就像写GRE作文那样简单。 April 15 喷血听某大牛说,作文准备至少要花20天的时间,其中10天用来写issue,3天用来写argument,然后5天用来背各种各样的材料,剩下2天,一天用来哭,一天用来吐血。
很幸运地告诉大家,今天写issue的时候喷鼻血了。话说我还有点晕血的说,嗯。 April 10 续日程表六月->期末复习(事实上是从头学习被我荒废掉的课程)
七月->实习+被虐
八月->翻译一本学术著作(还是被虐)
九月->托福
日程表直接排到国庆节,任何一件事情都不可能在一个月解决掉,这两个星期写Issue写得都快疯了。所以大家不要用各种各样的的理由让我的生活充满各种各样的戏剧性的意外,我很脆弱的。
准备作文期间,发现思想史上很多话和观点真的很经典,简直就是直接为issue准备的。以前上彭刚老师的课的时候没有认真做笔记,现在后悔啊,还得上wikipedia重新查:
alfred north whitehead:The safest general characterization of the European philosophical tradition is that it consists of a series of footnotes to Plato.
Bauman's Modernity and the Holocaust :For him, modernity — which he marks out by the opposition of order on the one hand and chaos on the other, possesses an inherent element that serves to circumscribe social life's ultimately aporetic (that is, indeterminate) qualities. This contention led him (in Modernity and the Holocaust, 1989) to make the argument that the Holocaust, contrary to being history's best example of barbaric regression into pre-societal animality, was in fact confluent with modern principles and deployed many tenets of modern rationalism which, in other spheres, Western society is unequivocally proud of.
Machiavelli (The Prince) :According to Machiavelli, the greatest moral good is a virtuous and stable state, and actions -- no matter how sordid or inhumane -- to defend can be morally justifiable. It is imperative that the prince be willing to do anything necessary to maintain power; however, Machiavelli asserts strongly that above all, the prince must not be hated. Blaise Pascal:Man is but a reed, the weakest in nature, but he is a thinking reed. March 23 Roadmap-> No.4-9 (Finished)
-> AW Preparation (In progress)
-> 90-94 & 95-99 (May)
There being no time to lose, I should be hurry. December 31 我的2007我的2007 流水账,日期只是表明大致发生的时间。 一月初,和zzbb商讨人行为模拟这个项目的事情。 寒假,就人行为模拟的研究中遇到的一些问题,用邮件"骚扰"很多学者,其中的一些让我体验到了国外一些严谨的学者的科学作风。对比来看,国内的研究太虚伪了。 三月,Tips历经寒假一个多月的算法研究和开学半个多月的图形界面开发(感谢wyb),终于做到实用的阶段。开学后寒假所有的呕心沥血完成的工作很容易地被江亿毙掉,并且和zzbb中止了这个研究项目。这个是我参加的第一个科研项目,我在这个项目中买到很多教训。 四月,听yb谈学分积的重要性。我当然知道它的重要性,不过我不是你啊......:)当然我也不会像其他人那样使用不正当的手段去获得一个好的学习成绩,虽然这样的手段在清华依然非常普遍。 五月,为了完成建筑环境学课程的作业,为DeST组开发了一个重要的程序5S(Sun Shadow/Shine Simulation System),比原先DeST组的算法快一个数量级。不过由于不喜欢和DeST组合作的态度,该程序最终没有被DeST采纳。因此我索性也把5S的源代码开放了。不过国外的一个搞建筑模拟的学者被我在5S当中的对z-buffer算法的优化大加赞赏,在他们的产品当中使用了一小部分的代码,并且给出了我假想但没有实现的一个比先前更高效的算法的实现。 六月,混乱的考试和复习。还好,26学分,比30学分好应付。 七月,建筑环境学答辩,犯下巨多演讲错误,尤其是被朱奶奶拍后不爽反拍,使得建筑环境学课程成绩降低至冰点。 暑假,看迪卡尔的《谈谈方法》 九月,16学分的课,嗯,好应付,比26学分爽多了。 十月,在wyb的导游下,和yb去天津玩。 十一月,终于通过3000米测试,遗憾的是貌似心脏跑出了点小问题,校医院那堆废柴怎么也检查不出来出了什么问题,一个劲地说我的心脏好着呢。 十二月,背红宝已经失去意义,改背逆序和巴朗。 名词解释: 其他很多的名词解释,可以在先前的博客中找到。 人行为模拟:希望使用计算机来模拟人在建筑物中的行为的一个尝试。 December 24 祝福December 01 关于版式设计的讨论[20071201]OK,这次我讲的主要的话题,是版面的设计,这部分的内容纯理论,主要参考的文献是TEOTS和Memoir Class的文档。本文相当于对于这两篇文章的翻译和梗概和自己的一些理解,当然也会在上面两本书的基础上,增加一些对于中文排版的见解。
本文需要我花比较多的时间去写,我每两周会更新一下这篇文章,最后可能是一篇5万字左右的文章(甚至更长),所以请各位耐心等待。同时,由于我本身并非学这个的,写这篇文章纯粹是兴趣使然,所以希望各位大牛们指出本文当中的错误,这样不但对读者负责,也可以修正我原先的错误观念。每次更新后我都会更改标题后的日期,请各位持续关注。
书籍版面的设计,承载着诸多的重要内涵,首先,它作为独立于书籍内容之外的方面,能够给人以理解书籍内容以外的感觉。好的书籍设计,能使人在阅读时候保持高效率,同时,优美的设计,能使人对书籍爱不释手,而增加人阅读的愉悦感。其次,书籍的版式设计,常常能够恰到好处地和书籍的内容保持某种联系,能够使得书籍设计本身就具有一定的功能性,比如,设计古文类的教科书,适当增加行间的距离,留大margin,就可以方便学生标注和做笔记。
对于书籍的形状,大多以长方形为主,很少有书被设计成苹果形状的或者海星形状的,除非一些婴幼儿读物。同时,大部分的书的高度要大于这本书的宽度,这其中的原因,是满足人舒适的要求,这样的书捧着比较舒服。不过如果你需要设计的是电子文档,就需要另当别论了,就我个人的感觉而言,电子书的长宽比例,需要和显示器的比例相协调,全屏的时候算作一页,就会使得翻页和阅读体验比较愉快。同时,个人认为,即使是纸质的书籍,由于书籍形状的设计,需要为内容而服务,在一些情况下,横向的页面也未尝不可,比如一些画集如果采用横向的形状,就能比较好地符合图片本身的比例。 话说设计者,可以选择任意形状的长方形,不过事实上由于不同大小的纸张本身的价格就不相同,设计者往往只能在业界标准的纸张大小上小做文章。举个例子,US letter的大小为11×8.5英寸,如果设计者硬需要12×8英寸的纸张,相应的成本就会贵很多。所以,限定一个固定的业界标准的纸张大小以内以后,设计者只能在书籍的长宽比例上面做文章。在很多情况下,某些比例的矩形大小,要比其他比例的矩形,看上去顺眼得多,这些比例,往往来自自然界,比如生物得某些比例,或者人类长期以来的一些习惯。例如,日本的木版画的某些比例:Hoso-ye(2:1),Oban(3:2),Chuban(11:8),Koban(sqrt 2:1),又比如印度的某些画作,常常使用1.701:1或者13:9这样的比例。这些比例不但常常在独立的作品当中出现,也融入了书籍的版式设计当中。在中世纪的欧洲,书籍的比例往往介于1.25:1到1.5:1之间,两个常用的比例,是4:3和3:2,因为它们之中的任一个比例的纸张对折以后,就产生了另外的一个比例,所以这样的比例在那个年代被大量使用。到了文艺复兴的时期,人们普遍喜欢比较高的书,有些书甚至会到达1.87:1这样的比例。ISO标准规定的比例,是1.414:1,这个比例的奇妙之处,是该大小的纸张对折以后,依然保持相同的比例。A系列的或者B系列的纸张,比如A4(594x481),都被广泛应用于生产中。如今书籍的比例的选择,大多集中在9:5到5:4之间,选择何种比例,有时候也需要为书籍的内容服务,比如有些书籍有很多比较宽的图表,或者需要或者本身就在页边有大量的标注说明,这时候,就需要选择比较宽一些的比例了。 有些书以插图为主,这个时候插图的比例就会影响到书籍的设计。如果插图大多以正方形为主,pi:e=1.156:1就是一个比较合适的比例。而e:pi=0.864:1这样的比例,就比较适合作为4:5比例的横向照片集的比例。 常用的比例所用到的某些有趣的数除了自然数底e=2.71828和pi=3.14159以外,黄金分割比例phi=(1+sqrt 5)/2=1.61803也很常用,这个比例的来源,可能是希腊的雕塑艺术。数学读物看多的同学,可以说出黄金分割比例的很多故事,比如phi+1=phi*phi,phi-1=1/phi等等。学过计算机程序的人可能对产生Fibonacci数列很熟悉,因为这是一个典型的递归或者循环的问题,Fibonacci数列当中的每一个数,都是前两个数的和:1,1,2,3,5,8,13,21,34,55,89...这个数列的相邻两个数的比值的极限,也是黄金分割数。 一旦书籍的形状确定了以后,接下来要做的就是确定书籍的spread。设计spread的形状,除了为阅读方便服务以外,也和美有直接的关系。一般而言,熟练的阅读者,可以使用眼睛的余光来看到整行的内容,所以视线长时间做垂直的运动,因此,减小行的长度,而增大文本的高度,就能使得书籍阅读起来更加顺畅。Spread当中有许多重要的元素,最主要的当然是typeblock,除此之外,folio,header,footer之类,虽然这些次要的元素并不重要,但往往成就或者毁灭一本设计精良的书籍。同时,设计这些元素,都是需要考虑并排两页的整体效果。在TEOTS和The Memoir Class当中,作者们都给出了一些范例和它们使用的比例,并且有比较详细的介绍说明,强烈建议在设计一本书以前仔细参考这些范例。在这里我只提一个设计的范例,即Gutenberg的很多书籍的一个非常固定的模式,请上这个网站查看http://upload.wikimedia.org/wikipedia/commons/thumb/2/2d/Van_de_Graaf_canon_in_book_design.svg/180px-Van_de_Graaf_canon_in_book_design.svg.png。这个模式可以使用在任何的长宽比例的书籍当中,非常实用。 Typeblock是页面主要元素的所在地,它包括了一段一段的文本,标题,图表等等。当然,现在我们仅仅讨论只包括文本的typeblock。大家知道,书籍一行所包含的打印符号不能太多,也不能太少。如果过多,就会使得阅读时产生疲劳和厌倦的感觉,如果过少,则会使得句子甚至单词支离破碎,同时无谓地增加hyphen的数目,影响阅读。一般来说,66个字符是最理想的状态,60到70都在可以接受的范围。如果是双栏的页面,可能45个字符比较理想。TEOTS当中,给出了一个非常实用的计算行宽或者字符大小的表格,即把某种字体和字号的小写字母排列以后计算其宽度,比如180pt,然后就能够查出26pc为比较理想的行宽。其次,行和行之间的距离的设置也非常重要,太紧容易让人阅读时候跳行,而太松则可能增大了视线的运动距离,导致行和行之间的句子理解不连贯。一般来说,一个10pt的字体,往往会增加2pt的空白,所以常见的leading为10/12pt。很多时候,我们建议行距在整本书籍当中,都应该保持一致,保持一种固定的韵律。更极端的想法认为,图表和标题等,也应该使用整数倍的正文行距,使得阅读的时候韵律相同,左右两页的文本对齐,这样的设计尤其在纸张条件比较弱的情况下尤需采纳,因为页背面的文字有可能由于纸张过差而显现在页面的正面,如果行距交错,则阅读是相当难忍的。当leading数等于字体大小的时候,比如10/10pt,则我们称这个字体被设置solid了,这个可能导致上下两行的字体挤在一起,比如上一行的p会影响到下一航的b或者d,这个在大多数情况下需要避免。另外,leading的设置页需要考虑字体本身,比如一些大x-height的字体,或者字体本身比较粗,就需要比较宽裕的leading。 (未完,待续) November 09 推荐几个和字体排印有关的网站由于本博客所有的文章都会是原创的,不会转载或者翻译别人的文章。而同时我对于目前关注的几个方面:平面设计,音乐影视,苹果等都是外行,总没有专业的人士的博客写得深入,所以推荐大家常常浏览一下这些网站,还是很有必要的。这次推荐的几个网站,都是关于字体设计和排印的。 http://ilovetypography.com/ 该网站从本年的八月份开始发表一系列关于字体的文章,文章的内容比较浅显易懂,对于诸多的概念都有详细的解释,而且比较准确,所以是我最推荐的博客之一。 http://www.typophile.com/ 这个网站上内容非常非常丰富,有论坛,wiki,博客等等,大多的讨论者都有很深的功力,我在上面从来不敢发言,只能潜水...... http://www.upshine.net/type/ 这个是一个建在英国中文博客,讨论英文字体为主,博者都是字体爱好者,该博客经常有一些字体设计师的独家访问对话,非常期待。不过最近好像更新慢下去了。 http://www.duesiqn.com/ 也是一个中文的博客,从文章看,博者有很丰富的字体排印经验,在中文排印上也有自己独到的理解。 October 21 Al Gore获得诺贝尔和平奖苹果公司董事,美国前任副总统,Al Gore由于他长年在环保方面的贡献,在今年刚刚获得了诺贝尔和平奖。同时他的奥斯卡获奖影片《An Inconvenient Truth(来之不易的真相)》(国内翻译成难以忽视的真相,台湾翻译成不愿面对的真相),也给观众留下了深刻的印象。在这部记录片当中,Gore的某场演讲和他平时的回忆成为两条主线,详细地并且也是科普地向民众介绍了全球变暖的来龙去脉。该记录片以发人深省的立意,详尽的科学数据,Gore平实的演讲风格,加上苹果公司高超的技术,获得了好评。记录片获得奥斯卡的最佳记录片奖,加上诺贝尔和平奖,一定使得Gore的观点深入人心,同时也对当今的美国政府在京都协议上产生较大的压力。
Gore卸任以后除了大家熟知的在各个城市演讲以外,另一个有趣的事实是他加入了苹果电脑公司(今为苹果公司)的董事会,当时的苹果,受到各个绿色组织的质疑,而Gore的加入,也扭转了苹果公司长期忽视环保的局面。在An Inconvenient Truth当中,Gore使用Apple Keynote制作的幻灯片让我们体验到了高手级别幻灯片那行云流水,动画特效和内容主体紧密结合的境界。同时,他随身携带的苹果电脑频频上镜,也为苹果公司做足了广告。整部片子也使用苹果电脑后期处理,并且有一支由苹果公司高级工程师组成的队伍,提供技术上的支持,使得Gore可以实现任何他所需要的效果。
苹果公司对此事件在官方网站头版予以如下评论:
Al has put his heart and soul, and much of his life during the past several years, into alerting and educating us all on the climate crisis. We are bursting with pride for Al and this historic recognition of his global contributions. October 19 Univers五十周年随着Helvetica: The Film的播映,全世界的设计师庆祝Helvetica的50周岁生日的热情激增。每天都可以在很多的网站上面看到和Helvetica相关的信息。但是很多设计师们却忽略了今年也是另外一个著名的非衬线字体的50周岁生日,而且这款字体的渊源和Helvetica相同,并且也是西方视觉文化的一个重要标志。这个字体叫做Univers。
1956年,著名的字体设计师Adrian Frutiger(当然,当年的他还是一个学生)开始设计一个新字体。一年以后,也就是1957年,该字体由Frutiger的所在的Charles Peignot的公司释出。本来Univers将被设计成Futura字体的一个替换,因为当年的Peignot在把公司中所有的字体产品转到Lumitype机器上,不过Frutiger从Lumitype机器的技术中意识到了设计拥有不同weight和style的字体族的可能性和潜力,所以他说服老板,从Akzidenz Grotesk,同时也是Helvetica原形的字体中获得的设计灵感,设计出一整套共21款的字体族。该字体族的每一款都是使用了Frutiger自创的“Frutiger数字命名法”命名,该方法用两位数字来标定一个具体的weight和style。比如Univers 25,代表该字体族的Ultra Light, Normal。这个命名法到后来也被用来命名他的其他字体。 除了包含众多的weight和style以外,Univers的另外一个特点,就是具有很强的易读性,容易在很远的距离和光线条件不好的地方被辨认出来,这就使得它广泛地被用作各种标志字体。应该说,Frutiger设计的很多字体都如此,比如以自己名字命名的Frutiger字体,就被广泛地用在美国的公路路标上面。 二十世纪六七十年代,Univers被广泛应用,Swiss International Air Lines把该公司的所有标示从Futura改为Univers。其他的一些公司,比如Deutsche等多个银行,也广泛使用该字体。一直到今天,Univers依然在诸多的地方被采用,诸如Royal Air Force, Apple公司等,使得该字体已经成为西方文化的重要标志。 October 17 我开始写博客我一直是和时代脱节的一个人,对周围发生的任何事情都漠不关心,而周围的人和物却悄然发生着变化。不知不觉,信息时代浪潮的人们很少再会像90年代甚至80年代这么看usenet[新闻组],灌mailling list[邮件列表],挂irc[聊天室],更多地是选择从博客、个人主页(或者校内?)来了解周围的事物,这突然使得web2.0[歪脖二点零]这个莫名其妙的概念一夜间红了起来。我的同学都有博客,即使是我认为不像有博客的那一类人,甚至我的同学的猫都有自己的博客。因此,我觉得我得跟上时代的潮流,好好学习新的计算机知识,使得自己不至于比猫还要另类。八月份就和几个朋友说过要开博客了,一直没有动静,主要原因是觉得自己很难写出有意义的东西来,对能让自己的同学们在关注自己博客的时候有所思考和收获而不至于浪费时间不太有信心。不过后来有空叩拜了下徐静蕾的博客,突然自己信心陡增,我觉得我还是有写博客的能力的..... 好吧,不废话了,这是第一篇post[文章],讲一下以后的安排。首先这个地方不会来谈论任何和学术或者学业(空调,算法或者GRE[研究生入学考试])相关的东西,因为我已经受够了,如果读者确实white and nerdy[又白又宅],可以自己去找朱妈妈(朱颖心),高爷爷(D.E.Knuth),玉米糊(俞敏洪)等大大的书来看。相反在这里,更多的可能是和 |