SSブログ

SonyReader PRS-505の日本語化メモ [ソフトウェア]

PRS-505の日本語化は、
http://d.hatena.ne.jp/Weintraub/20080826
が一般的らしいが、この方法はIPAフォントの名前をBitstreamフォントの名前に変えているだけで、しかもipag.ttfやipgm.ttfの等幅フォントを使っているため、英字の見かけが大きく変わってしまう。
まあ、等幅フォントが好きな人はこれでよいのだろうが。

可変幅のipagp.ttfやipamp.ttfにすれば、多少間延びしているものの見かけは似てくる。
しかし、Aboutを見れば分かるがgやyの下が欠けてしまう。
たぶんベースラインが適切ではないのだろう。

フォント関係はよくわからないが、何とか試行錯誤して、英字の見かけは元のBitstreamフォントのままで日本語を表示させることができた。
とりあえずメモしておこう。

使用するのは、元のBitstreamフォント・IPAフォント・fontmapper・そしてfontforgeだけ。
ZIPファイルは、Windows XP以降とか最近のLinuxディストリビューションなら問題なく扱えるだろう。

Bitstreamフォントは、<Program Files>\Sony\Reader\Data\fonts から、取ってくる。


IPAフォントは
http://ossipedia.ipa.go.jp/ipafont/
の過去のバージョンから拾ってくる。
新規格のIPAfont0203・旧規格のIPAfont0103のどちらでも使える感じだが、特に新規格である必要もなさそうだし、旧規格の方が明らかにサイズが小さいので旧規格のにした。
fontmapperは、
http://www.mobileread.com/forums/showthread.php?t=20644
の 3. get my fontmapper-070218.zip, unzip ~のリンクから拾ってくる。

IPAフォントは、ipagp.ttf, ipamp.ttf, ipagui.ttf を抽出して、Bitstreamフォントのtt0003m_.ttf, tt0011m_.ttf, tt0419m_.ttf とともに適当なディレクトリに置いておく。

fontforgeは、以前CentOS5.3のスクリーンフォントをM+フォントとの統合フォントに変えたときにインストールしていたので、そのまま使った。

コマンドラインからなら、フォントのあるディレクトリに以下のスクリプトを prs-505-font+IPA-font.pe にでも保存して、出力ディレクトリ
mkdir prs-505-font+IPA-font
を作成しておいてから、
% fontforge --script prs-505-font+IPA-font.pe
を実行すると、prs-505-font+IPA-font/ に新しいフォントが作成される。

---- ここから ----
#!/usr/bin/env fontforge -script

PRS_Goth = "tt0003m_.ttf"
PRS_Min = "tt0011m_.ttf"
PRS_GUI = "tt0419m_.ttf"

IPA_Goth = "ipagp.ttf"
IPA_Min = "ipamp.ttf"
IPA_GUI = "ipagui.ttf"

output = "prs-505-font+IPA-font/"

Open(IPA_Goth)
ScaleToEm(2048)
Generate(IPA_Goth:r + "-scaled.ttf", "")
Close()
Open(PRS_Goth)
MergeFonts(IPA_Goth:r + "-scaled.ttf")
Generate(output + PRS_Goth, "", 4)
Close()

Open(IPA_Min)
ScaleToEm(2048)
Generate(IPA_Min:r + "-scaled.ttf", "")
Close()
Open(PRS_Min)
MergeFonts(IPA_Min:r + "-scaled.ttf")
Generate(output + PRS_Min, "", 4)
Close()

Open(IPA_GUI)
ScaleToEm(2048)
Generate(IPA_GUI:r + "-scaled.ttf", "")
Close()
Open(PRS_GUI)
MergeFonts(IPA_GUI:r + "-scaled.ttf")
Generate(output + PRS_GUI, "", 4)
Close()
---- ここまで ----

PRS-505のBitstreamフォントはEm Sizeが2048で、IPAフォントはEm Sizeが1000のため、そのまま統合すると、日本語フォントが半分くらいの大きさになってしまうようだ。
そのため、先にIPAフォントのEm Sizeを同じ2048に変更してから一時ファイルに保存し、Bitstreamフォントには変更後のIPAフォントを統合するようにした。
もしかするとBitstreamフォントのEm Sizeを1000にしてから統合でもよかったのかもしれないが、Bitstreamフォントの方はいじりたくなかった。

GUIを使うなら、
Bitstreamフォント / IPAフォント
tt0003m_.ttf / ipagp.ttf
tt0011m_.ttf / ipamp.ttf
tt0419m_.ttf / ipagui.ttf
のそれぞれに対して、
1. まずIPAフォントを開く。ビットマップは読み込まなくてよい。
2. エレメント → フォント情報 の一般情報のEm Sizeを2048に変更してOK。
3. 適当なファイルにファイル名を指定して保存する。
4. Bitstreamフォントを開く。
5. エレメント → フォントの統合 で、Em Size変更後のIPAフォントを統合する。
カーニング情報を保持するかとか聞いてくるが、たぶん<はい>でいいんだろう。
6. 上書き保存か、別のフォルダに同一名で保存する。
とかでできるんじゃないかと思う。

Windowsでも、
http://www.geocities.jp/meir000/fontforge/
から fontforge-mingw_2009_06_24.zip を拾ってくればできると思う。

できあがった3つのフォントをPRS-505本体のルートに FONT フォルダを作成して中にコピーし、fontmapper-070218.zip の内容をSDカードのルートにそのままコピーして、autorun.jsを実行させればよい。
このあたりは、 http://d.hatena.ne.jp/Weintraub/20080826 と同じ。

PRS-505で表示するとき、~などの記号があると□になってしまうが、これは文字コード変換の問題だろうか。
たいした弊害はないのでそのままにしてあるが。

nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

SonyReader PRS-505SonyReader PRS-505の日.. ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。