皆さまこんばんは。
既に皆さまご存知かとは思いますが、私のBLOG.に不定期でMagentoネタを書いている中で、本日はひとつ共有させて頂きたいと思います。
これからmagentoを触られる方の為にも、幾つかご参考になればと、こちらにも投稿させて頂きます。
タイトル「magentoで生成される領収書他で日本語を使える様にするTips」
Magentoでは、お客様のお買い上げ後、そのinvoiceなどを、クリック一つでPDFとして生成する機能を持っていますので、帳票を一から作る必要もなく、とても重宝します。
しかし標準の状態のMagentoでは、PDF生成に使うフォントが欧文フォントの為、お客様の情報や商品情報、店舗情報等が日本語で登録されている場合、当然文字化けしてPDF化されてしまいます。
本日は、サーバー移転作業の際、新サーバーで行った帳票出力の日本語化作業の手順をご紹介します。
■必要なもの(作業)
▽日本語のフォント
・IPAのオープンソースライセンスである”IPAフォントラインセンス" に基づき無償で配布されている「IPAフォント(Ver.3)」を利用させて頂きました。
入手先 ->
http://ossipedia.ipa.go.jp/ipafont/
こちらのサイトからダウンロードしたファイルを解凍すると、4つの字体が入っています。私は等幅ゴシックの「ipagp.otf」を選択しました。
※4つの字体は全てTrueTypeベースOpenType形式のアウトラインフォントです。
※「Zend_Pdf_Font」で使用出来るフォント形式は、Zendのドキュメントによると、TrueType(.ttf)及びOpenType(.otf)の何れも使用可能との事です。
▽MagentoのCoreファイルで指定されている「Zend_Pdf_Font」の設定を、欧文フォントから上記「ipagp.otf」に変更する
※magento本家でのthegwinさんの記事を参考にさせて頂きました。
http://www.magentocommerce.com/boards...ead/42219/
・対象ファイル その1 -> /app/code/core/Mage/Sales/Model/Order/Pdf/Abstract.php
・対象ファイル その2 -> /app/code/core/Mage/Sales/Model/Order/Pdf/Items/Abstract.php
[重要]上記2ファイルは何れもcoreファイルなので、これを直接触らない事!!
これらを、/app/code/local以下にコピーし修正する事で、Magentoは、元のCoreファイルの設定に対してlocalが優先される設計になっていますので、この特性を利用します。
■作業手順
▽日本語フォントのインストール
1、magentoをインストールしたサーバー上に、日本語フォントを置く場所を作る
#mkdir /lib/jpfont
2、前述のIPAからダウンロードしたフォントセットの中から、好みのフォントを1つ選び、先程作った場所にアップロードする。
/lib/jpfont/ipagp.otf
▽設定ファイルの変更
1、まずは2つのcoreファイルを、localにコピーする
#cp /app/code/core/Mage/Sales/Model/Order/Pdf/Abstract.php /app/code/local/Mage/Sales/Model/Order/Pdf/Abstract.php
#cp /app/code/core/Mage/Sales/Model/Order/Pdf/Items/Abstract.php /app/code/local/Mage/Sales/Model/Order/Pdf/Items/Abstract.php
2、上でコピーした2つのファイルの中にある以下の「Zend_Pdf_Font」から始まる、全く同じ記述の行を探し、フォントの指定を、以下の通り前述でアップロードした日本語フォントに置き換える。
// $font = Zend_Pdf_Font::fontWithPath(Mage::getBaseDir() . '/lib/LinLibertineFont/LinLibertineC_Re-2.8.0.ttf');
$font = Zend_Pdf_Font::fontWithPath(Mage::getBaseDir() . '/lib/jpfont/ipagp.otf');
※2つ目のAbstract.phpファイルと、2つ目のItems/Abstract.phpファイルの中に、何れも3箇所ずつ記述が有る筈ですので、全て置き換えます。
3、完了!!動作確認
これで、Magentoの生成する各種PDF帳票で、日本語が使える様になりました。
追伸:
私の会社のBLOG.にて、気まぐれでmagentoネタを記事にしておりますが、この度サーバー移行に伴い、再びゼロから環境を構築し直しておりまして、改めて情報を整理しいろいろ掲載しております。
宜しかったら、ご参照下さい。
「横浜ではたらく代表のBLOG.」
合資会社 蔵 | 深海 (日本Asteriskユーザー会)
http://www.kula.co.jp/index.php/compa...log01.html
それでは、また。
サイト管理者はコメントに関する責任を負いません。
※一部修正
▽日本語フォントのインストール
1、magentoをインストールしたルートディレクトリにある、lib以下に、日本語フォントを置く場所を作る
[誤]#mkdir /lib/jpfont
->
[正]#mkdir lib/jpfont
2、前述のIPAからダウンロードしたフォントセットの中から、好みのフォントを1つ選び、先程作った場所にアップロードする。
(magentoのルートディレクトリ)/lib/jpfont/ipagp.otf