2012-09-04 159 views
5

我用QtWebkit編寫了一個程序。我在這個應用程序中使用了阿拉伯字體。但下面的文字不適用。是否有解決方案來解決它? text shown inapplicable in QtWebkit : http://www.shiaupload.ir/images/47343138299124526783.jpg text shown inapplicable:在QtWebKit中顯示阿拉伯字體

an example code in here

HTML代碼: {

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
</head> 


<style> 
/*Twe Arabic font for test:*/ 
@font-face { 
     font-family: '__me_quran'; 
     src: url(me_quran.ttf) format('truetype'); 
    } 
@font-face { 
     font-family: '__traditionalArabic'; 
     src: url(trado.ttf) format('truetype'); 
    } 
#para1 
{ 
font-family :/*__me_quran*/__traditionalArabic; 
text-align : justify;/*In this project i need justify alinement*/ 
direction:rtl; 
} 


</style> 
<script type="text/javascript" > 
    var step=1; 
    function plusZoom1(){ 
     document.getElementById("para1").style.zoom = parseFloat(step); 
     step +=0.5; 
    } 

    function minusZoom1(){ 
     step -=0.5; 
     document.getElementById("para1").style.zoom = parseFloat(step); 
    } 
</script> 
<body> 
<input type="button" value="+" onclick="plusZoom1();" /> 
<input type="button" value="-" onclick="minusZoom1();" /> 
<p id="para1"> 
     بِسْمِ اَللّٰهِ اَلرَّحْمٰنِ اَلرَّحِيمِ (1) اَلْحَمْدُ لِلّٰهِ رَبِّ اَلْعٰالَمِينَ (2) اَلرَّحْمٰنِ اَلرَّحِيمِ (3) مٰالِكِ يَوْمِ اَلدِّينِ (4) إِيّٰاكَ نَعْبُدُ وَ إِيّٰاكَ نَسْتَعِينُ (5) اِهْدِنَا اَلصِّرٰاطَ اَلْمُسْتَقِيمَ (6) صِرٰاطَ اَلَّذِينَ أَنْعَمْتَ عَلَيْهِمْ غَيْرِ اَلْمَغْضُوبِ عَلَيْهِمْ وَ لاَ اَلضّٰالِّينَ (7) 
</p> 
</body> 
</html> 

}

Qt代碼: {

#include <QtGui/QApplication> 
#include <QWebView> 

int main(int argc, char *argv[]) 
{ 
    QApplication a(argc, argv); 

    QWebView wv; 
    wv.setUrl(QUrl::QUrl("qrc:/rc/a.html")); 
    wv.show(); 

    return a.exec(); 
} 

}

+0

你能編輯代碼到問題中嗎? – Blender

回答

1

我很久沒有遇到過類似的問題。 Qt沒有顯示一些阿拉伯字符,因爲它們應該顯示。我不得不改變Qt的字體繪製機制,並使用'FreeType'字體庫來繪製字體。 您可以使用FreeType。更多的信息在這裏:http://freetype.sourceforge.net/index2.html

或者您可能使用其他圖形引擎繞過Qt的繪圖 - 它可以顯示這些字體。