Fshamri
Fshamri

Reputation: 1386

Arabic custom font in Android webView

I am trying to add Arabic custom fontto webView with no luck. In my case, webView renders the default font shipped with the device.

I have tried ttf and otf font types also converted font type to svg through https://everythingfonts.com with no luck

here is my code:

html file stored in the assets folder:

 <html>
<head>
    <meta http-equiv="content-type" content="text/html;" charset="UTF-8">
    <style>
        /** Specify a font named "MyFont",
        and specify the URL where it can be found: */
        @font-face {
        font-family: "MyFont";
        src: url('file:///android_asset/fonts/NotoKufiArabic-Bold.ttf') format(‘truetype’); ;
        }
        h3 { font-family:"MyFont"}
    </style>
</head>
<body>
<h3>
مرحبا</h3>
</body>
</html>

MainActivity where i call webView:

 public class MainActivity extends Activity {

    WebView mWebView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Getting reference to WebView of the activity_main layout
        mWebView = (WebView) findViewById(R.id.webview);

        // Loading an html page into webview
        mWebView.loadUrl("file:///android_asset/demo.html");
    }
 ...........
 ...........

my code is working fine in case of English text and font but nothing for Arabic.

Upvotes: 2

Views: 437

Answers (1)

Shafa Ullah
Shafa Ullah

Reputation: 11

Use <h3 dir="rtl" lang="ar"> arabic text </h3> :

  • dir="rtl" inform that the text is arabix
  • lang="ar" renders form right to left

Upvotes: 1

Related Questions