一般フォーラム

PDF/X-1a作成時に文字(.notdefグリフ)が消える(Acrobat XI)

PDF/X-1a作成時に文字(.notdefグリフ)が消える(Acrobat XI)

by K H -
Number of replies: 24
お世話になっております。『美文書』第6版のDVDでインストールした環境(TeX Live 2013/W32TeX)を使わせていただいております。OSはWindows 8.1です。

dvipdfmxで作成したPDFファイルをもとに、より安全に印刷できるよう、Acrobat Pro XIを使ってPDF/X-1a形式に変換しようとしています。この際に、特にエラーや警告が出ないままに、一部の文字が消えてしまうことが分かりました。

原因を探るために、Acrobatのプリフライトから「PDF/X-1a(Japane CXolor CXoated)に変換」を行なうと、結果の中に「.notdefグリフを使用する文字を空白文字で代用」という表示が出ます。そこでプリフライトの「単独のチェックを表示」→「文字は.notdefグリフを使用」を実行してみました。その結果、まさに消えてしまう文字が「.notdefグリフ」と見なされているようです。

ひとまずの対策としては、Acrobat側でPDF/X-1aを作成する際に、「.notdefグリフを空白で代用」が行なわれないようにすることができます。しかし、もし印刷所などでPDF/X-1aに(再)変換されてしまうと、やはり文字が消えてしまうことが懸念されます。また、「.notdefグリフ」というものが含まれている、なにか不完全なPDFなのだろうかと、(素人的な)不安も感じます。

もう少し根本的な解決の方法は考えられますでしょうか? ヒント、思いつき等、なんでもお教えいただけましたら幸いです。


なお、以下の内容のTeXファイルで問題を再現できます。

\documentclass{jsbook}
\usepackage{okumacro}
\begin{document}
\keytop{Ctrl}
\end{document}

上記ファイル内容の場合、「文字」というわけではないのですが、「Ctrl」を囲む枠の右上が空白になります(途切れます)。このファイルと、dvipdfmxで作成したPDFファイルと、PDF/X-1aに変換して枠が途切れたPDFファイルとを、Zipでまとめて添付いたします。

このほか、再現する条件を特定できていないのですが、数式中の文字が空白に置き換えられるケースがあります。
In reply to K H

Re: PDF/X-1a作成時に文字(.notdefグリフ)が消える(Acrobat XI)

by Shikano Keiichiro -
\usepackage{okumacro}の後で、\usepackage{pict2e}を指定してみると、どういう結果になるでしょうか。
手元のAcrobat XIでX1aにしてみた限りでは、大丈夫そうでした。

# okumacroの\keytopコマンドは内部でpicture環境を使っていますが、picture環境はすでに古く、現在はpict2eというパッケージを使うことが推奨されている、という事情です。
In reply to Shikano Keiichiro

Re: PDF/X-1a作成時に文字(.notdefグリフ)が消える(Acrobat XI)

by K H -
\usepackage{pict2e}によって、テストファイルの問題は解決しました! まさにお見込みの通りでした。

ただ、実際に使用しているファイルでは、

\usepackage{okumacro}
\usepackage{itembkbx}

のようになっていまして、この形になっていると、\usepackage{pict2e}を追加しても効果が出ないのです。itembkbx.styが内部でascmac.styを呼び出しており、ascmac.styにも\keytopの定義があることが原因かもしれません。

それから、さらに問題なのは、長いファイルの中で数式中のマイナス記号(CMSY 10というType 1フォントのようです)がところどころ、.notdefと見なされて消えてしまい、悩んでおります。

引き続き、思い当たる点などございましたら、どうぞよろしくお願いいたします。
In reply to K H

Re: PDF/X-1a作成時に文字(.notdefグリフ)が消える(Acrobat XI)

by 匿 名 -
.notdef グリフとは未定義文字を代替表示するための文字(いわゆる豆腐)です。
本当に .notdef グリフを使用する文字があれば問題なんですが、dvipdfmx の出力を見る限りそうとは思えません。

もしかして文字コード 0x00 にくる文字(例えば cmr10 の大文字ガンマ)がすべて「.notdef グリフを使用する文字」
とみなされてないでしょうか?
In reply to 匿 名

Re: PDF/X-1a作成時に文字(.notdefグリフ)が消える(Acrobat XI)

by K H -
ご示唆をいただきありがとうございます。

試してみたのですが、添付のPDFファイルでは問題は出ませんでした。正常にPDF/X-1aに変換できました。

上にも書きましたが、数式に関しては、マイナス記号がすべてではなくところどころ消えてしまい、悩んでおります。

引き続き、思い当たられる点などございましたらどうぞよろしくお願いいたします。
In reply to K H

Re: PDF/X-1a作成時に文字(.notdefグリフ)が消える(Acrobat XI)

by 匿 名 -
マイナス記号は CMSY10 の文字コード 0x00 に入ってるので
0x00 に入ってる文字が場合によっては .notdef にマップさ
れてるとみなされるということではないかと思います。

In reply to 匿 名

Re: PDF/X-1a作成時に文字(.notdefグリフ)が消える(Acrobat XI)

by Yamamoto Munehiro "munepi" -
一応、こちらにコメントしておきます。

cmsy10, msam10, lcircle10 のTest をそれぞれ見れば、(もしくは、disasm すれば :D 、)そうなっていますね。

In reply to Yamamoto Munehiro "munepi"

Re: PDF/X-1a作成時に文字(.notdefグリフ)が消える(Acrobat XI)

by Yamamoto Munehiro "munepi" -
(複数ファイルを添付できない :-( )
In reply to K H

Re: 古めのAcrobatを使用した場合

by K H -
Acrobat 9およびXで試したところ、文字が消える問題は起こりませんでした。

ただしAcrobat Xでは、「プリフライト」→「単独のチェックを表示」→「文字は.notdefグリフを参照」を実行すると、.notdefを参照している文字が複数見つかってしまいました。見つかりはするのですが、X-1aへの変換時にこれを自動的に空白に置き換える設定にはなっていないので、文字が消えてしまうことは無いようです。

文字が消えるというのは非常に怖いのですが、新しいAcrobat XIはアグレッシブな設定になったということでしょうか。近いうちに、TeX環境の側も更新して、「.notdefを参照している文字」がなくなるかどうかを試したいと思います。またご報告申し上げます。それまでの間も、何かお心当たりがおありでしたら、是非ご教示ください。
In reply to K H

Re: 古めのAcrobatを使用した場合

by 奥村 晴彦 -
K Hさま,
たいへん興味深い事例をありがとうございます。
もし再現できるソースの例がありましたら,お見せいただければ幸いです。
In reply to 奥村 晴彦

Re: 再現用ファイル(数式の記号が消えるもの)

by K H -
奥村先生、皆さま

ご返信いただき恐れ入ります。先生の御本には本当にお世話になっております。

さて、数式の中のマイナス記号が消えてしまうサンプルファイルを作成できましたので、添付させていただきます。ソースファイル「test.tex」と、dvipdfmxによって作成したPDF「test_dvipdfmx.pdf」と、Acrobat XIでPDF/X-1aに変換したPDF「test_converted_to_x-1a.pdf」を同梱しております。

PDF/X-1aに変換したPDF「test_converted_to_x-1a.pdf」では、数式のマイナス記号が消えてしまっております。

なにとぞよろしくお願いいたします。
In reply to K H

Re: 再現用ファイル(数式の記号が消えるもの)

by 奥村 晴彦 -
ありがとうございます。確かに新しいAcrobatのプリフライトだとマイナスが消えてしまいますね。ファイル→その他の形式で保存→PDF/Xなら大丈夫なのですが。

われわれがよくやっている手としては,美文書p.312の傍注※4でちょっと書いたように,AcrobatでPostScript形式で保存し,DistillerでPDF/X-1aに変換という回りくどい方法ですが,その方法で作ったPDFは,再度Acrobat XIのプリフライトでPDF/X-1aにしても問題なさそうです。
In reply to 奥村 晴彦

Re: 再現用ファイル(数式の記号が消えるもの)

by K H -
奥村先生、皆さま

ご教示いただきありがとうございました。

手元の環境ですと(Acrobat Pro XI 11.0.10, Windows 8.1)、Acrobatのメニューから「ファイル」→「その他の形式で保存」→「プリプレスデータ交換用PDF(PDF/X)」を選択した場合もマイナスが消えてしまうようです。

なおこの際には「設定」をクリックして、「次のPDF/X-1a変換プロファイルに従ってPDF/X-1aを作成」にチェックを入れ、「PDF/X-1a(Japan Color Coated)に変換」を選択しています。また「フィックスアップを実行」にもチェックを入れています。※こうしないと「変換できませんでした」というエラーメッセージが表示されるためです。

AcrobatでPostScript形式で保存し,DistillerでPDF/X-1aに変換

この方法であれば確かに大丈夫でした。この方法をとるべきですね。(申し訳ありません、御本の読み込みが不十分だったようです)


ともあれ、新しいAcrobatではこうしたことが起こりうるようですので、他山の石としていただけましたら幸いです。
In reply to K H

Re: 再現用ファイル(数式の記号が消えるもの)

by 奥村 晴彦 -
なるほど。設定を同じにすると「ファイル」からPDF/X保存しても同じですか(当然だったですね)。

私もAcrobat Pro XIはあまり使っていなかったので,今回たいへん勉強になりました。ありがとうございます。

(何とかdvipdfmx側で対処したいところですが)
In reply to 奥村 晴彦

Re: 再現用ファイル(数式の記号が消えるもの)

by 奥村 晴彦 -
なんか海外でも.notdefで悩んでいる人がおられるようです:
http://tex.stackexchange.com/questions/160984/failed-pre-flight-how-do-i-repair-notdef-and-incorrect-glyphs
もっと探せばいろいろ見つかるかも。
In reply to K H

Re: 再現用ファイル(数式の記号が消えるもの)

by Akira Kakuto -
%
% test.map
%
cmsy10 bbad153f cmsy10

として
dvipdfmx -f test.map test.dvi

としたものでは,マイナスは消えませんでした。
test-ok.zip
を添付して見ます。
In reply to Akira Kakuto

Re: 再現用ファイル(数式の記号が消えるもの)

by 奥村 晴彦 -
In reply to 奥村 晴彦

Re: 再現用ファイル(数式の記号が消えるもの)

by Akira Kakuto -
説明不足で失礼しました。
encoding を指定しただけです。
$TEXMFDIST/fonts/enc/dvips/tetex
をご覧下さい。
In reply to Akira Kakuto

Re: 再現用ファイル(数式の記号が消えるもの)

by 奥村 晴彦 -
すいません,こんな単純なことで解決するとは驚きました。

bbad何々というファイル,聞き覚えはありますが,検索してみても何の情報も見当たりません。また,pdfTeXも同じ
cmsy10 CMSY10 なのにこの問題が発生しないらしいのもよくわかっていません。
In reply to Akira Kakuto

Re: 再現用ファイル(数式の記号が消えるもの)

by K H -
ご教示いただいた方法で、確かにマイナス記号(cmsy10)が消えなくなりました!

ただ、\keytopの囲みの右上が切れる現象、すなわちlcircle10の一部の文字が消える現象は残っているようです。素人考えですが、test.mapの中で、lcircle10のエンコーディングも指定することでこれは解決しそうに思えます。

このようにエンコーディングを指定するか、あるいはAcrobatでPSに変換してからDistillerを使うか、どちらかの方法で回避できるという感じでしょうか。
In reply to K H

Re: 再現用ファイル(数式の記号が消えるもの)

by Akira Kakuto -
キートップの右上については,気がつきませんでした。
確かに以下でキートップの右上も欠けなくなりました:

%
% test.map
%
cmsy10 bbad153f cmsy10
lcircle10 lcircle lcircle1

test2-ok.zip
として添付して見ます。
In reply to Akira Kakuto

Re: 再現用ファイル(数式の記号が消えるもの)

by K H -
角藤先生、奥村先生、皆さま

ご教示ありがとうございます。今回は「lcircle.enc」をわざわざお作りいただきましたでしょうか。大変恐縮に存じます。

私が目下あつかっておりますTeXファイルにつきましては、問題が完全に解決されました。

今回の件はもちろん、長年に渡る皆さまのご貢献に心より感謝申し上げます。
In reply to K H

Re: PDF/X-1a作成時に文字(.notdefグリフ)が消える(Acrobat XI)

by 匿 名 -
埋め込みフォントを FontForge とかで見ても特に問題は見当たらないですね。
Acrobat のバグの可能性があります。Adobe に報告するしかないでしょう。
In reply to K H

Re: その後(Acrobat DCでは問題なし)

by K H -
最初の投稿の折にはあれこれの対策やご意見をたまわり大変ありがとうございました。

その後、Acrobat XIの次のバージョン、Acrobat DCで試してみたところ、文字が消える問題は発生しませんでした。同じTeX環境・TeXファイル・X-1a作成手順でも、AcrobatをDCにすれば問題なしでした。

結局、Acrobat XIでのみ生じる問題だったようです。Acrobat XIをお使いの方はご注意ください。