一部のページにユーザー生成コンテンツが含まれる Web サイトがあります。私は phantomjs (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 と Arora (私の phantomjs スクリプトと同じ結果が得られる QtWebKit ベースのブラウザー) でレンダリングする方法は次のとおりです。
私が望んでいるのは、テキストを Calibri でレンダリングし、一部の文字に適さない場合は Arial にフォールバックすることです。
これを許可するように QtWebKit を構成する方法 (Web 上で何も見つかりませんでした)、または HTML/CSS を「QtWebKit をサポートする」ように変更する方法を教えてくれるソリューションのいずれかを受け入れます。