ユーザーブロマガは2021年10月7日(予定)をもちましてサービスを終了します

大量の電子書籍をスマートフォンで快適に読む(ソフトウェア編)
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

大量の電子書籍をスマートフォンで快適に読む(ソフトウェア編)

2014-12-11 14:19

    優れた電子書籍端末とは?

    続き

    優れた電子書籍端末は、読みたい書籍を簡単に見つけることが可能で、高速に読むことが出来る。

    近代デジタルライブラリーの書籍のほとんどはモノクロで小汚い。そのため電子書籍ビューワーなどによくある本棚機能を使って、書籍を認識することが出来ない。ファイル名一覧で開いていくにしても、こういうのがズラズラ並ぶのを見ていると胸が悪くなってくる。


    そんなわけでパソコンと同じく全ファイルから検索し、読みたい本が発見できる環境を作っていく。

    ファイル名

    Android 向けにファイルを作っていく。

    パソコンではテキストファイルを逐次検索をし該当するキーワードを含む書籍を開いているのだが、さすがに Android でそれをするのは荷が重い。ここはインデックス型の検索アプリで対処する。

    残念ながらテキストファイルの内容までインデックス化してくれるアプリがなかったため、ファイル名になるべく多くの情報を入れていく。書誌情報が記入された biblio.txt があるので、そこからファイル名を生成していく。

    biblio.txt には、『書名,副題,作者,作者2,出版社,出版年』という情報と、目次が書かれている。一例を出すとこうだ。

    氷海の冒険児 エドガー・アラン・ポオ 原作[他] 文陽社 昭和二三(一九四八)年 1948
    標題 / (0003.jp2)目次 / (0007.jp2)まえがき / 5 (0009.jp2)一章 海の洗禮 / 7 (0010.jp2)あらしの中のボート / 9 (0011.jp2)海の男の洗禮 / 14 (0014.jp2)船底のかくれ場所 / 17 (0015.jp2)奇怪な惡夢 / 24 (0019.jp2)おそろしい不安 / 29 (0021.jp2)くらやみの中の手紙 / 34 (0024.jp2)狂いだした猛犬 / 39 (0026.jp2)船員の暴動 / 44 (0029.jp2)オーグスタの冒險 / 50 (0032.jp2)惡漢の仲間割れ / 54 (0034.jp2)ぼくらの計畫 / 59 (0036.jp2)奇怪な亡靈 / 64 (0039.jp2)惡漢のさいご / 70 (0042.jp2)大暴風雨中の破船 / 73 (0043.jp2)水地獄からのがれて / 80 (0047.jp2)二章 漂流苦とたたかう / 87 (0050.jp2)死神の帆船 / 89 (0051.jp2)生命への執着 / 94 (0054.jp2)漂流日記 / 98 (0056.jp2)ジエーン・グイ號 / 110 (0062.jp2)强風におし流される / 118 (0066.jp2)ペンギン鳥とアホウドリ / 123 (0068.jp2)海の郵便局 / 128 (0071.jp2)壯快なアザラシ狩り / 133 (0073.jp2)三章 南氷洋の冐險 / 137 (0075.jp2)南氷洋に近づく / 139 (0076.jp2)氷海を突進 / 142 (0078.jp2)ふしぎなやばん人 / 149 (0081.jp2)奇怪な川の水 / 158 (0086.jp2)めずらしい村のようす / 162 (0088.jp2)すさまじい大變事 / 170 (0092.jp2)大危險 / 177 (0095.jp2)やばん人の惡だくみ / 182 (0098.jp2)船をおそうやばん人 / 184 (0099.jp2)生と死の間 / 188 (0101.jp2)おそいかゝるやばん人 / 195 (0104.jp2)九死一生 / 200 (0107.jp2)奇怪な「ふしぎの國」 / 204 (0109.jp2)あとがき / 212 (0113.jp2)

    Android ではファイル名に使えない文字が『< > : # ? " / \ |』のみ、長さの制限もないらしい。それなら目次データ含めてファイル名にしてしまえば良いと考えたのだが、ファイルシステムの制限なんかを考えて、ファイル名は100文字以内に収めることにする。

    目次を除いた一行目をファイル名としても良いのだが、『伝染ニヨル以外ノ後天性ノ総テノ病ノ根本原因ハ眼ニアリ. 第1巻 (総論) 西村美亀次郎 著 西村美亀次郎 昭和一六(一九四〇)年 1941.zip』などといった異常なファイル名になる可能性がある。さらにbiblio.txtの情報元のサイトが、名前などのフォーマットが統一されていないため『太田柏露』『小林,永濯』などといった差異も発生する。

    そんなわけで記号などを削除し、フォーマットを概ね同じに直した後に、必要な情報のみをファイル名に使用する。やり方はいろいろあるんだろうが、私はプログラムができないため、下みたいな強引な方法でなんとかした。

    head -n 1 biblio.txt | tr -d '(,-)[]著述口演' | tr -d ':' |sed 's/. //g' | sed 's/\/ //g' |sed 's/  / /g'| sed 's/ : /:/g'| awk -F" " '{ print $2 " " $3 " "  $1 " " $NF} 

    これで『作者名_書名_出版年』という情報を抜き出すことができる。

    ファイルの圧縮

    次にファイルの圧縮、128GB に全ての電子書籍ファイルを収め、しばらくの間は増える本にも対処できるようにする。

    書籍が増えるペースは、だいたいこういう感じ。



    1年間弱はこの環境で乗り切りたいので、最低でも300冊分の空き容量を確保する必要がある。そんなわけでいろいろ計算してなんとかした結果を表にすると、だいたい次のようになる。



    本来なら元ファイル、パソコン、Android で使用可能年月を合わせたかったのだが、128GB では限界がある。ただしいざとなれば、内蔵ディスクが10Gほど余っているため、実質的には500冊程度は追加可能だろう。

    容量を減らすため、まず画像サイズを減らす。

    元ファイルは 4021×2794 トリムしたものは 2384×1680 ある。スマホの解像度が 1280 x 720 なので、横 1440pixlに統一する。ページを自動分割すると、このサイズでちょうど良い。出来ればもう少し大きくしたいところだが、容量の関係で仕方がない。

    Mac だと sips というコマンドで、画像ファイルの大きさを簡単に調整することができる。

    hsips --resampleWidth 1440 a.jpg --out gazo/

    画像の圧縮は jpegoptim を使う。詳しいことは知らないが、とにかく奇麗に圧縮してくれる。

    jpegoptim -m80 a.jpg

    これだとほぼ劣化なしに、三割くらい容量が減る。

    『ファイル名』で書いたスクリプトと、圧縮で紹介したソフトで、『作者名書名出版年.zip』というファイルを作り、microSDXC にコピーする。2000冊分で3時間もあれば圧縮とコピーが終る。

    アンドロイド端末のソフトウェア

    パソコンと同じように、検索して電子書籍を開くという環境を作る。

    まず必要なのが検索アプリで、私が試した範囲内だと、ファイル検索は次のアプリが一番性能が良かった。


    Search Everything

    microSDXC と内蔵ストレージに存在する全ファイルを対象に、ファイル名で検索してくれる。それ程速くもないmicroSDXC に2000以上の書籍ファイルを入れているのだが、文字を入力した瞬間には検索が終っているくらいに速い。

    パソコンの環境と比べると、検索の精度はかなり劣るものの、必要にして十分といった感じ。

    読むためのアプリは、定番の Perfect Viewer を選んだ。かなり細かい部分まで設定が可能で、自分の読み方にあった使い方ができる。

    当然ながら、ハードウェアキーに機能を割り当てることも可能だ。


    さらに拡大した状態と、その位置を維持したまま、次ページに移動できる。余白の多い近代デジタルライブラリーのファイルを読むのに適している。様々なコミックビューワーを試してみたが、私の用途にはこれが一番合っていた。

    あとはアンドロイドで読んだ履歴と、書いたメモを同期すれば完成なんだけど、それについては後日書きます。
    広告
    コメントを書く
    コメントをするには、
    ログインして下さい。