找回密码
 立即注册
搜索
查看: 10772|回复: 36

[软件] 浏览器对字体的选择行为的研究(更新firefox)

[复制链接]
发表于 2011-10-15 14:54 | 显示全部楼层 |阅读模式
题外话
本帖是上帖的完善版。由于实在是太长,所以还在逐渐更新中。我相信不会有太多人看仔细这玩意,不过无所谓,我本来就是处于自己的兴趣研究的。在这里贴一份,谁何时有需求了就当资料看看吧。另外求求某位大神放过我吧。

以下正文。

10.16 新增一些补充,请搜索(新增内容)
10.19 新增一些补充,请搜索(新增内容2)
01.02 新增firefox段,其他细部修改

浏览器在将网页源代码中的文字绘制到网页上时,会采用什么样的字体,是一个很值得研究的问题。因为在大多数时候,网页源代码中并不会完整定义网页中所有文字的字体,那么需要交由浏览器做判断。本文主要研究四大主流浏览器(IE,Firefox,Chrome,Opera)在不同状况下的字体的显示情况。其现实意义在于,一般而言一个字符只有在其对应语言的字体下显示最为美观:如果使用宋体显示日文假名,或者用宋体显示英文字母,其效果是不能与专门的日文字体(如Ms pgothic)和英文字体(如times new roman,arial等)媲美的。那么,我们就希望浏览器能在网页本身未能指定字体的情况下,帮我们将字体以美观的方式显示出来。

一、    字体显示的影响因素

可以修改一个元素字体的方法有很多种,但是说白了只有两个因子:语言和字体。

其中字体显然是优先级最高的——如果你对一段文字指定了一个固定的字体,那么无论什么浏览器,都会很忠实地将其用此字体显示出来——除非你的电脑里不含有此字体。但是请注意,这里有一个问题,非常重要的问题。每一个字体的字符集是不一样的。比如说绝大部分的英文,其字符集基本只涵盖ASCII字符,那么如果你将一段中文、日文文字指定为一个英文字体时,其中的汉字及假名依然相当于未能确定。为什么说这个问题重要呢?因为对于现在90%的中文网页,不是没有指定字体,而是指定了字体为Arial。这点在第五章实战篇会详述。

“语言”这个属性,可以通过两种方法进行设定:
1. 通过在html中用lang=xxx指定,例如xxx=zh-CN为简体中文,xxx=ja为日文;
2. 根据html的字符集(编码)来确定。
语言相对字体而言,是一种指示性而非强制性的属性。它指示了浏览器,这段文字属于哪种语言,那么浏览器有义务为其选择显示效果较好的字体。事实上,除了Chrome以外,测试的另外三家浏览器都可以对不同语言选择不同的字体(而且这个语言对应的字体还可以设置)。另外可以预见的是,由于语言仅仅是指示性的,其优先级是低于直接指定字体的。

(新增内容2)对于第二种确定方式,多谈几句。一般来说,一个文本类型(当然包含HTML文件)的文件其编码方式不外乎两大类:Unicode和ANSI。Unicode我想不用多说,具体可以参看维基,总而言之就是用一种编码方式尽量地涵盖世界上所有语言的字符。其具体实现形式分为很多种,用的最多的就是UTF-8了。在Unicode普及之前,普遍使用的是ANSI(这个词的本意是美国国家标准协会,这里指它指定的编码标准):大概来说就是用八位(一字节)来记录一个字符(当然众所周知,汉字是两个字节),然后对照内码表将数据翻译成原本的文字。但是问题在于,因为八位编码法甚至十六位编码法总体的位置很有限,所以各个内码表总是大量使用了同样的位置——所以会经常——甚至是总是——一段文字在不同内码表都能翻译出有意义的文字(当然是对计算机来说;对人来说有一种就是乱码了)。我觉得这是ANSI的一个败笔,明明应该规定在文件开头显式声明编码的,不过这都是题外话了,反正现在有了Unicode。总之现在的做法就是交由浏览器来“猜测”其编码。幸亏现在的算法也很完善了,猜测区区字符集完全不在话下,一般不需要手动调整都可以正确地显示。等等,讲了这么多和我们的话题有什么关系?让我再提一种古老的编码方式——ASCII(美国信息交换标准代码),这个只用半个字节就能记录一个字符的玩意虽然在英语国家很多时候是完全够用了,但是从计算机引进东亚之后就基本被废弃。但是为了向下兼容,无论是任何编码方式的ANSI还是Unicode,其ASCII字符(即ASCII能表示的字符)部分都是和ASCII编码一致的(有可能通过加一些前缀)。这意味着什么呢?意味着无论是日文的Shift-JIS还是中文的GB2312,其英文部分都是完全一致的——也就是说,如果一段文字是纯英文的,浏览器根本无法确认他是中文编码还是日文编码还是英文编码。虽然字符本身没有任何区别,但是对于我们研究的字体选择问题,就有区别了。那么结论先放在这里:任何浏览器在这种情况,即遇到ANSI编码的纯英文页面,默认都会把语言视为中文——当然,是针对中文系统来说哦

这两个元素相组合,我们就会知道,有以下几种情况,是网页本身并未能完全确定字体,需要浏览器自己选择的:
1. 未指定语言,也未指定字体
2. 仅指定了语言,但未指定字体
3. 指定了语言,也指定了字体,但这个字体的字符集并不包含CJK字符(中日韩字符,或称东亚字符)。
4. 未指定语言,指定了字体,但这个字体的字符集并不包含CJK字符。

另外在这里讲一下无衬线字体、衬线字体和等宽字体的区别,因为很多浏览器对于这三类或者至少其中两类是分开设置的。

无衬线字体大致相当于中文中的“黑体”,就是指笔画末端没有装饰性的部分,大概相当于汉语中的起笔收笔形成的那种效果吧。衬线字体自然就是反过来。比如宋体就是衬线字体,而微软雅黑是无衬线字体。对于英文,最常用的配对是衬线-Times New roman无衬线-Arial,对于日文是衬线MS Mincho(明朝体)无衬线MS PGochic(哥特体,亦是无衬线体的别称;另外P表示比例字体)。而等宽字体是早期打字机等技术局限是产生的一种字体,即所有字符都是一个宽度(实际上因为有全角半角,是或1个宽度或半个宽度)。现在这种字体使用较少,多在文字处理包括写代码时使用,因为便于对齐上下行内容。对于浏览器,多在一些Textarea类控件内使用。

由于无衬线体比较适合电脑屏幕显示,所以浏览器在未指定的情况下,都是会选择显示无衬线体。故接下来的讨论的各种情况如果没有特殊说明,将不再单独讨论衬线字体。

二、    字体显示效果的期望

既然提到了我们要研究各个浏览器在以上提到的种种未知情况下字体显示的效果,那么这里请容许我先定义一下什么叫做一个美观的显示效果。
考虑以下一段中文汉字、日文假名、英文混合的文字:

今天天气いいWhat a真好呀てんきなぁぁbeautiful day!  这行是全宋体
今天天气いいWhat a真好呀てんきなぁぁbeautiful day!  这行是宋体+Arial+ms PGothic

可以看出明显第二行的显示效果要好很多,这主要体现几点:
1. 宋体是一个很坑爹的等宽字体,Arial和MS Pgothic都是比例字体(不同字符宽度不同)。
2. 宋体是一个很坑爹的衬线字体,对电脑显示来说效果并不好(所以微软在Vista之后已经将系统的默认字体设置为微软雅黑)。
3. MS Pgothic中小写假名可以正确地显示为小号靠下,而不是宋体中的较为偏向中间,这样有时候会对识别上造成困难。
4. 字型上的设计问题。这点我相信,专门针对日文/英文设计的字体,总比中易中标开发的中文字体中带的靠谱吧。

(新增内容2)当然还有个不得不提的问题是Cleartype的问题。微软搞出来这个无比渣的BlurryType我便是估不到啊(茶)。微软的Cleartype只对矢量字体有效,对点阵字体无效,前者包括几乎所有的英文字体和Vista新增的微软雅黑、Meiryo(日文的新·默认系统字体)等,后者包括宋体等大部分老式中文字体、MS PGothic等大部分老式英文字体。于是效果上来说,如果是Cleartype和非Cleartype文字夹杂,可能效果会差一些;如果全是Cleartype的矢量字体或者全是点阵字体,那么效果可能更统一一点(我个人是没差啦)。

对于以上这些或主观或客观的评估标准,你可以保留你的意见。不过这并不影响你查看我下面的对字体选择机制的研究的部分,因为那只是单纯地描述结果罢了,不夹杂主观因素。

三、    不同浏览器下对于以上结果的显示及相关设置

测试平台:Win7 简体中文版x64 浏览器的语言为中文版,但是经过测试浏览器的语言并不会影响任何显示效果(最多会影响一些默认字体设定),但是操作系统语言则几乎一定会影响试验结果(影响zh-CN和ja的优先级)。
测试用网页(均为UTF-8编码,对于若为ANSI编码时请自动套用语言=xxx自行推理):
http://128.227.74.22/bpeng/fonttest.html
http://128.227.74.22/bpeng/fonttest24opera.html
(Opera由于会猜测网页的语言,故以上两个网页第一个控制到会被猜测为ja,第二个控制成会被猜测成zh-CN)

1. Opera

之所以先从Opera这一较为冷门的浏览器开始,是因为这个浏览器的字体选择机制是极为繁复的。我觉得只要你能理解它,别的完全不在话下。

Opera中,一共有三组设置与本次研究的课题有关——这比一般浏览器要多——IE和firefox仅仅需要分别设置日文和中文的(无衬线)字体。



如图所示。需要注意的是,图1中的①和图2中的①实际上是同一个设置,出现在了不同地方而已。虽然Opera中有林林总总一大堆字体的设定(参见图2),但是本次研究的涵盖的对于中文日文字体的相关测试之需要①和②、外加衬线字体的②Serif(说好的不研究衬线字体呢!)这几个设置就够了。对于国际字体中的日文,Opera出乎意料地提供了日文汉字、日文平假名、日文片假名三个,可以分别选择,姑且分别称为③a、③b、③c设置好了。请注意,Opera修改某些字体设定,比如①,需要重启后才能生效。请在自己测试时注意这一点,以免得出错误的结论哦。

Opera的实现机理现在详述如下。当Opera尝试绘制一段文字时,优先级最高的自然是是否有指定字体。如果有且改字体的字符集包含了这段文字中的字符,OK,绘制;如果不包含,那么检查这段文字的语言。如果语言是中文,那么汉字使用②进行绘制,假名使用②ja[见下(1)]绘制;如果是日语,汉字使用设置③a进行绘制,假名使用③b、③c绘制;如果语言是英语(en-US),因为是中文操作系统,同“语言是中文”;如果语言也未指定,那么先对语言进行猜测[见下(2)]。
注意上面讨论的“字体”都是无衬线体。如果使用衬线字体,那么在选择CJK字符集的字体时使用的设置也是对应的衬线版(比如②对应的②serif;②ja对应②ja-serif,至于②ja-serif这诡异玩意依然参见(1))。
回到上一个分叉点——如果字符未指定字体,那么检查这段文字的语言。如果语言是中文,无论汉字假名还是英文,统统根据①绘制。如果语言是日文,无论汉字假名还是英文,统统根据②ja绘制。如果语言是英文,那么有点麻烦,又有衬线字体的问题,还是见下(1)吧。
是不是晕了?看看这个列表吧。


Opera选择字体时,主要有两点奇特之处。
(1) 它存在一个隐藏的日文字体设定。从上表可以看出,只有在网页语言是日语而且被设定成了英文字体这种情况下,那个国际字体里的设置③才会被用到。对于我接触的比较多的两种情况——一是指定或没指定(见(2)猜测)成中文的网页然后被指定成了Arial下假名的显示;二是一个没指定字体但指定了语言是日语的日文网页,比如日文维基百科,Opera居然使用了一个隐藏的字体设定——②ja。之所以要将这个字体表示成②ja的形式,是因为这个字体实际上与②有关!我尝试了几个字体,给出以下对应关系:
②=宋体→②ja=MS PGothic
②=华文隶书→②ja=MS PMincho
②=幼圆→②ja=MS Gothic (注意与宋体时是PGothic比例字体不同,这次选用了等宽字体)
同理,衬线字体系列也一样,②serif=宋体→②ja-serif= MS PGothic等等。

对于语言为英文,未指定字体时,理论上应该显示的字体是②en这个隐藏字体。可是这个字体很奇怪地不决定于②,而决定于②serif,所以叫成②en(serif)可能比较合适吧!。当:
②serif=宋体→②en(serif)=Times New Roman
②serif=其他任意中文字体时→②en(serif)=②serif
对于第一种情况,由于Times New Roman是一个不包含CJK字形的衬线字体,那么这种情况最终将等效于“指定语言英文,字体TNR”时的情况(即结果为汉字②serif,日文②ja-serif,英文TNR);对于第二种情况,因为②en(serif)已经等于②serif这个中文字体了,那么自然相当于强制使用了一个中文字体外加英文语言(←这已经无所谓了,因为字体优先级高,字符集又不缺字),结果自然是无论汉字、假名还是英文字母全部显示为②serif。

(2) 在未指定语言时,Opera会对文字语言进行猜测,这是一个非常棒的功能,也是Opera独有的。大概来说,就是Opera在没有设定语言的情况下,会统计HTML中汉字、假名以及英文字母出现的频率,然后自动给它指定一个频率最高的语言。指定完之后字体该怎么显示那么自然也就清楚了,结合字体指定参照上面那张表就行。需要指出的是,Opera对html语言的猜测的逻辑是很简单的,而且仅仅统计静态html文件中的字符罢了。如果你使用Javascript动态绘制上去的元素,我想应该是不算在数的。另外引用外部文件(框架集之类的)的时候具体是怎么样实现我也没有细究。(新增内容2)另外顺便提一句,测试的网页都是UTF-8的才有这个猜测语言的过程。如果是ANSI编码的网页那么Opera直接猜测网页编码的同时就已经直接订好了语言了(第一张提过,对于ANSI,编码=语言),不会再根据内容文字猜测了。当然也别忘了第一章提过的纯英文网页会被视为中文编码(也就意味着语言=zh-CN)这一设定!

总而言之,Opera对于字体选择的逻辑,是比较完美的。最终可以实现即使在完全默认的设定下显示出不错的汉字/假名混排效果。不过它确实也有一个很奇怪的败笔——虽然从使用的角度来说影响不大——就是那个该死的②ja的存在。这玩意的存在使得我的测试白白浪费了几个小时不说,说他败笔,最重要的是因为他居然不能单独更改,要随着②变。这意味着什么?举个例子:我想修改我上S1的字体为隶书(S1属于表中的指定Arial/未指定语言(Opera会猜测成zh-CN),关于不同网站到底属于哪一格参见“实战篇”),居然会导致我上日文维基百科(日文维基百科属于表中的未指定字体/指定语言为ja)的字体变成明朝体。当然我肯定不会蛋疼地去用隶书,但是这个不能自行设定确实很不招人喜欢(尤其是在看到Opera明明已经有了汗牛充栋的字体选项的情况下…)。说它奇怪呢,是因为无论是IE还是Firefox,③和②ja根本就是同一个设置,这样也比较合理——本来③和②ja出现的场合要显示的就是日文字体就是了,为什么还要分两个啊!正常人根本不可能搞清楚啥时候是③啥时候是②ja啦!其出现条件说出来比绕口令还绕呢!(新增内容)不过等等,这个很奇怪的地方其实在默认设置倒并不奇怪——因为③的默认设置是“自动”——什么意思呢,其实就是②ja啦!见下图(别忘了之前提到的,②=华文隶书→②ja=MS PMincho):

但是Opera的字体设置还是有种“不和谐感”——细心的话可以发现,在“国际字体”里,并没有“西方”字体的设置——这还算可以理解,因为Opera默认是英文的,所以几个“主字体设置”应该本来都是给西方字体设置用的;但是为啥有日文汉字(kanji)、有繁体中文(Traditional Chinese),就是没有简体中文呢?所以在“指定语言为英文/中文,且指定了一种不含CJK字符的字体”这种情况下(表中1-2,1-3,3-2,3-3这四大格),两者出来的效果完全是一样的,因为简体中文和英文某种意义上,混用了一套设置(②及②serif)。

最后,让我们用两张图来展示一下本段的关于Opera的研究的成果吧:


(新增内容)(之前字体设置①写错了,不是新魏是行楷,已经修复 如果看到图片没变ctrl+F5刷新下)
这两个网页请参见第三章的开头部分,你也可以自己做测试。
之前已经提到了Opera的猜测语言功能,所以我通过调整假名和汉字的比重,产生了上面两张图第一张图是被识别为ja、第二张图被识别为zh-CN的效果。为了便于对照,我把那张表也贴在了上面。很明显可以看出,为了使得结果明显,我把Opera的那些字体设置基本全改了,改动之后的设置也贴在了图中。为了方便不熟悉字体的同学,我在第一张图中用彩笔标注出了一些字体。(新增内容)顺便,Opera(简体中文版)的默认字体设置见下:
①:宋体
②:宋体
→②ja:MS PGothic
②serif:宋体
→②ja-serif:MS PGothic
→②en(serif):Times New Roman
③a,b,c:自动=②ja=MS PGothic

2. Firefox

接下来就是我个人一直在用的Firefox啦,版本号是10 beta,但我相信最近的这些版本影响不是很大。

还是老方法,先从选项说起。
Firefox字体选项很简单明了,位于选项->内容->字体 & 颜色->高级:

语言是可以选择的,比如选成日语部分就是这样:

选成西方就是这样:

至于不点高级外面对应的部分:

相当于高级里现在显示的某个字体设置。所谓现在显示,就是如果你在高级里选成了日语相关的选项,那么外面会变成日语字体的设定②;如果是中文就变成中文字体的设定①。至于到底是衬线还是无衬线字体,这个和上面设定的默认“比例字体”有关。比如中文、日文的默认比例字体都是无衬线,那么外面自然也是显示无衬线字体;西方比例字体是衬线字体,那么外面也会显示衬线字体对应的那个选项。

但是这里有个bug,在中文系统下的西方字体设置这里,无论是设置比例字体为无衬线还是衬线,最终起作用的都是无衬线字体③,而不是③serif。但是英文系统无此BUG。

另外还有一个语言优先级的设置,位于字体 & 颜色下面:

这个在多数情况用不到,但是少数情况会遇到,下面会详述。但是注意一点,对此选项的所有修改都要重启firefox才有效

Firefox的字体选择机制非常清晰明了,就是四步走:
强制指定字体>语言指定字体(中文①,日文②,英文③,未指定按系统语言选)>选定的语言对应的系统字体(中文:宋体,日文:MS PGothic,英文:Times New Roman)>按语言设置④里的顺序逐个猜测,直到找到能显示的语言
这个递推就是说如果这个字体显示不了这个字符,那么就用下一级的字体。
而实践上,由于英文字体设置③一般都是个不含CJK字符的字体(比如默认是Arial),所以如果在英文网页上出现了无论是汉字还是假名,都会使用中文字体①,更别提很多UTF-8的网页根本就没有指定语言,那就更是①了。日文网页只要有好好地指定语言(或者干脆就是shift-JIS编码),那么也是没问题的,是否强制指定字体不重要,最多影响英文的显示效果。第三步基本不会用到,除非你非要把中文字体①设置成一个英文字体。那样的话,看中文英文网页上出现的汉字假名基本全都变宋体了;同理,如果你把日文字体②设置为一个英文字体,那么实际上你看日文网页上的汉字假名都会是MS PGothic。至于第四步,则基本是用于一些非东亚语言的网页,比如en,那么他将会根据④里的语言优先级,逐步尝试中文、日文之类的。

如果还要写成那个表的格式的话:

是不是很清晰明了?不过还是要说明,本表格限于③是一个不含CJK字符的字体(即:英文字体)的情况下。否则en-US+不指定字体的结果就是全是③了。

依然是一图流:

漏了写④的设置了,是中文优先于日文(这影响了en-US的几个效果)。
至于firefox的默认字体设置,都在上面那三张图上了,重复一遍就是:
①:宋体
②:Arial
③:MS Pgothic
这点和IE是基本一样的。

虽然本篇文章都是在讲中文系统下的种种情况,但是还是要补充下英文系统下一个经常被提及的问题:就是英文系统下Firefox上中文网页为何如此扭曲。
如图(虚拟机,WinXP SP3英文版):

可以很明显地看到,此中文网页中的汉字被显示为了日文汉字(而且因为还是非Shift-JIS字符集里的简体汉字,所以效果这么扭曲),字体是MS PGothic。
究其原因,可以回到刚才那个四步走里。S1是UTF-8编码,未指定语言,但是指定了字体为Arial(国内的网站大多是这么干的)。那么按照四步走,首先第一步强制指定字体->Arial,英文字体确定了,但是Arial不含CJK字符,所以往下;第二步时,由于未显式指定语言,那么因为是英文系统,所以语言被设定为en。但是en设定的字体默认是③serif (注意!不是③,因为默认的比例字体是衬线字体!参见上面提到的BUG!),也就是Times new roman嘛,所以根本也没办法显示CJK字符,所以只好尝试系统字体啦。但是英文系统的系统字体还是Times New roman…所以,firefox只好从语言列表里尝试各种语言的字体设置啦。en系统下,默认的语言列表里只有en-US和en,那么到底firefox会先尝试日文还是中文呢?很不幸,他选择了日文(至于为什么我觉得得问windows了……),而且他不在乎效果,只要能显示出来就成。所以就成了那个奇葩的效果了(使用了②的字体即MS PGothic)。

不过所幸,这个是可以修改的。从上面的选择过程中,我们知道有这么几种方法搞定它:
1. 修改③serif为中文字体。
2. 修改②为中文字体。
这两种方法当然都很扯淡,因为这样你的英文网页和日文网页的显示效果就毁掉了。那么显然答案是方法3,修改④里的优先级。
在④里:

只要手动添加一个zh-CN并保证其优先级高于Ja(或者干脆别添加Ja),然后重启firefox,字体就正常啦(别吐槽论坛风格为啥变了,我也不知道…):

再次注意,介于上面的原理,此方法仅对英文系统(准确地说,是所有非中文、日文系统)有效。在中文系统下即使你这么操作,也是无法重现那种奇葩字体的效果的,因为早在第二步,firefox就已经选择了“中文”语言了。同理,我觉得这样也没法拯救日文系统下中文网页的效果…不过没试过就是了。


(待续)
回复

使用道具 举报

 楼主| 发表于 2011-10-15 14:58 | 显示全部楼层
占一楼
回复

使用道具 举报

头像被屏蔽
     
发表于 2011-10-15 15:40 | 显示全部楼层
abstract呢,biography (References)呢
回复

使用道具 举报

     
发表于 2011-10-15 16:38 | 显示全部楼层
宋体我现在换成方正宋了 效果比中易好不少
东亚文字网页的无衬线字我也换成hiragino系列了...  不过opera的字体选择还是很奇怪, 我设置用kaku显示假名的时候出来总是gothic, 用hiragino sans显示假名的时候却能正常.

opera 20111016.jpg

宽屏真是讨厌...
回复

使用道具 举报

发表于 2011-10-15 16:55 | 显示全部楼层
不过它确实也有一个很奇怪的败笔——虽然从使用的角度来说影响不大——就是那个该死的②ja的存在。这玩意的存在使得我的测试白白浪费了几个小时不说,说他败笔,最重要的是因为他居然不能单独更改,要随着②变。

LZ要是有兴趣的话可以尝试向opera提交bug?
https://bugs.opera.com/wizarddesktop/
回复

使用道具 举报

     
发表于 2011-10-15 17:52 | 显示全部楼层
引用第2楼白左于2011-10-15 15:40发表的  :
abstract呢,biography (References)呢
bibliography?
回复

使用道具 举报

发表于 2011-10-15 20:33 | 显示全部楼层
支持楼主,学习如何调教Opera
回复

使用道具 举报

     
发表于 2011-10-15 22:15 | 显示全部楼层
学习一下,
原来用的雅黑,现在换成了苹果丽黑,但感觉和别人调教还是有些差距
回复

使用道具 举报

 楼主| 发表于 2011-10-16 06:46 | 显示全部楼层
引用第7楼zzcwx1020于2011-10-15 22:15发表的  :
学习一下,
原来用的雅黑,现在换成了苹果丽黑,但感觉和别人调教还是有些差距
黑体要想现实的比较美观,得用GDI++之类的玩意。
微软的Cleartype基本只能把微软雅黑渲染的能看……
回复

使用道具 举报

发表于 2011-10-16 06:58 | 显示全部楼层
又想起了当年折腾字体的日子,身边的手机,GBA烧录卡,文曲星,当然包括电脑,都折腾了一遍....

目前主流的桌面显示器我觉得还是只有宋体能打,当然上到视网膜之类的又是别论了

另外1400X1050的高分x60t开1024X768自带GDI++的某些效果哟
回复

使用道具 举报

发表于 2011-10-16 15:03 | 显示全部楼层
文泉驛微米黑
文泉驛等正寬微米黑


2222222222222222.jpg
回复

使用道具 举报

     
发表于 2011-10-16 15:46 | 显示全部楼层
这字体怎么样

11111111.png
回复

使用道具 举报

发表于 2011-10-16 18:31 | 显示全部楼层
ls的你这字体确定开了anti-aliasing?
回复

使用道具 举报

发表于 2011-10-16 22:52 | 显示全部楼层
笔画多的字都粘到一起了,对自己好点
回复

使用道具 举报

发表于 2011-10-17 07:22 | 显示全部楼层
认识楼主真有面子求交往【……
回复

使用道具 举报

     
发表于 2011-10-30 10:47 | 显示全部楼层
好帖,顶!
- 发送自我的 iPhone 大板凳应用
回复

使用道具 举报

头像被屏蔽
发表于 2011-11-4 14:38 | 显示全部楼层

回 3楼(karloku) 的帖子

方正宋应该没有像素字,全面替换,某些故意用像素宋体的网页会有问题。
回复

使用道具 举报

头像被屏蔽
发表于 2011-11-4 14:43 | 显示全部楼层

回 7楼(zzcwx1020) 的帖子

微软的系统,用俪黑却不开GDI++等,效果未必比雅黑好。实战过。
或者说,如果认为好,那是 用苹果的来福感 那种心理作用。
回复

使用道具 举报

头像被屏蔽
发表于 2011-11-4 14:47 | 显示全部楼层

回 11楼(暁美ほむら) 的帖子

这两张截屏的渲染效果都不好,第二张还算能看。是字体还是火狐问题呢。
回复

使用道具 举报

     
发表于 2011-11-4 16:29 | 显示全部楼层
等FF的研究
回复

使用道具 举报

发表于 2011-11-4 18:49 | 显示全部楼层
原来我也属于
汉字采用宋体 西文字体采用Times New Romon 而日文假名又采用了MS PGothic
的奇葩审美。
回复

使用道具 举报

     
发表于 2011-11-5 01:58 | 显示全部楼层
引用第20楼WSMDBZD于2011-11-04 18:49发表的  :
原来我也属于的奇葩审美。  

衬线和非衬线混用确实有点奇葩
而且显示器看文字用非衬线比较好
回复

使用道具 举报

     
发表于 2011-11-5 06:32 | 显示全部楼层
10楼的字体很好看,我去下载了。但是我用起来的效果怎么不如你的好,感觉子都小了一号,调整之后也无效。我用的是马桶3浏览器,是不是因为浏览器的原因?
回复

使用道具 举报

     
发表于 2011-11-5 07:41 | 显示全部楼层
引用第22楼dswll于2011-11-05 06:32发表的  :
10楼的字体很好看,我去下载了。但是我用起来的效果怎么不如你的好,感觉子都小了一号,调整之后也无效。我用的是马桶3浏览器,是不是因为浏览器的原因?

因为他用了GDI++之类的吧
引用第11楼暁美ほむら于2011-10-16 15:46发表的  :
这字体怎么样


太难看了
回复

使用道具 举报

 楼主| 发表于 2011-11-6 08:05 | 显示全部楼层
引用第19楼fredfei于2011-11-04 16:29发表的  :
等FF的研究
我有罪 我自己都忘了这贴了

3天内补完……
回复

使用道具 举报

发表于 2011-11-22 16:10 | 显示全部楼层
看完了
回复

使用道具 举报

     
发表于 2011-11-22 16:12 | 显示全部楼层
我想问一下LZ 我可以转载这篇文章到自己的论坛和G+上去么 我想大家也会贡献很多看法的
回复

使用道具 举报

     
发表于 2011-11-22 16:14 | 显示全部楼层
总之最蛋疼chrome
回复

使用道具 举报

 楼主| 发表于 2012-1-2 14:54 | 显示全部楼层
更新firefox 我拖稿我傻逼我自重
回复

使用道具 举报

发表于 2012-1-2 14:58 | 显示全部楼层
FF 现在硬件加速
最好用ttfautohint 修改一下字体用
回复

使用道具 举报

发表于 2013-5-31 04:32 | 显示全部楼层
引用楼主烈之斩于2011-10-15 14:54发表的 浏览器对字体的选择行为的研究(更新firefox) :
同理,我觉得这样也没法拯救日文系统下中文网页的效果…不过没试过就是了。


(待续)
@烈之斩
楼主我碰到的就是这种问题...求解决方案


因为人在国外,用英文版firefox比较方便。但是系统locale设的日文,相当于日文系统


按照帖子里设置后,浏览器,电脑都重启过了,字体还是这么扭曲...

回复

使用道具 举报

 楼主| 发表于 2013-5-31 09:42 | 显示全部楼层
"但是系统locale设的日文"

应该是没救,我说过系统的locale好像优先级是最高的..
回复

使用道具 举报

发表于 2013-5-31 09:50 | 显示全部楼层
居然无解 我试了Firefox和IE都这样,但是chome显示很正常

就是说日本人看我们的网页的时候字都是这样大大小小的...
回复

使用道具 举报

 楼主| 发表于 2013-5-31 13:02 | 显示全部楼层
引用第32楼moedesu于2013-05-31 09:50发表的  :
居然无解 我试了Firefox和IE都这样,但是chome显示很正常

就是说日本人看我们的网页的时候字都是这样大大小小的...
怪网页不标准没有指定语言啦..

我教你一招,用GM对S1等加个脚本:

// ==UserScript==
// @name           change lang
// @namespace      http://www.w3.org/1999/xhtml
// @description    change language of webpage
// @include        http*
// @author         zbinlin
// ==/UserScript==

document.documentElement.setAttribute("lang", "zh");

或者直接用css指定下字体
回复

使用道具 举报

发表于 2013-5-31 13:33 | 显示全部楼层
引用第33楼烈之斩于2013-05-31 13:02发表的  :

怪网页不标准没有指定语言啦..

我教你一招,用GM对S1等加个脚本:

.......
简洁明了,非常完美,太感谢了
原来是网页的原因,难怪以前浏览google、维基、新浪的时候中文字体都正常,到S1就出问题了

----------------
给和我碰到一样问题的人注释下,GM=Greasemonkey 插件
回复

使用道具 举报

     
发表于 2013-5-31 16:26 | 显示全部楼层
技术帖~坐等chrome娘字体教学~
回复

使用道具 举报

     
发表于 2013-5-31 18:11 | 显示全部楼层
太长先马下

----发送自 STAGE1 App for Android.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2024-5-24 09:40 , Processed in 0.216465 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表