Cutycapt, wkhtmltopdf, wkhtmltoimage, phantomjs неправильно отображают символы

Единственные символы, которые они отображают, - это английские.

Макет печатной страницы такой, каким он должен быть, но единственное, что не так, это то, что символы любого шрифта, кроме английского (латинского), заменены квадратиками.

Я уже установил xvfb и шрифты, и он все еще дает мне ошибку ниже

FreeFontPath: FPE "/usr/share/X11/fonts/misc" refcount is 2, should be 1; fixing.

Теперь еще одна ошибка также начала появляться случайным образом

FreeFontPath: FPE "/usr/share/X11/fonts/misc" refcount is 2, should be 1; fixing.
error opening security policy file /usr/lib64/xserver/SecurityPolicy

Я потратил целый день, пытаясь исправить эти ошибки, и я просто расстраиваюсь.

Я использую Centos (Linux 2.6.18-274.7.1.el5xen #1 SMP Thu 20 октября 17:06:34 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux)


person Vish    schedule 03.11.2011    source источник
comment
Кажется, работает для меня. Тем не менее, я получаю предупреждение, что у меня FreeFontPath: FPE unix/:7100 refcount равно 2, должно быть 1; фиксация. Как ты устанавливал шрифты? xorg-x11-шрифты * ?   -  person Fluffy    schedule 23.12.2011
comment
да. yum установить xorg-x11-шрифты *   -  person Vish    schedule 28.12.2011


Ответы (1)


Эта ошибка часто возникает из-за "отсутствующих" шрифтов. wkhtmltopdf иногда не может обнаружить шрифты, даже если они правильно установлены (это особенно распространено в системах *nix).

Мое решение состоит в том, чтобы Base64 закодировал шрифт (вы можете использовать этот инструмент) и включил его в свой CSS:

@font-face {
    font-family: 'OpenSans';
    src: url(data:font/truetype;charset=utf-8;base64,AAEAAAATAQA...
}

Это гарантирует кросс-платформенную совместимость, и вам не нужно устанавливать шрифты во всех различных системах, которые вы используете (разработка, подготовка к тестированию, производство и т. д.).

person Arman H    schedule 14.07.2013