Отсутствует шрифт скриншота phantomjs, вместо этого отображаются коробки
Я использую PhantomJs 1.8.1 на Centos 6.3 для автоматизированных тестов ui. Когда тест не удается, скриншоты сохраняются в файловой системе.
Моя проблема в том, что даже если скриншоты сохранены, они не содержат читаемых шрифтов.
Итак, если сайт читается следующим образом:
Привет, мир!
снимок экрана сайта будет выглядеть следующим образом:
![enter image description here]()
Таким образом, вместо фактических букв он отображает и сохраняет небольшие поля.
Система - centos 6.3.
Также установлены Freetype и Fontconfig.
Как я могу это исправить?
спасибо!
Ответы
Ответ 1
У меня была аналогичная проблема с японскими шрифтами. (PhantomJS 1.9.1, Redhat на Amazon EC2)
Английские персонажи проявили себя хорошо, но японские символы были отображены в виде ящиков.
Как я его исправил:
1) Установили (японские) IPA-шрифты (Mincho и Gothic) с помощью yum install
.
(Используйте yum list
, чтобы проверить точные имена пакетов.)
2) Файлы IPA .ttf
были установлены на:
-
/usr/share/fonts/IPA-Gothic/
-
/usr/share/fonts/IPA-Mincho/
3) Переместите два загруженных файла .ttf
в этот каталог: (создайте его)
4) Сделайте резервную копию /etc/fonts/fonts.conf
5) Отредактируйте оригинал /etc/fonts/fonts.conf
и заполните его следующим образом:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<dir>/usr/share/fonts/ipa</dir>
<cachedir>/var/cache/fontconfig</cachedir>
<cachedir>~/.fontconfig</cachedir>
<alias>
<family>serif</family>
<prefer>
<family>IPAP Mincho</family>
</prefer>
</alias>
<alias>
<family>sans serif</family>
<prefer>
<family>IPAP Gothic</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>IPA Gothic</family>
</prefer>
</alias>
</fontconfig>
6) Обновите кеш шрифтов с помощью fc-cache -vf
7) Наслаждайтесь новыми рабочими шрифтами.
Gotchas:
-
Если вы получаете символы no (пустое пространство), кеш шрифтов, вероятно, устарел.
Попробуйте fc-cache -vf
восстановить его.
-
Там есть исправление для японских/китайских/корейских символов в версии 1.9.1. Не уверен, что это имеет значение, но, вероятно, стоит перейти с 1.9.0.
Ответ 2
У меня была та же проблема.
Установка пакета urw-fonts решила его для меня:
yum install urw-fonts
Ответ 3
Для китайского шрифта я решил его выполнить следующие действия:
sudo apt-get install language-pack-zh-hans
sudo apt-get install ttf-arphic-uming
sudo apt-get install ttf-dejavu ttf-wqy-microhei
sudo fc-cache -f -v
OS - Ubuntu 12.04 LTS
Ответ 4
У меня та же проблема на amazon ec2
Я исправляю это следующим образом:
yum install cjkuni-ukai-fonts
Ответ 5
Также вы можете попробовать установить взаимозависимости - FontConfig и FreeType
yum install fontconfig
yum install freetype*
Ответ 6
Вы можете запустить script с параметрами командной строки:
phanthomjs --output-encoding=cp866 [params] [filename]
Ответ 7
Я столкнулся с такой же проблемой с арабскими шрифтами. Это то, что я сделал.
yum groupinstall 'Arabic Support'.
Установка поддержки арабского языка решила его для меня.
Ответ 8
Попробуйте это для китайского языка.
yum install bitmap-fonts bitmap-fonts-cjk
Ответ 9
покинуть файл /etc/fonts/fonts.conf. пример выше делает только японскую работу
yum install -y ipa-gothic-fonts.noarch ipa-mincho-fonts.noarch cjkuni-ukai-fonts.noarch bitmap-fonts bitmap-fonts-cjk urw-fonts fontconfig freetype *
yum groupinstall -y 'Корейская поддержка' 'Поддержка Китая' 'Поддержка Японии' 'Поддержка Kannada' 'Поддержка хинди' 'Арабская поддержка'
fc-cache -vf