我在建设有JQM移动应用程序,我需要声明与字体面自己的字体。
我包括字体的css文件fonts.css
在我的index.html第一加载CSS文件,并宣布该font-faces
是这样的:
@font-face {
font-family:"MyFont";
font-weight:normal;
font-style:normal;
src:url("fonts/MyFont.woff");
src:url("fonts/MyFont.eot?") format("eot"),
url("fonts/MyFont.woff") format("woff"),
url("fonts/MyFont.ttf") format("truetype"),
url("fonts/MyFont.svg#MyFont") format("svg");
}
我的两个测试设备的Google Nexus 7
与Android 4.2.1和Motorola Razr
采用Android 4.0.4。
在谷歌Nexus,它的作品无论在移动浏览器和使用PhoneGap的。 但在摩托罗拉的Razr,它与移动浏览器才有效。 无论是普通的Android浏览器和PhoneGap的不使用MyFont
。
有没有什么解决方法获取的Android 4.0.x版的我的字体的工作?
有趣。 我有相反的经验。
我有一个Galaxy Nexus的运行4.2.1(CM 10.1),这是加载的字体完全罚款,直至升级,但已经开始越来越具有自更新的CSS很奇怪(仅在本地的WebKit,而不是浏览器,它仍然有效) 。
我意识到这不是字体面的问题,但该CSS特异性越来越搞砸了(使用引导作为基础,然后用我自己的CSS取代)。 即使内嵌样式不显示,如果包括引导,如果引导去除一切工作正常。 很奇怪。
至于你我的问题,一对夫妇的想法相反:
为什么第一SRC与.woff? 我与IE向后兼容模式.eot见过它,但使用的浏览器.woff应该能够从第二SRC使用它。 也许尝试去除第一SRC? (这不应该成为问题,因为WebKit的应与第二SRC覆盖)
你是如何加载字体文件? 从本地存储? 从Web服务器? 我知道用Firefox如果与字体文件的服务器是同类型的文件不同,它不会加载没有允许Origin标。
你需要加载其他非WebKit浏览器这一相同的字体定义呢? 如果没有,考虑取消除.woff的所有文件。
你确定问题是字型脸? 尝试的字体声明设定到非默认的系统字体(如“衬线”)。 看看正在应用的字体声明,或者会不会是你的字体面是好的,但CSS是有点不适用的字体类型? (由于已经过去的这一周我的情况)
这是一个有点很难知道没有其他信息。 您的@ font-face声明,比第一SRC是一个.woff的其他古怪,似乎像它应该工作的罚款。 我的猜测是问题出在其它地方,而不是与该代码片段。
编辑:
我找到了我的问题---在Android 4.2.1 CSS选择text-rendering:
是从行为Chrome和以前的Android版本完全不同。 如果你正使用该选项,查看是否更改或删除其修复该问题为您服务。 这是我能想到的,我已经看到了为不同的唯一事情如何的Android 4.0和Android手机,4.2的WebKit已经被渲染字体。