Skip to content

Instantly share code, notes, and snippets.

@isonno
Created April 28, 2015 22:48
Show Gist options
  • Save isonno/af74a58e57502c39472c to your computer and use it in GitHub Desktop.
Save isonno/af74a58e57502c39472c to your computer and use it in GitHub Desktop.
Sample code for creating a text layer in Photoshop using raw PS events
const kfontNameStr = app.stringIDToTypeID("fontName");
const kfontPostScriptNameStr = app.stringIDToTypeID("fontPostScriptName");
const kfontStyleNameStr = app.stringIDToTypeID("fontStyleName");
const kfromStr = app.stringIDToTypeID("from");
const khorizontalStr = app.stringIDToTypeID("horizontal");
const kmakeStr = app.stringIDToTypeID("make");
const kmodalToolChangeKindPaint = app.stringIDToTypeID("paint");
const knullStr = app.stringIDToTypeID("null");
const kpercentUnitStr = app.stringIDToTypeID("percentUnit");
const kpointsUnitStr = app.stringIDToTypeID("pointsUnit");
const ksizeStr = app.stringIDToTypeID("size");
const ktextClickPointStr = app.stringIDToTypeID("textClickPoint");
const ktextKeyStr = app.stringIDToTypeID("textKey");
const ktextLayerStr = app.stringIDToTypeID("textLayer");
const ktextStyleRangeStr = app.stringIDToTypeID("textStyleRange");
const ktextStyleStr = app.stringIDToTypeID("textStyle");
const ktoStr = app.stringIDToTypeID("to");
const kusingStr = app.stringIDToTypeID("using");
const kverticalStr = app.stringIDToTypeID("vertical");
// =======================================================
var textString = "Text to place in layer";
var desc5 = new ActionDescriptor();
var ref1 = new ActionReference();
ref1.putClass( ktextLayerStr );
desc5.putReference( knullStr, ref1 );
var desc6 = new ActionDescriptor();
desc6.putString( ktextKeyStr, textString );
var desc8 = new ActionDescriptor();
desc8.putUnitDouble( khorizontalStr, kpointsUnitStr, 10 );
desc8.putUnitDouble( kverticalStr, kpointsUnitStr, 20 );
desc6.putObject( ktextClickPointStr, kmodalToolChangeKindPaint, desc8 );
var list2 = new ActionList();
var desc14 = new ActionDescriptor();
desc14.putInteger( kfromStr, 0 );
desc14.putInteger( ktoStr, textString.length );
var desc15 = new ActionDescriptor();
desc15.putString( kfontPostScriptNameStr, """MyriadPro-Regular""" );
desc15.putString( kfontNameStr, """Myriad Pro""" );
desc15.putString( kfontStyleNameStr, """Regular""" );
desc15.putUnitDouble( ksizeStr, kpointsUnitStr, 12.000000 );
desc14.putObject( ktextStyleStr, ktextStyleStr, desc15 );
list2.putObject( ktextStyleRangeStr, desc14 );
desc6.putList( ktextStyleRangeStr, list2 );
desc5.putObject( kusingStr, ktextLayerStr, desc6 );
executeAction( kmakeStr, desc5, DialogModes.NO );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment