縦書きビューワ Ver.0.9.5.15を公開しました(印刷字体置換)
iPadアプリを作ったり、Twitterでつぶやいたりしているうちに、ブログ更新がご無沙汰になってしまいました。
今回は、Android Marketでコメントをいただいたキー割り当ての追加と、もう一つ、作者の趣味に走った機能追加の抱き合わせで更新です。
主な変更点
スペース・Enter・削除キーをページ送りに割り振り
スペース・Enterキーでページ送り、削除(Delete/Backspace)キーでページ戻り方向に移動するようにしました。v0.8.2で割り振った左右方向キーも含め、これらのキー押下による移動量の設定は、音量調整ボタンによる移動量の設定と共用です。
今回、「IS01」のエミュレータで動作確認を行っていて、IS01の気が利いた機能に気付きました。画面が横長であるIS01を縦画面表示モードで使うとき、本体の向きを時計回りに90度回転させて使うことになります。すると、その状態ではキーボードの上方向キーは右方向キーとして、下方向キーは左方向キーとしてアプリに渡されるのです。ほかのキーボード付きAndroid端末でも同様なのでしょうか。
「IS01」を縦持ちにしたとき、親指のあたりにくるキーでページが送れるので、文庫本のような感じで読み進められるといいなと思っています(実機を持っていないので、IS01やLYNX SH-10Bをお持ちの方でご意見・ご感想があればお知らせください)。HT-03A/Xperia/Desireの場合は、音量調整ボタンの利用が便利です。
字体の処理(印刷物に近い字体に置き換えて表示)オプションを追加
JIS X 0208の範囲で作成されたテキスト(青空文庫で公開されているファイルが該当)に対して、印刷物ではお目にかかることの少ない字体を、より印刷物に近い形で表示して読書できるようにするオプションを追加しました。「何もしない」「印刷物に近い字体に置き換える」から選択できます。
「印刷物に近い字体に置き換える」に設定した場合、簡易慣用字体の22字は印刷標準字体に、JIS X 0208:1997の「6.6.4 過去の規格との互換性を維持するための包摂規準」に掲げられた29字は(B)に示された字体(JIS78字体)に置き換えて表示します。
今回の置き換えでは処理速度にあまり影響はありませんが、表示速度を最優先にする場合は「何もしない」に設定してください。設定を変更した場合は、次のファイル読み込み時から変更が反映されます。
個人的に実現したいのは、アプリを「旧字モード」にすると、包摂されている旧字もすべて差し替えて表示してくれる機能なのですが、Androidの標準的なAPIではCIDを指定して文字を表示したり、cmapに触ったりすることはできず、今のところ実現できていません。改変可能・再配布可能なフォント(IPAフォント等)でAdobe-Japan1-6に完全対応したものが登場してくれれば、グリフを差し替えて「裏フォント」として利用する方法もあるのですが(最も近いのはJIS X 0213:2004の範囲に対応した「癸羊明朝」)。
そこまで徹底的にできなくても、JIS X 0213で包摂規準の適用が除外されたものについてはIPA明朝でもカバーしているので、今後「新字モード/旧字モード」を設けて対応するかもしれません(実行速度との兼ね合いで判断します)。
Ver.0.9.8.5 (20180618)
Ver.0.9.8.4 (20170427)
Ver.0.9.8.3 (20170427)
- いくつかの端末での表示調整
- Nexus 5X/6Pなどでの表示を調整しました。
Ver.0.9.8.2 (20170420)
- Android 7.0以降ではDropboxアプリからのテキスト共有を開くことができなかった点を改善
- ページ移動ダイアログでページ番号の数値入力移動に対応
- 長大なテキストを閲覧中、シークバーでは移動先の微調整ができない問題について、まだ改善の余地がありますが、まずは数値入力での移動に対応しました。
- 一部のZipファイルで解凍に失敗することがあった点を改善
- 利用しているライブラリ(Apache Commons Compress)を更新しました。
- ファイル選択画面で、どこにも移動できない状態になることがあった点を改善
Ver.0.9.8.1 (20140415)
Ver.0.9.8 (20130924)
- 「フォント(かな)」設定を追加
- かな(平仮名と片仮名)のみに使用するフォントを指定できます(デフォルトは「漢字と同じ」)。
- かな以外の表示には、約物や記号、欧文、数字も含め「フォント(漢字)」の設定が用いられます。
- 「漢字と同じ」に戻すには、フォント(かな)選択画面で「リセット」を押下してください。
- 前々から実装したいと思っていたものの、動作が重くなりそうで見送ってきた機能ですが、試してみたところほとんど差はなかったので公開しました。
- 「二重山括弧《》の処理」設定を追加
- 表示の微調整
Ver.0.9.7 (20130615)
- 「ページ移動エフェクト」設定を追加
- 画面のタップとフリック、それぞれによるページ単位の移動について、「なし」または「スライド」を選択できます(デフォルトは「なし」)。
- ページが変わったことが分かりにくいというご意見があったため、ページ移動方向が分かる程度の簡易なスライドエフェクトを追加しました。
- 「画面のタップ:何もしない」設定を追加
- 端末画面の大型化に伴い、意図せず画面に触れてしまう誤操作防止のため導入しました。
Ver.0.9.6.7 (20130410)
- 「フォントサイズ:特大」「超特大」設定の追加
- 超特大の設定は、ちょっと大きすぎるかもしれませんが、大活字本のような使われ方を想定しています。
- 「画面のタップ」設定に項目追加
- 移動方向の左右逆転設定を追加しました。
- 画面の右側をタップしてページ送り、画面の左側をタップしてページ戻りとなる設定は、動作が直感に反するため、これまで導入していませんでした。しかし、最近のAndroid端末は画面が大型化してきており、画面の左側に指が届きにくい状況も生じているため、快適な読書を妨げるよりはと、このたび導入に踏み切りました。
- フルHD端末での表示調整
- HTC J butterfly, Xperia Z等の画面サイズ(1080x1920)での表示を調整しました。
- いくつかの端末での表示調整
- PIPO U1, Nexus 10などでの表示を調整しました。
Ver.0.9.6.6 (20120526)
- 簡易単語選択機能(本文長押し)の表示内容を改善
- 選択した単語にルビが付いている場合、単語選択ダイアログにルビを表示するようにしました。
- 親文字に対してルビ文字列長が長い場合であって、ルビが重なってしまい判別しづらい場合向け機能です。
- ルビ表示エリアはスクロールが可能です。
- 画面中央部のタップでメニューを表示する機能を追加
- メニュー表示が遠回りになる端末向けに追加しました。現在は、B&N NOOK Simple Touchでのみ有効です。
Ver.0.9.6.5 (20120515)
- 「フォント:スタイル」設定(標準/太字)を追加
- 「画面:GPU不正描画対策」設定を廃止(Android 4.0)
- 「ディレクトリ:ホームディレクトリ」設定の指定方法を改善
- 青空文庫の新注記(ばつ傍点)に対応
- 本文の余白長押しでメニューを表示する機能を追加
- メニュー表示が遠回りになる端末向けに追加しました。現在は、B&N NOOK Simple Touchでのみ有効です。
- B&N NOOK Simple Touchについて
- NOOK Simple Touchのフォント描画システムでは、OpenTypeフォントを指定する場合、TrueTypeベースのOpenTypeフォント仕様に準拠したフォントを用いる必要があるようです。PostScriptベースのOpenTypeフォントや、仕様に準拠していないTrueTypeベースのOpenTypeフォント(IPA明朝Ver.003.01の"ipam.otf")は描画できないようです(一般的なAndroid端末ではどちらも描画できることがほとんどです)。IPA明朝を利用する場合は、TrueTypeベースのOpenTypeフォント仕様に準拠したIPA明朝Ver.003.02以降の"ipam.ttf"を指定してください。
Ver.0.9.6.4 (20120215)
- 二倍ダーシがつながらないデザインのフォントにおける表示を改善
- 連続するダーシがつながって表示されないのはフォントのデザインに依存する問題であるため、これまでは特別な対応は取っていませんでしたが、つながって表示されるように対処しました。
- 従来のハードキーに加え、PageUp/PageDownキー等でも移動可能に
- B&N NOOK Simple Touchのハードキーによる移動に対応しました。
Ver.0.9.6.3 (20120112)
Ver.0.9.6.2 (20120111)
Ver.0.9.6 (20120111)
- 各種検索(検索連携)でよく使うアプリを複数登録できる機能を追加
- 従来は、各種検索で表示されるアプリの数が多すぎたり、遅かったり、設定した覚えのないアプリに勝手に飛ばされることもあるなどの使いにくさがありましたが、この点を改善しました。
- よく使うアプリが設定画面で未登録のときは、従来と同じアプリ選択動作になります。
- よく使うアプリが設定画面で一つだけ登録されているときは、「各種検索」ボタン押下後、すぐにそのアプリでの検索が開始します。
- よく使うアプリが設定画面で二つ以上登録されているときは、「各種検索」ボタン押下後、どの登録アプリを使用するか選択するダイアログが表示されます。よく使うアプリとして登録していない他のアプリを使用したい場合は「その他」ボタンを押下してください。
- ここでの登録はシステム側の「常にこの操作で使用する」アプリの設定とは独立しています。
- 画面を上下逆転表示にする設定を追加(Android 2.3以上のみで有効)
- GALAXY Nexus (Android 4.0)等で「GPUレンダリングを使用」をオンにしていると表示が乱れる問題に対応
- (対応できていませんでした)
- Android 1.5端末での不正動作を修正(v0.9.5.31のみの問題)
Ver.0.9.5.31 (20111201)
Ver.0.9.5.29 (20111101)
- ファイル選択画面で更新日時順並べ替え表示に対応
- ファイル選択画面のmenuボタンで表示されるメニューから表示順を選択できるようになりました(名前順/日付順)。
- 複数のテキストファイルを含むZIPファイルの処理を改善
- 簡易的な正規合成処理を追加
- 若干の高速化
Ver.0.9.5.28 (20111025)
- 複数のテキストファイルを含むZIPファイルからのテキストファイル選択に対応
- ZIPファイル内のテキストファイル選択は見出しメニューで行います。
- Apache Commons Compressの.jarを参照しています。
- HD720端末での表示調整
- GALAXY Nexus等の画面サイズ(720x1280)での表示を調整しました。
Ver.0.9.5.27 (20110801)
Ver.0.9.5.26 (20110710)
- 「配色:ユーザ指定背景画像に白文字」設定の追加
Ver.0.9.5.25 (20110701)
Ver.0.9.5.23 (20110430)
Ver.0.9.5.22 (20110226)
- 青空文庫ファイルで使えない文字の外字注記形式による代替表現に対応
- 「※[#始め二重山括弧、1-1-52]」で「《」を表示など。
Ver.0.9.5.21 (20110218)
Ver.0.9.5.20 (20110211)
- 「画面のタップ」設定項目の追加
- 「両側とも順方向にページ単位で移動する」を選択すると、画面の左右どちら側をタップしても次ページに移動します。GALAXY Tabなど、右手で持ったときに画面の左側まで指が届きにくい端末でページ送りが便利になると思います。
- 移動量はページ単位または細かい単位(行単位)の選択が可能です。
- ダブルクォーテーションマークをダブルミニュート(ノノカギ)に変換
- 前田年昭様より御示唆をいただきました。ありがとうございました。
- ダブルミニュートは設定しているフォントによっては向きがおかしくなるため、これまでは縦組みでもダブルクォーテーションマークのまま表示していました。実際、DroidSansJapanese.ttfでは向きが変になりますが、設定を推奨しているIPA明朝では正しい向きに表示されます。今回、後者をもって良しと考えることにして、変換処理を取り入れました。
- 「フォントサイズ:大」設定時のルビの大きさを変更
Ver.0.9.5.19 (20110108)
- 挿絵まわりの機能追加
- 挿絵を長押しするとポップアップで(拡大)表示します。
Ver.0.9.5.18 (20101231)
- 挿絵のパス区切り文字に'\'が利用されている場合に対応
- Android 1.6以下の環境での表示改善
Ver.0.9.5.17 (20101202)
Ver.0.9.5.16 (20101123)
- WSVGA端末での表示調整
- GALAXY Tab等の画面サイズ(600x1024)での表示を調整しました。
Ver.0.9.5.15 (20100818)
- スペース・Enter・削除キーをページ送りに割り振り
- その他、音量調整ボタン・左右方向キーも利用可能です。
- 字体の処理オプションを追加
- 「何もしない」「印刷物に近い字体に置き換えて表示」から選択
スクリーンショット
字体の処理オプションで置き換えられる文字
字体の処理を「何もしない」に設定したときの表示。
「印刷物に近い字体に置き換える」に設定すると、A列の字形がB列の字形に置き換えられる。
青空文庫の「迷信解」(井上円了)
なにもこれをサンプルに選ばなくてもという気もするが、最近の新着のなかで面白かったので一枚(季節ものといえば季節ものだし)。
画面5行目はファイルでは「祈祷」となっているが、「印刷物に近い字体に置き換える」設定によって「祈禱」と表示されている。
なお、この作品は青空文庫では新字新仮名で収録されているが、近デジには旧字旧仮名版(底本の親本)がある。1ページ目からインパクト強い!