リンクをクリップボードにコピー
コピー完了
InDesign CS6(8.1)
Mac OS X 10.7.5
データ結合を使って、名刺のようなものを作成しています。
ExcelデータをUTF-16のタブ区切りテキストに保存、
そのテキストをデータ結合に使用しているのですが、
橋の異体字(CID15393/Unicode2363A、以下「ハシ」と表記)と
その直後の文字が抜け落ちてしまいます。
InDesignで使用したフォントはモリサワ「A-OTF リュウミン Pr6N M-KL」です。
フォントにその字形が存在しないのかとも思いましたが、
テキストファイルから直接コピー、InDesignにペーストすると、ちゃんと表示されます。
フォントを「A-OTF リュウミン Pr6 M-KL」「A-OTF リュウミン Pr5 M-KL」などに変えても、
同様にデータ結合で抜け落ちてしまいますし、
コピペでは抜け落ちることはありません。
同じテキストを使ってCS4〜CS5.5で試してみました。
(OSが動作保証外ということは、今回は目をつぶってください。)
CS3・4ではデータ結合パネルからデータソースを選択した時点で
「内容にコード化不能な文字が含まれています。」という
メッセージが表示されるのですが、そのまま作業を継続することができ、
結合ドキュメントを作成すると「ハシ」だけが抜け落ちます。
でも、どこが“コード化不能な文字”なのか、具体的には表示してくれません。
元のテキストで「ハシ」を削除した場合はそのようなメッセージが表示されないので、
この“コード化不能な文字”とは「ハシ」のことだと思います。
CS5・5.5・6は特に警告やエラーの表示もなく「ハシ」と直後の文字が抜け落ちます。
せめて何かしらの警告が表示されたり、
InDesign上の表示がトーフやゲタになってくれればいいのですが…。
「ハシ」以外にも、そのような文字があるのではないかと思いますが、
抜け落ちの回避方法、またはそのような箇所を簡単に見つける方法はあるのでしょうか?
CC以降のバージョンでは解決されているのでしょうか?(CCは未契約です。)
幸いにも、クライアントから「普通とはちょっと違う「ハシ」なので注意して」と
事前に念押しされていたため、すぐに抜け落ちに気づけました。
今後も同様の案件の仕事をする予定があり、
事故防止のため、原因と回避方法を知りたいと思います。
詳しい方がいらっしゃいましたら、ご教示ください。
↓画像と同じデータです。
http://firestorage.jp/download/031b04b64ac4132a719956464744763e080d4450
※「ハシ」を漢字で入力して投稿したところ見事に文字が抜け落ちてしまったため(汗)、
一度投稿を削除し、カタカナで「ハシ」と表記を変更して再投稿いたしました。
これは、InDesignのデータ結合機能がユニコードのサロゲートペア文字を扱えないことから起こる問題です。
元の文字のままデータ結合させることはできませんので、回避方法はタブ区切りテキストの時点でサロゲートペア文字を検出して記号と数字の組み合わせに置換してデータ結合し、 その後InDesign上で元の文字に戻し置換するという方法をとりました。
すびの書 サロゲートペア文字その2 InDesignでコードポイント表記をサロゲートペア文字に戻す
すびの書 サロゲートペア文字その3 テキストエディタでサロゲートペア文字をコードポイント表記に変換
スクリプトを使わない簡易的な方法もあります。
読み込み用テキストをInDesignにコピーして、正規表現検索で[\x{010000}-\x{10FFFF}]を検索します。該当する文字があればそれは読み込めない文字ですのであらかじめマークしておき、データ結合後に手作業で入力します。
リンクをクリップボードにコピー
コピー完了
これは、InDesignのデータ結合機能がユニコードのサロゲートペア文字を扱えないことから起こる問題です。
元の文字のままデータ結合させることはできませんので、回避方法はタブ区切りテキストの時点でサロゲートペア文字を検出して記号と数字の組み合わせに置換してデータ結合し、 その後InDesign上で元の文字に戻し置換するという方法をとりました。
すびの書 サロゲートペア文字その2 InDesignでコードポイント表記をサロゲートペア文字に戻す
すびの書 サロゲートペア文字その3 テキストエディタでサロゲートペア文字をコードポイント表記に変換
スクリプトを使わない簡易的な方法もあります。
読み込み用テキストをInDesignにコピーして、正規表現検索で[\x{010000}-\x{10FFFF}]を検索します。該当する文字があればそれは読み込めない文字ですのであらかじめマークしておき、データ結合後に手作業で入力します。
リンクをクリップボードにコピー
コピー完了
Subi Omu様、詳しい回答、ありがとうございます。
「サロゲートペア文字」という言葉、恥ずかしながら初めて知りました。
「つちよし」もダメなんですね。
今まで事故にならなかったのは幸運でした。
当方、正規表現検索が使えるJeditを愛用していまして、
[\x{010000}-\x{10FFFF}]で検索できるのは大変助かります。
ブログにあったCotEditorとAppleScriptも試してみたのですが、
スクリプトを実行してもエラーになってしまい、
試行錯誤をしてはみたものの、私の能力では解決することはできませんでした。
古いOSなのでの古いバージョン(CotEditor 1.5.4)をインストールしたのですが、
それが原因なのかもしれません。
InDesignの最新版でも、
データ結合での「サロゲートペア文字」は
抜け落ちてしまうのかご存じでしょうか?
もし今でもダメそうなら、Adobeに不具合報告を出してみようと思います。