tFPDF 添加多种 DejaVu 字体

tFPDF add multiple DejaVu fonts

在使用 tFPDF 时如何使用多种样式的 DejaVu 字体?

我想对某些文本使用 DejaVuSans 字体,对其他文本使用 DejaVuSansMono 字体。

教程显示您可以像这样包含字体:$pdf -> AddFont('DejaVu','','DejaVuSans.ttf',true); 然后像 $pdf -> SetFont("DejaVu","",10);

一样使用它

但是如果我添加额外的字体 $pdf->AddFont('DejaVu','','DejaVuSansMono.ttf',true); 什么都不会改变。

那么我该如何指定我想在何处使用 Mono 字体以及在何处使用默认字体?

我的代码目前看起来像这样(不起作用):

$pdf->AddFont('DejaVu','','DejaVuSans.ttf',true);
$pdf->SetFont("DejaVu","",10);
$pdf->Cell(10,10 , "sometext");

$pdf->AddFont('DejaVu','','DejaVuSansMono.ttf',true);
$pdf->SetFont("DejaVu","",10);
$pdf->Cell(10,10 , "sometext");

对于仍然对答案感兴趣的人

您只需AddFont一次:

$pdf->AddFont('dejavusans', '', 'DejaVuSans.ttf', true);
$pdf->AddFont('dejavusans', 'B', 'DejaVuSans-Bold.ttf', true);
$pdf->AddFont('dejavusans', 'I', 'DejaVuSans-Oblique.ttf', true);
$pdf->AddFont('dejavusans', 'BI', 'DejaVuSans-BoldOblique.ttf', true);

那么,一段文字使用字体时,可以这样使用:

$pdf->SetFont('dejavusans', '', 9);

$pdf->SetFont('dejavusans', 'I', 10);

所以,只添加一次字体,然后在需要的地方设置字体。我尝试使用 'dejavusans' 以外的其他名称,但这似乎不起作用。

您需要添加如下字体:

// Add a Unicode font (uses UTF-8)
$pdf->AddFont('DejaVu', '', 'DejaVuSansCondensed.ttf', true);
$pdf->AddFont('DejaVu', 'B', 'DejaVuSansCondensed-Bold.ttf', true);