自《字体迷的显示字体推荐》(以下简称“原文)”一文已经过去3年半的时间了,对字体方面有了不少新的认识,再回头看这篇文章时,觉得有很多值得更新的地方,有些甚至是勘误。于是决定再写一篇文章。
时过境迁,很多观点会随着使用的软件和审美观的不同而变化。原文中一上来就说“中文字体我看遍了也只有宋体最适合屏幕显示”,事实上,一者这几年黑体越来越流行,Windows有雅黑,苹果有丽黑/华文黑体,Linux有文泉驿正黑/微米黑,手机操作系统上也大力使用黑体。其二,由于加入了极限论坛,我开始使用和研究gdi++(Mactype)字体渲染,它让字体的美感一下就提高到了一个新的境界。在有Mactype的时候,黑体的美观程度就相当于拉丁的无衬线字体。而事实上宋体之美,或者说原文中提到的“宋体”之美,事实上是局限于ClearType配合点阵宋体,那个严格上来说真的不是宋体。真正的宋体跟拉丁的衬线体一下,在小尺寸下表现能力有限,即使是用Mactype渲染,也是灰蒙蒙的效果,看着吃力。
由于有了Mactype,TrueType字体内建的hinting也可以被无视,OpenType字体同样可以被直接使用。事实上Mactype使得字体的屏幕显示效果大大接近字体真实的效果,很多字体都“化腐朽为神奇了”,从这个意义上来说,字体之间的比拼又回到了字形设计上,而不是依赖于文件格式。但Mactype并不是系统的标配,在很多情况下如果一个字体有良好的hinting,它就有了良好的适应性,这在下文Office ready字体中会提到。
原文中一些错误和值得商榷的地方:
** BitStream字体的含糊命名:
- Incised 901 BT = Antique Olive,它的显示效果也并非“非常接近Tahoma”
- Swiss 721 BT = Helvetica,我居然没有认出来……
- GeoSlab703 = Memphis
- Humanist 777 = Frutiger
- Blueprint
- Maiandra GD
- Sassoon Sans
- Stone Serif
- ZapfEllipt BT
- Optima (GE Optical)
- Memphis
选择屏幕字体的一些标准
- 空间利用。在小尺寸下,字体必须要合理地利用空间,在这方面不用再多说无衬线比衬线的优越性,但即使这样,Gill Sans却依然不如Georgia易读。
在有Mactype的介入下,少数衬线体的确也值得一试,这里推荐Georgia, Cambria, Minion Pro(或者Web Pro)和Times Europa Office。
需要说明的是Mactype的渲染会让字符变粗,这时又成就了无衬线字体的一大优势——字重。在Regular显得拥挤时,很多Sans字体都有比Regular更细的Light版用来匹配。 - 简洁明快。不想用“易读性”这个概念,因为它太泛。简洁明快指的是字体的个性不宜太张扬,尤其不能有一两个字符漂亮得让人每看见它就不由得停下来欣赏一番——这影响了文字内容的转达。Helvetica为什么成功?因为它像空气一样。不过这也是一个见仁见智的问题,因为看久了之后就会习惯的……
举例我现在正使用的Thesis Sans Office,Thesis Sans是很优秀的字体,但它的大写Q的尾巴是悬空的,每次看到,确实会不由自主多欣赏两眼,好在英文中大写Q出镜率不高,可法语就大不相同了。难怪Thesis Sans OT里面有3种关于大写Q的替代字。 - 特色字符。刚刚说了不要字符太有个性,为什么马上就来了个“特色字符”?这里主要是针对几个字符的典型写法上的区别。例如:小写a的单/双层版,小写g的单/双圈版,大写G横杠的处理和衔接,大写I是否带双杠,等等。
单从字符看似乎是这样,实则它们往往是区别Humanist Sans和Geometric Sans的标志。Humanist Sans比较流行使用双圈g(Thesis Sans),Geometric Sans的大写G往往就要更圆润(Neuzeit Office)。另外,Humanist Sans的优势在于独立的斜体,这也是为什么我非常推荐Myriad而非Frutiger,Segoe而非Lucida Grande的原因。独立的斜体用作强调的时候,比伪斜(Slanted)更容易被发现,也显得更有个性(没错,被强调的部分应该要多一点变化)。同样是这个原因,我对Sans Grotesque有点逃避,从而也很少提到Helvetica/Arial和Din。 - Office ready: 4字形。对于屏幕字体来说,Regular, Bold, Italic, Bold Italic是最好的搭配,因为网页字体一般也就只使用这标准的四个字形。这也是为什么近些年出现一个新概念“Office ready字体”(在极限论坛推荐过),主要的出发点就是适合网页显示和Word排版。简而言之,在Word里面可以用Ctrl+B和Ctrl+I来访问。
如果你看上了一套字体,而它的命名未必符合上述规则。这时最好用Fontlab自己修正一下(重点就是在字体信息中合理地勾上“Font is bold”和“Font is italic”),并生成四个TrueType版再安装使用。如果Light是你的基准字重,你甚至可以把它强制定为Regular。具体操作。
但是如果一字体连这4个字形都无法提供的话还是扔了吧,因为网页和Word中都使用的是伪粗和伪斜。
原文提到的字体中,我依然推荐的有
- Avenir:在原文中是比较消极的口气,但现在感觉这个字体非常清晰,强烈推荐。Avenir Next和Avenir在做屏幕字体时没有太大的差异。
- Calibri
- Myriad Pro/Myriad Web
- Georgia
- Minion Pro/Minion Web:一定要开Mactype哦!
- Thesis Sans Office:Humanist风格,偏向柔和。
- Neuzeit Office:Geometric风格,偏向硬朗,跟Avenir有相似之处。事实上它是Din Neuzeit Grotesk演变而来的,也就是减少了Grotesque的成分,合理地走向Geometric。
- Times Europa Office:Times是永恒的经典,但是Times New Roman对人是一种伤害,所以,喜欢Times的,换这个吧。
- Compatil Fact:Compatil事实上是Linotype重金开发的大家族。光拿无衬线版的Office 4字形来做网页显示,就看出制作水平的精良:清晰、和谐、易读。
- 首先确认4个字形符合Office Ready标准(否则用Fontlab自定义)。
- 然后安装,或者用FontExpert的Activate Temporarily Now功能,不好看的话省得卸载。
- 用Firefox选择字体后,打开 www.lipsum.com ,先读那些介绍文字,测试字体能否太有个性而让人无心阅读正文内容,然后点Generate Lorem Ipsum生成没有意义的赘文,可以快速了解字体显示大段文字的屏幕灰度(与字符的空间利用直接相关)。再去浏览几个外文网站。当然用记事本保存一段测试文本也是可以的,只是我觉得那种测试太纯粹,只能测一种颜色,一种尺寸。
好的屏幕字体就像老婆,首先她漂亮,但却不张扬;她有很多动人之处,可能你都已经看习惯,但依然能感受到那种整体美。
你冷不丁想瞟一眼的女生,往往只是一两个特点吸引着你,如果天天看,全方面地跟她在一起生活,你会发现其实她那一两个优点掩饰了她很多的缺点,一如漂亮的Swash容易造成行间重叠和整体灰度不均匀。
更为重要的是,这些优点属于字体本身,它们无法有效地帮助传达文字的内容,这就是为什么这种字体更适合引人眼球的Logo。相反,两个人的生活中不免充斥着柴米油盐,这些内容必须要一颗包容和体谅的心才能装得下——就像一个简约淡定的字体。
从10月14号开始,Firefox B8pre呈现出恐怖的“抽风”状态,我这个Firefox 6年的多用户也从来不敢想像这个浏览器可以这么快。TraceMonkey和JaegerMonkey同时合并到Trunk之后的结果。
在Mozillazine论坛上甚至有人说“历史上第一次,Firefox的Sunspider成绩超过了Google Chrome”。Mozillazine上每夜版bug更新列表中出现了长长一片的绿色,并且90%的Bugfix都是关于JS引擎的。arewefastyet.com上的曲线也是急剧下滑。
我是带着20多个扩展跑Firefox的,根据我自己的体验,速度上的提升非常明显,网页基本上是秒开的感觉,热启动1~2秒。Firefox这回真给力!
相应地有一些扩展造成Firefox崩溃。Adblock plus、Noscript都需要更新到最新版,目前GreaseMonkey/Scriptish只要有脚本运行就会崩溃,只得暂时禁用GM。
用了这么久才知道原来 --interaction=batchmode 才是王道。
1. 编译速度奇快,比正常显示那些编译信息要快几倍。那些编译信息大大拖慢了编译速度不说,反正滚动的速度你也不可能看见太多。真的需要看warnings,查log吧。
2. 跟nonstopmode也不太相同。如果有错误,会尽量调整。例如我有一次就忘了放几张图片,然后出来的结果中图片就有一个占位符,类似于\usepackage[draft]{graphicx}的设定。
☯ 今天才发现 general.useragent.extra.*的键值已经无效了,去Mozillazine打听了一下,外部软件/流氓工具栏往往通过这些键值来在UA上挂尾巴,Mozilla决定干掉这种可能。
不仅如此,连general.useragent.override都可能被取消。也就是说UA劫持将越来越难,可是用户自己想改UA也变得不可能。 但愿Mozilla不会把事做绝。
☯ 给所有的64位控(包括但不仅限于那些无止尽地求xx软件64位版和奔走疾呼64位软件有多么多么好,软件不开发64位就多么多么out的道士们):
Facts:
* The 32bit build is FAR more important.
* The 32bit build performs better as it is much better optimized
* Almost any plugin is available for the 32bit build.
The devs have their reasons for not making the x64 versions official, because it would make absolutely NO sense to hold them back without one or more valid reasons.
Really, there is no need to rush anything. 32bit builds are fine and Win32 isn't going to die tomorrow. One day, 64bit will be standard but this will take time. Not a few weeks, not even a few months. We are talking about YEARS from now because more than 5 years after the release of the first 64bit Windows, the development tools are not even at the same level as their 32bit counterparts.
The transition from 16bit Windows to Win32 took many years and from 32bit to 64bit it will probably take even longer, because the benefits of x64 vs Win32 are far less important than the benefits of Win32 vs. 16bit were. And today's software is far more complex than it was back in the 90's.
☺ 在圆饼扩展被开发回来之前,只有试着去接受进度条。好歹可以改颜色
/*Tab progress color*/
@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);
.tab-progress > .progress-bar,#urlbar-progress > .progress-bar
{background-image: -moz-linear-gradient(left, rgba(255, 255, 0, 0.5),
rgba(255, 255, 0, 0.7),
rgba(255, 255, 0, 0.95)) !important;}
☹ 地址栏的RSS图标被移除了。以后要知道一个站点是否能订阅,只有不时地点点书签菜单,看看“Subscribe to this page”的菜单是不是灰的。算了,自己用得也少,就不评价什么了。
☺ 终于出现能指示上载进度的扩展了。Google Chrome的上载指示是它的一个亮点,很奇怪这么多年来Firefox没有这方面的扩展。今天逛AMO时突然看到:
UploadProgress :: Add-ons for Firefox 
测试有效,虽然实现的方式有点囧——跟下载对话框一样,搞了个上载对话框出来。Google Chrome显示在状态栏的方式显然更方便一些。不过它的代码不算复杂,没准改改就能进入状态栏(或者附加组件栏)。
☹ 圆饼没有了,全部变成了进度条。说实在的饼要客观一点,想知道百分之几,看饼更直观。而这个条条对应的百分之几,跟标签的长度挂钩,从Apptab那么短,到地址栏那么长……
☺ 输入框按End键会换行的bug解决了。
☺ 昨天密码消失,不能下载的问题依然出现。全部重装了一遍扩展,目前正常。另外扩展安装现在已经不需要解压了,全部以XPI文件的方式出现在extensions目录下。并且可以一次安装多个扩展了。
扩展管理器的滚动条回来了(可能不是每个的扩展列表都长得能看见滚动条的吧……)
把javascript.options.methodjit.content设为False能解决Gmail打不开邮件的问题,但是Gmail依然有很多地方打不开。
今天的小时版发现启动速度非常慢,曾经一度怀疑到新加入的Startup Cache去,但是经过反复排查,遗憾地发现是userchromeJS这个扩展拖了启动速度,即使不载入任何脚本,同样把启动速度拖到20几秒。禁用后正常。
Edit: 禁用后也不正常。看似重启Firefox快了,但是彻底关闭Firefox后等待一段时间,再启动(本应该是热启的速度),依然很慢。
但是今天的小时版在浏览器性能方面的提高非常明显,页面载入越来越快。
Bug: Gmail的内容暂时无法打开。不止是邮件,连Buzz,Contacts也一样。但是点击的时候,网页标题会变,只是内容不出现。
新闻:Echofon从1.9.6.6版开始高调地不再支持Ubuntu下的Firefox,号称是没有OAuth。在AMO的Echofon评论中已经出现了多个最低分。很多人都不理解,为什么一个扩展可以在不通知用户的情况下,就停止对一个操作系统的支持,相当多的用户都不屑地选择了放弃Echofon。
什么时候Chromed Bird能到Firefox下去就好了。Echofon被它甩好几条街,还这么牛脾气。
先喊一嗓子:“爱火狐,不跑分!”
-- 性能上有很大的提高,页面载入和渲染速度加快。
-- 启动速度越来越快。
--D2D颇受诟病,大部分用户反映一是“字体不好看了”,二是Flash/Gif很卡。对于用gdi++渲染的我来说,D2D字体是用不着的。但奇怪的是为什么显卡加速目前跟字体渲染绑定在了一起,不能分开设置。
-- Firefox Sync,很多人不喜欢。我是抱着无所谓的态度,比之跨平台跨浏览器的Xmarks,Sync还差得很远,但是我对同步这玩意已经不抱太大希望了——同步永远不可能让你时时刻刻满意,日日夜夜放心。不喜欢Sync的,有两种方法:
1. 不要连接,然后userChrome把图标隐藏掉(这样实际上Sync也不工作)。
#sync-status-button {display: none !important;}
2. 如果还认为这样会增加启动时间等的,我也能理解。不过就只有等第三方编译版了。
-- Tab Candy,又一个新鲜的尝试。咱不能说这玩意就很差,但至少还有很多地方要完善。到目前,我还是喜欢多窗口的方式来在浏览过程中进行“分支”的操作。很多人一样是不喜欢Candy,那没办法,等第三方编译版。
-- App tab。目前仍失败的尝试。至少之前存在的很多扩展,如Tab Utilities,AppTab,都实现得非常好。其一,一个Tab被Pin了之后就会在各个Candy Group里面出现。其二,能Pin不能锁定。我发现Tab Utilities的Pin Tab功能配合它自带的锁定+保护,才能真的实现永远Pin一个Gmail在左边。这一点,Google Chrome一样得考虑锁定+保护的功能。
-- 浏览体验有多重要?对我来说,这两天我总是感觉Firefox最新的Builds慢了一些,主要就是鼠标手势识别不出来(别的Tab在载入,CPU占用高的时候)。我马上就想是不是性能又跌下来了,正因为我不跑分,所以只能凭感觉。我还自嘲地说,是该升级老机器了。今天仔细一查:是因为Mouse Gestures Redox的最新版性能降下来了而已,回到旧版,OK。有时,就是因为这些地方差了这么一点点,对浏览器的体验就会差很多。所以我也试着理解那些因为Google Chrome启动快、跑分快就说它快的人,大家都只是偏执而已。
-- 最近经常跟扩展列表和prefs.js过不去,一旦删除重建prefs.js,则可能碰到这个情况:有些扩展由于版本号问题被禁用,但是除了删除,找不到“启用”的按钮,看起来只有重装。事实上,删除extensions.sqlite文件,重启Firefox即可。
-- Omnibar 冲突: 智能地址栏结果中,只有标题没有地址。已解决, 作者更新,