【问题标题】:@font-face do not work unicode Malayalam in android Cordova@font-face 在 android Cordova 中无法使用 unicode 马拉雅拉姆语
【发布时间】:2015-09-18 23:55:26
【问题描述】:

在 android 中,@font-face 不适用于 UTF 字符。(使用 cordova 托管在 Web 控件中的网页)
该代码适用于 Android 和桌面上的 chrome 浏览器。 它不会应用应用程序中的更改。
观察到如果没有 UTF 字符,则应用字体样式。还观察到只有获得 UTF 的行才没有应用 web 字体样式。
这表明 font-face 中提供的路径是正确的。 尝试将 UTF 字符更改为编码的十六进制值,但没有帮助。

【问题讨论】:

    标签: android cordova


    【解决方案1】:

    我不知道为什么投了反对票
    花了一些时间后,我可以让它工作。
    问题不仅限于马拉雅拉姆语,它也可能适用于其他 Unicode 语言字符.

    问题

    在 Android 4.3 中,字符“്ര”details about this issue and work around is given here
    对于使用 cordova(phonegap) 开发的 Android 应用程序,我需要此功能,因此不能选择生根和安装。
    我尝试使用嵌入式字体(@font-face)进行网络视图,奇怪的是,它不适用于 android 中的网络视图,但在同一设备的浏览器中完美运行。

    解决方案

    this stack over flow 那里得到了一个提示,这指向了this Solution,谢谢你
    基本上我们需要获取基于 ASCII 的字体并将 unicode 转换为映射 ASCII。
    提供的解决方案是使用 JAVA 并且总是有可能丢失一些字符。我在使用此解决方案时遇到的另一个问题是,如果混合使用英语和马拉雅拉姆语字符,则该解决方案会产生不良结果。

    所以我创建了this jquery plugin

    基本上它执行以下操作。
    1) 识别可能最长的马拉雅拉姆语字符序列,并使用可配置类名的标签将它们包装起来。
    此过程将英语组和非英语组分开。
    2) 然后使用可配置的字体映射将每个分组的马拉雅拉姆语字符序列转换为 ASCII。
    解决了英语和马拉雅拉姆语混合的问题,修复了丢失某些字符的问题,并且@font-face 也可以正常工作。我能够创建 2 个字体映射。
    到目前为止,该解决方案对我有用。
    我觉得可以进行一定程度的优化。

    【讨论】:

      猜你喜欢
      • 2014-04-25
      • 2012-04-19
      • 2012-07-21
      • 1970-01-01
      • 2023-03-31
      • 1970-01-01
      • 2014-01-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多