java - android:带有阿拉伯语内容的 webview 不加载自定义字体

标签 java android webview font-face

我有一个包含阿拉伯语内容的 webview,我已尝试使用自定义字体(阿拉伯语字体)更改默认字体,如所述 here但没有成功。那我该怎么做呢?

我们将不胜感激。

编辑: 这是我的代码:

// Prepare html page
String fontFamily = "@font-face {"
        + "font-family: 'ARABTYPE';"
        + "src: url('file:///android_asset/fonts/ARABTYPE.TTF');} "
        + "body {font-family: 'ARABTYPE';font-size: large;text-align: justify;}";

    String mHTMLHeader = "<html><head><style type=\"text/css\">\n"
            + fontFamily + "\n</style></head><body><div dir='rtl'>";

    String arabicText = "السلام عليكم ورحمة الله";

    String mHTMLFooter = "</div></body></html>";

    String mHtml = mHTMLHeader + "<div dir='rtl'>" + arabicText
            + "</div>" + mHTMLFooter; 

    WebView mBrowser;

    mBrowser = (WebView) findViewById(R.id.myWebView);

    mBrowser.getSettings().setSupportZoom(true);
    mBrowser.getSettings().setBuiltInZoomControls(true);
    mBrowser.getSettings().setJavaScriptEnabled(true);
    mBrowser.getSettings().setDisplayZoomControls(false);

    mBrowser.loadDataWithBaseURL("file:///android_asset/", mHtml, "text/html", "UTF-8", "");

最佳答案

我在这里面临同样的问题,我正在使用一个 HTML 文件和一个使用 @font-face 标签的 CSS 文件,但我已经做了进一步的测试:

  1. 我用自定义西方字体尝试了相同的代码,结果成功了。
  2. 我将文件托管在我的 PC 上的 IIS 上,并从桌面版 Chrome 访问它,它成功加载了自定义阿拉伯语字体,另一方面,Android Chrome 无法加载自定义阿拉伯语字体( WebView 和互联网应用程序也是如此) .

问候。

关于java - android:带有阿拉伯语内容的 webview 不加载自定义字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15631713/

相关文章:

android - 如何使用 Monitor (DDMS) 工具调试应用程序

html - UIMarkupTextPrintFormatter 从不渲染 base64 图像

cocoa - 以编程方式在 WebView 中打开链接

java - 在 DynamoDB 中存储对象列表并部分检索它们

java - 为什么Java不能区分对象和数字?

android - 不一致的处理程序行为

android - 从 cookiesyncmanager 进行 Jsoup cookie 身份验证以从 https 站点抓取

java - 如何更改 Netbeans IDE 8.2 中的注释颜色?

java - Drools In Spark 流文件

Javascript 在 WebView 中不起作用 - Android?