Проблемы с регистрацией пользовательских шрифтов в mPDF 7 - PullRequest
0 голосов
/ 03 мая 2018

Я использую mPDF 7.0.3. Я пытаюсь зарегистрировать пользовательские шрифты, которые я скачал из Google Fonts (формат TTF). Я в основном скопировал пример из документации :

$defaultConfig = (new Mpdf\Config\ConfigVariables())->getDefaults();
$fontDirs = $defaultConfig['fontDir'];

$defaultFontConfig = (new Mpdf\Config\FontVariables())->getDefaults();
$fontData = $defaultFontConfig['fontdata'];

$pdf = new \Mpdf\Mpdf([
  'fontDir' =>  array_merge($fontDirs, [
    __DIR__ . '/files/theme/fonts/Merriweather',
    __DIR__ . '/files/theme/fonts/Roboto',
  ]),

  'font_data' => $fontData + [
    "Merriweather" => [
        'L'  => 'Merriweather-Light.ttf',
        'R'  => 'Merriweather-Regular.ttf',
        'RI' => 'Merriweather-Italic.ttf',
        'B'  => 'Merriweather-Bold.ttf',
        'useOTL' => 0xFF,
        'useKashida' => 75,
    ],
    "Roboto Mono" => [
      'L' => 'Roboto-Light.ttf',
      'R' => 'Roboto-Regular.ttf',
      'M' => 'Roboto-Medium.ttf',
      'useOTL' => 0xFF,
      'useKashida' => 75,
    ]
  ],
  'default_font' => 'Merriweather'
]);

Мой PDF создается с резервными шрифтами. Я также реализовал регистратор Monolog, следуя этому примеру . Это вывод состояния, что есть

использовано 5 шрифтов {"context": "statistics"} []

Нет сообщений об ошибках, даже когда я намеренно передаю несуществующие пути в fontDir. Когда я удаляю свойство default_font, в журнале учитывается только 4 используемых шрифта.

Какие-нибудь идеи, откуда это может появиться или как я мог бы дополнительно исследовать проблему?

1 Ответ

0 голосов
/ 03 мая 2018

Мой плохой!

Как указано в в этой части руководства mPDF ожидает, что имена шрифтов будут строчными и без пробелов. Объявление моих шрифтов так:

"merriweather" => [
   ...
],
"robotomono" => [
  ...
]

решил проблему.

В CSS я все еще называю свои шрифты Merriweather и Roboto Mono .

...