スクリプト

選択レイヤーのソーステキストを編集するスクリプト「textLayerEditor.jsx」

選択した全テキストレイヤーのソーステキストを読み込み、テキストエリア上で編集できるエディターです。

[概要]

テキストはレイヤー選択順に改行されエディターに表示されます。

注意点としては、スクリプトでのソーステキスト書き換えの仕様で、文字ごとに色やサイズを設定していても1文字目のスタイルに統一されてしまいます。これで問題ない場合のみ使用してください。

[使い方]

  1. 編集したいテキストレイヤーを全選択
  2. スクリプトを実行
  3. 選択順に改行された状態でエディタに読み込まれる
  4. 1行1テキストとして編集する
  5. 「ソーステキスト置換」ボタンをクリック

[オプション]

  • 編集機能は「textLayerImporter.jsx」の一部機能を含み、「<br>改行」を1レイヤーと見なし複数行のテキストレイヤーもそのまま連続で編集可能
  • 「ソーステキスト置換」クリック時にも選択レイヤーを検知し直す
  • テキスト編集中はタイムライン上のテキスト選択を解除しないよう注意
  • 代わりに選択順を変えて適用するだけでテキストレイヤーの順序ミスを修正できる

[解説]

var scName="textLayerEditor";
var actCmp=app.project.activeItem;
var sel=actCmp.selectedLayers;
var tx="",txArbr=[],txAr=[];

/*
===============
--- GUI準備 ---
===============
*/

function f_showDialog(){
	this.w = new Window("palette{properties:{resizeable:false, }}",scName);
	this.w.center();
        this.ed = this.w.add("edittext",[0,20,360,320],"",{multiline: true, alignChildren: "fill",});
        this.go = this.w.add("button",[0,20,220,40],"ソーステキスト置換");
    //プロジェクトウィンドウ全検索
    for (i=0; i<sel.length; i++){
        isTxt=sel[i].property("Source Text");
        if(isTxt!=null){
            tx+=String(isTxt.value).replace(/\r|\r\n|\n/g, '<br>\r')+"\r";
        }
	}
         
	this.show = function()
	{
        return this.w.show();
	}
}

var wobj = new f_showDialog;
    wobj.ed.text=tx;
    wobj.show();
    wobj.onResizing = wobj.onResize = function(){ this.layout.resize()};

/*
===============
--- ボタン操作 ---
===============
*/

wobj.go.onClick = function(){
    app.beginUndoGroup("textLayerEditor");
var qty=0;

//まず"<br>改行"を"<brbrr>"に変換
    txArbr=wobj.ed.text.replace(/<br>\r|<br>\r\n|<br>\n/g, '<brbrr>');
    txAr = txArbr.split(/\r\n|\r|\n/);
    qty=Math.min(sel.length,txAr.length);
    for(i=0;i<qty;i++){
        sel[i].property("Source Text").setValue(txAr[i].replace(/<brbrr>/g, '\r\n'));
    }//for
    app.endUndoGroup();
}

改行のルールは「textLayerImporter.jsx」と同じく、

「1行目<br>2行目」ではレイヤー内改行されませんので注意。

1行目<br>
2行目

と、<br>直後の改行をレイヤー内改行とみなし、複数行の1レイヤーテキストにできます。

シンプルな字幕など、文字ごとにスタイルをいじらないテキストの連続置換に威力を発揮します。

ダウンロード

文章を分解してテキストレイヤーにするスクリプト「textLayerImporter.jsx」前のページ

【あったらヤなCM】001_概念「台」次のページ

ピックアップ記事

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

関連記事

  1. スクリプト

    裏面を非表示にするスクリプト「hideBackface.jsx」

    「3Dレイヤーの裏面を非表示にするエクスプレッション」をスクリプト化…

  2. スクリプト

    AEでも前方選択するスクリプト「selectForword.jsx」

    PremiereにはあるのにAfter Effectsにない標準ツー…

  3. スクリプト

    ウィグルを簡単に適用するスクリプト「posWigglr.jsx」

    位置へのウィグルエクスプレッション適用時に、スライダーを噛ませることで…

  4. スクリプト

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

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

  5. スクリプト

    aep内全フッテージのファイルパス一覧をテキストファイル出力するスクリプト「exportFootag…

    実行すると、開いているaepファイルと同じフォルダに、aepに読み込…

  6. スクリプト

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

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

コメント

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

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

CAPTCHA