【LIBRIe】電子書籍専用端末総合5【ワーズギア】

このエントリーをはてなブックマークに追加
332名無しさん@3周年
【自炊】電子書籍ビューア 4【出来合い】
http://pc11.2ch.net/test/read.cgi/mobile/1177321005/

上記スレで話が出ましたので自分なりにSony Reader PRS-500への
日本語フォント導入方法をまとめてみました。
まだまだ改善の余地が残る手法かとは思いますが(特にフォント周り)、
国内の数少ないSony Reader PRS-500ユーザーの方はぜひ参考にされてみてください。

なお、先ごろ発売された新製品PRS-505については
ファームウェアを上書きするUniversal Flasherがまだ505に対応しておりませんので、
それ待ちということになると思います。

ttp://www.mobileread.com/forums/showthread.php?t=15834

作業自体はそう難しくないと思うんですが、
Sony Reader特有の前提知識が必要なんで、かなり長くなると思います。
先に謝っておきます、ごめんなさい。

(めんせきじょうこう:
以下の方法を実際に試される方は必ず自己の責任において行ってください。

ファームウェアの上書きは危険な行為ですので、
本体機器が起動しなくなる可能性があります。
特にSony Readerは国内販売されていないため、
もし上書きに失敗し起動不能に陥ってしまったら、最悪の場合
修理のため北米に送らなければならなくなるかもしれません。

救済方法はありますが、すべて自助努力の世界です。
その「覚悟」のある方だけ、この先へと読み進めてください。)
333名無しさん@3周年:2007/11/11(日) 17:49:20 ID:rqF2jhfB
まず最初に、PRS-500は三つのTrueTypeフォントを内部に持っていて、
それらを表示用に使い分けています:

ファイル名  用途
tt0003m_.ttf タイトル名、LRF・PDF・RTFの表示など
tt0011m_.ttf TXT(UTF-8プレーンテキスト)の表示
tt0419m_.ttf MP3タグ(UTF-8で書き込まれたID3v1・ID3v2タグ)の表示

上にあるように、PRS-500は適切な文字コードでさえあれば
マルチバイト文字を表示することが可能です。
しかし三つの初期フォントには英字グリフしか含まれていません。
そのため日本語を表示可能にするには三つの初期フォントを
日本語グリフの含まれるものに取り換える必要があります。

具体的にはPRS-500で認識可能なフォントを用意し、
それをUniversal Flasherというソフトウェアを使って
機器本体のフォントに上書きすることで日本語が表示可能になります。

Universal Flasherは機器本体の/opt以下にあるファイルをコピー・上書きして
イメージを再構築し、それを本体のファームウェアに上書きしてくれます。
334名無しさん@3周年:2007/11/11(日) 17:50:27 ID:rqF2jhfB
そのためオリジナルのUniversal Flasherをそのまま使う場合
次の様な流れになります:

0. (PRS-500で正常に表示されるTTFフォントを作る)
  ※長くなるので後で解説します

1. Universal Flasherをダウンロード・展開
2. "展開ディレクトリ"\files\opt\sony\ebook\FONTに
  使用したいフォントを内部フォントと同じ名前にリネームして配置
  (たとえばタイトル名とLRF用ならtt0003m_.ttfとか)
3. "展開ディレクトリ"内のファイルをすべてメモリーカードのルートにコピー
4. メモリーカードをSony Reader本体に挿入
5. "Run Script"画面が現れたら、"5"を押してイメージ構築
5. "6"を押してイメージをフラッシュ
6. "9"を押して無事再ブートすれば完了

ただしこの方法には一つ制限があり、再構築後イメージ全体の大きさが7MB以下でないと
フラッシュに失敗してしまいます。

そのため実質的にはフォント容量として4MBくらいまでしか取れないことになります。
これは日本語グリフの含まれるTrueTypeフォントのサイズとしては
ビットマップデータを削ったもので一つ入るかどうか、といったところでしょう。
(どのみちPRS-500で正常に表示させるためにビットマップデータは削る必要があるんですが)

この制限はUniversal Flasherに含まれるmake_opt.shを修正することで回避することができます。

修正の内容はPRS-500がファイル置場として使っている内蔵のフラッシュメモリ部分に
フォント用のディレクトリを掘り、そこにフルサイズのフォントをコピー、
そしてそのフォントに対するシンボリックリンクを作成するというものです。