なると巻きの終焉

9年前、このような記事を書きました。
InDesignの異体字属性伝染と文字化け(深刻なバグ)
この問題を解決するために「なると巻き」というアプリを作って公開しました。ずいぶん長く放置していたので、そろそろ改修するかなと手をつけはじめたら、数時間後に挫折しました! 以下は挫折した理由。

なると巻きは、こんなことをしていました。

  1. indd内で「aaltとnaltが付いた文字」をすべて取得する。
  2. それらの中から不正なものを抽出する。
  3. 抽出したらフローティングウインドウのリストに一覧表示する。

この2番目で不正かどうかを判別するために、フォントファイルからcmapとGSUBを抽出して照合します。9年前と違い、ここにいまどきの壁が立ちはだかります。

Adobe Fontsのフォントは、indd内からフォントファイルのパスが得られません。まあ別の方法で得ようと思えばできるんですけど、ただでさえ異様に複雑だったのに一層複雑化してしまいます。さらに、フォントが.ttcだったら、IndexとかOffsetでさらに調べないといけません。まあFontBBox Viewerでやったことなのでやろうと思えばできるんですけど、ますます複雑化してしまいます。

9年前とはフォントの環境がかなり変わってしまったんですね。ここまで複雑化してしまうといっぱいいっぱいです。こうして、なると巻きは私の心が折れて終焉を迎えました(既存のなると巻きはまだダウンロードできるようにしておきます)。

代替案

9年前と大きく変わったのはフォントだけではありません。Adobe DTPの環境も例の変節のせいで同じバージョンを長期間使い続けるのが難しくなりました。今は上位バージョンで開いて改訂することが多くなりました。

inddを上位バージョンのInDesignで開くとき、皆さんはもちろんPDFで差分をとって大きな変化が発生していないか確認していますよね。異体字属性の伝染が原因の異体字化けは、今はこの時点で見つけられます。なると巻きで探さなくてもなんとかなるわけです。

ただし、それでも異体字化けを標準機能で直そうとすると、字形パネルでフィーチャーが付かない素の文字コードの箇所を選んでダブルクリックするしかありません。これはストレスフルな作業です。

そこで、なると巻きで使っていた「異体字属性の伝染が原因の異体字化けを直すAppleScript」を配布します。異体字化けの文字を選択してこのスクリプトを実行すると直ります。すこしは作業が軽減できるのではないでしょうか。

異体字化けを直すAppleScript
↓ .scptを開くと化けてしまうときはこちら。
異体字化けを直す.applescript

追記
YusukeさんがJavaScript版を作ってくれました!
replaceAlternateGlyphs

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です