Sony Readerのイマイチさと、PragProgスゲーな話
EPUBな話。
数少ないe-ink端末のSony Readerなんですが、これで技術書読んでて「ないわー」と思うことが「固定幅フォントの扱いのヒドさ」。内部的にどうゆう扱いかたされているかまでは分からないのだけれど、主だったところで
- 本文のフォントサイズと無関係にサイズ固定
- 折り返しされず見切れる
なんて事が多々ある。技術書だとソースコードやらコンソールの実行結果やらで固定幅フォントの出番が多いだけに、これらの欠点は致命的ですらある。悔しいことにiPhoneのiBookとかで閲覧すると、これらの欠点が出ることはないので、どうもSony Reader固有の問題っぽい。
具体的にって事で、「Building and Testing with Gradle: Understanding Next-Generation Builds」をiBookとSony Readerで見たときのスクリーンショットを以下に示す。Sony Reader側の残念さがわかるかしら?
そんなわけで「Sony Readerダセぇな」と毒づいてたのだけれど、昨年末にPragProgの「CoffeeScript: Accelerated JavaScript Development」を読んで、考えを改めた。
オレンジ枠のところが同じ箇所なんだけど、Sony Readerで見ても、本文と同じくフォントサイズが変わるし、見切れること無く折り返しもされてた。マジか?と思い手持ちのPragProg本を見返してみたら、PragProgに関しては他のeBookも同じくSony Readerでもキレイに読めた。
おそらく古いほうであろう「Groovy Recipes: Greasing the Wheels of Java (Pragmatic Programmers)」でも大丈夫だったので、PragProg本は全部そうだと思っていいんじゃないかな。
なるほど、同じEPUBでもマークアップの工夫でこんな違いがでるだと思い、実際どんな風にマークアップされているか調べてみたよ。O'REILLYや達人出版会、GDPはpreタグで囲んでソースコードなどを表現してる(GDPに関しては「EPUB3用XHTML作成ガイド」に詳しく書いてる)。
対してPragProg本はというと、tableタグで書いてた...。
上図はPragProgのAWDwRの一部(注目はオレンジ枠だけど、青枠んとこは普通にcodeタグだった。この辺はGDPなんかと同じ)で、オレンジ枠はどんな風にマークアップされてたかと言うと、こんなだった。
<table class="processedcode"> <tr> <td class="codeprefix"> </td> <td class="codeline"> <code style="white-space: pre-wrap;">$ <strong class="prompt">rvm use 1.9.2</strong> </code> </td> </tr> <tr> <td class="codeprefix"> </td> <td class="codeline"> <code style="white-space: pre-wrap;">$ <strong class="prompt">gem install rails</strong> </code> </td> </tr> </table>
うっは、行ごとにキレイにテーブルにしてんでやんの。preタグがイマイチだと思って、こうしたんだろな。
面白いところで、各行の先頭に"codeprefix
"ってスペース1つだけの列があるんだけど、これこんな風に使うみたい(こっちはCoffeeScript本から)。
なんつうか、よく考えてるなー。その達人っぷりにさすがですとしか言いようがない。EPUB直接編集とかしてたら死人の山になること請け合いなので、なんかしらの中間フォーマットもってんだろうなぁと推測。 |ω・`)チラッ
PragProgはpBook持ってると同じタイトルのeBookを格安で売ってくれたりするし、いろいろスゴい。
→ The Pragmatic Bookshelfが男前過ぎて泣いた