« Kindle: 5.6.5 jailbreak方法 | トップページ | Kindle:アップデート 5.7.2.1  »

2016年2月11日 (木)

Kindle: 和文・欧文フォント入れ替え(jailbreak版)

-- 追記 --
FW5.8.7以降、Amazon Ember Boldが追加された影響で修正が必要になった。
下記の「◎和文フォント入れ替え」以下で説明。
-- 追記おしまい --

5.6.5のjailbreakがようやくリリースされたので、フォント入れ替え方法をあらためて。

筑紫明朝(ja.font)の中身を偽装するのとは別のやり方。もちろんjailbreak済みであることが条件(jailbreakそのものについては「5.6.5 jailbreak方法」、または「Kindle:jailbreak方法(5.7.x - 5.8.1)その1 準備編」以下参照)。

ja.fontの偽装は当然、日本語フォント、それも筑紫明朝の入れ替えしかできない。
jailbreakのフォント・ハックではもちろん欧文フォントの入れ替えもできるし、さらには、デフォルトの明朝やゴシックの入れ替えもできるというのが利点。

◎フォント・ハックのインストール
◯ダウンロード
今の段階ではsnapshot。
http://www.mobileread.com/forums/showthread.php?t=225030
Packages targeting the Kindle 5 (Touch/PW1/PW2/KT2/KV/PW3): から
 kindle-python-0.14.N-rXXXXX.tar.xz
 kindle-linkfonts-0.13.N-rXXXXX.tar.xz
をダウンロード。snapshotなのでリビジョン番号XXXXはよく変わる。フォントの入れ替えにはPythonが必要。
使い方など、詳しくはフォント・ハックのスレッドを。
FW 5.3.x - 5.7.x Fonts Hack
http://www.mobileread.com/forums/showthread.php?t=219405

◯インストール
1. 解凍したら、
Python/Update_python_0.14.N_install_pw2_kt2_kv_pw3_koa_kt3.bin
Fonts/Update_linkfonts_0.13.N_install_pw2_kt2_kv_pw3_koa_kt3.bin
の2つを、
kindleの mrpackages フォルダにコピー

2. KUALでインストール
KUAL > Helper+ ▽ > Install MR Packeges
の順にタップしていく。


◎フォント入れ替えの手順
1. 入れ替えるフォントをkindleに追加(場所は linkfonts/fontsフォルダ)
2. KUALでフォント・キャッシュを更新する
3. 追加したフォントがKUALから見えるようにする(KUALでの作業)
4. 必要なら、設定ファイル(テンプレート)の編集(和文フォントの場合は必要)
5. KUALでフォントを入れ替える
(カスタム・フォントを削除した時も1、 2、 3 の作業を)

基本、フォントをkindleにコピーしたらKUALでタップ操作するだけ、ということ。
テンプレートの編集にしても、フォント名を変更する程度で終わる。
jailbreakできていれば、ja.fontの偽装より簡単かもしれない。

◎欧文フォント入れ替え
まずは設定ファイルをいじらず、KUALの操作だけでできる欧文フォントの入れ替え。
入れ替えをしても問題がないCaecilia Condensedを例に説明。

Charis SIL CompactLargerに入れ替えてみる。
http://www.mobileread.com/forums/showpost.php?p=2861013&postcount=9 のCharisSILCompactLarger+-+Hinted.rar。

◯前準備
1. フォントをkindleに追加
解凍したら、
CharisSILCompactLarger-R.ttf
CharisSILCompactLarger-I.ttf
CharisSILCompactLarger-B.ttf
CharisSILCompactLarger-BI.ttf
この4つを、
kindle の linkfonts/fonts フォルダへ
欧文フォントの場合、レギュラー、イタリック、ボールド、ボールドイタリックの4つがそろったフォントにすること。

2. フォント・キャッシュを更新する。
KUAL > Fonts ▽ > Fonts Hack Behavior ▽ > Update fontconfig cache
の順にタップしていく。(frameworkが再起動する)

3. KUALから見えるようにする
KUAL > Font Overrides ▽ > Populate this menu
終わったら、
(KUAL > Font Overrides ▽ >) Condensed ▽ > Custom ▽
と進むと、
"Charis SIL CompactLarger"が追加されているのがわかる。

Jb_kual_font

TsukushiMincho(筑紫明朝)は元から入っている。さらに、KoKin明朝とBitterが追加してある。

◯入れ替え手順
KUAL > Font Overrides ▽ > Condensed ▽ > Custom ▽ > Charis SIL CompactLarger
の順でタップしていく。
それから、
KUAL > Fonts ▽ > Restart the framework now

以上で終了。
本を開いてみて変わっていなかったら、一度別のフォントに切り替えてから、戻してみる。
左がデフォルのままのCaecillia Condensed、右がCharis SIL CompactLargerに入れ替えたもの

Jb_condensed_charis_menu

本当なら、さらに念を入れて
Restart the KF8 reader now > 本を開いてチェック
Restart the X server now > 本を開いてチェック
そしてkindleを再起動。

試行錯誤していろいろやった後は、最後に再起動しておくのがよさそう。

◎和文フォント入れ替え
こちらはちょっとファイルをいじる必要がある。テンプレートが用意されている。kindleの linkfonts/etc フォルダにある*.tpl。この中の fc-override-fallback.tpl を使う。

以前、fc-override.tpl を使うやり方を紹介したが、これだと欧文フォントが意図しないものに変わったりして不具合が出るようで、CJK(中・日・韓)フォントは fc-override-fallback.tpl を使え、ということらしい。

とりあえずKoKin明朝を例に。
KoKin明朝にはボールドはないが(元のIPAフォントにボールドがない)、本来は同じファミリーのボールドフォントもいっしょに追加する。kindleデフォルトの明朝・ゴシックと筑紫明朝にはボールドフォントもついてきている。

◯前準備
1. フォントをkindleに追加する
KoKinMincho-xxx.ttf
を、
kindle の linkfonts/fonts フォルダへ

2. フォント・キャッシュを更新する。
KUAL > Fonts ▽ > Fonts Hack Behavior ▽ > Update fontconfig cache
(frameworkが再起動する)

3. KUALから見えるようにする
KUAL > Font Overrides ▽ > Populate this menu
終わったら、
(KUAL > Font Overrides ▽ >) Condensed ▽ > Custom ▽
("Condensed ▽"以外でもいいが、"Custom ▽"をタップ)
「KoKin明朝」が追加されているのを確認。

◯テンプレートを編集する
サンプルを作ったので、サンプルを見ながら。
テンプレート・サンプル: fc-override-fallback-japanese.tpl

テンプレートに、「明朝」、「ゴシック」、「筑紫明朝」のエントリーを追加してある。
下の方の <!-- japanese fonts --> 以下。
kindleの「明朝」は TBMincho、「ゴシック」が TBGothic、「筑紫明朝」が TsukushiMincho。

たとえば、筑紫明朝をKoKin明朝に入れ換えるなら、
       <match target="pattern">
                <test name="family" compare="eq">
                        <string>TsukushiMincho</string>
               <test>
               <edit name="family" mode="assign" binding="strong">
                       <string>TsukushiMincho</string>
               </edit>
       </match>
となっているのを
       <match target="pattern">
                <test name="family" compare="eq">
                        <string>TsukushiMincho</string>
               <test>
               <edit name="family" mode="assign" binding="strong">
                       <string>KoKinMincho</string>
               </edit>
       </match>
とすればよい。変更するのは太字部分だけ。
エディタは念のため、改行コードをLF(unix)にできるものを。

<string>〇〇</string>の、〇〇(上の太字部分)はフォントのファミリー名。
"KUAL > Font Overrides ▽ > Condensed ▽ > Custom ▽"とタップしていって見えていたものがファミリー名。KoKin明朝の場合はローマ字でも通じる。

◯テンプレートをリネームしてkindleへ
テンプレートの編集が終わったら、
fc-override-fallback-japanese.tpl を
99-override-fallback-japanese.conf などに名前を変更
そして、
99-override-fallback-japanese.conf を
kindleの linkfonts/etc/conf.d フォルダへ

◯KUALでそれを反映させる
KUAL > Fonts ▽ > Restart the framework now

以上で、入れ替えは終了。
いろいろ試したら、最後に再起動。

-- 追記 FW5.8.7以降は要修正 --
Amazon Ember Boldなど新たに追加されたフォントをfontconfigのconfファイルで改めて指定してやる必要がある。とりあえずの対処法。

このファイル(「98-override-jp-sans-serif-ember.conf」)を、
1) PCにつないだkindleの、linkfonts/etc/conf.d/フォルダにコピー
2) KUALを起動して、Fonts▽ -> Restart the framework now とタップしていく

上記のサンプルfc-override-fallback-japanese.tpl(99-override-fallback-japanese.conf)に同じ内容を追記すると、本のリスト表示でフォントがなぜか斜字体になってしまうので、別ファイルでsans-serifのフォントを指定した。
-- 追記おしまい --

デフォルトの明朝をKoKin明朝に入れ替えた場合
右がデフォルトの明朝、左がKoKin明朝に入れ替えたもの

Jb_font_mincho01

筑紫明朝をKoKin明朝に入れ替えた場合
右がデフォルトの筑紫明朝、左がKoKin明朝に入れ替えたもの

Jb_font_tsukushi01


fc-override-fallback.tplを使ってフォントを入れ替えると、メニューやリスト表示などのフォント表示が少し変わる。全角はデフォルトのゴシック(TBGothic)のままだが、アルファベットや数字など半角文字が欧文フォント(システムの中にごちゃごちゃあるフォントのどれか)(訂正:Futuraのようだ)になってしまうようだ。理由はよくわからない。見た目は少し変わるがとくに支障はないだろう。
左がデフォルト、右がフォントを入れ替えた場合

Jb_home


ゴシック(TBGothic)を変更すると、書籍の本文だけでなく、メニューや辞書のフォントも変わるので注意が必要。
下の画像はフォントの入れ替えではなく、ゴシック(TBGothic)のサイズを変更した例だが、メニューや辞書のフォントサイズも変わる。
右がデフォルト、左がゴシックのフォントサイズを大きめにしたもの

Jb_menu_ui_110

Jb_dic_menu_ja_110

ゴシック(TBGothic)を1.1倍にしている。
目が悪いなど、辞書のフォントを大きくしたい人にはいいかもしれない。
FONT_RAMP/CJK_FONT_RAMPによるフォントサイズのカスタマイズでは辞書やメニューのフォントサイズを変えることはできない。フォントサイズのカスタマイズについては、また後日。


◎同じテンプレートを使って欧文フォントを入れ替える
99-override-fallback-japanese.conf で欧文フォントも入れ替えることができる。
たとえば、Palatinoを〇〇フォントに変えるなら、
上記手順でフォントを追加した後、

1. 98-override-fallback-japanese.conf 書き換え(サンプル参照)
       <match target="pattern">
                <test name="family" compare="eq">
                        <string>Palatino</string>
               <test>
               <edit name="family" mode="assign" binding="strong">
                       <string>◯◯</string>
               </edit>
       </match>
〇〇に使いたいフォントのファミリー名を入れる。
Charis SIL CompactLargerに変えるなら、大文字・小文字の区別、スペースの有無も正確に
Charis SIL CompactLarger と記入する。

2. 変更を反映させる
KUAL > Fonts ▽ > Restart the framework now

PalatinoをCharis SIL CompactLargerに入れ替えた場合
左がデフォルトのPalatino、右がCharis SIL CompactLargerに変えたもの

Jb_palatino_charis_menu


同じCharis SIL CompactLargerでも、どのフォントと入れ替えるかによって行間が違ってくるようだ。
左からそれぞれ、Baskerville、Caecillia Condensed、Palatinoと入れ替えている。

Jb_bcp_menu

Jb_bcp

欧文フォントの入れ替えには、このあたりも考慮に入れたほうがいいかもしれない。

Sans系のHelveticaとFuturaはメニューその他のUIでも使われていて、変更すると問題が出るかもしれない(試していない)。ただ、FW3.7.2にではUI用のフォントとして、Amazon Emberというフォントが新しく追加されたらしく、事情は変わっているかもしれない。3.7.2に上げていないので詳しくはわからない。
-- 追記 --
FW5.7.2以降ではUI用のAmazon Emberが追加されたので、HelveticaとFuturaを他のフォントに入れ替えても問題ない。つまり、メニューや本のリスト表示のフォントに影響しない。
FW5.6.5以前では、FuturaとHelveticaを入れ替えると、影響がある。
-- 追記おしまい --

好きなフォントで楽しい読書を!

|

« Kindle: 5.6.5 jailbreak方法 | トップページ | Kindle:アップデート 5.7.2.1  »

Kindle」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/592212/63184917

この記事へのトラックバック一覧です: Kindle: 和文・欧文フォント入れ替え(jailbreak版):

« Kindle: 5.6.5 jailbreak方法 | トップページ | Kindle:アップデート 5.7.2.1  »