2010年06月15日

縦書きビューワの作者さんの開発秘話

アプリ開発秘話:005 縦書きビューワ【andronavi】
http://andronavi.com/2010/06/24984

この方は私の当面の目標でありながら、どんどん差を開かれていくアプリ開発者の方です。

縦書きビューワを最初見たとき印象的だったのが、アプリで本をダウンロードをする必要がないところです。パソコンからダウンロードしてSDカードに転送するだけで読むことができます。
HT-03Aが発売した当初の青空文庫ビューア系アプリはアプリ内で文庫本をダウンロードしなきゃいけないものが多かった気がします(多分)。でもこれだと自分で書いた小説を相手の人に読ませたり、スキャンして電子書籍化した文庫本を読むことができるのです。しかも縦書きで。フォントのサイズも大中小で変更可能ですし、フォントそのものを変えることもできます。

アプリ開発者として謎なのが、
フォントファイルを指定してフォントを変える方法だけは未だにわかりません!
なのにこのアプリではそれができます。jniでも使ってるんですかね?

最近では画像に対応したり、EPUB形式にも簡易対応しています。
タップしてもフリックしてもページをめくれます。ページを指定してページ移動ができます。

青空プロバイダというアプリとの連携にも対応しています。傍点という強調みたいな表現にも対応しています。

太字にも対応してほしいです。なぜなら太字の実装方法が思いつかないのでこの人ならどうするのか知りたいのです。

とにかく凄い人なのでこれから記事を読みたいと思います。
記事を読まなくてもこんなに書くことがあるこのアプリは凄いという話でした。


読んでみて


---親文字列長がルビ文字列長未満の場合の処理---

これは難しいというよりもめんどくさそうですね。しかもこれで処理が重くなった場合に処理が軽くなるように工夫しなきゃいけなくなりますし、これは私も実装しようかどうか悩んでいる機能です。


例えば「卒業証書」という文字列にルビを振ろうとします。ルビ1文字の大きさは通常のフォントの半分だとします。「卒業証書」は4文字分のピクセルを使用しますが、「そつぎょうしょうしょ」は10文字あるので、その半分の5文字分のピクセルを使用します。その場合ルビの方が1文字分多くピクセルを使用するため、「卒業証書」という文字列の左右に0.5文字分の空白を入れなければなりません。

しかしそれをやると1行に表示できる文字数も変わってきますし、「卒業証書」を表示する場所を0.5文字分、その後の文字列は1文字分。同じ行内に複数のルビがあった場合はどうすれば良いのかなど、考えることが多すぎて・・・私は考えたくなくなります。

多分分かりづらかったと思いますが、とにかくめんどくさいことを考えないとアプリは作れないのです。


---シークバーが逆---

あぁ・・・確かに・・・。
自然でしたね。色々考えられてますね。


---読んでみて---

私とはキャリアが違いました。もっと無駄なく行動できたら良いですね。アプリ間の連携をうまく使う辺りがオブジェクト指向思考だと思いました。
posted by ザッシュ at 23:27| Comment(0) | TrackBack(0) | アプリ | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。