LoginSignup
4
12

More than 5 years have passed since last update.

PHPでIPAフォントを使う!最新版

Last updated at Posted at 2017-10-12

TCPDFで日本語のフォントの使い方

いろいろ検索するもどれもこれもうまくいかないです。

結局のところ3つのファイルが必要で、IPAからダウンロードしたTTFファイルだけではうまくいきません。

事前に設定が必要です。ソースコードに書くんじゃないですよ。

環境

環境はなんでもいいです。
windows環境でもLinux環境でもテストしました。問題ないく使えます。パスをちゃんと指定してあげればうまくいきます。
ちなみに、phalcon3.1を使ってます。

FPDI+TCPDFの導入

ということでまずは、TCPDFを導入するのですが、
私は、「FPDI+TCPDF」という組み合わせで利用していますが、フォント部分はTCPDFを使っているのでTCPDFだけ利用する方も同様に導入できると思います。
composer.jsonで以下を記述して導入するのがベストです。

composer.json
{
    "require": {
        "setasign/fpdi-tcpdf": "1.6.1"
    }
}

パスが通っていればcomposerコマンドでOK

command
composer update

で、無事導入できたんじゃないかと思います。

vendorのsetasignさんところに配置されてはなくて、そこからさらに以下の項目がありtecnickcomにtcpdfが依存関係で入ります。

composer.json
{ "tecnickcom/tcpdf": "6.2.*" }

ということで、そこに「tcpdf/tools/tcpdf_addfont.php」というファイルがあるのを見つけてください。

command
php ./tcpdf_addfont.php   -b -t ipag -f 32 -i どこかのパス/ipag.ttf

上記 -tは'TrueTypeUnicode', 'TrueType', 'Type1', 'CID0JP', 'CID0KR', 'CID0CS', 'CID0CT'しか指定できないので日本語が使える「CID0JP」じゃないとだめっぽかったです。

command
php ./tcpdf_addfont.php   -b -t CID0JP -f 32 -i どこかのパス/ipag.ttf

このコマンドで
.\tcpdf\fonts 内に ipag.ctg.z, ipag.php, ipag.z
という3つのファイルができます。

これでPHPで使えるようになります。

sample.php
$pdf->SetFont('ipagp', '', 10);

以上。

IPAフォントをダウンロードはこちらです

4
12
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
12