我目前正在构建一个多语言网站并使用名为“Exo”的自定义字体。该字体系列包含来自匈牙利字母表的特殊字符“ű”和“ő”。我在网站上嵌入了“Exo”字体,但遗憾的是这些字符无法正确显示。其余文本以嵌入的“Exo”字体显示,但这些字符以默认字体系列显示。
这是我使用的字符编码:
<!DOCTYPE html>
<html lang="hu">
<head>
<meta charset=utf-8>
可能是什么问题?
这些字符在 http://www.fontsquirrel.com/fonts/exo?q%5Bterm%5D=exo&q%5Bsearch_check%5D=Y 上正确显示我从哪里下载了字体系列。
非常感谢任何帮助!
最佳答案
您的字体已正确加载,因为您看到的都是拉丁字形。但是您使用的字体不包含匈牙利语子集。这意味着字体中不存在这些特殊的匈牙利字形。发生的情况是 css 字体堆栈将显示缺失字形的后备字体。
排序答案:您需要做的是确保您使用的 Exo 字体版本包含您需要的所有子集。
您可以从 FontSquirrel 下载新的(完整的字形集)OTF,并像以前一样使用 Webfont 生成器创建新的 Webfonts。但是现在确保你的子集设置正确......
FontSquirrel 有一个细粒度的子集控件。这意味着您只需要包含所需的语言支持(子集)。这样加载时间将保持在最低限度。
Google 委托(delegate)设计和重新设计 Exo 字体系列。他们还拥有出色的配送网络。因此,您可能会考虑直接从来源获取字体:http://www.google.com/fonts#UsePlace:use/Collection:Exo+2
同样,您需要加载“Latin Extended (latin-ext)”以获得所有需要的字形。仪表显示加载这组字形会使加载时间增加三倍。
虽然还有其他方法可以指定更严格的子集,但我会选择 Latin Extended,因为这样可以保持 CDN 的优势。 Exo 可能已经在您的用户浏览器缓存中。
关于html - 嵌入字体系列的特殊字符 'ű' 和 'ő' 显示问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28550869/