起因:上周,朋友发过来一个website说里面的2.html显示不出来汉字,改好就显示不出来字体。
然后今天在w3cfuns群暴风雨问为什么改好的汉字显示不出来,有好多人在说可能是编码问题。之前我遇见过一次,查找到问题是cufon啊~故整理一下,这样的问题有的时候会使人很纠结的~
原理:文件中调用的cufon对于英文特殊字体进行了渲染,对于汉字水土不服导致汉字显示不出来。或者超级慢。
解决方法:
<!–<script src=”js/cufon-yui.js” type=”text/javascript”></script>
<script src=”js/Liberation_Sans.font.js” type=”text/javascript”></script>
<script type=”text/javascript”>
Cufon.replace(‘span’);
Cufon.replace(‘li’);
Cufon.replace(‘h1’);
Cufon.replace(‘p’);
</script>–>
或者js内部的调用
$.include(‘js/cufon-yui.js’)
$.include(‘js/cufon-replace.js’)
$.include(‘js/Droid_Serif_5F400.font.js’)
$.include(‘js/Droid_Serif_italic_5F400.font.js’)
的问题。
好了上面的看清楚了么,哈哈看清楚了就把他们注释掉。
ok,解决了。
简单说就是你直接搜索cufon带有这个关键字的调用(不论是网页头部的调用还是js内部的调用)都去掉就好了。
相关的解释:请参考cufon-yui.js框架以及cufon百科。
cufon-yui.js 渲染特殊字体的,跟外部调用特殊字体有关系。一般国内的特殊字体解决用图片做好上传的。
Cufon是一个用来替代 sIFR 框架,作为一种基于 JavaScript 的网页字体引入方案, Cufon的核心功能是通过一个名为“cufon-yui.js” 的 JavaScript 类库,提供给开发人员的。在web开发中,经常面对的一种“冲突”,即“字体(Font Family)冲突”。
通常的这一冲突总是爆发于 Web 页面的设计者(Designer)和开发者(Coder)之间。在很多场合下,Web 页面的设计者都会倾向于在他们的页面设计稿中,为文字附加使用一些“特殊”的字体和特效,以此来展示他们卓越的设计能力。比如设计一个公司的Logo,图片上的一些特殊字体是从ps字库中调出的,当然这些文字在图片上显示肯定是没有问题的,但是如果要在网页中用文本来显示这些效果,就是会让开发人员抓狂了,因为浏览器并不支持所有的字体,这种情况Cufon就会大显身手了。
Cufon 技术的实现策略其实就是以一定标准,在网页相关位置上“画”出了所需要显示的文字字符,并同时替换原先区域所需要显示的文字。
借助于浏览器所推出的专有页面绘画方案,如 VML、Canvas 和 SVG 等,来进行页面的绘画。
Cufon字体文件,就是按照 Cufon 所提出的字体描述标准,创建形成的一种字体文件。
[ Cufon generate ]注:英文网站,Cufon字体在线生成工具,网站上传大小有限制,且国外上传速度慢,制作中文字体的有困难;
[微软雅黑下载]推荐:Cufon字体,可以自己选择合适的汉字,最小化您的JS文件!
[Cufon中文字体博客]一些疑问,Cufon字体使用交流!
Tip:建议您最小化选择您的字母字符的范围,以缩小js文件的大小。
相关资料 http://www.cufon-font.com/
我是友情小链接,汉字特殊字体如何不用图片,直接用文字显示