2012-09-04 4 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의 그림을 건너 뛸 수 있습니다.이 글꼴은 이러한 글꼴을 표시 할 수 있습니다.

관련 문제