DTPab

印刷やデザイン、アドビ製アプリやスクリプトなど、雑多な技術ブログ

Mac版Adobeアプリに関する注意喚起:Unicode正規化

先日、あさうすさんがWindowsへの乗り換えに関する記事をアップしていましたね。最近のWindowsはスペックが良いいのに安いという、コストパフォーマンス面ではMacは太刀打ちできません。しかもOSの管理がMacほどひどくない(ここ重要)。
それとは逆にMacに移った・移るという方はどれくらいいるのかわかりませんが、MacAdobeアプリケーション群を使う場合の注意点でひとつ改めて押さえておきたいところを書いておきます。
なんでいまさらこんな話をと思われるかもしれません。というのも、先日の勉強会でものかのさんのGleeをご存じない方がそこそこいらっしゃって、もしかしたらFILL InDesignも知られていないのでは…? ということと、仕事でたまたまWindowsユーザーのひとにある件で問い合わせをいただいたからです。
FILL InDesignの素晴らしさと、今回仕事でもらった問い合わせというのは実は同じ部分がポイントなのです。それがタイトルにもつけたUnicode正規化に関する問題です。
Unicode正規化そのものについては僕自身そこまで詳しくありませんので、まずはものかのさんの一連の記事をまずはお読みください。話はそこからです。

http://tama-san.com/unicode-normalization-old-post/

一連の記事の中でWindowsでも要注意という注意喚起がありますが、この点については後述します。
では、MacInDesignIllustratorを使い、Unicode正規化(というかNFC正規化)がCCになった現在の環境でどうなるのか調査しました。
調査にあたり、NAOIさんが以下の記事で検証されていた8文字を利用しました。方法としてはCotEditorで該当8文字を用意し、それらをコピー、Adobeアプリにペーストとしています。

d.hatena.ne.jp

結果は、InDesign CS6〜CC2017と、Illustrator CS6〜CC2017において、この記事のCS3と同じ結果となりました。要するにCS3からずっと棚上げされた状態で解決されていない、ということでした。
これら2つの記事からもっとも注意すべきポイントが、
MacAdobeアプリにテキストをコピペすると、CJK互換漢字の字形が変わることがある
ということです。
これは、再三Mac版と書いているように、Windows版のAdobeアプリケーションでは起きません。クリップボード上のテキストを正規化しないからです*1
また、どれだけのCJK互換漢字が存在するのか、化ける漢字・化けない漢字があるのか? 実はこれもNAOIさんが記事にまとめてくださっています。

d.hatena.ne.jp

ご覧の通り、CJK互換漢字は人名に使われるケースが多いです。したがって、間違えたらアウト、という案件が少なからずあります。それが恐ろしいところです。
Windows環境で制作された原稿データを使用するということは現場ではけっこう多いのではないでしょうか。Windows(WORD)→WIndowsInDesign)へのコピペでは起きないのに、これがMacInDesign)へのコピペでは起きる*2。これが社内のOSの違うオペレーター同士の会話ならまだいいのですが、会社単位でのクレームになったと考えるとなかなかに恐ろしいです。要するに、あの会社では文字化けしなかったのに、こっちの会社に出したら文字化けした、とクライアントに言われたら堪ったものではありません。
この不具合(?)を回避するために、InDesignではFILL InDesignIllustratorではSPAiというアプリケーションの利用を強くお勧めします。どちらもものかのさん謹製のアプリケーションです。本当に素晴らしいアプリケーションなのですが、全部無料なのです。もうものかのさんに足を向けて寝られません。

http://tama-san.com/

こちらがものかのさんのホームページですが、ここからダウンロードページへ進むと、FILL InDesignとSPAiがあります。使い方はHelpの通りですので、そちらをご参照ください。
というわけで、MacAdobeアプリケーションでは、外部アプリからのコピペ(NFC正規化)に注意しようという話でした。Adobeには、さっさとCJK互換漢字を除いたNFC正規化テーブルを用意して欲しいものです。

*1:Windows7、InDeignCS6〜CC2017で調査済み

*2:CJK互換漢字が化けたのか、ペースト先のフォントの関係で04字形が90字形になったのか、というのはまた別の話