mpdf60で日本語ゴシック出力

日付 2021.02.18
タイトル mpdf60で日本語ゴシック出力
本文
# IPAフォントのDL
# 窓の杜からダウンロード可、今回はIPAexGothic(Ver.004.01)を利用
# zip展開して ipaexg.ttf をアップ

# mpdfのディレクトリに移動
cd /path/to/mpdf60

# フォントファイルを設置
mv -i /path/from/ipaexg.ttf ttfonts/
chown [FTPユーザ:FTPユーザ] ttfonts/ipaexg.ttf

# 書き込み許可を与えておく
chmod 777 tmp ttfontdata graph_cache

# ファイルを修正
cp -pi config_fonts.php config_fonts.php.bkYYMMDD
>>> vi config_fonts.php
# $this->fontdata = array(... の末尾に加える
"ipag" => array(
'R' => "ipaexg.ttf",
),
# $this->BMPonly = array(... の末尾に加える
"ipag",
<<<
>>> diff -u config_fonts.php.bkYYMMDD config_fonts.php
@@ -298,6 +298,11 @@
),


+/* IPA GOTHIC */
+ "ipag" => array(
+ 'R' => "ipaexg.ttf",
+ ),
+
);


@@ -309,6 +314,7 @@
"dejavuserifcondensed",
"dejavuserif",
"dejavusansmono",
+ "ipag",
);

// These next 3 arrays do two things:
@@ -338,4 +344,4 @@



-?>
\ ファイル末尾に改行がありません
+?>
<<<

# 以下を行った場合、フォント指定必須やらないほうが利便性が高そうでした
#cp -pi config_lang2fonts.php config_lang2fonts.php.bkYYMMDD
#>>> vi config_lang2fonts.php
## CASE "ja": CASE "jpn": // Japanese HIRAGANA KATAKANA
## 以下のunifontにipagを追記
# if ($adobeCJK) { $unifont = "sjis,ipag"; }
# else { $unifont = "sun-exta,ipag"; }
#<<<
#>>> diff -u config_lang2fonts.php.bkYYMMDD config_lang2fonts.php
#@@ -354,8 +354,8 @@
# else { $unifont = "unbatang"; }
# break;
# CASE "ja": CASE "jpn": // Japanese HIRAGANA KATAKANA
#- if ($adobeCJK) { $unifont = "sjis"; }
#- else { $unifont = "sun-exta"; }
#+ if ($adobeCJK) { $unifont = "sjis,ipag"; }
#+ else { $unifont = "sun-exta,ipag"; }
# break;
# CASE "ii": CASE "iii": // Nuosu; Yi
# if ($adobeCJK) { $unifont = "gb"; }
#@@ -498,4 +498,4 @@
# return array($coreSuitable ,$unifont);
# }
#
#-?>
#\ ファイル末尾に改行がありません
#+?>
#<<<


# テストファイル
<?php
// mpdfライブラリ include pathは別途指定しておいて下さい
include_once("mpdf60/mpdf.php");

// PDF作成開始
$mpdf = new mPDF('ja', 'A4');
//// utf8でエラーが起こらないようにする場合
//$mpdf->ignore_invalid_utf8 = true;

// スタイルでフォントの指定
$stylesheet = 'html, body{
//font-family: sjis; // 明朝(デフォルト)
font-family: ipag; // ゴシック
}';
$mpdf->WriteHTML($stylesheet, 1);

// 文面
$mpdf->WriteHTML('<p>Hellow worldこんにちわせかい</p>');
// 出力
$mpdf->Output('test.pdf', 'D');
?>