Font Face不适用于自定义语言字符

时间:2012-09-06 20:09:27

标签: css font-face placeholder

我不确定如何在jsFiddle中重现这个,但我会尽力解释这个问题。

我们正在将购买的字体导入CSS:

@font-face {
    font-family: 'ForoItalicRegular'; 
    src: url('../Fonts/foro_italic/ForoIta-webfont.eot');
    src: url('../Fonts/foro_italic/ForoIta-webfont.eot?#iefix') format('embedded-opentype'),
    url('../Fonts/foro_italic/ForoIta-webfont.woff') format('woff'),
    url('../Fonts/foro_italic/ForoIta-webfont.ttf') format('truetype'),
    url('../Fonts/foro_italic/ForoIta-webfont.svg#Foro-ItalicRegular') format('svg');
    font-weight: normal;
    font-style: normal;
}

然后我们将该字体应用于具有占位符属性的输入标记:

.m_hdr_glb_search input { width:230px; margin:0; padding:13px 0px 12px 5px; text-overflow:ellipsis; background:transparent; color:#221b33; font-size:0.750em; font-family:ForoItalicRegular,Georgia,serif; border:none; }

我们的网站支持法语,因此当法语重音字符被引入占位符时,问题文本会显示出来:

<input type="text" placeholder="Quartier, ville ou numéro">

结果如下:

enter image description here

经过仔细检查和一些测试后,我发现“numero”这个词的重音“e”正在从字体堆栈降级到格鲁吉亚。

我能想到的唯一原因是重音字符在该大小中不可用,但经过更多测试后,情况并非如此。我可以将导入的字体大小调整为其他标签中的任何大小(即 - div,p,span等),重音字符不会降级为格鲁吉亚。

它只发生在输入标记的占位符属性中。我可以在所有主流浏览器中重现。

这是对占位符属性实施的疏忽吗?

1 个答案:

答案 0 :(得分:8)

结果在生成Web字体文件时未正确配置Font Squirrel生成器。

必须选择以下Font Squirrel选项才能生成正确的语言字形:

点击自定义子设置电台按钮,然后选择以下选项:

字符编码:Mac Roman

字符类型:选中此部分中的所有复选框

语言:英语,法语,等。

我用新生成的网络字体替换了我的旧网络字体文件,法语字符显示没问题。