我有一個網站,其中一些網頁有用戶生成的內容。我使用phantomjs(基於QtWebKit)截取頁面的截圖,因此它們必須在QtWebKit中完美呈現。如何修復/解決QtWebKit不正確的字體回退行爲?
問題從內容不是英文時開始。然後,流行的瀏覽器(例如Chrome和Firefox)會回退到CSS字體系列中的下一個字體,直到默認字體。但是,在我的測試中,QtWebKit似乎表現出不同的行爲:它錯誤地選取了無法呈現內容的字體。
考慮這個示例文件,「fonts.html」:
calibri, arial:
<div style="font-family: calibri, arial; font-size: 36px;">
ฝ่ายอีเว้นท์พร้อมแล้วกับงานปาร์ตี้ที่สนุกที่สุดในกทม
</div>
calibri:
<div style="font-family: calibri; font-size: 36px;">
ฝ่ายอีเว้นท์พร้อมแล้วกับงานปาร์ตี้ที่สนุกที่สุดในกทม
</div>
arial:
<div style="font-family: arial; font-size: 36px;">
ฝ่ายอีเว้นท์พร้อมแล้วกับงานปาร์ตี้ที่สนุกที่สุดในกทม
</div>
default:
<div style="font-size: 36px;">
ฝ่ายอีเว้นท์พร้อมแล้วกับงานปาร์ตี้ที่สนุกที่สุดในกทม
</div>
下面是它如何呈現在Chrome和阿羅拉(基於QtWebKit的瀏覽器,給出了相同的結果對我phantomjs腳本):
我想要的是文本在Calibri中呈現,如果不適合某些字符,則會退回到Arial。
我會接受一個解決方案,告訴我如何配置QtWebKit來允許這個(我在網上找不到任何東西),或者如何改變我的HTML/CSS來「支持QtWebKit」。
更多的研究:我試圖通過指定「MyCalibri」使用CSS「@ font-face {url:local('calibri')} 'unicode-range'描述符,它只能加載英文字符,但我找不到任何QtWebKit允許的語法。 –
我安裝了Arora,我沒有看到你的演示中的問題。你能否提供一個活頁面或更好的演示? –
A.M.K - 您使用的是Windows 7 /您是否安裝了Calibri字體? –