2012-09-04 48 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的绘图 - 它可以显示这些字体。