我不确定如何在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">
结果如下:
经过仔细检查和一些测试后,我发现“numero”这个词的重音“e”正在从字体堆栈降级到格鲁吉亚。
我能想到的唯一原因是重音字符在该大小中不可用,但经过更多测试后,情况并非如此。我可以将导入的字体大小调整为其他标签中的任何大小(即 - div,p,span等),重音字符不会降级为格鲁吉亚。
它只发生在输入标记的占位符属性中。我可以在所有主流浏览器中重现。
这是对占位符属性实施的疏忽吗?
答案 0 :(得分:8)
结果在生成Web字体文件时未正确配置Font Squirrel生成器。
必须选择以下Font Squirrel选项才能生成正确的语言字形:
点击自定义子设置电台按钮,然后选择以下选项:
字符编码:Mac Roman
字符类型:选中此部分中的所有复选框
语言:英语,法语,等。
我用新生成的网络字体替换了我的旧网络字体文件,法语字符显示没问题。