如何在网页设计中使用个性化字体(2)

作者:神采飞扬 来源:前端观察 时间:2009-07-07 11:29:00 

cufon

cufon是一个比较新的技术,被定位为有价值的sIFR替代方案,它有很多优势:

  1. 无需浏览器插件——被浏览器原生支持;

  2. 兼容性——兼容各个主流浏览器

  3. 易用—— 无需配置

  4. 速度—— 快速渲染大量字体

cufon的原理:

cufon通过生成器将字体文件转化为SVG字体,再将其转换为VML文件,这对IE很重要,因为IE原生支持VML文件。最后,使用复杂的JavaScript函数将VML文件编码为JSON文件(typeface的原理与此类似)。如下图所示:

这样做有很多好处:

  1. 与加载一个字体文件,你只需要加载一些js文件就可以;

  2. 客户端无需再次手工编码;

  3. 外部js文件直到加载完成才会被执行,这可以让我们实现无闪烁的干净的替换。

  4. 压缩率高。相对于字体文件,可压缩掉60-80% 。

cufon的用法:

cufon的用法与typeface类似,需要加载一个库文件和字体文件。而与typeface不同的是,你需要使用js初始化cufon:

<script type="text/javascript">
Cufón.replace('h2', { fontFamily: 'Qlassik Medium' }); 
</script>

这与typeface的在样式中定义字体很不一样。

cufon资源:

cufon和typeface.js对比:


CufónTypeface.js
File size14.0kb (压缩后)16.3kb (未压缩)
支持的浏览器Firefox 1.5+, Safari 3+, Opera 9.5+, Google Chrome 和 Internet Explorer6+Firefox 1.5+, Safari 2+, and Internet Explorer 6+, 最新版已经支持IE8
支持的字体类型.ttf, .otf, PFB, postscript.ttf
支持的字体样式font-size, font-style, font-weight, line-height, text-shadow, colorfont-size, font-style, font-weight, font-stretch, letter-spacing, line-height
可选文字?尚不支持尚不支持

从这个对比中可以看出来,两者并没有太大的不同,cufon支持更多的浏览器和字体类型,而typeface支持更多的字体样式。实际应用中貌似typeface方便一些,可以直接在样式中定义字体,而cufon则有总体文件大小方面的优势。具体用哪一个,看你自己的喜好吧。

总结

事实上,sIFR、typeface.js和cufon都是目前常说的文本替换技术,这些技术都可以用来替换@font-face,并且实现更好的浏览器兼容性。但是每种技术都不是完美的:

  1. @font-face最简单,虽然大部分浏览器也都支持了,但是其浏览器兼容性并不是很完美,对IE还需要eof字体的特殊支持,而且对于中文字体来说,一般都很大,这会占用很大的页面加载时间和服务器流量。

  2. sIFR是兼容性和可用性最好、对SEO友好的一种方案,但也是实现起来最复杂的,而且需要浏览器支持Flash插件。

  3. typeface和cufon都是利用在IE中渲染VML,而在非IE浏览器中使用canvas的方式实现“伪”字体的,他们使用起来相对简单,但是可用性和用户体验以及SEO都不是很理想。

  4. 版权问题是一个很重要的问题,无论你使用哪种技术,都需要考虑文字的授权。

所以,使用哪种方案,要看你的需求和喜好,或许你宁愿切更多的图片也不愿使用这些技术?

标签:设计,个性化,字体,cufon,font-face
0
投稿

猜你喜欢

  • Request.ServerVariables("HTTP_REFERER")的用法

    2008-06-19 13:33:00
  • asp的command对象的使用

    2008-06-23 13:03:00
  • css:小技巧大问题,cellSpacing用css样式代替方法,其它样式类似解决!

    2009-10-04 20:35:00
  • Google的设计导引

    2008-04-06 14:18:00
  • 如何解决客户机页面刷新时连接不上数据库问题?

    2009-12-16 18:24:00
  • AJAX请求类下载

    2007-08-23 08:33:00
  • 正则的replace方法(产生的字符串副本)

    2008-06-03 13:31:00
  • 选择utf-8还是GB2312?

    2009-06-19 13:05:00
  • AJAX打造博客无刷新搜索

    2007-08-23 08:48:00
  • innerHTML 的一些问题

    2008-06-17 17:39:00
  • 编译asp应用程序成为exe文件

    2008-10-23 14:01:00
  • 影响SQL Server性能的三个关键点

    2009-03-09 13:11:00
  • 在服务端合并和压缩JavaScript和CSS文件

    2010-07-15 12:48:00
  • 平面设计中的文字设计

    2009-01-15 12:09:00
  • Excel和Access之间的数据交换

    2008-11-20 16:53:00
  • 段正淳的css笔记(6)-浅谈css框架开发

    2008-01-13 22:42:00
  • MySQL优化全攻略--相关数据库命令

    2008-11-01 17:03:00
  • 如何在2003系统注册fso组件

    2010-11-29 19:55:00
  • ASP 生成静态新闻列表

    2009-03-03 12:25:00
  • 如何制作关联的下拉菜单?

    2010-06-29 21:19:00
  • asp之家 网络编程 m.aspxhome.com