2011年09月12日

EPUB3で強制肩付きルビを作成する方法はあるか #denshi

 EPUB3からはルビに対応することになっているが、実際にはXHTMLのルビタグはEPUB2から使えることになっていた。ただ、EPUBビューワーとして使われていたiBooksやStanzaで日本語のルビが正しく表示されなかっただけであり、iBooksやStanzaの現バージョンではXHTMLのルビタグはそのまま使うことができる。しかし、ルビをそのまま使わずに、スタイルシートで指定して使うことも可能だ。

  EPUB3のルビが実際どのように表示されるのかはわからない。いまのところEPUB3対応のビューワーは少ない。というより、ほとんどない。基本的にはEPUB3はCSS3に対応しているので、CSS3の縦組表示が可能なGoogle Chromeで確認するのが手っ取り早い。EPUBファイル内のXHTMLにルビタグを追加し、スタイルシートで縦組を指定してGoogle Chromeで開いてみると、JIS1-2-1ルールで表示されているようだ。親文字やルビ文字が長い場合は、両端を「1」、文字中のアキを「2」の比率で配分する方法である。

Google Chromeで縦組のルビを開く
110912-01.gif
*「狼魚」のような文字長の長いルビ文字は、文字間が調整されている。InDesign 5.5書き出しに準じてタグを書き直したもの。

 実際の表示はビューワーに依存する部分が少なくない。EPUB3では組方向をCSSで指定できるようになっているが、ビューワーが組方向指定をキャンセルする機能を持っていれば、縦組指定していても、横組で表示可能になるはすだ。そういう機能が必要かどうかは別にしても、ビューワーのカスタマイズによって表示は制作側の意図としは異なる場合もあるだろう。

 EPUB3のルビはGoogle Chromeと同じであれば、基本的には中付きになり、ルビ文字の幅に合わせて文字間が調整される。しかし制作側が

どうしても肩付きにしたい

と思ってもそれはできないことになる。ひょっとすると、EPUB3で中付きと肩付きの使い分けは可能なのか。また、それだけではなくルビ文字が長い場合は、「文字かけ処理」といってルビ文字を親文字の前後にはみ出させるという処理を組版では行うが、EPUB3のルビにはそういう指定はない。したがってどうしても文字かけ処理が必要であれば、すべての長いルビ文字を文字かけ処理するという設定がビューワーにあれば、対処可能となる。

 肩付きの場合も同様だろう。すべてのルビ文字を肩付きにするという機能をビューワーに持たせるようにすればよい。ただし必要かどうかは別にして、部分的に肩付きにしたいというケースは対応できない。基本的には中付きでも、段落最初の漢字に長いルビを付ける場合は、肩付きにすることは少なくない

 書籍をEPUBにしたとき、本当に肩付きを使いたいケースがあるかどうかは知らない。本来はそのあたりは目をつむるべきかもしれない。とはいえ可能かどうかは知っておきたい。もし可能であって場合、手間をかける価値があればノウハウとして知っておきたいかもしれないではないか。なお、この方法はバットノウハウである。

 また、ビューワーにルビ文字を設定を変更できるかどうかはわからない。そういう設定を持たないEPUB3対応ビューワーも少なくないに違いない。それでは、そういうルビ文字設定がなくても強制肩付きルビは可能だろうか。結論から言うと、部分的な強制肩付きは可能である。

 強制肩付きは、EPUB2でルビを使う方法として使われている

インラインテーブル

を使うしかない。肩付きの部分だけ別のルビタグを使い、CSSでインラインテーブルを作成する。ルビ文字を左寄せをすればよい。そうすると縦組にしても、ルビは肩付きで表示できる。

●インラインテーブルで指定した中付きと肩付きを使い分けたルビ
110912-02.gif
*「JISルール」とあるが、JIS1-2-1ルールではなかった。


●中付きのルビをスペースで調整したもの
110912-03.gif
*親文字には全角スペースを、ルビ文字には半角スペースを挿入した。JIS1-2-1ルールに近くなった。

 強制肩付きを使う場合注意したいのは、ルビはすべてCSSのインラインテーブルで指定しなければならないことだ。中付きにしたい場合で文字長が長い場合、JIS1-2-1ルールを使うことができなかった。つまりEPUB内のデフォルトのルビ設定を使いつつ、指定したルビだけを肩付きにすることはできなかった。もしそれができれば、便利なのだが、現在検証している限りではCSSのインラインテーブルを使うか使わないかのいずれかしか選択肢はないようだ。

 すこし厄介なのは、ルビ文字の横組と縦組とでは文字位置が違うことである。その場合はCSSでインラインテーブルを位置を調整しなければならない。EPUB2ビューワーで見た場合、テキストは横組のみとなる。一般的には横組では肩付きルビは使わないとされているので、その場合は、EPUB2の場合とEPUB3の場合は割り当てるCSSを切り替えるしかない。EPUB3ではJavaScriptに対応しているので、CSSの切り替えは可能だろう。デフォルトではEPUBのルビ、CSSを切り替えてインラインのルビという使い方なら使い道がありそうである。

 なお、CSSでのインラインルビやGoogle Chromeでの縦組表示はググっていただければ簡単に調べることができる。ルビが最適化して表示されるように微調整してある。具体的な設定方法はもう少しまとめて『これだけでできるInDesignからEPUBの電子書籍を作る方法』アプリに同梱する予定である。


◆InDesignからEPUBの電子書籍を作成する方法[iTunesプレビュー]
http://bit.ly/hoLZHS

 
posted by 上高地 仁 at 13:43 | Comment(0) | TrackBack(0) | InDesignとEPUB | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス: [必須入力]

ホームページアドレス:

コメント: [必須入力]

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


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

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