【发布时间】:2016-12-31 10:43:48
【问题描述】:
我想在mpdf 中使用我自己的字体。
mpdf docs建议我将字体文件上传到/ttfonts,修改mpdf包内的config_fonts.php文件。
但是,编辑包文件会使我的项目变得脆弱 - 也许有一天我会升级......
还有其他添加字体的方法吗?
【问题讨论】:
我想在mpdf 中使用我自己的字体。
mpdf docs建议我将字体文件上传到/ttfonts,修改mpdf包内的config_fonts.php文件。
但是,编辑包文件会使我的项目变得脆弱 - 也许有一天我会升级......
还有其他添加字体的方法吗?
【问题讨论】:
mpdf 使用了许多常量。通过定义_MPDF_SYSTEM_TTFONTS_CONFIG、_MPDF_TTFONTPATH和_MPDF_SYSTEM_TTFONTS,我们可以将我们自己的代码从mpdf包中分离出来。
1.定义常量
在程序启动时加载的某个文件中(在我的例子中:wp-config.php)我们这样写:
// Use this additional settings file:
define('_MPDF_SYSTEM_TTFONTS_CONFIG', WP_CONTENT_DIR . '/themes/mytheme/mpdf/config_fonts.php');
// Use this additional location for font files:
define('_MPDF_TTFONTPATH', WP_CONTENT_DIR . '/themes/mytheme/mpdf/ttfonts/');
// Don't forget about mpdf's built in fonts:
define('_MPDF_SYSTEM_TTFONTS', __DIR__ . '/vendor/mpdf/mpdf/ttfonts/');
2。定义你的字体
我们将字体定义放入附加设置文件中:
<?php
$this->fontdata['myfont'] = array(
'R' => 'MyFont.ttf',
'B' => 'MyFontBold.ttf',
);
3.上传您的字体文件
文件必须放在常量_MPDF_TTFONTPATH定义的文件夹中。
【讨论】: