スクリプト

After Effectsスクリプトでのフォント関連設定は2段階の手間が必要

スクリプトで初めてフォントの設定を変更する場合、必ずと言ってもいいほど躓くポイントがあります。

通常はプロパティに値を直接setValue()すればいいのですが、フォントはそうはいきません。この謎の仕様によって苦しむ方が多くいると思います。私も細かくリファレンスを漁りトライ&エラーを繰り返すことによって、やっとのこと仕様を理解できた過去がありますので、備忘録として残しておきます。

フォント関連は個別プロパティにsetValue()が効かない

他のプロパティを書き換える方法を覚えても、フォント関連のプロパティを書き換えるスクリプトは、これらとは違うことで、戸惑う方もおられるでしょう。

これでは書き換えることはできず、特に行揃えはリファレンスで「read only」とあり、数年間断念していた程です。

スクリプトでの指定はPostscriptNameが必要

After Effectsでフォントを変更したい場合は、文字ウィンドウに表示されるフォント名ではなく、Postscript名で指定しなくてはいけないそうです。

調べてみたところ、スクリプトでは PostScriptフォント名を使うようになっています。

https://shadeco.video/adobe-forum_yaev

Windows10ではデフォルトでフォントの情報を調べる術がありません。フォント別にテキストレイヤーを量産し、フォント名を一つずつスクリプトで拾う方法もありますが、インストール済みのフォント情報を閲覧できるフリーソフト「フォントインストーラーSAKURA」というものを見つけたので、ダウンロードしてみて、これを調べました。

例えば「源ノ角ゴシック Code JP」の太さ「N」のPostscript名は

このように「SourceHanCodeJP-Normal」という表記であることがわかります。

スクリプトでのフォント指定方法

これを使って、スクリプトで選択テキストレイヤーのフォントをいじってみましょう。

var actItm = app.project.activeItem;
var sel = actItm.selectedLayers;
var txtProp = sel[0].property("Source Text");

var txtDocument = txtProp.value;//値を設定する準備

/*-----ここから1プロパティずつ設定-----*/

// フォント名をPostscript Nameで指定
txtDocument.font = 'SourceHanCodeJP-Normal';
// フォントサイズを50pxに
txtDocument.fontSize = 50;
// 左揃えに
txtDocument.justification = ParagraphJustification.LEFT_JUSTIFY;

// 指定したプロパティを反映させる
txtProp.setValue(txtDocument);

フォント設定の書き換えは、値をどこに設定するかの準備→設定する値を1つのプロパティごとに指定→指定したプロパティを最後にブチ込むという手間が必要です。

10行目の「.font」に代入しているテキストがフォントのPostscript名です。

txtDocument.font = 'SourceHanCodeJP-Normal';

このように通常目にするフォント名と、Postscript名は違うことが多いです。

(After Effects上でのフォント表記)

機会は少ないでしょうが、スクリプトでフォント名を指定したい場合は、フォントに設定されているPostscript名を知る必要があります。

Postscript名の備忘録

手持ちのインストール済みフォントから、過去使ったことがあるフォントのPostscript名だけ備忘録として下記に残しておきます。

フォント名Postscript Name
02うつくし明朝体02UtsukushiMincho
03スマートフォントUI03SmartFontUI
DF祥南行書体W5DFSNGyoSho-W5-WIN-RKSJ-H
DF綜藝体W5DFSoGei-W5-WIN-RKSJ-H
DF優雅宋W7DFYuGaSo-W7-WIN-RKSJ-H
DF隷書体DFLeiSho-SB-WIN-RKSJ-H
F910新コミック体F910-Shin-comic-tai
UtrilloPro-MUtrilloPro-M
HG教科書体HGKyokashotai
HG行書体HGGyoshotai
HG正楷書体-PROHGSeikaishotaiPRO
HGP明朝EHGPMinchoE
Mgen+ 1cp blackmgenplus-1cp-black
mplus-1c-hiragana-blackmplus-1c-hiragana-black
MS ゴシックMS-Gothic
MS 明朝MS-Mincho
S2GP殴り書きS2G-Nagurigaki-font-PRO
アームドレモンArmedLemon
えり字ERIJI
けいふぉんとKeifont
コーポレート・ロゴMCorporate-Logo-Medium
しねきゃぷしょんcinecaption
たぬき油性マジックTanuki-Permanent-Marker
はれのそら明朝HarenosoraMincho
はんなり明朝HannariMincho
ヒラギノ角ゴ Pro W3HiraKakuPro-W3
ヒラギノ明朝 Pro W3HiraMinPro-W3
ふい字PHuiFontP
メイリオMeiryo
源ノ角ゴシック Code JP NSourceHanCodeJP-Normal
源暎アンチック v5 MediumGenEiAntiqueNv5-M
衡山毛筆フォント OTFKouzanBrushFontOTF
KozGoPr6N-RegularKozGoPr6N-Regular
KozMinPr6N-RegularKozMinPr6N-Regular
青柳隷書SIMO2_Oaoyagireisyo2
赤薔薇シンデレラakabara-cinderella
黒薔薇シンデレラkurobara-cinderella
切絵字kirieji
平成角ゴシック Std W3HeiseiKakuGoStd-W3
游ゴシック RegularYuGothic-Regular
游明朝 RegularYuMincho-Regular
ArialArialMT
Bank Gothic LightBankGothicBT-Light
Caviar DreamsCaviarDreams
CenturyCentury
Century GothicCenturyGothic
Code-LightCode-Light
Comic Sans MSComicSansMS
Copperplate Gothic LightCopperplateGothic-Light
Courier NewCourierNewPSMT
DS-DigitalDS-Digital
Times New RomanTimesNewRomanPSMT

フォント一つとってもAfter Effectsで使用しようとするとちょっと手間ですね。

しかしスクリプトでのフォント設定は2段階必要だと覚えておけば、スクリプトが反映されない際の解決策になります。今後も注意すべき仕様などあれば、ご紹介していきます。

これ以上ヌルレイヤーを増やしたくない人へのスクリプト「smartNuller.jsx」前のページ

マーカーでリズムを刻むエクスプレッションアイディア次のページ

ピックアップ記事

  1. フリーランスの開業届提出は開業freeeでとにかく簡単に
  2. YouTubeで一時停止中のコントローラーを非表示にするブックマークレット
  3. amazonのスポンサー商品(広告)を非表示にするブックマークレット「amazO…
  4. なぜ?After Effectsのレイヤーをエクスプレッションで効率化
  5. なぜ?After Effectsの操作を「スクリプト」で効率化

関連記事

  1. スクリプト

    選択順にレーザー線で繋ぐスクリプト「fakePlexus.jsx」

    有料プラグインの「Plexus」を模した「レイヤーとレイヤーを線で繋ぐ…

  2. スクリプト

    アイソメトリックビューを簡易的に実現するスクリプト「isometricCamera.jsx」

    インフォグラフィックスにも相性のいいアイソメトリックビュー風カメラを手…

  3. スクリプト

    ソーステキストをスプレッドシートで一括管理するスクリプト+aep「aepSyncer@TSV.jsx…

    aep内の置換したいテキストを表計算で管理→一括置換できるスクリプトで…

  4. スクリプト

    レイヤー名かフッテージ名末尾に連番を振るスクリプト「sequentialNumRenamer.jsx…

    連番管理したいレイヤーかフッテージを選択した順に連番でリネームするスク…

  5. スクリプト

    パスに沿ってレイヤーを均等配置するスクリプト「posPathAlign.jsx」

    全選択レイヤーをパスに沿って均等配置するスクリプト。…

  6. スクリプト

    なぜ?After Effectsの操作を「スクリプト」で効率化

    出来る範囲はマウスやキーボードで編集者が直接できる操作に限られますが、…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

CAPTCHA