はげあたま.org

*

電子出版の行頭字下げは全角スペース or CSS指定問題

   

突然ですが、KDPで年内にちょっとしたものを出そうと考えています。 出れば売れる自信はありますが、今月中に続報なかったら自然消滅だと思ってください(ヲイ

 

そんなわけで、久しぶりにEPUB作成の泥沼と戦っています。
技術的興味優先の性格上、真っ当な手法は取らずに案の定苦闘ですよ。具体的には今週の正式リリースでEPUB3世代に対応したSigil ver.0.9.0。
当初は一太郎2015買っちゃうかと思っていたんですが、Sigil ver.0.8.9でOS問わず頻発していたクラッシュがだいぶ軽減されていたため、人柱頑張ってます。

この辺りに関しては本がある程度形になり次第、知見の共有予定です。

 

 

さて今日はEPUB制作手法や書式のベースを考える上での壁となった一つの疑問についてです。

 

いやー、おもしろい。見事に真っ二つです。
具体的には、技術リテラシの高そうな層が投票していそうな当初は3分の2がCSS派だったんですが、RTが進むにつれて全角スペース派が押していきました。 これは興味深い、ということでこの問題を整理してみたいと思います。

 

何が問題なの?

「正しい答え」となるとはっきりしています。「CSSで字下げ」です。

  • テキストの再利用性
  • ビューワー側によるスペースの解釈の違い
  • EPUBの基盤であるXHTMLの、文書構造と装飾を切り離すという技術的思想

などにより、字下げはCSS――装飾専用のスタイル命令により制御すべき事柄です。 もちろん、そのためにtext-indent : 1em ;という、段落頭は1字下げる命令が存在します。

ならこれで終わっていいはずの問題なのですが、そうは問屋が卸しません。 質問にも「現実的に」と書いた通り、理想と現実は違うわけです。

 

なぜなら、漢字、ひらがな、カタカナに加え、句読点をはじめとする各種記号も加わり、何より縦組み・横組み問わないという狂気の言語を、横組みアルファベット文化から生まれたEPUBが仕様的に対応しきれないからです。
日本語組版――紙面構成の文字割り振りについて語りだしたらキリがありませんので割愛しますが、現状のリフロー型電子書籍は確実にいい加減な紙面構成に陥ります。
だって、ビューワーごとのルールが統一されていない上、処理の実装側も対応する気がないんですもん。(一部国内ストアは頑張ってますが……)

WEBサイトで、ブラウザによって表示が違ったり、フォントによってアスキーアートが無残に崩れるのも根元は一緒です。 縦書きのWEBデザインが普及しないのもそうでしょう。(参照:縦書きWebデザインアワード

 

とまあ怨嗟を垂れ流すのはそれくらいにして、「現実的に」どう対応しているのか、ざっくりと調べてみました。

 

①でんでんマークダウン→全角スペース字下げ

文芸作品のように、行頭を字下げする行としない行が登場し、しかも重要な意味を持つ作品では、字下げする行頭に全角スペースを入れるとよいでしょう。

僕らのアイドル(?)電書ちゃんプレゼンツの書式『でんでんマークダウン』では全角スペースのようです。

利用者層的にCSSも知らない物書きさんも多く存在していると思われ、実用性優先で仕様も組んであるように感じます。
電書ちゃんなら「どうしても気になるなら自分でCSSいじりなさいよ」と罵ってくれそうですね。(ぇ

 

②EPUB3::かんたん電子書籍作成→CSS?

リーダーのデフォルトがどうなってるのかよくわからないので、行頭の一字下げはなしにしておいて、行頭字下げのコントロールはスタイルシートでする。

WEBサービス版を取り上げようと思ったのですが、ブログの縦書きスタイルシート記事の方がわかりやすかったのでそちらで。
基本的にCSSの字下げは無しにしてあり、字下げする段落は別途class指定(p.line-indent1)により明示的にするという手法です。
全角スペース差し込みにも対応できますし、一手間かかるという点を除けばエレガントな方法だと感じます。

 

③群雛→全角スペース字下げ

段落の頭は一字下げ(全角スペース)

BCCKSでは明確なルールが見つからなかったんですが、BCCKSをフル活用している群雛さんでは、雑誌として多数の人から原稿を集めているため、表記ルールも厳格に定めてありました。 特に小説系が多いので、全角スペース安定ですね。

 

④電書協ガイド→どちらでも?

緊デジ仕様もそうでしたが、可能な限り表現の最大公倍数的盛り込み方をしていたため、CSSで

ただしCSSでの実装法として、<div class=”indent-2em”></div>みたいな形でclass名で段落の行頭字下げ量などをわかりやすく指定できるようになっているのはCSSフレームワーク的で最もエレガントだと思います。 その分、テンプレートの肥大化という問題も出てきますが……

かといって全角スペースを否定しているわけでも無いようで、サンプル内では全角スペースの物も見受けられます。

 

おまけとして、角川ではBOOK☆WALKERを抱えていることもあり、電書協仕様からブランチした独自の拡張仕様をきちんと公表しています。 ある意味、日本で一番信用できるルールかもしれません。 こちらは「リーディングシステムはクソ」という前提により、実用性重視の指定になっていて一読の価値ありです。

 

 

結論

こういう悩みがわからない人は、気にせずに「全角スペース」を使う方が無難でしょう。
こんなところで無駄に悩むより、内容に手をかけた方が確実に生産的です!

 - 電子書籍 , , , ,