Phantom JS плохой кернинг нестандартных шрифтов на лямбде - PullRequest
1 голос
/ 29 марта 2019

Я использую html-pdf для генерации PDF через nodejs с использованием phantomJS и запускаю его на aws lambda. У меня есть пользовательские шрифты, и ссылки на них с помощью пути в css (src: url('path/fonts.ttf'); заставлял pdf отображаться как одно большое изображение, а размер файла был в 10 раз больше оригинала.

поэтому я изменил его, чтобы локально ссылаться на шрифты, чтобы исправить проблему с размером файла, меняя переменные qt_qpa_fontdir и home на мой локальный каталог шрифтов, и это работает. Шрифты теперь отображаются, и размер файла возвращается к нормальному. Однако между шрифтами существует неправильный интервал между буквами и кернинг.

это также было проблемой, когда я ссылался на шрифты через путь, но я исправил это с помощью файла fonts.conf в папке общих шрифтов, используя xml:

<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
 <match target="font">
  <edit mode="assign" name="rgba">
   <const>rgb</const>
  </edit>
 </match>
 <match target="font">
  <edit mode="assign" name="hinting">
   <bool>true</bool>
  </edit>
 </match>
 <match target="font">
  <edit mode="assign" name="hintstyle">
   <const>hintslight</const>
  </edit>
 </match>
 <match target="font">
  <edit mode="assign" name="antialias">
   <bool>true</bool>
  </edit>
 </match>
 <match target="font">
  <edit mode="assign" name="lcdfilter">
   <const>lcddefault</const>
  </edit>
 </match>
</fontconfig>

Это исправление не помогает теперь, когда на шрифты ссылаются локально. Нужно ли указывать путь к файлу конфигурации шрифтов QT? или поменять fonts.conf?

enter image description here enter image description here

...