1

文字列を受け入れるtextItem.fontを使用して、textItemのフォントを設定しようとしていますが、コードで参照する正確なフォント名がわかりません。このようなことを達成しようとしています

var newLayer = docRef_1.artLayers.add();
newLayer.kind=LayerKind.TEXT;
var textItemRef = newLayer.textItem;
textItemRef.contents = someCharacter;
textItemRef.size = 120;
textItemRef.font="Verdana-Bold";

ただし、コードで参照するフォント名は、Photoshop UI に表示されるものと同じではありません。たとえば、Arial は ArialMT、arial bold は Arial-BoldMT です。すべてのフォント名はどこで入手できますか? javascriptリファレンスで見つけられませんでした。

4

2 に答える 2

3

Photoshop で使用できるフォントを に示しますapp.fonts。Extendscript ツール コンソールにすべてのフォントを一覧表示するには、次のコマンドを実行します。

for (i=0; i< app.fonts.length; i++) {
    $.writeln(app.fonts[i].name);
}

このメソッドを使用して、名前が一致app.fonts.getByName('String')する配列内の最初のフォントを呼び出すことができます。app.fontsString

于 2013-12-14T23:00:34.450 に答える
1

表示されるフォント名と内部フォント名に違いがあります。スクリプトでは、内部名を使用する必要があります。この機能は次のことに役立ちます。

var internalFontName = getInternalFontName("Trebuchet MS Bold");    

function getInternalFontName(pFontName) {
    for (var i = 0; i < app.fonts.length; i++) {
       if (pFontName == app.fonts[i].postScriptName) {
           return pFontName; // already is an internal font name.
       }
       if (pFontName == app.fonts[i].name) {
           return app.fonts[i].postScriptName; // found an internal name.
       }
   }   
   return null;
}  
于 2015-01-12T16:30:05.077 に答える