webkit的新研究

我的浏览器使用的webkit版本是9月3号的,才几天 没有更新,新下载一下(当然没有急着同步到我的代码中),哇,更新还真多。看更新说明说更改了字体管理中的代码,使得中文显示不再有任何乱码。我这一块正好有我的更新。于是赶紧取看一下,哇,快喷饭了,改这个代码的人了解字体吗?他的改动真的很笨呀,很笨呀。由此很担心,参与webkit开发的windows人员的水平。mozilla这方面好多了吧。

看看他的逻辑:

   检查当前字体中是否能显示一个字符(串),流程如下:

    1 获取当前字体的CodePages

  2 获取要处理字符的codepages

如果两个相交,就说明当前字体能显示该字符(串)。如果字符串中存在不相交的,说明本字体不能显示该字符串。

这个逻辑假设一个字体能显示该codepages下的所有文字,当然是极端错误的!!!

如果我做一个字体,里面只有少数汉字,我不小心将一大段文字的字体设置为我做的字体。这样,那段文字一定有乱码。但是好的浏览器,都会正确的知道本字体不能显示一些文字,将其中字体缺失的字换用其他字体显示。换用的逻辑这里不再描述。

看来apple的人也知道它的中文显示有问题,改过好几回,还是错误的,只能在它能用的少数字体下测试,这些字体可能包含的文字较多,没有发现问题。

说实话,webkit字体问题不是出现在这里,原来判断逻辑没有什么毛病,是apple的人其他地方范下错误,导致字体名称是对的,该字体也包含字符,显示就不对。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值