‘XMDF’ タグのついている投稿

InDesign出力XML→XMDF変換スクリプト公開

2012/08/10

 「緊デジ」でリフロー型EPUB3の制作受け入れが決まりました。同時に出版社サイドからの制作会社指定が可能になり、PDF制作にも対応、申請点数の上限を年間発行点数の2倍までとした規定の廃止など、申請条件を大幅に変更した旨のお知らせが、緊デジサイトに掲載されています。EPUB3の制作ガイドラインの内容告知、EPUB制作会社の選定準備等は9月1日以降になるとのことで、XMDF・ドットブック形式の制作会社はすでに決定しはじめていると思われるものの、8月7日現在での申請数が未だ目標の6万点の半分にも届いていない状況を考えると「一度仕切り直し」感は否めません。

 ほとんど前例のないプロジェクトですので関係者の方を一方的に責める気にはなれないのですが、制作サイドの会社に所属している一人としては、ここまでスケジュールが遅れている現状でなお当初の予定通り3月末までに6万冊を揃えることが可能な見通しなのか不安があります。おおざっぱなものでも構いませんので、早い時期に今後の制作スケジュールの見通しを示していただくことを望みたく思います

 さて、私の所属している会社は結局XMDF・ドットブックの緊デジ制作会社には選ばれなかったのですが、制作に向けてXMDF変換スクリプトの準備は進めておりました。制作者としてこのまま無駄にするのも忍びない思いがありますので、会社の許可を得てこれを公開してしまうことにしました。以下よりダウンロードいただけます。

InDesign CS5 XML→XMDF変換スクリプト

(XMLファイルを「ID5XML2xmdf.bat」にドラッグ&ドロップすると置換されます)
(XMLファイルをテキストエディタ「mi」で開き、スクリプトを実行すると置換されます)

 なおこれは、私のブログに掲載されております「InDesign→EPUB3用XHTML作成ワークフロー」の手順に従ってタグ付け作業を行ったInDesignデータから書き出したXMLデータを、XMDF本文用のXMLデータに変換するためのスクリプトです。手順19までは共通の流れとなりますのでご了解ください。また、配布スクリプトをWindows環境でご使用いただくには、あらかじめActivePerlのインストールが必要になります。
 割り当てるタグの名称等は上記ワークフローのそれに準じます(つまり、同一のXMLソースからスクリプトの切り替えだけでEPUB用XHTMLとXMDF用XMLの双方の出力が可能です)。

XMDFビルダー側で必要になる作業

 本文をXMDF形式のXMLデータに変換した後、実際にXMDFコンテンツとして書き出すためにXMDFビルダー側で以下の作業が必要になります。なお、XMDFビルダー内での詳細な操作に関しましては、XMDF情報スクエアにてログイン後ダウンロード可能な説明書をご参照下さい。また、緊デジでの作業内容に関しましては、公式サイトのガイドライン等をご参照いただければ幸いです。

1 テキストをコピー&ペーストします

テキストをコピー&ペースト

テキストをコピー&ペースト

 変換済のXMLファイルをメモ帳等で開き、一番上の「<?xml version="1.0" encoding="UTF-8" standalone="yes"?>」の行を除いた全てのテキストを、XMDFビルダー「ワークスペース」内の「フロー」にコピー&ペーストします。また、画像・外字画像等を使用している場合は、「パーツマネージャー」からコンテンツ内に取り込んでおきます。

2 スタイルを設定します

スタイルを設定

スタイルを設定

 「文書構造スタイル」「文字スタイル」を設定します。書き出されたタグのうち、「<structure style="○○">」の「○○」が文書構造スタイル名(InDesignで言うところの段落スタイル名)に相当します。同じく「<font style="××">」の「××」が文字スタイル名です。
 XMDFビルダー内「基本構成」メニュー内「スタイル」にて設定できますので、適宜適切な値に設定します。各スタイル名をスクリプトが自動出力する値以外に設定したい場合は、あらかじめテキストエディタの一括置換機能などでXMLファイル内のスタイル名を置換した上で、XMDFビルダー側に置換後の名称を設定することで対応できます。
 なお、「コンテンツテンプレート」機能を用いて各種パラメータをインポート/エキスポートできますので、見出し/本文等のスタイル設定を保存しておくことは可能です。

3 画像の回り込みなどを設定します

画像の回り込み等を設定

画像の回り込み等を設定

 必要であれば画像の回り込み、表示方法などを設定します。

4 文書内リンク等を設定します

文書内リンクの設定

文書内リンクの設定

 文書内リンクは「<char_id char_id="■">※</char_id>」といった形で出力されますので、「■」を選択して「装飾編集」パレット「イベントID」からID番号を入力し、「基本構成」メニュー内「イベント編集」で移動先のページ等を設定します。なお、こちらの作業は手順として、一冊分全てのフローを設定した後で行った方が効率的と思われます。

5 外字の代替文字を入力します

 外字は「<external_char alt="〓" alt_img=”cid-0000.png” />」のような形で出力されますので、「〓」部分に適宜代替文字を入力します。代替文字を入力しなくても、外字画像が適切に設定されていれば通常表示に問題はありませんが、将来的な変換や読み上げ等の対応を考えた場合、入力しておいた方が何かと流用が効きやすいデータになるように思います。

InDesign内で外字ファイル名にルビを設定

InDesign内で外字ファイル名にルビを設定

 なお、外字にルビをかける場合は、InDesignドキュメント内にインラインで記述されている外字ファイル名(「InDesign→EPUB3用XHTML作成ワークフロー」手順3参照)にグループルビとしてルビを入力しておくことで、自動で変換出力されます。
 なお、EPUB3出力でも同様の外字ルビ処理に対応するため、そちらのスクリプトも改訂いたしました。適宜ダウンロードしていただければ幸いです。

 緊デジでの画像サイズの設定、ファイル名の規定等に関しましては、公式ガイドラインをご参照下さい。また、こちらのスクリプトを使用したことによるデータ破損等の損害に関しまして、私としては責任は負いかねますので、あくまで自己責任でご使用ください。

(2012.8.10)

Mac用置換スクリプトで「<p.indent>〜」等の記述が正常に変換されないケースがあった問題を修正しました。

(2012.9.6)

電子書籍で外字を使うということについて

2012/06/06

 以前のエントリーで印刷用DTPデータを電子書籍化する際に発生する外字問題に関して書かせていただきました。緊デジの事業開始も迫っていますので、今回はそもそも電子書籍で「外字」を使うということがどういうことなのか、ごく一般的な注意点について書かせていただきます。なおこれは、主に出版社サイドの方に対してのエントリーのつもりで書いております。過去のエントリーとの表記の重複等があるかとは思いますが、あらかじめご了承ください。制作サイドの方向けには、別途出版デジタル機構さまより詳細な資料が提示されるかと思いますので、そちらをご参照ください。

現在電子書籍で使用できる文字数は、印刷物のそれよりかなり少ない

電子書籍で使用可能な文字の数

電子書籍で使用可能な文字の数

 さまざまな種類の「外字」そのものの定義については、こちらのWikipedia項目に詳細な説明がありますので、ここでは今回問題になりそうな電子書籍での「外字」について簡単に述べるに留めておきたく思います。

 上記Wikipedia項目の表記のうち今回問題となる「外字」は、「文字コードなどの特定の文字集合に含まれない文字」を指します。より詳細には、印刷用文字集合規格であるAdobe-Japan1※1に含まれていながら、UnicodeやShift_JISに含まれておらず、テキストファイル内でそのまま表示できない文字のことです。

 一例として「小塚Pr6N」の場合を見てみますと、InDesignで使用できる文字数は23058文字、うちEPUB等で使用できるUnicodeで表現できる文字数は15393文字です。XMDF/ドットブックで使用できるShift_JISの場合はさらに少なくなり、約7000文字です。UnicodeやShift_JISで表現できない文字は、外字画像として表現するか、もしくはInDesignがバックグラウンドで保持している親字への変化を容認するかといった対処が必要となります。

合字/CIDのみの文字の文字化けの例

合字/CIDのみの文字の文字化けの例

 つまり、現状電子書籍で使用できる文字数が、印刷用データの作成環境で使用できる文字数よりかなり少ないために、外字での対策が必要となります。この「UnicodeやShift_JISで表現できない文字」のうち、以前のエントリーでも書いたように「複数の文字コードで構成された合字」や「CID/GID番号のみしか割り当てられていない文字」等のテキストで表現できない文字については、そのままテキストで表現はできないため、基本的に制作会社サイドの責任で外字画像にすることになります※2

親字への字形変化の例

親字への字形変化の例

 一方で、出版社サイドでXMDF・ドットブック/EPUBで表現できる文字に変化することを許容するか、外字にして対応するかの判断が必要となりそうなのは、「印刷標準字体」「エキスパート字形」「JIS90字形」などの微細な字形変化に関する部分です。厳密に印刷物と同じ字形の再現を求めた場合、かなりの文字を外字にすることになりますが、現状、電子書籍(およびWeb)の外字表現には、以下のような問題点があり、通常の紙印刷物と同じような外字の表現は技術的にできません。ご一読いただければ幸いです。

印刷物と電子書籍での「外字」表現の違い

 通常、印刷用DTPデータの制作で外字を挿入する場合には、

1 Illustrator等で外字画像を作り、InDesignの文中に画像をインラインで挿入する
2 フォント作成ソフトを使ってフォントを作り、InDesign内からそのフォントを指定する
3 Biblosなど市販の外字フォントを使用し、InDesign内からそのフォントを指定する

外字がはっきりと確認できてしまう

外字がはっきりと確認できてしまう

 などの手順が考えられますが、いずれもきちんと制作されていれば、実際に印刷した際には周囲の文字とほとんど区別がつきません。しかし、現状の電子書籍での「外字」は、テキスト内にPNG等の形式で制作した「画像」を挿入する形になるため、文章の流れの中ではっきりと「外字」であることがわかってしまうことがしばしばあります

 また、現状電子書籍ではテキストを表示するフォントについても制作サイドで指定することはできず、読者が選んだビューアーに依存することが多いため、外字にした文字が通常テキスト部分とはっきりと違ってしまうといった問題が起きてきます。

フォントを変更しても外字はそのまま

フォントを変更しても外字はそのまま

 さらに、読者の好みで本文フォントを切り替えられるビューアーも存在するため、読者がこうしたビューアーを選択した場合、なおさら「外字」がはっきりと目立ってしまう可能性が高くなります。本文をゴシック体に切り替えても外字部分だけは明朝体のまま、といった状況が起こり得ます

 参考画像は、緊デジで制作されたものではありませんが、実際に現在市販されているXMDF電子書籍内での外字表示の例です。外字がはっきりと見分けられる状態がご確認いただけるかと思います。

 加えて、例えばEPUB3で「外字にルビを振る」といった処理をした場合に、一部のビューアでルビが表示されないといった現象も確認できています。EPUB3の日本語表現に関してビューア側の実装がまだ定まっていないため、このビューアを問題視できるような状況ではありませんが、こうした状況も存在していることをご理解いただければ幸いです。外字は通常のテキスト表示とは異なる「例外的な処理」になり、電子書籍は紙印刷物とは違って読者サイドの閲覧環境の対応も必要になるため、こうした状況は今後も出てくることが考えられます。

 あくまで個人的な意見ですが、コンテンツの最終的な完成度を考慮した場合、現状の電子書籍での外字対応は固有名詞等に限定し、最小限に留めたほうがコンテンツの相対的な品質は上がるのではないかと考えております。

将来的にはテキストの一部として異体字を表現できる可能性がある

 なお、こうした状況は、漢字の異体字に関しては将来的にUnicode IVSが普及し、異体字を画像としてではなくテキストの一部として(つまり外字ではない形で)表現できるようになれば相当改善されるかもしれません。ただし、前述したように従来の紙印刷物とは異なり最終生成物は紙ではありませんので、IVSに関しても制作環境側だけではなく読者の閲覧環境側での対応も必要となります。従って、順当にIVSが普及するとしても実際にコンテンツ内でIVS異体字を使用できるのはまだ当分先の話になりそうです。

 今回の例でもわかるように、電子書籍はあらゆる意味で黎明期であり、紙書籍と同様の表現力を持つにはまだまだ時間がかかります。各出版社のみなさま、制作会社のみなさま、書店のみなさまのご理解・ご協力をいただき、共に新たな文化を健全に育成していければ良いと考えております。

 なお、以下に以前の記事をもとにPDF化した、外字化が必要となりそうな文字の簡単な資料を用意させていただきました。ご参照いただければ幸いです。

 

 今回お世話になりました方々は以下の通りです(50音順/順不同)。私一人ではこの資料を整えることは到底不可能でした。みなさまの深い知識・技術にあらためて尊敬の念を感じるとともに、ご協力に心からお礼を申し上げます。

 ありがとうございました。

※1 Adobe-Japan1コレクションには1-6/1-5/1-4などがありますが、ここでは現在最もグリフ数の多い1-6を例として取り上げています。各文字集合規格の詳細につきましては、こちらのページが参考になります。

※2 単位などは通常の文字列に置き換えるといった対応も考えられますが、いずれにせよ一定のルール策定が必要と思います。また、各種字形変化に関しましては、市川せうぞーさんに制作していただいたムービー群が参考になります。あわせてご参照ください。

・Unicodeポイントを持たず、CID番号しか持たない文字は「1A」という文字に化ける

・「箇条書きリスト」の機能を用いて入力したリストの頭につく番号/記号が消える

・「スモールキャップス」「オールキャップス」の大文字が小文字に変わる

・ビブロスフォントセットは元の文字に変わる

・SINGグリフレット機能を利用して入力した異体字・外字は基底文字に戻ってしまう

(2012.6.6)

 EPUB3での外字ルビに関する部分につきまして、実際には存在しない「日本語EPUB3」という規格が存在しているかのような誤解を与えてしまうのではないか、とのご指摘をいただきましたので、表記を「日本語EPUB3自体規格策定が済んでいるとは言い難いため」から「EPUB3の日本語表現に関してビューア側の実装がまだ定まっていないため」に訂正させていただきました。

(2012.6.8追記)

印刷データ→電子書籍で外字化が必要な文字のまとめ

2012/05/10

 以前のエントリーでDTPデータ内で使われているOpentypeグリフ字形(Adobe1-6)の一部が、電子書籍では外字画像にしないと表現できない問題について書かせていただきました。出版デジタル機構(pubridge)もいよいよ動き始め、実際に電子書籍を作るための環境づくりに入っている方も多いかと思いますので、印刷用DTPデータ→電子書籍で字形が変わってしまう文字についての現時点でのまとめをあらためて掲載しておきたく思います。電子書籍制作環境づくりのお役に立てていただければ幸いです。なお、検証に使用した環境はMac OS 10.7/InDesign CS5です。InDesign以外のアプリケーションでもAdobe1-6グリフ字形を呼び出せるインターフェースを持ったものであれば同様の字形変化が起きるものと思われます。

確実に外字化が必要になると思われる文字

CID/GID番号のみしか割り当てられていない文字

CID/GIDのみの文字(一部)

CID/GIDのみの文字(一部)

 UNICODE/Shift_JISの双方に文字コードの割り当てがなく、InDesignなど対応アプリケーション内部からのみ呼び出すことができる文字です。囲み数字や丸数字などを中心に、ざっと数えた限りでは約700文字あるようです。これはそもそもUNICODEにもコード割り当てがない文字のため、確実に外字にする必要があります。InDesign内でこれらの文字を選択し、テキストエディタ等にコピー&ペーストすると「1A」という文字に化けます。

合字

任意の合字(一部)

任意の合字(一部)

 複数の文字コードで構成された文字をInDesign等の対応アプリ内でOpenTypeの機能を呼び出して「合字」として表示している文字です。InDesign字形パレットの分類では、「任意の合字(dlig)」「分数(afrc)」「欧文合字(liga)」などがこれにあたります。InDesign内でこれらの文字を選択し、テキストエディタ等にコピー&ペーストすると、内包している複数の文字に展開されて表示されます。

現時点では外字化した方が無難と思われる文字

サロゲートペア領域の文字

サロゲートペア領域の文字(一部)

サロゲートペア領域の文字(一部)

 InDesignの字形パレットの表示でUnicodeのコード番号の表示が「2xxxx」と、先頭に2の付いた5桁になっている文字群です。調べた限りでは303文字あります(参照)。ATOKの文字パレットでは、「CJK統合漢字拡張B」「CJK互換漢字補助」となっています。内部的に2つの文字コードの組み合わせで1つの字形を表示しており(サロゲートペア)、多くのリーディングシステムでは問題なく表示されますが、未対応のリーディングシステムが存在するため現時点では外字化した方が無難と思われます。JIS第3水準・JIS第4水準の文字の他、JIS割り当てのない文字も多数含まれています。使用頻度の高い文字はほとんどありませんが、U+20B9Fの「叱」(印刷標準字体)や、U+20BB7の「吉」(つちよし)などは問題になるかもしれません。全てUnicodeのみに割り当てがある文字のため、ドットブック/XMDFなどではいずれにせよ外字化が必要になりそうです。「EPUB日本語基準研究グループ」のホームページから参照できる、「EPUB3日本語ベーシック基準v1.0」の28ページにこれに関しての記述があります。

外字にするかどうか出版社サイドの判断が必要になる文字

同じ文字コードに2つ以上の字形バリエーションが割り当てられている文字

旧字体(一部)

旧字体(一部)

 旧字体/エキスパート字形/すべての異体字/修飾字形 など、ひとつの文字コードに複数の字形が割り当てられ、InDesignなど対応アプリケーション内部から字形パレット等で呼び出していた文字です。これらに関しては以前のエントリーで詳しく書きましたのでそちらを参照していただければ幸いです。人名・地名等の固有名詞以外では問題になりにくいとは思いますが、一般に字形差がとても微細なため、目で追って確認するのが難しい文字群です。

フォントのバージョンによって字形の変わる可能性がある文字

JIS90字形の文字(一部)

JIS90字形の文字(一部)

 以前のエントリーでも少し触れましたが、Pr6/Pr5などJIS90字形を基準としたフォントを用いて作られたDTPデータを元データとして電子書籍を制作する場合に、JIS規格の例示字形の変化の影響で字形の変わる可能性のある文字が168文字あります(フォントによって変化に差があるようです)。こちらにも字形差が微細なため、目で追って確認するのが難しいものが多く含まれます。一点しんにょう→二点しんにょうへの例示字形変更なども行われたため、人名漢字などで問題になるパターンが多くありそうです。JIS90→JIS2004の例示字形変化について、詳しくはこちらをご参照ください。

ドットブック/XMDFなどで外字化が必要になる可能性のある文字

Shift_JISに割り当てがなく、UNICODEのみで使える文字

Unicodeのみの文字例(色つきのもの)

Unicodeのみの文字例(色つきのもの)

 文字コードがShift_JISのドットブック、Unicodeが仕様上は使えるものの、おそらく既存のリーディングシステムの互換性の問題でShift_JISが使われることが多いと思われるXMDFで外字化が必要になりそうな文字群です(HTMLのように数値文字参照等で表記できるのでしょうか?手元の資料ではちょっとわかりませんでした)。XMDFビルダーではピンク色で表示され、XMDFビルダー内簡易ビューアではゲタ記号に化けて表示されるようです。EPUB3は文字コードがUnicode(UTF-8)のため、外字化しないでそのまま表示できます。

 このほか、「インライン画像として文字を作り、テキスト内に挿入していた文字」や、「外字の表示用に独自OpenTypeフォントを制作して表示していた文字」、「Biblosなどの市販外字フォントを利用していた文字」など、各ドキュメントごとに対応が必要になる場合も当然ありますが、これらは個々に対応するしかないと思われるため詳しくは書きません。以前フォントメーカーの営業の方にお聞きした話では、望ましい字形をDTPアプリケーションソフト内での操作なしで表示するために、フォントメーカーにカスタムフォントを特注して使用している印刷会社もあるとのことです。このような場合、その印刷会社以外の会社でDTPデータから電子書籍化する場合に、全ての文字を目で追って確認する必要が出てくるため校正費用がとても高くつくことが予想できます。可能であれば元DTPデータを制作した会社での電子書籍化が望まれるところです。

 また、出版デジタル機構および緊デジ関係者の方への要望として、特に上述の「基本字形に変化してしまう字形」および「フォントのバージョンによって字形の変わる文字」に関して、どのレベルまでを必ず外字にしなければならないのか(人名・地名のみ外字化するのか、初稿で外字化する文字を確認して指示していただけるのか、あるいは全て外字にするのか)、外字対応のガイドラインを策定し、出版社/制作会社の双方に告知していただきたく思います。

(2012.5.11)

プロフィール
Jun Tajima

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

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