ラベル font の投稿を表示しています。 すべての投稿を表示
ラベル font の投稿を表示しています。 すべての投稿を表示

2011年12月22日木曜日

princeの日本語文字化けについて

前回centosにprince用msttcorefontsをインストル手順を紹介しました。それで一応PDFは吐き出されたけど、よく見たら、日本語はすべて文字化けている(「?」になっている)
まずはシステム上「明朝」や「ゴシック」などturetype fontの有無を確認、centosだと普通はこの場所にあるか

$ cd /usr/share/fonts/
$ ll
合計 24
drwxr-xr-x. 2 root root 4096 11月 1 17:05 2011 ipa-gothic←ゴシック
drwxr-xr-x. 2 root root 4096 11月 1 17:05 2011 ipa-mincho←明朝
drwxr-xr-x. 2 root root 4096 11月 1 17:05 2011 ipa-pgothic←Pゴシック
drwxr-xr-x. 2 root root 4096 11月 1 17:05 2011 ipa-pmincho←P明朝
drwxr-xr-x. 2 root root 4096 12月 21 16:19 2011 msttcorefonts←前回インストルしたMSフォント
drwxr-xr-x. 2 root root 4096 11月 1 17:05 2011 vlgothic

そしてfonts.cssを開いて。

$ sudo vi /usr/local/lib/prince/style/fonts.css
まずはもともと「font-family: serif」と「font-family: sans-serif」の@font-faceブロッグをすべて削除(またはコメントアウト)
そして明朝とゴシックを追加

/* standard "IPAMincho" font family */

@font-face {
font-family: serif;
font-style: normal;
font-weight: bold;
src: url("/usr/share/fonts/ipa-mincho/ipam.ttf")
}

/* standard "IPAGothic" font family */

@font-face {
font-family: sans-serif;
font-style: normal;
font-weight: bold;
src: url("/usr/share/fonts/ipa-gothic/ipag.ttf")
}

fontの絶対パスを設定すること

2011年12月21日水曜日

CentOS6(64bit)にmsttcorefontsをインストール

ちなみに、前回はprinceのインストール方法を紹介しました。必要があれば参照してください。

htmlをPDFに変換してくれるlib princeを使おうと思ったけど、「fontがない」と怒れる

$ /usr/local/bin/prince --input=html --server -s /home/kagen/work/anyproj/public/stylesheets/application.css -s /home/kagen/work/anyproj/public/stylesheets/print.css -s /home/kagen/work/anyproj/public/stylesheets/prince.css ~/test.html -o test.pdf
...
Fontconfig error: Cannot load default config file
...
msg|wrn||no glyphs for character U+0074, fallback to '?'
msg|err||no available fonts

問題は2つ有るようだ
①Fontconfigがない
②linux上msのtruetype fontがインストールされてないのが原因らしい。
解決
①について、インストールすればいいとおもう。

$ sudo yum install fontconfig

②の解決策は2つ、/usr/local/lib/prince/style/fonts.cssを弄るか、msttcorefontsをインストールするか
私はmsttcorefontsをインストールすることにした。
まずはrepoを新規作成

$ sudo vi /etc/yum.repos.d/puias-unsupported.repo
[puias-unsupported]
name=PUIAS Unsupported
baseurl=http://elders.princeton.edu/data/puias/unsupported/5/i386/
enabled=1
gpgcheck=0

早速yumしてみると

$ sudo yum install msttcorefonts
...
Requires: /usr/sbin/chkfontpath
...

と怒れる。取り敢えずまたyumしてみると

$ sudo yum install chkfontpath
...
No package chkfontpath available.
...

またダメか!ググッてたら、chkfontpath Install Howto
ここが書いてありました!
まずatrpms-repoのrpmをダウンロード、ここ。64bitだからatrpms-repo-6-4.el6.x86_64.rpm←これ

$ wget http://dl.atrpms.net/el6-x86_64/atrpms/stable/atrpms-repo-6-4.el6.x86_64.rpm
$ sudo rpm -Uvh atrpms-repo*rpm
...

$ sudo yum install chkfontpath
...
Complete!

成功!最後はfontだ

$ sudo yum install msttcorefonts
...
Complete!

やったー!もう一回princeを実行してみる

$ /usr/local/bin/prince --input=html --server -s /home/kagen/work/anyproj/public/stylesheets/application.css -s /home/kagen/work/anyproj/public/stylesheets/print.css -s /home/kagen/work/anyproj/public/stylesheets/prince.css ~/test.html -o test.pdf
...
sta|Converting document...
prg|0
prg|100
fin|success

できた…
以上。