イラストレータの破損ファイルを開くには(userdictエラー)

仕事関係のトラブルについての対処話です。
あまり面白い話ではないと思いますが、自分への覚書、
そしていつか誰かの参考になればと思って記述しておきます。

突然大切なファイルが開けなくなってしまった。
形式はイラストレーター(ver10.0/保存は8.0)eps方式のもの。


 不正なオペレータ userdict
 コンテクスト   %%Creation Date 〜(以下略)


という警告文が出て、開くものの何も表示されない。
作り直すことも考えたが、校正等やりなおすのも労力がかかるので
復旧の方法を調べてみた。

【方法1】新規ファイルを作成し、破損ファイルを配置・埋め込む

http://www.melma.com/mag/85/m00000185/a00000166.html


ここに載っていた方法は
 1)新規でファイルを作成し、そこに ファイル-配置で破損したファイルを配置する
 2)配置しただけではリンク状態になっており編集不能なので
    それを埋め込んでしまう
というものでした。


当然試してみたのですがIllustrator10.0ではダメ。
しかたなく9.1環境を借り、再度挑戦してみたら今度は成功した。
ただし、見た目は普通でありながら、
データ上ではPDFをIllustratorでむりやり開いたように、
文字列はブツブツ切れていたり、孤立点などがありそうで心許ない。
そのまま使うなら調整次第で可能かと思うが
編集はスムーズに行えそうにない感じだ。

【方法2】Jeditで直接破損個所を編集してしまう


エラーの内容をみてみると、userdictとある。


userdict → user(イラストレータの) dictionary(辞書)


ということらしく、イラストレータのデータ内の定義部分に何か問題があるようだ。
イラストレーターのデータは文字情報としてテキストエディタで開くことが出来る。
そこを見てみると、頭の方に"%%"につづいて、バージョン情報や使用書体などの
ファイル情報が並んでいる。
%%BeginDataより前の部分が「userdict」に相当するのではないかと思う。
(プログラムの宣言文における箇所なのかな。)


そこで上記のサイトにもうまくいかなかった例があったのだが、
私も挑戦してみることにした。


 1)破損ファイルと正常な他のファイルをJeditで開く
 2)正常なファイルの%%BeginDataより以前をコピー
 3)破損ファイルの同じところにペースト


この場合双方のファイルで使用している書体や形式、カラーがほとんど同じであった為、
破損個所が分からないし、少々乱暴にすり替えてしまった。
そうでない場合には双方見比べて少しずつすり替えていくのが良いと思う。


この方法では完全にきれいな状態でファイルが復旧しました。
このエラー、どうもイラストレーターのバージョンを変更したりしていると
起きるような気がする。


あきらめないでよかった。。。次からは対処できそうです。