青空文庫のルビや傍点をHTMLタグに変換

小ネタ。
青空文庫形式で書かれたテキストをちょっといじる機会があったんで、例によってperlでごそごそと。
『青空文庫 組版案内』(https://kumihan.aozora.gr.jp)に詳細な資料や、青空記法で書かれたテキストをXHTMLに変換するrubyのスクリプトも提供されている。
青空文庫からXHTMLへはrubyのスクリプトを使わせてもらえばそれで解決なんだけど、用途・前提が青空文庫。当然ながら青空文庫用のcssが埋めこまれる。
電子書籍にするのにそのままでは使えない。
本文で青空記法が使われてるのはルビと傍点、太字程度だったので、その3つをHTMLのタグに変換するスクリプトをでっち上げ。
perlのスクリプト的には、漢字かななどの判定にUnicodeブロックが便利でおすすめ。
無名サブルーチンも便利。
意外なところで青空記法が使われててちょっとびっくりだった。
テキストデータ利用ということで、ボランティアさんが入力するのに青空記法はわかりやすくていいんだろうなあ。
青空EPUBの現バージョン3-1.1.0b45はepubcheckでエラーになる。
原因はnav.xhtmlのlandmark部、「Undefined property:title-page」で、ここを「titlepage」にすれば大丈夫。
自転車置き場の新顔…のわりに態度がデカイ。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
BWインディーズのEPUB3はハイブリッドだった

角川BOOK☆WALKER、BWインディーズ(個人出版窓口)で使うEPUB3はハイブリッドでも問題なかった。
BOOK☆WALKERアプリはもともとハイブリッド対応で「めがイラスト」などイラストや写真の表現にはこだわっているし、大丈夫かなあ、と思いつつも、表示チェックが面倒くさそうだから個人窓口、素人からの登録はリフローかフィックスかの二者択一かな、と思ってた。
BWインディーズのEPUBファイルアップロード画面の注意書き。
EPUB3の仕様に準拠したリフローもしくはフィックスレイアウトのEPUB。最大サイズ100MB。
リフローとフィックスの混在はEPUB3の仕様でOK=準拠だし。
ダメ元で、一度リフローで登録した作品を、ハイブリッドで作りなおして申請した。
13日に再申請して今日15日に公開となっていたので、購入してもらって、本をチェックしてみたらば、期待どおりカバーページはフィックス型ページで表示されてるっぽい。
https://bookwalker.jp/de2e21624f-184f-45ec-8c77-d3b9d2856ad1/
『アロイのやさしい神さま』(日野裕太郎・ハルノブ)
kindleアプリのリフローでのカバーページ
BOOK☆WALKERアプリのハイブリッド、フィックスでのカバーページ
表示してるのはAndroidスマートフォン。画面は1080×1920。縦横比1.7というかいわゆるハイビジョンサイズでかなり縦長。
表示してるのはまったく同じ画像というわけではなく、kindle版は縦横比1.5ぐらいで、BOOK☆WALKER版は縦横比1.33。
画像の縦横比の縦が短いので天地に余白ができるのはしょうがないとして、リフローでの表示とは違って、左右ぴったりフィット。
リフローの1ページ挿絵を初めて見た時、ページの中にちまっと表示されてんなあ、とちょっと残念な印象だったけど、これならしっかり大きく表示されていてイケてる(今までまったくBOOK☆WALKERを見てなかったという懺悔)
ターゲットのデバイスを決めて、その縦横比に合わせて画像を作れば、余計な余白など入らず画面いっぱいのイラスト表示となる。当たり前の話、漫画などのフィックス型と同じ。
でもラノベに限らず、挿絵がふんだんに入るような小説本で、画像ページだけフィックスで表示できるのは大きいなあ。
いや、なにも小説に限らず、紀行文やグルメ本の写真や、実用書のグラフや表などいろいろなところでありがたいはずだ。
角川がEPUBを引っ張るんだなあ。
実際のところはシェアが桁違いのkindleが対応してくれないと進まない。ぜひ対応してください。
あ、電子書籍に音声のつけられるmedia overlays対応もお忘れなくよろしくお願いしたいです。
↓エラーのないハイブリッドのEPUB3作成はこちら(手前味噌)
https://t2aki.doncha.net/easy_epub-hybrid
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
かんたんハイブリッド型EPUB3作成

個人出版、BWインディーズが始まった角川のBOOK☆WALKERアプリは、リフロー型とフィックス型が混在したハイブリッドEPUB3に対応している。
ひらたく言うとハイブリッド型のEPUB3電子書籍は「カバーや挿絵がきれいに表示される」し、コントロールのきかないリフローとは違って「制作者の(ほぼ)意図通りに表示される」のだ。
小説のような文章中心のものでも、イラストや写真をきちんと見せようと思ったら、文章はリフロー型ページで、画像はフィックス型ページで、というのが理想。
てことで、「かんたんEPUB3作成」easy_epubで、ハイブリッド型のEPUB3ファイルを作れるようにしてみた。
本当はひとつにしたかったんだけど、スクリプトの変更があちこちに影響してるのでハイブリッド対応版は「easy_epub-hybrid」ということになった。きっとたぶんそのうちこっちのハイブリッド対応版が正式版となります。
フィックス型ページとなるのは。
「カバーページ」と「一枚絵の挿絵ページ」(https://t2aki.doncha.net/easy_epub#sashie)になります。
↓こちらをダウンロードしてください
https://t2aki.doncha.net/release/easy_epub-hybrid.zip
[2016/10/29 09:00:56]最新版
使い方などは「かんたんEPUB3作成easy_epub」(https://t2aki.doncha.net/easy_epub)と同じです。
[2015/09/14 11:57:26]
デバイスを横向き、見開きで見た場合。
・カバーは中央に配置
・挿絵はデフォルトで中央配置。「画像ファイル名 (right|left)」画像ファイル名の後ろ、半角の空白に続けて「right」か「left」を指定するとページの右側、左側の指定ができます。
電子書籍アプリのハイブリッド対応状況について→ 「ハイブリッド型EPUB3のチェック」
にしても、ハイブリッド対応が思ったより全然早くて焦るなあ。こりゃkindleやkoboもそのうち来るな。よれよれの初老は時代についてけんわ。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
ハイブリッド型EPUB3のチェック

角川のBWインディーズが公開されて、BOOK☆WALKERに個人出版で参加ができるようになった。
BOOK☆WALKERはライトノベルが強いところで、「めがイラスト」での独自の表現方法など、挿絵・イラストに対する比重が大きいことがよくわかる。
「KADOKAWA-EPUB PORTAL」(https://kadokawa-epub.bookwalker.co.jp/)で角川のEPUB3の仕様が公開されていてとても参考になる。
仕様を見ると、挿絵・イラストなどはフィックス(固定)型レイアウトページで表示させることができるんで、やっぱそこは力が入ってんなあ、と。
リフロー型ページとフィックス型ページの混在、ハイブリッド型表示については、すでにEPUB3の仕様に入っている。KADOKAWAの資料はかなり具体的・詳細な記述方法が書いてあってわかりやすいので、ほんとオススメ。
イラストや写真など、リフロー型レイアウトじゃなんでダメなのかというと、ディスプレイの天地左右に中途半端なマージン(余白)が出てしまうのが全然ダメ。「一枚絵」として見せたいのが、なんじゃこの余白は、と台無しの脱力感。
リフローで表示するとこんな感じ。画像は600x800。72dpi(bookwalkerアプリ/Sharp SHL23)
しかし、フィックス型レイアウトでは指定した画像はディスプレイ目一杯に表示してくれる。
(もちろん、画像とディスプレイの縦横比の違いから余白が出ることになる。さすがに解像度・縦横比の違うすべてのデバイスで天地左右ぴったりフィットさせるのは無理)
これならば制作者の意図通りに表現された、と言えるだろう。
ということで、ハイブリッド型のEPUB3を作ってアプリで読んでみた。
以下は、ハイブリッドEPUB3ファイルの中の、画像一枚のフィックス型ページの表示例
ハイブリッド対応
BOOK☆WALKER for Android ver.3.9.0
さすがBOOK☆WALKERだな。1ページ大の挿絵はこうじゃなくっちゃだ。
画像が縦横比1.3で、スマホの縦横比が1.7ぐらい。画像の方が縦に短いので天地に余白は出るけど、左右はぴったりフィットで天地の余白も均等。
紀伊国屋書店Kinoppy for Android ver.2.5.0 build 22445
これはちょっとびっくり。ディスプレイにぴったりフィット…って、画像を縦に引っ張ってる。画像を変形したらいかんだろ。
[09/17 19:34:03]
↑すみません。これはまったくわたしのミスです。
画像のサイズとXHTMLで指定したサイズが違っていることが原因で、Kinoppyのせいではありません。
Kinoppyの表示モード「スクロール」では天地いっぱいではみ出た横幅分をスクロールして見せる。その他のモード(ブックやシンプル)では、天地に余白。
スクロールモード
きちんとハイブリッド、リフローの中のフィックスページを意図したとおりに表示してくれます。BOOK☆WALKERアプリと同じ…てことは、純国産(?)のアプリはEPUB3準拠に頑張ってんだなあ。
ハイブリッド非対応
ibooks ver.2
iPhone4Sのディスプレイは小さいからそれっぽく見えるけど、最近の高解像度のデバイスだと余白がかなり大きくなる。現状ままだとibooksでリフローの画像はその時々の上限いっぱいの大きさで作るイタチごっこ。
kobo
左右に余白…はともかく、この画像ページの前に空白ページが入る。viewportを中途半端に解釈してるんだろうか。空白のページが入ってしまうのはまずいなぁ。
ちなみに、kindleはkindlegenでkindle用にコンバートするのでハイブリッドEPUB3は他のリフローと同じになるようだ。
BOOK☆WALKER用に別途、EPUB3ファイルを作ることになるんだろうな。特にイラストや写真にこだわるような本はここ大事だ。
(BWインディーズの「リフローまたはフィックス」という注意書きのリフローって、ハイブリッドも含まれてるのかなぁ)
「KADOKAWA-EPUB PORTAL」 を強くオススメするけど、マニア向けに今回作ってみたハイブリッドのEPUB3ファイルを上げておきます。
https://t2aki.doncha.net/tmp/reflow-fixed-20150912b.epub
(直リンクできないので、ここから取ってください)
opfファイルのspine部、xhtmlのSVGの記述がキモかな。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
BOOK☆WALKERに登録してみた

角川グループのブックウォーカーでも個人出版の窓口が開かれていた。
twitterで知るまで、まったく気づいてなかった、ノーマーク。やるだろうとは思ってたけど、まだまだ先の話じゃないかと思ってた。
「BWインディーズ 著者センター」
https://author.bookwalker.jp/library
ロイヤリティを比較すると。
・BOOK☆WALKERが50%
・kindle:35%か70%(専売でKDPセレクト登録の場合)
・ibookstore:70%
・kobo:販売価格80円〜298円45%、299円〜100,000円70%
売れない70%より売れる35%というか、ロイヤリティ(印税率)はもちろん多いに超したことはないけど、ストアの集客力販売力の方が重要なので、あまりこだわない。出版社版元が宣伝販売してくれるならともかく、個人の場合はそこが問題なのでストアの集客力におんぶにだっこ。
今のところBOOK☆WALKERは振込手数料なしで1円から支払い。
…振込手数料で赤字にならないのか。売れない連中の赤は売れ筋の収益で吸収してくれるのかしらん。
ということで、いざ登録。
【会員情報】
・名前
・住所
・販売登録情報として出版社名とマイナンバー(2016年1月以降)
・受取銀行口座
【電子書籍の登録】
・タイトル
・著者名(イラストなど追加できる)
・コピーライト
・キャッチコピー
・内容紹介
・表紙画像(jpg PGB 長辺最大4500px 短辺最低512px)
・EPUBファイル(EPUB3 リフローあるいはフィックスレイアウト。100MBまで)
・試し読み用EPUBファイル(ない場合は先頭から10%で自動生成)
・カテゴリ(以下の8ジャンルからひとつ選択)
文芸、マンガ、ライトノベル、実用、新書、ゲーム、画集、写真集
・サブカテゴリ
フリーワードで登録。キーワードごとに「/」で区切る。
・シリーズ名
・巻数
・税抜価格(ゼロ円も可能)
登録はあっさり簡単。必要最低限かな。
利用規約があるぐらいで、ヘルプなどのドキュメントページが見つからなかった。内容や画像についてのレギュレーション、販売についてがわからないのはちょっと困るな。
販売停止とかありがちだろうけど、問い合わせから、ということかなあ。
9月8日の20時ごろに1冊登録。翌日9月9日の18時ごろに発売開始となった。
登録から販売までだいたい1日というところか。
ちなみに、あまり深く考えずに、カドカワだしということで「ライトノベル」カテゴリで登録してみた。
『アロイのやさしい神さま』(日野裕太郎・ハルノブ)
https://bookwalker.jp/de2e21624f-184f-45ec-8c77-d3b9d2856ad1/
どんなもんかと思ってたら、ありがたいことに、売れていた。
【販売情報】でわかる販売情報は月単位で、何日に売れたのかがわからないけど、「詳細CSVをダウンロード」では「商品コード、購入日、タイトル、価格」が分かる。
どうやら発売した翌日が初売り。
やはりWEB、ECサイトでは「新着席」が、書店の平台・面陳。
(棚差しの本を引っ張り出すために、トップページ(https://bookwalker.jp/st1/)で苦肉のスクロールはウチ(https://books.doncha.net/happy-reading/)も同じ)
登録できるカテゴリが大きすぎるのでサブカテゴリなどで工夫が必要かもしれない。
サイトでの検索なんかに使われるんだろうか。動作を調べてみないとまだなんとも分からないので、今回は他のカテゴリを見てそれっぽいところで登録数もそこそこのカテゴリを追加しておいた。
[09/11 16:16:53]これは、サブカテゴリといいつつ、キーワードとして検索で使われるっぽい。上限いっぱいキーワードを設定するべきだ。
登録は他ストアと同様に簡単だし、角川ブランドだし、個人が参入できる電子書籍ストアとしては魅力的。おすすめ。
登録に使ったEPUB3ファイルは 「かんたんEPUB3作成easy_epub」 で作ったものを使い回し。
EPUB3ファイルで作っておくとこういう時に早く反応できるのがいいなあ。「かんたんEPUB3作成easy_epub」はエラーのないEPUB3ファイルを作るので、どこにでも使えるし。自画自賛。
表紙画像は縦横比4:3のものを使用した。マンガが強いサイトだし、マンガと同じ縦横比4:3の方が馴染むかなあ、と。
そういえば。
BOOK☆WALKERはリフローとフィックスの混在が可能(のハズ)で、たとえば挿絵など無駄な余白などなく1ページ大に表示されるだろうし、見開きのイラストなども同様。イラストや画像を使った表現力が、他ストアから頭ひとつは抜けている。
現在、BWインディーズではリフローまたはフィックス、となっているけど、そのうちハイブリッドも受けつけることになるだろうし。
『KADOKAWA-EPUB』
↑ここにKADOKAWAのEPUB仕様書がある。これをしっかり読んでリフロー・フィックス混在型などの作りかたも把握しておいた方が良さそうだ。
…とはいえ、リフローフィックスが混在するEPUBファイルの検証環境がないよなあ。どうすべ。
[09/12 09:00:15]
twitterで情報いただきました。
BOOKWALKERアプリで、ローカルに置いたファイルを読みこめたのか!
ハイブリッドのファイルを作って試してみよう。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
リフロー電子書籍での画像表示

kindleとibooksで指定のしかたや表示が違ってたのでメモ…ていうか今さら。
kindleでは意図通りの表示だったのに、ibooksだと画像のサイズ指定が効かなくてでろ〜んと大きな画像となってしまっていた。もちろんepubcheckではエラーなどない真っ当なepub3ファイルだ。
1ページに1枚の画像だけ、というのはkindleもibooksもほぼ問題はない。同じhtml、cssで意図通りの同じ表示となる。
ところが、本文中に画像が入るケースがよろしくない。
画像のサイズ指定が意図した通りに伝わらず、でろ〜んな画像となってしまった例。
iTunes connectのヘルプページにあるibooksの要件(iBooksAssetGuide5.1Revision2_JPN.pdf)にリフローでの画像の指定例が載っていて。
・画像のサイズは画像をくるんだ要素の方(ラッパー、コンテンナ)に指定する
・画像はwidth:100%
てことなので、これはもう随分前から
こんなhtmlとcssを使ってたんだけど…ところが、幅(width)の指定が効いてくれていないっぽい。
ということで、リフローで雑誌=写真も多数入りこんでいて、クオリティに定評のある電子雑誌 『トルタル』 をダウンロードしてibooksで拝見したところ、綺麗にレイアウトされている。さすがです。
ダウンロードしたepubファイルを解凍して中身を確認したところ、このiTunes connectの要件PDFと書き方はほぼ同じ。
わたしのファイルと縦横が違うだけやなあ…というところで、もしやといじってみたらほぼ意図通りの画像サイズとなった。
なんのこたない。
横で幅(width)指定が効くんだから、縦は高さ(height)指定だろうと。CSS(image-wrap)に幅25%で指定していたところを高さ25%で指定しただけ。
ところが、同じファイルをkindle previewerに読みこませると、これ、高さ25%以上はあるよなあ…。
スタイルシートを個別に対応させると管理が大変なので(間違いの元なので)インラインでスタイルを書くか、と思ったらば、どうやらibooksはインラインのスタイルを見てくれない。致命的でもないので、kindleはこれでOKとする。
無料販売本に既刊案内ページをつけるのに、やっぱ表紙画像はあったほうがいいよなあ、ということでゴソゴソやっていて、kindleとibooksのリフローでの画像の違いに気づいた。
kindleはmobiに変換する時に「よきにはからって」幅指定でも大丈夫だったので気づかなかった。
実用書などは横書きばかりなので幅指定で問題なく意図通りとなっていた。
ibooksやkoboでもらう本文中の画像はむしろ小さいもの=原寸表示ばかりだったので縦書きでも指定が効いてないことに気づかなかった。
今まで「たまたま」うまく行ってただけ、という事実に我ながらアキレタ。
[06/02 16:35:51]追記。
kindleはインラインのスタイルが生きるので、そっちで調整。
画像に関しては端末やアプリでの差分吸収が面倒くさいでござるなあ。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」