Ionic app在Android设备上不显示老挝/泰国字符

时间:2014-07-21 22:54:58

标签: android font-face ionic-framework thai southeast-asian-languages

我正在开发一个使用webfont来显示泰语/老挝字符的应用程序。为此,我定义了一个自定义font-face,如下所示:

@font-face {
  font-family: 'SaysetthaWeb';
  src: url('./saysettha-web.eot') format('embedded-opentype');
  src: url('./saysettha-web.eot?#iefix') format('embedded-opentype'),
       url('./saysettha-web.woff')  format('woff'),
       url('./saysettha-web.ttf')  format('truetype'),
       url('./saysettha-web.svg#SaysetthaWeb') format('svg');
  font-weight: normal;
  font-style: normal;
}

现在,当我使用ionic serve在离子网络服务器上测试时,它在Firefox和Chrome上运行良好:我可以看到字体已加载,字符显示正常(我在Mac OS X Mountain Lion上工作) )。

然后当我在我的Android设备(带有Android 4.2.1 Jelly Beans的Galaxy Nexus)上使用ionic run android测试相同时,泰国/老挝字符没有显示但是有一个空格代替。

我通过加载符号字体测试我的webfont / font-face CSS代码,以检查字母是否被web borwser以及Android设备上的符号替换,并且它运行良好。

我试图在index.html上修复meta标签,但它不起作用:

<meta http-equiv="content-type" content="text/html; charset=UTF-8"> 
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">

我也尝试在我的html页面的源代码中使用十六进制代码,但结果是一样的。

我真的很困惑......任何想法?

谢谢!

1 个答案:

答案 0 :(得分:0)

找到了根本原因,但不幸的是,这不是好消息:

  1. Android字体不支持老挝字形(例如与iOS相反​​),因此如果没有使用自定义字体,它将显示空白。
  2. Android股票浏览器不支持@ font-face CSS,这已在Android 4.4上修复,但仍影响所有其他Android 4.x版本(67%的设备!)
  3. 不是好消息,希望Google会修补其他Android版本:[