縦書きビューワ Ver.0.9.5.7を公開しました(EPUB目次対応拡充)

iPadが出ましたね。画面の広さではXperiaもDesireもiPadにはかないませんが、「縦書きビューワ」は「通勤時に使っています」とのコメントをいただいているので、満員電車でも快適に読書できるような選択肢として存続意義があるだろうと考えて、マイナーアップデートです。(Android Marketのコメント、ありがとうございます。励みになっています。)
どこまで読んだかをiPadのアプリ(i文庫HD等)と共有できて、家ではiPadで読書して、電車ではその続きをAndroidの「縦書きビューワ」で読んでと読書位置の引き継ぎができたら便利ですが、そういった読書情報交換用共通フォーマットを策定できれば準拠するアプリ間ではどれをどのデバイスで使っても読書位置やしおりを共有できるなんて夢が見られますが、アプリごとに管理の仕方が違うから実現は難しいかな。

主な変更点

EPUB形式ファイルの対応拡充

EPUB形式ファイルが複数のXHTMLファイルに分割されているときの見出し(簡易目次)表示を改善し、目次ファイル(NCXファイル)の内容も利用するようになりました。

スクリーンショット境祐司さんの連載記事「読むウェブ 〜本とインタラクション 第14回 [iPad発売記念]EPUBフォーマットの電子書籍をつくる!」に掲載されたサンプル日本語EPUBファイルを「縦書きビューワ」で表示した際の目次です。
(同記事および第13回記事では「縦書きビューワ」のことも取り上げてくださっています。感謝!)
http://epubs.jp/に投稿されているEPUBファイルを見てみると、NCXファイルは存在するもののナビゲーションの当てにならないようなものもあるので、NCXファイルの記載内容のみから目次を作成するのではなく、OPFパッケージドキュメントも参考にしています。
長いコンテンツを一つのXHTMLファイルでEPUB化した場合、HT-03Aのような非力な端末でなくても(iPad等であっても)動作が重くなるそうですから、今後は適宜チャプタ分割されたEPUBファイルが増えてくるでしょう。今回の変更で(まだ簡易対応ですが)、そうした場合の閲覧が格段に容易になったと思います。

音量調整ボタン設定の追加

Android Marketのコメントにてご要望をいただき、音量調整ボタンを押下した際のページ移動量をカスタマイズできるようにしました。「細かい単位で移動」「ページ単位で移動」から選択できます。
挿絵がページ分割されてしまった場合に、トラックボールのない端末(Xperia等)ではどのように挿絵の全体像を確認するかがこれまで課題となっていましたが、今回の設定追加で一応の対処ができました。

図版処理設定の追加

挿絵注記やimgタグの処理をカスタマイズできるようにしました。「表示しない」「キャプションのみ表示」「図版のみ表示」「図版とキャプションを表示」から選択できます。
表示速度を優先する場合や挿絵表示が不要な場合は、「表示しない」または「キャプションのみ表示」に設定しておくと効果的です。
設定を変更した場合は、次のファイル読み込み時から変更が反映されます。

Ver.0.9.5.10 (20100622)

  • ページ計算処理の高速化
    • v0.9.5.3(空き量調整)で従来よりもページ計算に時間がかかるようになってしまった点を改善

Ver.0.9.5.9 (20100615)

  • 英語版不足リソースの追加

Ver.0.9.5.8 (20100608)

  • 音量調整ボタン設定の追加
    • 「何もしない」(当アプリのナビゲーションに使用しない)を追加。他のアプリで朗読音声などを流している場合、そちらの音量調整が可能です。
    • 「何もしない」「細かい単位で移動」「ページ単位で移動」から選択
  • メモリ不足時の完全終了処理を追加
    • アプリを完全に終了し使用メモリを解放するためにタスクマネージャアプリでプロセスを終了させなければならないのは厄介なので、自ら完全終了する処理を加えました。ただし、やや非標準的な処理で、予期しない副作用があると困るため、差し当たってはメモリ不足になった直後に終了した場合のみ、完全終了処理が有効になるようにしています。
  • 挿絵表示時のメモリ削減
    • 若干ですが、挿絵表示時のページ移動動作が軽くなったのではないかと思います。

Ver.0.9.5.7 (20100601)

  • EPUB形式ファイルの対応拡充
    • 分割コンテンツの選択(簡易目次)を改善
  • 音量調整ボタン設定の追加
    • 「細かい単位で移動」「ページ単位で移動」から選択
  • 図版処理設定の追加
    • 「表示しない」「キャプションのみ表示」「図版のみ表示」「図版とキャプションを表示」から選択

スクリーンショット

折り返し行頭の始め括弧類を天ツキにする処理は、まだテストが十分に行えていないので今後のバージョンアップにて。
青空文庫の入力規則では、段落の始まりには全角スペースを入れることを原則としつつ、段落の始まりに始め括弧類が来る場合にはスペースを入れないこととしている。このため、特に調整を行わないと、段落の始まり(改行行頭)の始め括弧類も行頭(折り返し行頭)の始め括弧類も同じ表示(二分アキ)になってしまう。
段落の始まりに始め括弧類が来た場合でも全角スペースを入れているものとこれまで思い込んでいて、特に調整を行わずとも、改行行頭:全角半アキ、折り返し行頭:二分アキとなって辻褄が取れていると勘違いしていた。


これが漢数字の位取り用の読点ではないと自動判断するのは難しい。
位取り用の読点を「4けたごとに入れる方法がある」とJISが言う実用例を見たことはないけれど。