‘未分類’ カテゴリーのアーカイブ

InDesignとEPUBの縦書き時の文字の向きの差について

2013/12/09

 私たち日本人にとっては縦書き文書を目にするのはごく日常的なことです。縦書きの文書には当然さまざまな固有の組版ルールがあり、それは必ずしも簡単なものばかりではないのですが、私たち日本人はそれがあまりに「当たり前のこと」であるがゆえに、「暗黙のルール」として受け入れてきました。
 もっぱら日本市場だけをターゲットとして製品開発・販売が行われてきたこれまでなら、「暗黙のルール」で済みました。ですが、Webブラウザや国際展開しているストアのEPUBビューアで日本語の縦書き文書を過不足無く読めることを期待するには(ツールの開発者に日本語の素養があるとは限りませんから)、きちんと明確化された国際ルールにする必要があります。こういった意味でW3C「日本語組版処理の要件」をはじめとして、さまざまな取り組みが行われてきましたが、最後に積み残した部分として残っていたのが「縦書き時の文字のデフォルトの向き」に関するルールです。
 縦書き文書内に長文の英語が混じるような場合、普通英語の部分は90度横転させる組版が行われますが、「A地点」などといったようにアルファベットひと文字の場合に「A」が横転していたら、私たちは不自然さを感じてしまうでしょう。従ってごく一般的に「A地点」の場合の「A」は全角文字で記述するといったようなことが行われます。これは「半角文字のAは縦書きで横転し、全角文字のAは縦書きで正立する」という共通認識があるために行われる行為です。
 しかし、アルファベットのようなごく一般的な文字はまだしも、使用機会の少ない特殊記号類や非英語のラテン系文字などでは、各種アプリケーションでデフォルトの文字の向きにかなりの差が見られる実態があったようです。これでは国際ルール化の際に困ります。

 そのためこの「縦書き時の文字のデフォルトの向き」についてユニコードコンソーシアムで話し合いが行われ、かなり紛糾したようですが、今年の8月31日にようやくこれが確定したようです。これが「UTR#50」(Unicode Technical Report #50)です。

現状のストアビューアでの縦書き時の文字の向き

 ただ、規格として確定したとは言っても、これが実際に各ビューアに反映されるまでには相当の時間はかかると見なくてはなりません。ストアビューアでの現状の縦書き時の文字の向きに関しては、KADOKAWAが「KADOKAWA-EPUB 制作仕様」の中で資料を公開しましたが、これを見ても現状各ビューアでかなりの混乱があるように見受けられます。
 そこで、実際に各ビューアでの表示を見てみた方が良いだろうと考え、各ビューアでの実機スクリーンショットを取りました。ご参照下さい。ひらがなや半角英数字などリストアップするまでもない文字は省いてあります。

 各ビューアのバージョン/フォント環境は以下の通りです。

各EPUBビューアのバージョン

各EPUBビューアのバージョン

 以下のリンクからデータをダウンロードしてご覧いただけます。





 なお、同梱した比較用のInDesign表組みデータの制作環境は、InDesign CS5/OS X 10.7/リュウミンL-KL Pr6N になります。

InDesign内での文字の向きとUTR#50 Rev.11の文字の向きの期待値の差異

 さて、上掲のInDesignでの文字の向きの資料とKADOKAWAの資料にあるUTR#50 Rev.11の文字の向きの期待値を比較してみると、実はかなりの差異があることがわかってきます。出版社から制作会社への要望としては実際に印刷物となって目にしている文書を可能な限りそのまま「電子化」したいわけですから、これに少しでも近づくためにはInDesignのデフォルト値とUTR#50の期待値の差分を出す必要がありそうです。そこでこれを調べてみました。
 以下に差異のあった文字を公開しますので、ご参照ください。InDesign側の環境は上記と同様です。

IDとUTR#50rev11でデフォルトの向きが異なる文字

 U+00A9の「©」やU+00AEの「®」、U+FF1Bの「;」、全角のシングル/ダブルクォーテーションマーク、ギリシャ文字やキリル文字、数学記号類などで差異が見られるようです。

KADOKAWA資料で表示方向に関わらず外字にすることを規定している文字

 KADOKAWA資料には、正立/横転の表示方向に関わらず縦書き時に外字にすることを規定している文字が存在します。これにはさまざまな要因があるようですが、例えばU+201Cの「“」およびU+201Dの「”」のダブルクォーテーションマークは、縦書き時にKindleでは現状U+301Dの「〝」およびU+301Fの「〟」のダブルミニュート(ノノカギ/チョンチョン)に自動置換されてしまうため、外字化して対応する必要があるようです。

 また、U+FF1Bの「;」やU+005Cの「\」も必ず外字化するように求められています。ただこれらの文字は上記の実態調査ではいずれのビューアでも正常に表示されていたため、ビューアのアップデートにより修正がなされたのかもしれません。他には発音記号などで用いられる結合文字や、結合文字の構成パーツが外字化する文字としてリストアップされています。
 以下が対照となる文字のリストです。

KADOKAWA資料で必ず外字化の指示がある文字

ID/UTR#50の双方で「正立」がデフォルト値だがKADOKAWA資料で縦中横タグの挿入を求められている文字

 InDesignのデフォルト値、UTR#50の期待値がともに「正立」であるにもかかわらず、KADOKAWAの資料内で「text-combine」(縦中横/電書協ガイドのXHTMLタグ指定では「<span class=”tcy”>00</span>」)のCSS指定を求められている文字も存在します
 おそらくデフォルト値が横転になってしまっているビューアが存在するため、明示的に正立指定をする必要があるためと思われます。
 以下が対照となる文字です。

ID/UTR#50の双方「正立」がデフォルト値だがKADOKAWA資料で縦中横タグの挿入を求められている文字

 将来的におそらく各社のビューアの実装はUTR#50に準拠する形に変化していくものと思うのですが、InDesignとの差異は消えることなく残りそうです。「古い印刷データを新しいバージョンのInDesignで開けたら文字の向きが変わった」などという事態はAdobeとしても間違いなく避けたいでしょうから、新バージョンでの対応もすぐには期待しない方が良いでしょう。

 こうした部分への間違いのない対応を現場の制作オペレータに期待するのは現実的ではありませんから、何らかの形で機械処理してやるのが正解と思っています。今回はそのための一助として資料を公開させていただきました。

 今回リストアップした文字の対策は、現状では外字画像にすることで解決を図っているコンテンツがかなりあるようです。KADOKAWA仕様でも横転する文字は全て外字とすることを求めています。これは一部ビューアで横転の指定が反映されない文字があることを考慮すれば仕方のない対応ではあるのですが、一方で外字画像は背景を黒に設定した場合に見えなくなるビューアが存在するなど、アクセシビリティの障害となることも事実です。

 将来的には全てのビューアで正立/横転の指定が正しく反映されるようになることを期待しつつも、現状では例えば一部別の文字で置き換えることが可能な記号類を出版社さんとの事前の協議をもとに自動で置換処理をするといったことも含めて、より質の高い電子書籍の制作に繋がるようなワークフローを考えるべきではないかと思っております。

 もし資料に誤り等を発見された場合はご一報をいただけると助かります。すみやかに修正させていただきます。

 なお、こちらの資料を使用したことによる損害に対して、私および私の所属する会社として責任は負いかねますので、あくまで自己責任にてご使用ください。

※ 本来電書協ガイドで文字の「正立」指定に用いるXHTMLタグ指定は「<span class=”upright”>00</span>」なのですが、現状「<span class=”upright”>00</span>」のCSS指定に用いられている「text-orientation」の挙動が怪しいビューアが多く見られるため、KADOKAWAフォーマットでは当面「<span class=”tcy”>00</span>」でのマークアップを求める方針としたようです

分類前の全文字が入った一覧も公開しておきます。KADOKAWAの資料をもとに、InDesignでの文字の向きのパラメータを追記してあります。

表(UTR#50対照文字全文字入り)

(2013.12.10)

(2013.12.10追記)ご指摘をいただきまして資料を修正いたしました。皆様ありがとうございます。

(2013.12.10追記)引用符のデフォルトの向きは、InDesign CS6以降では環境設定の「縦組み中で引用符を回転」のチェックが入っていると自動で横転になるようです。ご指摘をいただいたので追記しておきます。なお、CS5で作成したドキュメントをCS6で開いた場合には、もとの文字の向きが保持されるようです。

(2013.12.10追記)「必ず外字化の指示がある文字」に、カタカナの結合文字を追加しました。また、UTR#50およびInDesignでの文字の向きを追加しました。

(2013.12.11追記)資料をもう一度見直し、リストを更新しました。また、全文字のリストも添付しました。資料として落とされた方は、申し訳ありませんが再取得してください。また、アンテナハウスの村上真雄さんが関連記事を書いてくださったようですので、併読をおすすめしておきます。

「300ppiのweb用画像」に対応する

2013/11/20

 先日、株式会社KADOKAWAから「KADOKAWA-EPUB 制作仕様」の発表がありました。これはKADOKAWAが電書協ガイドをベースに社内で使用するために規定した仕様を一般公開したもので、頼りにできる製作指針がまだ完全に定まったとは言い難い現在、とても有り難い話で、率直に大英断だったと思います。
 今現在これをきっちり読み込んで電書協ガイドとの差分を調べて必要なら修正する作業をしているわけですが、一ヵ所「?」と思った部分がありました。それは画像の仕様が「画像の解像度は、外字画像含め、すべて300pixel/inch とする」となっていた箇所です。

 「pixel/inch」(ppi)という単位はDTP系の人間にとってはなじみ深いもので、dpiとも言われます。1インチあたりに何ピクセルの画素を割り当てるかで画像の精細さを表す単位です。ただこれはWeb系ではほとんど使われないのではないかと思います。何故かと言えば、これがあくまで印刷を前提とした場合に意味がある単位だからです。画面サイズとピクセル数が比例していないPCディスプレイやタブレット端末を表現の舞台とするWebや電子書籍では、この「pixel/inch」という単位はほとんど意味を持ちません。
 正直事情通の方にお聞きしてもなぜ電子書籍なのに画像を「300ppi」にする必要があるのか「?」が消えなかったのですが、仕様書にあるからには対応しなければなりません。以下、その対応方法です。

Photoshopから書き出すと強制的に72ppiになる

Photoshopで解像度を300ppiに

Photoshopで解像度を300ppiに

 最初に、Photoshop内で解像度を300ppiに変更してから「Webおよびデバイス用に保存」で書き出してみました。解像度を変える際には「画像の再サンプル」のチェックボックスを外してやらないとピクセル数そのものが書き換わってしまいますので、これのチェックを外した上で解像度を300ppiに変えてやります。

Photoshopで開くと72ppiになっている

Photoshopで開くと72ppiになっている

 その後、「ファイル」メニューから「Webおよびデバイス用に保存」を選び、Web用画像として書き出してやります。で、書き出された画像を再びPhotoshopで開いて見てみると・・・あれ、72ppiになってしまってますね。

ImageMagickで画像解像度を後から書き換える

 困りました。つまりAdobeとしては「Web用の画像は印刷の対象ではないのだから全部72ppiで問題ない」と判断しているわけです。通常の保存コマンドでjpgやpngを選べばもちろん解像度の設定は保持されるのですが、これをやってしまうとファイルサイズが大幅に肥大化するので電子書籍用の画像としては避けたいところです。
 そこで、Photoshopで一度書き出した画像の解像度設定をフリーのコマンドラインツールのImageMagickで書き換える方向を試してみました(ImageMagickのMac用インストーラはこちら)。ここなどを参考にさせていただいています。

/opt/ImageMagick/bin/mogrify -density 300×300 -units PixelsPerInch 置換対象ファイルのパス

 置換して上書きなので「mogrify」コマンドを使っています。「-units PixelsPerInch」が単位指定です。ImageMagickのインストールパスは適宜お手元の環境のものに置き換えてください。ターミナルにこれを入力し、リターンで置換されます。

300ppiになっている

300ppiになっている

 Photoshopで開いて見てみると確かに300ppiになっているようです。OKですね。あとはこれを組み込むだけです。

(2013.11.21)

epubcheckの日本語文字化け対策

2013/10/28

 以前、このブログで発表して現在配布中の「EPUB3トータルデータチェッカー」なのですが、どうも日本語のパス名が化けて表示されるようで少々気になっていました。エラーメッセージ自体は英語ですのでそこまでの問題ではないのですが、JEPAがepubcheckの日本語化バージョンを発表したなどというニュースもありましたし、これが標準になってくるとエラーメッセージそのものが文字化けして読めないというような事態になってきます。これでは少々寝覚めが悪いのも確かですのでちょっと調べてみました。

.bash_profileを書き換えてみたけれど・・・

 「java mac 文字化け」などで検索すると、事例がそれこそ星の数ほど引っかかるのですが、要はjavaの内部処理コードのデフォルトがShift_JISなため、そのままでUTF-8環境に書き出すと日本語部分が文字化けしてしまうということのようです。「ターミナルの文字コードをShift_JISに設定すれば化けない」なんて情報もあったのですが、そこは諸般の事情で変えたくないので却下です。で、このあたりこのあたりの情報をもとにまずは.bash_profileに設定を追記してみました。

 まずはターミナルを立ち上げて以下のコマンドを入力し、.bash_profileを編集できるようにします。

cd ~
vi .bash_profile

viが立ち上がったら、iキーを入力して挿入モードにし、以下のコマンドを入力します。

alias javac=’javac -J-Dfile.encoding=UTF-8′
alias java=’java -Dfile.encoding=UTF-8′

.bash_profileを編集 コマンドを入力し終えたらESCキーを押して「:wq」を入力してファイルを閉じます。viとか普段使わないのでこことかでコマンド調べながらの作業です。

 これでターミナルを再起動し、

-java -jar epubcheckのパス epubファイルのパス

 などと打ち込めば、例えパスに日本語が含まれていても正しくチェック結果が表示されるはずです。

ターミナル出力結果が文字化けせずに表示された 実際試してみると、確かに正しく表示されました。

 ただ、この方法だと(まあbashの設定を変えただけなので当たり前なんですが)ログ出力したテキストファイルにまでは効力が及ばないようで、相変わらずログテキスト内では文字が化けてしまっています。

「export _JAVA_OPTIONS=-Dfile.encoding=UTF-8;」を追記して文字化け解消

ログファイルが文字化けせずに出力された そこで、ここの情報をもとに、「-java -jar epubcheckのパス epubファイルのパス」の前に「export _JAVA_OPTIONS=-Dfile.encoding=UTF-8;」を追記してみました。
 つまりjavaを実行する前に出力文字コードをUTF-8にするオプションを連続実行するようにしてみたわけです。

 はい、ちゃんと日本語になってくれました。

改訂済の「EPUB3トータルデータチェッカー 1.2.1」こちらからダウンロードしていただけます。

 なお、今回はJEPAの日本語化バージョンの元バージョンが「3.0」(英語最新版は3.0.1)であることから、内包するepubcheckのパッケージを差し替えることは見送りました。従いまして、エラーメッセージ自体は従来通り欧文で表示されます。将来的に日本語化バージョンがバージョンアップした場合には、適宜差し替えを考えております。

 epubcheckのエラーメッセージの内容につきましてはここが参考になります。
 なお、こちらのTIPSやアプリケーションを利用された結果生じた損害につきまして私は一切の責任は負いかねますので、あくまで自己責任にてご利用ください。

(2013.10.29)

プロフィール
Jun Tajima

こちらにて、電子書籍&Web制作を担当しています。
このブログは、EPUB3をはじめとした電子書籍制作担当オペレータからの、「電子書籍の制作時にたとえばこんな問題が出てきていますよ」的な「現地レポート」です。少しでも早い段階で快適な電子書籍閲覧・制作環境が整うことを願って、現場からの声を発信していこうと目論んでおります。

当ブログ内の記事・資料は、私の所属しております組織の許諾を得て掲載していますが、内容は私個人の見解に基づくものであり、所属する組織の見解を代表するものではありません。また、本ブログの情報・ツールを利用したことにより、直接的あるいは間接的に損害や債務が発生した場合でも、私および私の所属する組織は一切の責任を負いかねます。