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

时间:2013-03-26 07:35:23

标签: 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", "");

1 个答案:

答案 0 :(得分:0)

我在这里遇到同样的问题,我使用带有@ font-face标签的CSS文件的HTML文件,但我做了进一步的测试:

  1. 我尝试使用自定义西方字体的相同代码,但它很成功。
  2. 我在我的电脑上将文件托管在IIS上,并从Chrome for desktop访问它,它成功加载了自定义阿拉伯字体,另一方面Android Chrome无法加载自定义阿拉伯字体(对于webview和Internet应用程序也是如此)
  3. 问候。