読者です 読者をやめる 読者になる 読者になる

DTPオペレーター六夜のInDesignスクリプト備忘録

スクリプトを書き始めて1年足らずのDTPオペレーター六夜が、InDesign用スクリプトや食生活について書き綴ります

自動組版と謎の文字FEFF

最近はDTP作業以上に自動組版(DBパブリッシャー使用)案件の比重が増えてきて、社内で唯一の自動組版設計者としては日に日に求められることが増えてきて、やったこともないようなことや頭の中だけでうまくいってることを実務に取り入れることが多い。

テキスト文書を読み込ませて、ターゲットにその内容を流し込んでいくというスクリプトをDBパブリッシャードキュメント上で使用したところ、書き戻ししたテキストに奇妙な文字化けが…その文字化けのせいで、流し込みの結果もなんだかおかしなことに。
そしてこの文字化け、どうやっても触れない。ためしに正規表現で削ろうとしても削れない。ユニコードで検索しても引っかからない。さあ困った。


あれこれ調べてみたところ、どうやらこやつの正体はU+FEFFというコードのキャラクターで、またの名を「ノンブレークスペース」というらしい。文字ではなく制御記号ということなので、触れないし削れないのもなんとなく納得。
作業時に必ず走らせるスクリプトに以下の処理を付け加えることにした。FEFFを削除するスクリプト(といってもただ検索置換してるだけですが)

var myDoc = app.activeDocument;
    app.findTextPreferences.findWhat = "<FEFF>";
    app.changeTextPreferences.changeTo = ""
    myDoc.changeText (); //アクティブなドキュメントのみ検索対象

        app.findTextPreferences = NothingEnum.nothing;
        app.changeTextPreferences =NothingEnum.nothing; //検索置換を初期化