Cufon在渲染网页字体你不知道的事
<style> .introduction { font-family:'Baroque Script';} </style> …… <p class="introduction" style="font-size:36px"><?php echo $introduction; ?></p> <p class="introduction" style="font-size:24px; text-align:right"> <?php echo $leader;?></p> |
因为在大部分的浏览器上,并不会安装有 Baroque Script 字体。因此在这些浏览器上系统会主动“忽略”掉代码中关于 font-family 的说明,转而使用缺省字体进行输出
最初的设计初衷想法。
图 2. 在没有安装 Baroque Script 字体浏览器上的公司简介输出效果
结果却是不堪入目。
…… @font-face { font-family: "Baroque Script"; src: url('BaroqueScript.ttf') } ……
<script src="cufon-yui.js" type="text/javascript"></script>
<script src="Baroque_Script_400.font.js" type="text/javascript"></script> |
为标记附加 Cufon 转换
在完成了上述的两项准备工作后,事实上使用 Cufon 类库来实现对字体的渲染是非常简单的,这仅仅牵涉到了 Cufon 类库所提供的一个核心方法,即 Cufon.replace 方法
清单 5. 使用 Cufon.replace 方法对标记字体进行渲染
<script> Cufon.replace('p'); </script> |
Cufon.set("配置项名称", 配置项值 ) |
举例而言,针对范例 2.htm,如果我们希望在显示时相关文字的颜色为红色,那么我们就可以在调用 Cufon.replace 方法之前,通过 Cufon.set 首先对 color 配置项进行设置,如下代码所示,完整的实现则可以参考范例 3.htm。
Cufon.set("color", "#FF0000"); …… <p style="font-size:36px; color:green">This is the company's introduction</p>
清单 8. 完整的 Cufon.relace 语法规范
Cufon.replace("选择符", {"配置项 1" : 值 , "配置项 2": 值 , …… }); |
这是 Cufon 应用的另一大特色。在同一个页面中,Cufon 可以为不同的标记对象,提供不同的字体渲染效果,这对于实际的 Web 应用而言,当然是非常常见的一个需求。
而 Cufon 对此功能的支持则仍然是通过配置项来完成的。在 Cufon 中开发着可以通过指定配置项“fontFamily”,来确定对应标记对象所需要使用的字体。
Cufon.replace("#id1", {fontFamily : "Baroque Script"}); Cufon.replace("#id2", {fontFamily : "Whiteboard Modern Demo"}); |
var pie = [ {"color" : "red", "percent" : 20}, {"color" : "green", "percent" : 40}, {"color" : "blue", "percent" : 40} ]; |
var StatisticalGraph = (function(){ this.draw = function(data, type, dest, options){ …… }; …… return this; })();
清单 12. 饼图绘画接口