特殊字符'ű'和'ő'显示嵌入字体系列的问题

时间:2015-02-16 21:45:17

标签: html css fonts

我目前正在构建一个多语言网站并使用名为“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上正确显示,我从中下载了字体系列。

非常感谢任何帮助!

2 个答案:

答案 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生成器创建您之前所做的新网页字体。但现在请确保您正确设置子集设置... enter image description here

FontSquirrel具有细粒度子集控件。这意味着您只需要包含所需的语言支持(子集)。这样加载时间将保持在最低限度。

Google委托设计和重新设计Exo字体系列。还有一个优秀的交付网络。因此,您可以考虑直接从源代码获取字体:http://www.google.com/fonts#UsePlace:use/Collection:Exo+2

同样,您需要加载'Latin Extended(latin-ext)'来获取所有需要的字形。该仪表显示加载这组字形会使加载时间增加三倍。

虽然还有其他方法可以指定更具限制性的子集,但我会选择拉丁语扩展,因为你保留了CDN的优势。 Exo可能已经在您的用户浏览器缓存中。