« 2018年1月 | トップページ | 2018年3月 »

2018年2月

2018年2月28日 (水)

Kobo: koreaderがaura Oneの色温度調節に対応

そんなに使っていないkoreaderだが、機能追加があったので。

koreader-nightly-20180212
https://github.com/koreader/koreader/releases/tag/v2018.02.12-nightly

○大きなところでは、aura Oneの色温度調節に対応したそうだ。
上記リンク先の画像
Koreader_naturallight
aura One持ってないけど。


○もう一つは、ズームモードに「列に合わせてズーム」が追加された。
これは2段組のpdf(和書によくある上下2段ではなく、左右2列組のページ)を一列ずつ拡大して表示するものらしい。そういうpdfを持っている人にはよさそう。


○あと変わったところでは、epub(とfb2)を開くときに、レンダリング・エンジンを選べるようになった。MuPDFのレンダリング・エンジンが選べるようになった。ただし、まだ実験段階。
上記リンク先の画像
Koreader_mupdf

試しにMuPDFをレンダリング・エンジンにして、リフローのepub(洋書)を開いてみたら、pdfのように固定レイアウトで表示された。koreaderはpdfのリフロー化ができるので、リフローに戻せたりもできるのだが・・・。

何に使うんだと思いつつ、マンガなんかの固定レイアウトのepubを開いてみたら、なるほど、pdfやcbzと同じような操作になり(メニューなども)、余白の自動カットなんかもできるようになるわけね・・・。
自炊本をepubにする人がいるのかどうかは知らないが、いるのなら便利かも。

あとは画像ファイルを直接開けるらしいので、これは画像ビューアーを目的としたものなのかも?
フォルダに突っ込んだ画像を連続して表示できるようにでもなれば、使い道はあるのかもしれない。

と、機能追加があったアップデート。

| | コメント (0) | トラックバック (0)

2018年2月19日 (月)

NotoSerif JPフォントをkindle、kobo用に修正

古くは青キンをはじめとして、kindleやkoboの差し替え/追加用フォントとして、IPA派生フォントがよく使われる。だが、IPAフォントはkindle/koboにデフォルトで入っているフォントより文字数が少ない。その上、koboはデフォルトの日本語フォント(Kobo筑紫明朝)にはボールドフォントをつけないというケチっぷり。そのせいで、ボールドはレギュラーフォントをソフトウェア的に太らせて表示するので、お世辞にもきれいとは言いがたい。kindleのja.fontの差し替えも、IPAフォントにボールドフォントがないため、レギュラーフォントとボールドフォントが別になり、字形が違ってしまう。

NotoSerif CJKは、JIS X 0208、JIS X 0213、JIS X 0212、Adobe-Japan1-6のすべての漢字に対応していて、IPA系のフォントよりも文字数に不安はなく、 ボールドフォントもリリースされている(ExtraLight、Light、Regular、Medium、SemiBold、Bold、Blackの7ウェイトある)。
というわけで、NotoSerif CJKは試してみたいフォント。当然、koboで使えば本来のボールドフォントの表示になる。

ところが、使ってみると、kindleやkoboではルビの行間があいてしまう。これはkindleのスクリーンショット。

Notoserif_orig

前回の記事ではNotoSerif JP Mediumのスクリーンショットだったが、今回はRegularを使っている。Regularでは字間が詰まる問題は生じないようだ。

そこで、修正してみた。
フォントのhheaテーブルの"ascent"(高さ)と"descent"(深さ)の値を、OS/2テーブルの"Typo Ascender"(組版での高さ)と"Typo Descender"(組版での深さ)と同じにすることで、不具合は解消されるようだ。

修正後のスクリーンショット

Notoserif_fixed


KoboSerif JPのレギュラーは細いので、koboで使う場合は、FWにパッチをあてて、ランチャーを使うなどして、フォントの太さ調整を有効にする必要があるだろう。本来、フォントの太さ調整なんてkoboには昔からついている機能。なのに、koboは和書ではその機能が使えないようにしている。つい最近アマゾンは和書でも太字調節可能にしたというのに、楽天koboは昔からある機能を日本語ユーザーにはブロックしたまま、何もしないかもしれない。和書は行間・余白の調節すらできない、劣悪な日本語環境をkobo touchの時代からずっと放置しているから。

要望があればフォントはアップしてもいいが、需要はなさそう。

-----

以下は修正手順。
◎必要なもの
・フォント
NotoSerif CJKから、C(中国語)とK(韓国語)を抜いた日本語だけのサブセット。
NotoSerifJP-Regular.otf
NotoSerifJP-Bold.otf
・ttx(前回の記事参照)
・kindle用に太字有効化が必要なら、筑紫明朝から抽出したAMZNテーブルのttxファイル(前回の記事のtsukumin_m.ttx/tsukumin_b.ttxがそれ)

◎行間の修正手順
NotoSerifJP-Regular.otfを例にして説明する。
1. NotoSerifJP-Regular.otfのOS/2テーブルの"Typo Ascender"(組版での高さ)と"Typo Descender"(組版での深さ)を調べるために、OS/2テーブルをos2.ttxに書き出してみる。
ttx -t "OS/2" -o os2.ttx NotoSerifJP-Regular.otf
os2.ttxの中身を確認する。その中の
sTypoAscender value="880"
sTypoDescender value="-120"
が"Typo Ascender"(組版での高さ)と"Typo Descender"(組版での深さ)。

2. 次にhheaテーブルをhhea.ttxとして抽出する。
ttx -t "hhea" -o hhea.ttx NotoSerifJP-Regular.otf

3. hhea.ttxをエディタで開いて、"ascent value"と"descent value"を、"Typo Ascender"(組版での高さ)と"Typo Descender"(組版での深さ)の数値に書き換える。つまり、
ascent value="880"
descent value="-120"
にする。

4. このhhea.ttxを使って、行間が修正されたフォントを出力する。
ttx -m NotoSerifJP-Regular.otf -o NotoSerifJP-Regular_hhea-fixed.otf hhea.ttx
NotoSerifJP-Regular_hhea-fixed.otfが修正されたフォント。
あとは、ボールドのNotoSerifJP-Bold.otfも同じ要領で修正する。

5. さらにkindleの差し替えフォントの太字有効化も必要なら、前回の記事を見て作業。

でも、*.ttxごとに2回フォントを作り変えるのは手間。hhea.ttx、AMZNテールブル用のttxの2つを1つにまとめてしまえば、1度で済む。(まとめ方は「hhea_amzn_ttx.txt」を参考に)。まとめたものを仮にfix_regular_hhea_amzn.ttxとすると、それを使ってオリジナルのNotoSerifJP-Regular.otfを修正するには、
ttx -m NotoSerifJP-Regular.otf -o NotoSerifJP-Regular_fixed.otf fix_regular_hhea_amzn.ttx
とする。レギュラーのNotoSerifJP-Regular_fixed.otfが完成。
ボールドフォント(NotoSerifJP-Bold.otf)にも同じ手順を繰り返す。

解説終了。

| | コメント (0) | トラックバック (0)

2018年2月13日 (火)

Kindle:差し替えフォントの太字有効化(5.9.4以降)

-- はじめに追記 --
アップデート5.9.6でフォントの追加が可能になったので、フォントの差し替えはもう必要ない。
さらに追加したフォントも太さの調節が可能になっている。したがって、以下で説明しているフォントの作り直しも必要ない。喜ぶべし。
-- 追記おしまい --

FW5.9.4でようやく日本語フォントも太さを調節できるようになった(欧文フォントは5.8.11から可能)。だが、フォントを差し替えた場合は太さの調節ができなくなる。そこで、差し替えフォントの太さ調節を有効にする方法。

フォントにAMZNというテーブルを追加してやるとよい、という情報が巨大掲示板に。それで試してみた。

フォントを差し替えている場合、たいていはja.fontの筑紫明朝を好みのフォントに入れ替えていると思うが、jailbreakのFont Hackでも可能なので、ja.fontの筑紫明朝と欧文フォントを一つ例にして、やり方を説明。

◎必要なもの
・ttx
linuxの場合はfonttoolsをインストールすればよい。(apt install fonttools など)
Mac、Windowsは、AFDKO (Adobe Font Development Kit for OpenType)をインストール(コマンドラインで操作するらしい)。
・差し替え用のフォント
ここでは源暎こぶり明朝を例に説明する。
Kindleのデフォルトフォントはすべてttfだが、源暎こぶり明朝はotf。
フォントの種類が違うので、不安だったらIPAexフォントなどのttfで(源暎こぶり明朝にはttf版もあるが、ファイルサイズが大きく、ja.fontに収まらないため。筑紫明朝のボールドを何かサイズの小さいフォントに差し替えれば別だろうが)。
源暎こぶり明朝はNotoSerif CJK(Adobeでは源ノ明朝の名前で配布)を元にしているので、文字数はIPAフォント(とその派生)よりも多く、安心。IPA派生のKoKin明朝では、たまにない漢字が別フォントで置き換えられて表示されたりする。

-- 追記 --
調べたら、Kindleにデフォルトで入っているフォントにはotfもあった(OpenDislexic)。なので、otfを使う事自体には問題はなさそうだ。
-- 追記おしまい --


◎ja.fontの筑紫明朝を太字化可能な差し替えフォントに
1. ja.fontからTsukuMinPr5-Medium.ttfを(ボールドフォントも差し替えるつもりならTsukuMinPr5-Bold.ttfも)取り出す。
やり方は、フォント差し替え解説ページか、linuxの場合はこちらを参照。

2. 筑紫明朝からAMZNというテーブルを抽出して、tsukumin_m.ttxというファイルに保存する。(以下の説明はlinuxを元にしているが、他もコマンドラインによる操作なので、似たようなものと推測)
ttx -t "AMZN" -o tsukumin_m.ttx TsukuMinPr5-Medium.ttf

ボールドフォントも差し替える場合はボールドフォントに対しても同じ操作を。
ttx -t "AMZN" -o tsukumin_b.ttx TsukuMinPr5-Bold.ttf

3.源暎こぶり明朝はotfなので、いま抽出したテーブルのttxファイルに修正が必要。tsukumin_m.ttx/tsukumin_b.ttxの次の個所をエディタで修正。
sfntVersion="\x00\x01\x00\x00"

sfntVersion="OTTO"
(オー・ティー・ティー・オー)に修正。こうしないと、otfなのにttf扱いされるため、正常なフォントにならない。
もちろんttfを使う場合はこの修正はいらない。

4. 差し替えフォント(源暎こぶり明朝、GenEiKoburiMin-R.otf)にAMZNテーブルを追加して、GenEiKoburiMin-R_AMZN.otfというフォントに出力する。
ttx -m GenEiKoburiMin-R.otf -o GenEiKoburiMin-R_AMZN.otf tsukumin_m.ttx

ボールドフォントも変更する場合は、tsukumin_b.ttxを使って同じ要領で。
(筑紫明朝のボールドを差し替えない場合は、本にボールドが出てきたら、とうぜん表示には筑紫明朝が使われる)

5. 確認
ttx -l GenEiKoburiMin-R_AMZN.otf
してみて、AMZNというtagがリストにあればOK。

5.あとはGenEiKoburiMin-R_AMZN.otfを使って、ja.fontを作り直しておしまい。やり方は上のリンクページの通り。


◎差し替え欧文フォントの太字有効化
欧文フォントの差し替えにはjailbreak必須。
以下はjailbreak済みで、Font Hackをインストールしている人が対象。Font Hackでもちろん和文の筑紫明朝だけでなくデフォルトの明朝も差し替え可能だが。
例として使うフォントは、Bitter ht。これもotf。

・手順
1. Kindle内のどのフォントを差し替えるか決めて、そのフォントを取り出す。
ここでは差し替えが一番簡単な"Caecillia Condensed"を"Bitter ht"に差し替えるものとする。

KUALを使ってkindleからフォントを取り出す。
KUAL > Fonts > Fonts Hack Behavior > Backup default fonts
の順にタップ。KindleをPCにUSB接続、"linkfonts/backup"というフォルダにフォントがコピーされている。

2. 差し替えるフォント(ここではCaecillia Condensed)のRegular、Bold、BoldItalic、Italicの4フォントをPCの適当なフォルダにコピー。具体的には、
 Caecilia_LT_67_Cond_Medium.ttf
 Caecilia_LT_68_Cond_Medium_Italic.ttf
 Caecilia_LT_77_Cond_Bold.ttf
 Caecilia_LT_78_Cond_Bold_Italic.ttf
の4フォント(自分が差し替えたいフォントに読み替えること)。

3. Caecillia CondensedのAMZNテーブルを抽出して、caecilia.ttxというファイルに保存する。
ttx -t "AMZN" -o caecilia.ttx Caecilia_LT_67_Cond_Medium.ttf
(4フォントともAMZNテーブルの中身は同じだったので、この一度の操作でOK)

4. otfに差し替える場合の追加処理
caecilia.ttxの次の個所をエディタで修正。
sfntVersion="\x00\x01\x00\x00"

sfntVersion="OTTO"
ttfを使う場合はこの修正はしないこと。

5. caecilia.ttxをBitter htフォントのあるフォルダに持っていく。それから、
Bitter htの4フォントにcaecilia.ttxに記載されたAMZNテーブルを追加して、Bitter-Regular_AMZN.otfなどとして出力する。
・レギュラーフォント
ttx -m Bitter-Regular.otf -o Bitter-Regular_AMZN.otf caecilia.ttx
・イタリック
ttx -m Bitter-Italic.otf -o Bitter-Italic_AMZN.otf caecilia.ttx
・ボールド
ttx -m Bitter-Bold.otf -o Bitter-Bold_AMZN.otf caecilia.ttx
・ボールドイタリック
ttx -m Bitter-BoldItalic.otf -o Bitter-BoldItalic_AMZN.otf caecilia.ttx

これで太字有効のフォントは完成。
Caeciliaではなく他のフォントを差し替えるなら、当然そのフォントの"AMZN"テーブルを抽出するのは言うまでもない。
あとはFont Hackのやり方通りにフォントを差し替える。

◎スクリーンショット

Genei_font_2

左がデフォルトの明朝、右が源暎こぶり明朝
Kindleデフォルトの明朝と似た感じだが、ひらがな、カタカナが存在感を主張しないので、すっきりした印象。
jailbreakのFont Hackを使った場合、源暎こぶり明朝にはボールドフォントがないため、本にボールドが出てくると、代わりにデフォルト明朝のボールドが使われるようだ。似た感じのフォントなのでさほど違和感はなさそう。


◎おまけでNotoSerif CJKはどうか?
源暎こぶり明朝の元になっているのは、去年リリースされた明朝系のNotoフォント。このオリジナルでも試してみた。

NotoSerif CJKはフルだとサイズが大きいので、中国語、韓国語抜きのサブセットのNotoSerif JPを使った。具体的には、NotoSerifJP-Medium.otfとNotoSerifJP-Bold.otf。ダウンロードはここから探して。もしくはここの一番下のリンク。

太字化はできるが、ルビの表示がおかしい。行間があいてしまう。また、字間が詰まっている。
Notoserifjp_kindle
自由に使えるフォントでボールドフォントがあるものは珍しいので、残念。

源暎こぶり明朝は縦書きを意識したフォントらしいので、IPA派生フォント以外にしたいなら、おすすめかもしれない。もちろんフォントの太さを調節できるようにするという前提で。

| | コメント (0) | トラックバック (0)

2018年2月 6日 (火)

Kindle:アップデート 5.9.4 & jailbreak関連

Kindleアップデート、5.9.4。

◎更新内容

検索範囲の拡張: 全文検索では、メモとハイライトも検索範囲に含まれます。
読書中に時計を表示: 今読んでいるページから移動しなくても、現在時刻を確認できるようになりました。「表示設定(Aa)」メニューのオプションを選択すると、時計を表示できます。
太字: 太字をもっと目に優しく、読みやすくするため、すべてのフォントの太字の太さを5段階で調節できるようになりました。この機能は、読書画面の「表示設定(Aa)」メニューで使用できます

だそうだ。
・検索については説明はいらないだろう。
・時刻は、本のページの上の余白、中央に表示される。
・太字については、やっと和文フォントも太字の調整ができるようになったのかと思ったが、どうも「すべてのフォント」ではないようだ。デフォルトの明朝は5段階に調節(太く)できるが、筑紫明朝はできない模様。なので、おそらく筑紫明朝(ja.font)の差し替えフォントも太さは調節できないだろうと予想。(欧文フォントは5.8.11で太さの調節は可能になっている)
それでもこれでフォント差し替えしなくても済む人も増えるだろう。

-- 追記 --
筑紫明朝の太字だが、WiFiをオンにしておくとフォントのアップデートが通知される。アップデート後は筑紫明朝も太字が可能になった。
それから、ja.fontを差し替えている場合は太さの調節はできない。昔作ったja.fontのタイムスタンプを変えるだけなので、実際に確認してみた。
-- 追記おしまい --


◎ダウンロードページ
○新Oasis(第9世代)
https://www.amazon.co.jp/gp/help/customer/display.html?nodeId=202200380

◯Kindle(新無印、第8世代)
https://www.amazon.co.jp/gp/help/customer/display.html?nodeId=202065490

◯Oasis(第8世代)
http://www.amazon.co.jp/gp/help/customer/display.html?nodeId=202037720

○PWマンガモデル
https://www.amazon.co.jp/gp/help/customer/display.html?nodeId=201756220

◯PW3(2015)
http://www.amazon.co.jp/gp/help/customer/display.html?nodeId=201756220

◯Voyage
http://www.amazon.co.jp/gp/help/customer/display.html?nodeId=201630670

◯無印
http://www.amazon.co.jp/gp/help/customer/display.html?nodeId=201605570

◯PW2(2013)
http://www.amazon.co.jp/gp/help/customer/display.html?nodeId=201307450


◎jailbreak関連
・第6世代のPW(2013)で確認した。voyageはアップデートする予定はないので。
jailbreakは生き残る。もちろんFWをアップデートしたら、*.binは再インストールが必要。クリーンセーバーやフォント・ハックは大丈夫そう。
ただし、フォントハックで差し替えたフォントは太さの調整ができない。たとえば、デフォルトの明朝を差し替えると太さ調節できなくなる。

・5.8.8以降は新規のjailbreakはできなくなっている。5.8.7.x以前の人しか新規のjailbreakはできない。
また、マンガモデルはjailbreakは依然としてjailbreak未対応。

・ただ、例外的にマンガモデルのFW5.8.9.0.1だけはjailbreakできる。このFWバージョン以外は不可。当然ダウングレードしてjailbreakするのも無理。
https://www.mobileread.com/forums/showthread.php?t=291336

5.9.2以降はKUALに注意が必要
mobilereadのスレッドを見ていると、どうやらドキュメントバージョンのKUAL(KUAL-KDK-2.0.azw2)は動かないらしい。bookletバージョン(Update_KUALBooklet_v2.7.2_install.bin)をインストールしろ、とのこと。つまり、
・KUAL-KDK-2.0.azwを削除した後、
・Update_KUALBooklet_v2.7.2_install.binを端末の"mrpackages"フォルダにコピー
・そして、検索欄に ;log mrpi と入力してEnter

ただ、5.9.2.0.1/5.9.4にアップデートした第6世代PW(2013)では、ドキュメントバージョンのKUALがそのまま使えている。ただし、jailbreak関連のパッケージはすべて最新版snapshot(去年11月にひさしぶりに更新された)を使っている。

-- 追記 --
voyageも5.9.4にアップデートしたので、jailbreak関連で注意点追加 --

・FWのアップデート後、hotfixの適用が必要だった。
https://www.mobileread.com/forums/showpost.php?p=3562968&postcount=4から
Update_jailbreak_hotfix_1.14_nomax_install.bin をダウンロード。
PCにつないだら、ドライブの一番上にコピー、それからメニューの設定から「Kindleをアップデート」を実行。

・KUALのkindletバージョン(*.awz2のほう)は5.9.2以降では使えない上に、削除してもサムネイルがリストから消えないという問題があるようだ。5.8.xからアップデートする場合はKUALを削除してからのほうがいいかもしれない。

あとは、上で書いた手順で、KUALのbookletバージョン(*.bin)を ;log mrpi でインストール。あとはKUALを使って、他のパッケージを再インストール。

-- 追記おしまい --


| | コメント (2) | トラックバック (0)

« 2018年1月 | トップページ | 2018年3月 »