Adobe Photoshopのテキストレイヤーを作成するとテキストレイヤーのコンテンツがテキストレイヤー名になります。コンテンツを変更するとテキストレイヤー名も自動更新される仕様です。しかし、手動でテキストレイヤー名を設定するとその自動更新は無効かされます。
この記事ではテキストレイヤー名の自動更新が無効かされたテキストレイヤーを復元する方法を紹介します。テキストレイヤー名とコンテンツ内容が異なるとレイヤーを取り違える原因にもなります。レイヤー名とコンテンツ内容を同一にする必要があるコンテンツ作成で活用できる方法です。
Photoshopのテキストレイヤー名の自動更新設定を復元方法
- テキストレイヤー名の自動更新を復元したいテキストレイヤーを選択します。
- Ctrl + Jでテキストレイヤーを複製します。
- 複製したテキストレイヤーのコンテンツを選択し、Ctrl + Xで切り取り、Ctrl + Vで貼り付けます。または、Escキーを押します。
- テキストレイヤー名の自動更新が復元されます。
Photoshopのテキストレイヤー名の自動更新を復元するスクリプト
以下のスクリプトを実行すると上記手順を自動化できます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
//Reference: https://community.adobe.com/t5/photoshop/restore-photoshop-text-layer-name-auto-updating/td-p/8835798 var layer0 = app.activeDocument.activeLayer; var fx = true; var gr = layer0.grouped; try { executeAction( charIDToTypeID( "CpFX" ), undefined, DialogModes.NO ); } catch (e) {fx = false;} var r = new ActionReference(); r.putProperty(charIDToTypeID("Prpr"), stringIDToTypeID("textKey")); r.putEnumerated(charIDToTypeID("Lyr "), charIDToTypeID("Ordn"), charIDToTypeID("Trgt")); var textKey = executeActionGet(r).getObjectValue(stringIDToTypeID("textKey")); var r = new ActionReference(); r.putClass(stringIDToTypeID( "textLayer")); var d = new ActionDescriptor(); d.putReference( charIDToTypeID( "null" ), r ); d.putObject( charIDToTypeID( "Usng" ), stringIDToTypeID( "textLayer"), textKey); executeAction( charIDToTypeID( "Mk " ), d, DialogModes.NO ); var layer1 = app.activeDocument.activeLayer; if (fx) executeAction( charIDToTypeID( "PaFX" ), undefined, DialogModes.NO ); if (!layer1.grouped && gr) layer1.grouped = gr; layer0.remove(); app.activeDocument.activeLayer = layer1; |
コメントを残す