Jak naprawić / obejść niepoprawne zachowanie czcionek QtWebKit?
Mam stronę internetową, w której niektóre strony zawierają treści generowane przez użytkowników. Używam phantomjs (opartych na QtWebKit) do robienia zrzutów ekranu stron, więc muszą one być idealnie renderowane w QtWebKit.
Problem zaczyna się, gdy treść nie jest w języku angielskim. Następnie popularne przeglądarki (takie jak Chrome i Firefox) powracają do następnej czcionki z rodziny czcionek CSS, aż do domyślnej czcionki. Jednak w moich testach QtWebKit wydaje się wykazywać inne zachowanie: niepoprawnie wybiera czcionkę, która nie może renderować zawartości.
Rozważ ten przykładowy plik „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>
Oto jak renderuje się w Chrome i Arora (przeglądarka oparta na QtWebKit, która daje identyczne wyniki do mojego skryptu phantomjs):
Chciałbym, aby tekst był renderowany w Calibri i, jeśli nie nadaje się dla niektórych postaci, powróć do Arial.
Przyjmę albo rozwiązanie, które mówi mi, jak skonfigurować QtWebKit, aby to umożliwić (nie mogłem znaleźć niczego w sieci), ani jak zmienić mój HTML / CSS na „wsparcie QtWebKit”.