前回の続きで、今回は青空文庫を見る為のビューアをいくつか

はじめに、青空文庫 for Android

Android on Beagle Board

縦書きはバグがあるそうで、現在は使えないようですが、
1ページ毎にページをめくる感じです。
ただ、フリップのみで、タッチしてページがめくれないのは、
無精者の私には疲れるかと、、


つづいて、青空文庫リーダー

Android on Beagle Board

こちらも横書きですが、ルビが漢字の上についています。
(ただし、なぜか赤色。)
こちらはブラウザのように最後まで下にスクロールする感じで、
先ほどとは逆に、タッチのみで、フリップに対応していない?
反応が悪いので、ちょっと判断しずらいです。


最後に、青空文庫ビューア

Android on Beagle Board

こちらは、縦書き対応で、しかもルビも漢字の幅に対応して
表示しています。
ページ毎にページをめくる感じで、タッチとフリップ両対応と
いたれりつくせりなアプリです。
元が青空文庫なので、目次機能こそありませんが、
メニューに、冒頭に戻るという便利な機能があります。

フォントこそリッチではありませんが、粗悪なMP3でもあれだけ
広まったことを考えると、ひょっとするとフォントはそれ程重要
ではないのかもしれませんね。


今回は、BeableBoardは関係ありません。

日本の電子書籍化が進んでいないという声もあるようですが、Google bookで
電子書籍化される一方で、海外からKindleやiPad等の黒船がやってくる中、
日本語の電子書籍をAndroidで読むには、現状どうなっているのか、ということで、

まずは、現状のGoogle bookをAndroidでブラウズした画像です。
(書籍は太宰治の人間失格)


Android on Beagle Board


ちゃんと縦書きで、綺麗な文字なのですが、モバイル用に成型されていないので、
1行毎にスクロールする必要があり、すらすらと読める状態ではありません。

続いて、青空文庫より、XHTML版にてブラウズした画像です。


Android on Beagle Board


こちらは、横書きで、文字もリッチではありませんが、モバイルでも読めます。
ブラウザと同じで、最後までひたすら縦にスクロールする感じです。

最後に、電子書籍のオープン規格であるePub形式の書籍についてですが、
先の青空文庫の書籍をePub形式に変換し、Aldikoというアプリケーションに
インポートした画像です。


Android on Beagle Board


文字化けが見られますが、ページ毎にページをめくる感じになります。
これで日本語のフォントや縦書き、ルビ等に対応したようなビューアが
出てくれば、スマートフォンやもう少し大きなサイズの、いわゆるKindleや
iPadのようなリーダーの普及で、日本でも電子書籍化が進まざるをえなく
なるでしょう。
はたして、AmazonやAppleだけに持っていかれるのでしょうか、、、


今回はAndroidとは関係ありません。
Androidで使えたらいいのになという内容です。

Beagleboardには、SGX530というGPUが載っています。
これさえ使えれば、レンダリングがかなり早くなるはずなのに、
残念ながら仕様がオープンではない為、宝の持ち腐れです。

以下は、Linux上でのデモです。
Linux用のライブラリはSDKにバイナリが含まれているので、
デモを試すことは可能です。
カーネル2.6.31+RTパッチ上で動かしていますので、最初のデモでは
140fpsと出ています。オリジナルのカーネルだと90fps前後でした。
ただ、カーネルでの違いが出たのはこのデモだけでした。





こちらはOGREのサンプルです。





幸い、GPUのデバイスドライバのソースコードはオープンなので、
それをカーネルに組み込んで、デバイスドライバのソースコードと
デモのトレースからわかる範囲で、Android用にGPU用のライブラリを
作成して、GPUの初期化と、いくつかioctl()を発行するぐらいは
確認したのですが、いかんせん仕様がクローズドなので、mmap()した
アドレスを何に使うかがわからない以上、どうしようもないかと、、
デバイスドライバがオープンなので、もう少しハックすれば、
何か見えてくるのかもわかりませんが、仕様さえオープンにしてくれれば
簡単に使えるようになるのに、、