如何使用Weasyprint的自定义字体用于非ascii charachters

时间:2018-05-22 10:02:58

标签: python weasyprint

我有一些日语字符串需要使用weasyprint库转换为PDF,现在日语字符串显示为框,所以我猜它是字体的问题,我的问题是代码在我的本地操作系统上完美运行,但是在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 :(得分:0)

为此找到了解决方案,方法是将字体.ttf文件添加到文件夹 .fonts 中。Heoku将使用此文件夹查找字体。

然后在CSS中我会说

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

其中Hannari-Regular是字体文件的名称