如何在webfont中设置衬里数字?

时间:2015-01-29 15:00:26

标签: css webfonts opentype

我一直在使用brafets(eot,ttf,woff)中的webfont进行集成,并且似乎无法使用

来改正旧式数字
.lnum {
    -moz-font-feature-settings:"lnum" 1; 
    -moz-font-feature-settings:"lnum=1"; 
    -ms-font-feature-settings:"lnum" 1; 
    -o-font-feature-settings:"lnum" 1; 
    -webkit-font-feature-settings:"lnum" 1;  
    font-feature-settings:"lnum" 1;
}

我开始怀疑我使用的字体是否还有普通数字,因为我已经多次检查了所有内容。有没有办法检查webfont中包含的所有特殊字符,并可能通过特殊字符代码调用数字?

1 个答案:

答案 0 :(得分:5)

使用font-feature-settings及其以供应商为前缀的变体的规则如此工作(值"lnum=1"的语法已过时,但此处并未真正打扰),如果使用的字体具有衬里数字。在Windows系统中,您可以通过将字体设置为Constantia来检查它是否有效(在现代浏览器中),Constantia默认情况下具有旧样式编号,并且可以使用字体功能设置选择衬里图形。

您可以使用免费的DTL OTMaster Light程序检查.ttf字体,看它是否包含衬里数字(选择“工具”,“'GPOS'/'GSUB'表格查看器”,选择“'GSUB'表格“在”布局表“下拉列表中,然后在”功能“下拉列表中查找”lnum“。

很有可能在从一种字体格式到另一种字体格式的转换中(例如从.ttf到.woff),字体功能会丢失,具体取决于转换软件。使用FontSquirrel WebFont generator时,选择“EXPERT”模式并选中“保留所有功能”或列出要保留的功能,在“OpenType功能:”中。如果这不能保留您需要的功能,并且如果您希望使用例如只有衬里字体的数字,请尝试“Opentype Flattening:”选项。