FPDF を使用して、学士/修士論文の表紙コンテンツをレンダリングしようとしています。
句読点のある文字 (ř、č、ž、ý、ě など) を含むチェコ語のアルファベットを表示できるようにする必要があります。したがって、ローカルの Times New Roman TTF フォント ファイルからhttp://fpdf.fruit-lab.de/index.phpに FPDF フォント ファイルを生成しました。
次のコードを使用してカバーをレンダリングしています。
function toISO($text) {
return iconv('UTF-8', 'ISO-8859-2', $text);
}
function buildImpressionPDF($school, $faculty, $thesisType, $firstname, $surname, $year)
{
$pdf = new FPDF();
$pdf->AddPage();
$pdf->AddFont('times', '', 'times.php');
$pdf->SetFont('times', '', 18);
$pdf->setMargins(0, 0, 0);
$pdf->SetAutoPageBreak(false);
$pdf->Cell(0, 20, toISO($school), 0, 0, 'C');
$pdf->SetY(20);
$pdf->Cell(0, 20, toISO($faculty), 0, 0, 'C');
$pdf->SetY(($pdf->h / 2) - 10);
$pdf->Cell(0, 20, toISO($thesisType), 0, 0, 'C');
$pdf->SetY(-40);
$pdf->Cell(0, 20, toISO($firstname . ' ' . $surname), 0, 0, 'C');
$pdf->SetY(-30);
$pdf->Cell(0, 20, toISO($year), 0, 0, 'C');
return $pdf;
}
テキストは句読点を含めて適切にレンダリングされますが、適切に位置合わせされていません。一部の行が他の行よりも右側に配置されています。
これは、カスタム フォントに問題がある可能性があると思われます。元の FPDF フォントを使用した場合、問題なく正当化されるように見えましたが (ただし、それを徹底的に調査したわけではありません)、もちろん、句読点は適切に表示されませんでした。
私は何を間違っていますか?