![](/img/trans.png)
[英]Using CSS font-family to select Droid fonts not working on Android
[英]Android 2.3.X css font-family fallback not working
我目前有一个带有网络视图的应用程序。 Webview加载CSS,以确定每个设备应使用的特定字体。
对于我的iOS设备,我使用HelveticaNeue CondensedBold,因为它包含在iOS5 +中。 由于我无法在较早的iOS和Android上使用此字体,因为它不是系统字体,因此我使用的是Google的OpenSans-CondensedBold。
我遇到的问题是在使用2.3.X的Android设备上。 字体系列的后备根本不起作用。 由于不提供HelvelticaNeue字体,因此它只会失败并且不会退回到下一行的OpenSans。
font-family: 'OpenSans-CondensedBold', 'Helvetica', 'Arial';
如果在上述示例中,我从css中删除了HelveticaNeue-CondensedBold,则OpanSans字体可以完美地在Android上运行。
下面的当前CSS。
@font-face {
font-family: 'OpenSans-CondensedBold';
src: url('/webfonts/opensans-condbold.eot');
src: url('/webfonts/opensans-condbold.eot?#iefix') format('embedded-opentype'),
url('/webfonts/opensans-condbold.woff') format('woff'),
url('/webfonts/opensans-condbold.ttf') format('truetype'),
url('/webfonts/opensans-condbold.svg#OpenSans-CondensedBold') format('svg');
font-weight: normal;
font-style: normal;
}
body {
font-size: 13px;
font-family: 'HelveticaNeue-CondensedBold', 'OpenSans-CondensedBold', 'Helvetica', 'Arial';
font-weight: normal;
font-style: normal;
}
您可以尝试将字体文件编码为base64数据uri。sencha touch 2也在执行此操作,而且似乎可以正常工作。
为此,请在此处将字体文件上传到http://dopiaza.org/tools/datauri/index.php,然后像这样在CSS中使用生成的代码
@font-face {
font-family: "My Font";
src: url(data:application/x-font-woff;base64,[base-encoded font here]) format('woff'),
url(data:image/svg+xml;base64,[base-encoded font here]) format('svg'),
url(data:application/x-font-ttf;base64,[base-encoded font here]) format('truetype');
}
这个方法也有一个相关的问题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.