几天前,在制作本站的在线字典服务的时候,在英文音标的字体上出了难题。百度的英文字典里面是将音标做成了图片,当输出结果时将对应的音标图片输出,可我不想用这个方法。我想让用户直接能看到音标,又不用下载安装字体,我想到了CSS里有字体导入的功能。
CSS的说明文档里有这样一段:
@font-face版本:CSS2 兼容性:IE4+
语法:
@font-face { font-family : name ; src : url ( url ) ; sRules }
取值:
name : 字体名称。任何可能的 font-family 属性的值
url ( url ) : 使用绝对或相对 url 地址指定OpenType字体文件
sRules : 样式表定义
说明:
设置嵌入HTML文档的字体。此规则无默认值。
此规则使你能够在网页上使用客户端本地系统上可能没有的字体。 url 地址必须指向 OpenType 字体文件(.eot或.ote)。此文件包含可以转换为 TrueType 字体的压缩字体数据,可以用来提供HTML文档使用该字体,或取代客户端系统已有的同名字体。此文件可以使用 Microsoft WEFT 工具制作。
这样,我们需要微软的WEFT工具来完成。
Microsoft WEFT 工具说明页(点击查看)
Microsoft WEFT 工具下载地址(点击下载)
字体嵌入演示
使用教程(E文)
简单说明一下: 先新建一个htm空文档,然后打开WEFT,根据向导,添加刚才新建的htm文件
然后下一步,会提示程序将分析系统字体,此时不要勾选skip analysis,继续下一步,等程序扫描完毕,出现一个对话框,此时先不着急下一步,点"Add"按钮,选择一个需要制作的字体,只有TrueType的字体可以被制作,选好后下一步。 接着选择,生成的ETO字体文件的保存位置 下面这个选框比较重要,第一次就是因为没弄清楚,导致无效。这里要输入字体允许被使用在哪些站点内。这个地方建议输入两个域名,一个是: http://127.0.0.1,做为本机测试用,另一个是自己的站点的地址,如: http://www.imagecode.net,设置好后,再下一步直到完成。 这样还不算完,找到生成好的EOT文件,放在网站目录里,在需要使用这个字体的页面里,按照下面的方法操作。
<HTML>
<HEAD>
<TITLE>Test Page</TITLE>
<STYLE TYPE="text/css">
<!--
@font-face { font-family: myfont; font-style: normal; src: url(ARIAL0.eot); }
-->
</STYLE>
</HEAD>
<BODY>
<FONT FACE="myfont"> 测试文字</FONT>
</BODY>
</HTML>
最后要注意的是在@font-face的时候,font-family最好自己定义一个字体名称,不要跟本机的字体名称一致。否则在<font face='myfont'>的时候,如果EOT字体加载失败,有可能会使用系统字体来显示,这样自己就无法判断是否CSS字体加载成功。其实,字体是否加载成功,在安装了WEFT后,会自动弹出提示。
CSS的说明文档里有这样一段:
@font-face版本:CSS2 兼容性:IE4+
语法:
@font-face { font-family : name ; src : url ( url ) ; sRules }
取值:
name : 字体名称。任何可能的 font-family 属性的值
url ( url ) : 使用绝对或相对 url 地址指定OpenType字体文件
sRules : 样式表定义
说明:
设置嵌入HTML文档的字体。此规则无默认值。
此规则使你能够在网页上使用客户端本地系统上可能没有的字体。 url 地址必须指向 OpenType 字体文件(.eot或.ote)。此文件包含可以转换为 TrueType 字体的压缩字体数据,可以用来提供HTML文档使用该字体,或取代客户端系统已有的同名字体。此文件可以使用 Microsoft WEFT 工具制作。
这样,我们需要微软的WEFT工具来完成。
Microsoft WEFT 工具说明页(点击查看)
Microsoft WEFT 工具下载地址(点击下载)
字体嵌入演示
使用教程(E文)
简单说明一下: 先新建一个htm空文档,然后打开WEFT,根据向导,添加刚才新建的htm文件
然后下一步,会提示程序将分析系统字体,此时不要勾选skip analysis,继续下一步,等程序扫描完毕,出现一个对话框,此时先不着急下一步,点"Add"按钮,选择一个需要制作的字体,只有TrueType的字体可以被制作,选好后下一步。 接着选择,生成的ETO字体文件的保存位置 下面这个选框比较重要,第一次就是因为没弄清楚,导致无效。这里要输入字体允许被使用在哪些站点内。这个地方建议输入两个域名,一个是: http://127.0.0.1,做为本机测试用,另一个是自己的站点的地址,如: http://www.imagecode.net,设置好后,再下一步直到完成。 这样还不算完,找到生成好的EOT文件,放在网站目录里,在需要使用这个字体的页面里,按照下面的方法操作。
<HTML>
<HEAD>
<TITLE>Test Page</TITLE>
<STYLE TYPE="text/css">
<!--
@font-face { font-family: myfont; font-style: normal; src: url(ARIAL0.eot); }
-->
</STYLE>
</HEAD>
<BODY>
<FONT FACE="myfont"> 测试文字</FONT>
</BODY>
</HTML>
最后要注意的是在@font-face的时候,font-family最好自己定义一个字体名称,不要跟本机的字体名称一致。否则在<font face='myfont'>的时候,如果EOT字体加载失败,有可能会使用系统字体来显示,这样自己就无法判断是否CSS字体加载成功。其实,字体是否加载成功,在安装了WEFT后,会自动弹出提示。