【问题标题】:tFPDF add multiple DejaVu fontstFPDF 添加多种 DejaVu 字体
【发布时间】:2016-09-29 23:41:46
【问题描述】:

在使用 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");

【问题讨论】:

    标签: php fonts fpdf


    【解决方案1】:

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

    您只需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);
    

    所以,只需 AddFont 一次,然后在需要的地方设置它们。我尝试使用除“dejavusans”以外的其他名称,但这似乎不起作用。

    【讨论】:

      【解决方案2】:

      您需要添加如下字体:

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

      【讨论】:

        猜你喜欢
        • 2016-11-25
        • 2013-09-13
        • 2015-12-06
        • 2023-01-31
        • 2011-01-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-28
        相关资源
        最近更新 更多