Android WebView中的阿拉伯字体问题

时间:2013-09-27 10:23:38

标签: android html css fonts webview

我正在尝试将HTML文件加载到android webview中。我在声明中有fontshtml文件夹。在fonts文件夹中,我有Arabic Regular.otfArabic Bold.otf。在将页面加载到webview中时,我无法看到粗体和常规字体之间的区别。我搜索了SO,然后将字体从otf更改为svg格式。它在Jelly Bean中对我很好,但不完全在HoneyComb中。请帮助。

我在HTML文件中的样式。

.c0{direction:rtl}


p span.medium { font-family:"AdobeArabic-Bold", sans-serif; }
p span { font-family:"AdobeArabic-Regular", sans-serif; }


@font-face {
font-family: 'AdobeArabic-Regular';
src: url('file:///android_asset/fonts/AdobeArabic-Regular.svg');    
}

@font-face {
font-family: 'AdobeArabic-Bold';
src: url('file:///android_asset/fonts/AdobeArabic-Bold.svg');    
}

我的活动代码;

WebView wv=(WebView) findViewById(R.id.webView1);
wv.loadUrl("file:///android_asset/html/policy.html"); 

我的HTML代码是

<p class="c0"><span class="medium">المعلومات التي تقدمها.</span></p>
<p class="c0"><span>لكي تتمكن من تصفح هذا الموقع، يجب عليك إدخال بعض المعلومات الشخصية المعرفة (مثل الإسم والبريد الإلكتروني وتاريخ الميلاد). بهدف أن تستفيد من بعض المزايا المميزة. سوف يتم إعلامك أية معلومات مطلوبة منك وأيها اختياري ولأي هدف سنستخدمها.</span></p>

1 个答案:

答案 0 :(得分:1)

尝试这样的事情,将它们设置为同一个系列,但权重不同:

@font-face {
    font-family: "AdobeArabic";
    src: url('file:///android_asset/fonts/AdobeArabic-Regular.svg');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: "AdobeArabic";
    src: url('file:///android_asset/fonts/AdobeArabic-Bold.svg');
    font-weight: bold;
    font-style: normal;
}

然后:

p span {
    font-family: "AdobeArabic-Regular", sans-serif;
}
p span.medium {
    font-weight: bold;
}