第3章 EPUB日本語拡張仕様の推進

3.2 EPUBチェックプログラムの改訂

"EPUBCheck"として知られるEPUBチェックプログラムとは、EPUBファイルのファイル構造の正しさを検証するための、Javaで記述されたコンピュータープログラムである。EPUBチェックプログラムは、オーサリングツール等によって作成されたEPUBファイルをパラメーターとして設定してプログラムを起動することにより、EPUBファイルの構造をチェックし、問題点があればエラーメッセージとしての出力を行う。
また、EPUBチェックプログラムは、アップル社が、現在米国にて展開している電子書籍ストアの入稿を受け付ける際に、EPUBチェックプログラムでの確認を公式に義務付けており、電子書籍市場に対する影響度・重要度の高いプログラムである。

EPUBチェックプログラムは、そのプログラム内で、以下のようなチェック行う。
  • 必須ファイルの存在確認
  • コンテンツファイル内で参照されているイメージファイル等の有無
  • HTML記述の正しさ確認
  • 許可されたファイル以外が含まれていないか確認
しかしながら、現在EPUBチェックプログラムには、CSSの妥当性をチェックする機能が組み込まれていない。そのため、アップル社の電子書籍ストアを含め、市場には問題のあるCSSを含むEPUBファイルが大量に出回っているのではないか、また、当プロジェクトの主眼である日本語拡張仕様においては、その多くの部分がCSS機能に依存するため、市場への影響度の大きなEPUBチェックプログラムにCSSのチェック機能を搭載しないことは問題である、との観点から、当プロジェクトの範囲内においてCSSチェック機能の実装を行うこととした。

まず、EPUBチェック機能の実装に先立ち、専門家チーム及びスペシャリストメーリングリストにて、CSSチェック機能搭載について検討を行った。
検討の結果、
  • チェックを厳しくしすぎることにより、電子書籍市場の萎縮を招く危険性が無いか
  • 既存の流通コンテンツについて、チェックが通らないからといって回収することは不可能である
といった懸念事項が顕著化した。
これらの懸念事項を懸案し、EPUBチェックプログラムの実装については、
  • オプションスイッチによる、CSSチェック機能のON/PFF
の機能も併せて実装することとした。
EPUBチェックプログラムに組み込むCSSチェックコンポーネントとしては、W3Cにて公開・メンテナンスが行われているCSSチェックのモジュールを選択した。

実装の結果、非常に厳密なCSSのチェックを行うEPUBチェックプログラムが完成した。
CSS2,1やCSS3といったCSSプロファイルの指定機能も実装し、非常に完成度の高いツールとなっている。
完成したツールは、もともとのEPUBチェックプログラム開発チームへのフィードバックを行い、国際標準としての採用を検討頂いている。

国際版のEPUBチェックプログラムについては、以下のURLにて公開されている。今後、当プロジェクトにて実装されたCSSチェック機能も搭載される予定である。
http://code.google.com/p/epubcheck/

完成したEPUBチェックプログラムは、以下のURLにて一般公開している。
http://www.epubcafe.jp/egls/epubcheck

3.3 CSSjanusへの縦書き追加

CSSjanus とは、一般向けに広く公開されている、右から左書きのテキストを、アラビア語圏内で指定される、左から右書きへの変換を行うコンピュータープログラムである。このコンピュータープログラムについて、主に日本語で利用される上から下書き、右から左へ行送りへの対応を行った。

当初は比較的作業量の少ないプロジェクトとして考えられていたが、すぐに以下のような問題点が判明した。

もともと提供されていたCSSJanusは、左右方向のみの変更を行うツールである。そのため、HTMLエレメントの幅・高さ等の変換の必要は無かったが、横書きから縦書きへの変換を行う場合、幅や高さの変換に加え、マージン等について、時計回り90度の回転を考慮しなければならない。しかし、全てのエレメントについて、必ず回転していいのか、という疑問が発生した。それらの疑問点について、ひとつひとつ検証を行い、実装を進めた。

完成したツールは、縦書き文書作成の取り掛かりとして十分な性能を発揮するツールとなった。
しかしながら、人間の判断を加えない100%自動の横-縦変換は大変困難であると言うことも今回のプロジェクトで判明した。

Comments