var scriptVersion = 0.1.1 var log = [] var doc, sel, txt, trf, siz try { doc = activeDocument log.push( 'sel: '+ sel = doc.activeLayer ) log.push( 'txt: '+ txt = sel.textItem ) log.push( 'trf: '+ trf = GetTransform() ) log.push( 'siz: '+ siz = GetSize() ) // txt.size ) log.push( 'siz*trf: '+ siz * trf ) } catch(e) { log.push( e ) } alert( log.join('\n\n'), 'Accurate Font Size '+ scriptVersion ) function GetTransform() { try { sTT = stringIDToTypeID, tK = sTT('textKey'); (ref = new ActionReference()).putProperty(sTT('property'), tK) ref.putEnumerated(sTT('textLayer'),sTT('ordinal'),sTT('targetEnum')) return executeActionGet(ref).getObjectValue(tK).getObjectValue (sTT('transform')).getDouble(sTT('yy')) } catch(e) { log.push( 'GetTransform '+ e ) } } function GetSize() { try { app.currentTool="typeCreateOrEditTool" sTT = stringIDToTypeID, cTT = charIDToTypeID var r = new ActionReference() var d = new ActionDescriptor() r.putProperty(sTT("property"), sTT("tool")) r.putEnumerated(cTT("capp"), sTT("ordinal"), sTT("targetEnum")) var options = executeActionGet(r) var object = options.getObjectValue(sTT("currentToolOptions")) .getObjectValue(sTT("textToolCharacterOptions")) .getObjectValue(sTT("textStyle")) return object.getUnitDoubleValue(sTT("size")) } catch(e) { log.push('GetSize '+ e ) } }