因为IE目前只支持 eot 字体(Embed OpenType), 而TTF字体被Firefox / Opera / Chrome / Safari支持。 Google Font API 实际上是通过判断浏览器类型来返回相应的类型字体, 通过CCS3的 @font-face 来达到嵌入效果。Google Font API具体的用法参见这里:http://code.google.com/apis/webfonts/docs/getting_started.html
目前Google Font API支持的字体非常有限,列表在此 http://code.google.com/webfonts
如果字体无法在此列表中找到,你可以用相同的原理来实现
1. 首先找到此字体的ttf文件
2. 在 http://www.kirsle.net/wizards/ttf2eot.cgi
转换成 eot文件
3. 在你的CSS中分别引入eot 和 ttf
这种方式目前兼容 IE6/7/8 , Opera 10+, Firefox 3.5+, Google Chrome 4.0+, Safari
优点:适合SEO 适合英文字体 灵活
缺点:中文字体动辄几M,以目前的网络环境还不实用
方式2: Flash替换法
Flash的flash.text.TextField 是支持内嵌字体的。这种方式比较有名的是 http://www.mikeindustries.com/blog/sifr
通过Javascript搜索页面上特定的HTML标记,(比如<h1>),将文字元素替换成 Flash,并设置指定字体
优点:适合SEO, 任何支持Flash的浏览器都可兼容
缺点:此Flash会根据字体内容的多少而动态调整Flash, 在UI设计上增加了很多难度。特别是对换行之类的处理。
内嵌一个支持中文的swf 一般要几M, 以目前的网络环境来说加载速度很慢
方式3: 直接将文字做成图片
可以将页面上特殊字体的部分做成图片,不过这种方式不利于SEO,而且对于网站全球化非常麻烦
方式4: 浏览器客户端动态替换图片
通过Javascript搜索页面上特定的HTML标记,(比如<h1>), 想服务器发送AJAX请求,动态地生成这段文字使用某种字体的图片,最后客户端JS将此HTML标记替换成 img. 此类的代表是 http://facelift.mawhorter.net/
优点:适合SEO, 适合大字库字体(如中文)
缺点:对服务器压力稍大
分享到:
相关推荐
在网页设计中,特殊字符有时可以作为一种巧妙的方式来替代图片,特别是在需要小图标或者简单的图形时。这种方式不仅可以简化网页代码,减少加载时间,还能为网页瘦身,提高页面的加载速度和用户体验。以下是对这个...
在IT领域,尤其是在文本处理、排版设计或者编程中,特殊字符的使用是常见的需求。特殊字符指的是那些非标准键盘可以直接输入的字符,比如数学符号、工程符号、音标、货币符号等。在这个主题中,“特殊字符安装”主要...
在HTML中,可以通过以下两种方式表示特殊字符: - **实体名称**:例如,`<`表示`,`&`表示`&`。 - **实体编号**:使用`&#`后跟十进制数字表示,例如`<`同样表示`;也可以使用`&#x`后跟十六进制数字表示...
- **个人通讯**:在日常电子邮件、聊天软件中使用特殊字符可以让沟通更加个性化。 #### 总结 本文档提供了大量关于特殊字符的信息,包括常用的上标和下标字符以及各种有趣的符号和表情。这些特殊字符在多个领域都...
HTML特殊字符编码是网页设计与开发中不可或缺的一部分,它们用于在HTML文档中插入无法直接键入的字符,或者为了确保跨浏览器兼容性而使用的字符实体。以下是对标题、描述及部分给定内容中的知识点进行的详细解读: ...
### 在网页中使用软键盘的方法 #### 背景与应用场景 随着移动互联网的发展,越来越多的应用场景需要在触摸屏设备上进行文字输入。对于那些不支持物理键盘或使用虚拟键盘更为方便的情况,网页中的软键盘成为了重要的...
在IT行业中,字体设计是视觉传达的关键组成部分,无论是网页设计、图形设计还是软件界面,定制化字体都能大大提升用户体验和视觉吸引力。以下我们将详细探讨如何创建具有特定效果的字体,如带下划线、倾斜和删除线的...
本文将深入探讨如何在Canvas中使用外部字体,以Inconsolata.ttf为例,帮助你更好地理解和实现这个功能。 首先,我们需要了解Canvas中的文本渲染。默认情况下,Canvas会使用浏览器支持的系统字体进行渲染。但如果你...
在本例中,我们通过客户端脚本(JavaScript)的方式实现在用户输入特殊字符时即时阻止这些字符被录入。具体来说,当检测到用户试图输入一些预定义的特殊字符时,程序会通过禁用输入框的IME模式,并改变`keyCode`值来...
然而,如同所有处理文字渲染的技术,PDFJS需要正确地理解并显示文档中使用的各种字体。在遇到PDF文件使用了PDFJS默认不支持的字体时,我们需要为PDFJS提供额外的字体文件,这就是CMap(Character Map)文件的作用。 ...
在Linux系统中遇到网页乱码的问题,这通常是由于字符编码设置不当或浏览器与网页服务器之间的编码不匹配导致的。本文将深入探讨Linux下网页乱码的解决方案,帮助用户理解和解决这一常见问题。 ### 一、理解网页乱码...
- 尽可能在整个项目中使用一种编码标准(推荐使用UTF-8),减少因编码不一致导致的问题。 #### 四、示例代码分析 在提供的部分内容中,涉及到了具体的编码转换实例: 1. **HTML文档头部设置**: ```html ;...
本文档中的几个案例展示了JavaScript中几种特殊的函数用法,包括嵌套函数、递归函数以及内置函数。 1. **嵌套函数**: 嵌套函数是指在一个函数内部定义另一个函数的情况。在案例1中,`add`是外部函数,而`innerAdd...
特殊字符在网页设计中扮演着重要的角色,它们可以用于创建独特的标题、强调文本或者增强用户体验。JavaScript可以通过Unicode编码或者ES6中的模板字符串来生成这些字符。Unicode是一个通用的字符集,包含了世界上...
HTML字符实体是网页编码中的一种重要机制,它允许开发者在HTML文档中插入特殊字符或无法直接在源代码中使用的字符。这些实体以`&`开头,后跟一个名称(命名实体)或者一个数字(数值实体),并以`;`结束。在标题提到...
在IT领域,尤其是在Web开发中,处理URL中的特殊字符编码是一项常见的需求。URL中的某些字符因为具有特殊含义或不被支持,会被转换为十六进制形式的百分号编码(Percent-Encoding),例如空格通常被编码为"%20",而...
- 在网页应用中,当需要在URL中传递包含中文的参数时,可以先使用`vbsEscape`函数对参数进行加密,再进行URL传递;接收端则使用`vbsUnEscape`函数对参数进行解密,从而保证中文字符能够被正确传递。 - 在客户端与...
在线网页编辑器是一种基于Web浏览器的应用程序,它允许用户无需具备复杂的HTML编码知识,就能直接在浏览器中编辑和创建网页内容。这种编辑器通常采用“所见即所得”(WYSIWYG)的方式,使得用户在编辑时可以直观地...
网页乱码主要由以下几种情况引起: 1. **编码不一致**:网页的源代码指定了一种字符集(如GB2312),而浏览器则默认或被设置为另一种字符集(如UTF-8)进行解码。 2. **服务器配置错误**:服务器端可能没有正确地...
在提供的文件名称列表中,我们可以看到以下几种字体: 1. **Microsoft Webdings**:这是一种符号字体,包含了大量图形和图标,常用于网页设计或文档装饰,以便用图形表达文字无法表示的信息。 2. **Microsoft ...