在Windows 10-带有字体家族Verana的Chrome浏览器中,我们无法正确显示带有caron(ǎ或U + 01CE)的拉丁文小写字母a。它在字母“ a”旁边显示纸箱。其他字体可以正确显示它。
在带有Verdana的Firefox和IE(在Windows / Linux / macOS下)下,它可以正常工作。 同样,Linux / macOS中的Chrome可以完美显示它。 Windows + Chrome + Verdana的组合似乎是唯一有困难的组合。
例如,选中Graphemica a with caron并将示例字母的字体放在
上font-family: Verdana
如果您使用Windows,它将在字母“ a”旁边而不是上方显示纸盒。 有谁知道我们如何为Windows Chrome用户解决此问题?
其他带有卡通文字的字母,例如č(U + 010D)效果很好。
有人建议我们如何在不更改字体的情况下让此“ǎ”在Chrome-Windows-Verdana中工作吗?
谢谢。
答案 0 :(得分:1)
由于Verdana中不存在U + 01CE,因此无法正确显示。组件(a,caron)都存在,但是没有字符(也没有任何OpenType布局规则)将它们组合成U + 01CE形式。当您在其他浏览器中看到它“有效”时,很可能是因为它被替换为后备字体,其设计类似于Verdana(或者字体很小,看不到区别)。
此处提供有关Verdana的更多信息:https://docs.microsoft.com/en-us/typography/font-list/verdana,请查看“代码页”部分。列出的页面均未包含U + 01CE,因此该字体根本不支持该字符。您提到的其他字符在Verdana中。
要解决此问题,您可以使用一些简单的CSS来为该特定的unicode设置后备广告,例如:
@font-face {
font-family: "fallbackfont";
src: local('Tahoma');
unicode-range: U+0100-01FF;
}
<p style='font-family: fallbackfont, Verdana; font-size:72px'>a ǎ</p>
注意:我在这里选择本地“ Tahoma”作为后备广告,因为其设计与Verdana相似。并且已选择将其用于U + 0100-01FF的整个Unicode范围。但是您可以(可能应该)使用您选择的网络字体或其他本地/“网络安全”字体。另外,如果您确定唯一不能正确显示文本的字符,则可以将unicode-range
仅设置为一个字符。