Glyphをハイライトしてみよう

最終更新日

Comments: 5

ハイライトって便利ですよねぇ〜って書き出しは以前にもやった記憶があるわけですが、今回のは消えたグリフを追えってことらしいです。以前正規表現でハイライト当てた時はfindGrepPreferencesってやつをコントロールしたのですが、今回のはグリフですからfindGlyphPreferencesを使います。…ああ、終わってしまいました。以上です。
というわけにも行きません。続きはBlogで!

で、続きなんですが、まったく大したこと無くて素直なコーディングです。

var cd =app.activeDocument.conditions.add({
 indicatorColor : [20,140,255],
 indicatorMethod : ConditionIndicatorMethod.useHighlight
 });

var tg = app.activeDocument.fonts;
var dtct;

for (var i,j=0;j<tg.length;j++) {
 app.findGlyphPreferences = null;
 app.findGlyphPreferences.glyphID = 0;
 app.findGlyphPreferences.appliedFont = tg[j].fontFamily;
 app.findGlyphPreferences.fontStyle = tg[j].fontStyleName;
 dtct = app.activeDocument.findGlyph();
 for (i=0;i<dtct.length;i++) dtct[i].appliedConditions = [cd];
 }

missing GlyphってのはGlyphIDが0のキャラクタで代替されています。そいつを捕まえて表舞台へとひきづり出すのですが、グリフのことですからフォントが絡みます。一連の設定をフォントごとにfindGlyphして化けグリフのキャラクタをリストアップします。
リストが出来ればこっちのもの、characterにはappliedConditionsプロパティがありますから直接コンディションを設定することができます。
消去する場合は下の一行を実行してください。

app.activeDocument.conditions.everyItem().remove();

最後に、ら〜でぶちょう、ありがとう。代替フォントのチェックボックスと被ってますけど。技術的には面白いです。

ten_a

Graphic Designer, Scripter and Coder. Adobe Community Professional.

シェアする