Windows Store用の青空文庫リーダー「NReader2」の開発状況メモです。より詳しい開発状況はhttp://forge.kanotype.net/projects/nreader2で確認できます。
現在青空文庫ファイルを解析する部分を最初から作りなおしています。解析を担当する部分はほぼ作業完了しました。
既存のNReaderではサポートしていなかった多くの青空文庫注記が新しく解析できるようになりました。ただし、表示部分の問題で一部の注記はわざと無視しています。無視される注記は次の通りです。(各注記の詳細はhttp://www.aozora.gr.jp/annotation/で確認できます。)
- 地付き系の注記
- ページの左右中央
- 訓点
- その他:ページのレイアウト計算が複雑になる注記
これらの注記を無視する理由はページのレイアウト計算が複雑になるためです。注記を解析するまでは大丈夫ですが、その情報を利用して実際に画面に表示させようとすると処理が複雑になりバグだらけになりました。従来にサポートできるように可能性はありますが、NReader2ではまずサポートしない予定です。
今作業している部分は青空文庫内容を画面に表示する部分です。NReaderではルビや文字の位置を予め全部計算して表示していたため、大きさの違う文字や字下げ、文字列の間の画像などが表示できない根本的な問題点がありました。新しいビュー画面はページの表示メソッドを呼び出した時、動的にページのレイアウトを計算します。そのためNReaderでは表示できなかった様々なレイアウトを表示できるようになりました。今はバグの修正と、ルビの位置計算に関することろを作っています。こういう処理は今まで触ったことがなかったのでかなり苦労していますOTL。
この青空文庫解析ライブラリの作業が完了する次第、新UIの作業に入ります。そこにはアプリ内で本を管理できる「本棚」機能と、アプリから簡単に青空文庫サイトから本をダウンロードできるメニュなどが実装される予定です。
状況メモ #1はここまでです。ではまた次回で。
Nreaderをダウンロードして、自作青空テキスト(といってもルビだけ)をいくつか読ませたところ、1.とある行が2行表示される現象 2.ファイルを開けない現象 がありました。どちらもaozorakoneko(試用版)ではおきませんでした。
行間や文字設定はNreaderのほうが優れていると思いますので、お知らせします。