CentOSからPhantomJSを実行すると画面キャプチャの日本語が表示されなくなる問題
CentOSからPhantomJSを実行すると画面キャプチャの日本語が表示されなくなる問題
はじめに
PhantomJSをCentOS(6.5)から実行すると、保存した画面キャプチャの日本語が文字化けする問題があった。
コード
var page = require('webpage').create(); page.open('https://www.google.co.jp/intl/ja/about/', function() { window.setTimeout(function() { page.render('test.png'); phantom.exit(); }, 200); });
実行コマンド
phantomjs test.js
実行結果
対応方法
日本語フォントが入ってないか、フォント設定が上手くいってなかったので設定する。
yumから日本語フォントをインストール
sudo yum groupinstall "Japanese Support"
フォント設定ファイルを修正
sudo cp /etc/fonts/fonts.conf /etc/fonts/fonts.conf.original sudo vim /etc/fonts/fonts.conf
「Font directory list」から/usr/share/fonts
以外をコメントアウト。
すべて読み込むと文字化けされていた。
<!-- Font directory list --> <dir>/usr/share/fonts</dir> <!-- <dir>/usr/share/X11/fonts/Type1</dir> <dir>/usr/share/X11/fonts/TTF</dir> <dir>/usr/local/share/fonts</dir> <dir>~/.fonts</dir> -->
フォントキャッシュ更新
sudo fc-cache -fv
実行結果(再実行)
無事に日本語フォントが読み込まれた。