use bridge to create text layer which contains special characters
hi,guys.
i want create psd using bridge. failed. can me?
here script:
script2 = 'var docwidth = 1650;';
script2 +='var docheight = 1650;';
script2 +="var docname ='front';";
script2 +='var docref = app.documents.add(docwidth,docheight, 300,docname);';
script2 +="var mylayer1 = docref.artlayers.add();";
script2 +="mylayer1.kind = layerkind.text;";
script2 +="mylayer1.textitem.kind = texttype.pointtext;";
script2 +="mylayer1.textitem.font='news702 bt';";
script2 +="mylayer1.textitem.size=13;";
script2 +="var textcolor1 = new solidcolor;";
script2 +="textcolor1.rgb.hexvalue = 'f8f3e9';";
script2 +="mylayer1.textitem.color = textcolor1;";
script2 +="mylayer1.textitem.contents = 'abcd\'abd\'ed\"afa\"';";
var bt = new bridgetalk();
bt.target = "photoshop";
bt.body = script2;
bt.send();
the problem text content contains ' or ".
you have few problems script, giving values width , height new document , default ruler unit setting have in photoshop, may not pixels.
the font name should postscript name , not contain spaces.
it best pass encoded string script , decode in photoshop ie:-
var text = encodeuri('abcd\'abd\'ed\"afa'); var bt = new bridgetalk(); bt.target = "photoshop"; bt.body = bt.body = "var main = " + script.tosource() + "; main(" + text.tosource() + ");"; bt.send(4); function script(text){ var docwidth = 1650; var docheight = 1650; var docname ='front'; var docref = app.documents.add(new unitvalue(docwidth,'px'),new unitvalue(docheight,'px'), 300,docname); var mylayer1 = docref.artlayers.add(); mylayer1.kind = layerkind.text; mylayer1.textitem.kind = texttype.pointtext; mylayer1.textitem.font='georgia'; mylayer1.textitem.size=13; var textcolor1 = new solidcolor; textcolor1.rgb.hexvalue = 'f8f3e9'; mylayer1.textitem.color = textcolor1; mylayer1.textitem.contents =decodeuri(text); }
More discussions in Photoshop Scripting
adobe
Comments
Post a Comment