我有两个相同字体的砝码。
根据https://stackoverflow.com/a/41678274/877682,我发现字体系列必须与android上的文件名匹配,因此我将字体文件命名为[font name]regular.ttf”和“[font name]semibold.ttf”。
然后我试着把半粗体的via
font-family: [Font name];
font-weight: 600;"
但是,android找不到它,默认为无衬线字体(我假设是roboto)。
在这种情况下,预期的字体文件命名系统是什么?我是否需要创建单独的android和ios css文件,然后在android上简单地命名use
font-family: [Font name] Semibold;
? 最佳答案
我想我有一个比现在接受的答案更完整的答案。
我相信这里最好的方法是使用@font-face
创建一个由所有文件组成的字体系列。
如果我有三个字体的权重,并且想用它们建立一个家庭,我会这样做:
@font-face {
font-family: 'Open Sans';
src: url('~/fonts/Open Sans Regular.tff') format('truetype');
font-weight: 300;
}
@font-face {
font-family: 'Open Sans';
src: url('~/fonts/Open Sans Light.tff') format('truetype');
font-weight: 100;
}
@font-face {
font-family: 'Open Sans';
src: url('~/fonts/Open Sans Bold.tff') format('truetype');
font-weight: 500;
}
我可以通过以下途径在其他地方使用:
Label {
font-family: 'Open Sans';
font-weight: 300; // Regular Open Sans
}
Label.mod-light {
font-family: 100; // Light Open Sans
}
Label.mod-bold {
font-family: 500; // Bold Open Sans
}
这样做的好处是,您不需要向css或html添加更多的属性来支持取决于每个设备的字体权重。