Text is contained in a TextItem object. One of it's it's attributes is 'size' for the font size.
You can set it like this:
textItem.size = UnitValue(50, "px");
or
textItem.size = UnitValue(15, "pt");
The problem in the current rev is that regardless of what you set the font size to, it will always stay 12 px. So, if your rez is 72 ppi, the font size is 12 pts. If your rez is 300 ppi, your font size will be 2.83 pts.
My fix was to use low-level ActionManager code from the ScriptingListener plugin. The one problem is that setting the size will bash the font, contents, and several other attributes so you need to set the size immediately after creating the layer.
My fix has been added to xtools and can be found here:
http://ps-scripts.cvs.sourceforge.net/v ... BugFix.jsx ... BugFix.jsx
2014 TextItem.size bug
2014 TextItem.size bug
I've posted a new improved version of this fix that doesn't stop on other non-size properties thanks to Rune L-H on the Adobe PS/JS forum.
-X
-X
Re: 2014 TextItem.size bug
I never met any problem with font sizes. To avoid resolution difficulties, I think that the best way is to work in points (and restore the user's preference after process, of course). But the most important (I think), is to know and use in your scripts the Postscript name of the font you want to apply. As my English is (hummm !), I am not sure that my words are so easy to understand. The key words are "Points" and "Postcript names".
Re: 2014 TextItem.size bug
Bonjour
Je me souviens de ton post sur le forum Adobe
J ai rencontre aussi la solution deLoic Algon
Et j ai utilise le script de xbytor en 2014 pour un photographe ayant CC avec succes .
Je ne sais pas si ce manque pour l objet textItem.size est toujours actuel............
Je mets a nouveau la fonction de xbytor - qui n est ^plus accessible - comme je l avais copiee :
Hello
I remember your [url = https: //forums.adobe.com/thread/1828989] post on the Adobe forum [/ url]
I ve also found the solution [url = https: //forums.adobe.com/thread/1632348] Loic Algon [/ url]
And I've used the script xbytor in 2014 for a photographer who successfully CC.
I do not know if this lack for textItem.size object is always present ............
I put a new function xbytor - which ^ n is more accessible - as I had COPIED:
R : je retire si.............................
I withdraw if .............................
Je me souviens de ton post sur le forum Adobe
J ai rencontre aussi la solution deLoic Algon
Et j ai utilise le script de xbytor en 2014 pour un photographe ayant CC avec succes .
Je ne sais pas si ce manque pour l objet textItem.size est toujours actuel............
Je mets a nouveau la fonction de xbytor - qui n est ^plus accessible - comme je l avais copiee :
Hello
I remember your [url = https: //forums.adobe.com/thread/1828989] post on the Adobe forum [/ url]
I ve also found the solution [url = https: //forums.adobe.com/thread/1632348] Loic Algon [/ url]
And I've used the script xbytor in 2014 for a photographer who successfully CC.
I do not know if this lack for textItem.size object is always present ............
I put a new function xbytor - which ^ n is more accessible - as I had COPIED:
Code: Select all
//changeTextSize(newSize) par xbytor
// var changeTextSize = function(newSize)
function changeTextSize(newSize)
{
var idsetd = charIDToTypeID( "setd" );
var desc23 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref6 = new ActionReference();
var idPrpr = charIDToTypeID( "Prpr" );
var idTxtS = charIDToTypeID( "TxtS" );
ref6.putProperty( idPrpr, idTxtS );
var idTxLr = charIDToTypeID( "TxLr" );
var idOrdn = charIDToTypeID( "Ordn" );
var idTrgt = charIDToTypeID( "Trgt" );
ref6.putEnumerated( idTxLr, idOrdn, idTrgt );
desc23.putReference( idnull, ref6 );
var idT = charIDToTypeID( "T " );
var desc24 = new ActionDescriptor();
var idtextOverrideFeatureName = stringIDToTypeID( "textOverrideFeatureName" );
desc24.putInteger( idtextOverrideFeatureName, 808465458 );
var idtypeStyleOperationType = stringIDToTypeID( "typeStyleOperationType" );
desc24.putInteger( idtypeStyleOperationType, 3 );
var idSz = charIDToTypeID( "Sz " );
var idPxl = charIDToTypeID( "#Pxl" );
desc24.putUnitDouble( idSz, idPxl, newSize );
var idTxtS = charIDToTypeID( "TxtS" );
desc23.putObject( idT, idTxtS, desc24 );
executeAction( idsetd, desc23, DialogModes.NO );
// alert( newSize );
}
I withdraw if .............................