Как использовать пользовательский шрифт с Weasyprint для символов, отличных от ascii - PullRequest
0 голосов
/ 22 мая 2018

У меня есть несколько строк на японском языке, которые необходимо преобразовать в PDF с помощью библиотеки weasyprint, сейчас японские символы отображаются в виде блоков, поэтому я думаю, что это вопрос шрифтов, моя проблема в том, что код отлично работает на моей локальной ОС,но на Heroku вместо этого отображаются окна, как я могу установить и использовать собственный шрифт для weasyprint, в частности, когда у меня нет доступа к системе (в моем случае Heroku)

ниже приведен код, который у меня есть

from weasyprint import HTML, CSS
from weasyprint.fonts import FontConfiguration

font_config = FontConfiguration()
html = HTML(string='<h1>Title here 自家製フォント工房</h1>')
css = CSS(string='''''', font_config=font_config)

html.write_pdf(
    'report.pdf', stylesheets=[css],
    font_config=font_config)

1 Ответ

0 голосов
/ 12 октября 2018

Нашел решение для этого, добавив файл шрифта .ttf в папку .fonts , эта папка будет использоваться Heoku для поиска шрифтов.

тогда в css я быскажем

@font-face {
  font-family: 'Hannari-Regular';
  src: local('Hannari-Regular')
}

где Hannari-Regular - имя файла шрифта

...