我目前正在构建一个多语言网站并使用名为“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上正确显示,我从中下载了字体系列。
非常感谢任何帮助!
答案 0 :(得分:0)
我使用过谷歌字体服务,一切似乎都没问题。
https://jsfiddle.net/maxim_mazurok/wp1powya/
<!DOCTYPE html>
<html lang="hu">
<head>
<meta charset="UTF-8">
<link href='http://fonts.googleapis.com/css?family=Exo' rel='stylesheet' type='text/css'>
</head>
<body style="font-family: 'Exo', sans-serif; font-size:60px">
'ű' and 'ő'
</body>
</html>
答案 1 :(得分:-1)
由于您看到所有拉丁格斗,因此您的字体已正确加载。但您使用的字体不包含匈牙利子集。这意味着这些特殊的匈牙利字形在字体中不存在。会发生什么是css字体堆栈将显示丢失的字形的后备字体。
排序答案:您需要做的是确保使用包含所需子集的Exo字体版本。
您可以从FontSquirrel下载新的(完整字形集)OTF,并使用Webfont生成器创建您之前所做的新网页字体。但现在请确保您正确设置子集设置...
FontSquirrel具有细粒度子集控件。这意味着您只需要包含所需的语言支持(子集)。这样加载时间将保持在最低限度。
Google委托设计和重新设计Exo字体系列。还有一个优秀的交付网络。因此,您可以考虑直接从源代码获取字体:http://www.google.com/fonts#UsePlace:use/Collection:Exo+2
同样,您需要加载'Latin Extended(latin-ext)'来获取所有需要的字形。该仪表显示加载这组字形会使加载时间增加三倍。
虽然还有其他方法可以指定更具限制性的子集,但我会选择拉丁语扩展,因为你保留了CDN的优势。 Exo可能已经在您的用户浏览器缓存中。