Skip to main content
roxydakota
Participant
March 5, 2019
Question

Apply Path To Text In Photoshop

  • March 5, 2019
  • 1 reply
  • 4392 views

Hello,

I am trying to do something a little unorthodox in Photoshop but I have to believe there is a command for what I am trying to do. I need to retroactively apply a path to a text layer in photoshop to make the text follow the path. I already know about using text tool to type around a path or shape but for reasons unique to my project I need to be able to create two separate layers, a text layer and a shape layer, and to then apply the text to the shape layer as a path or vice versa  it really does not matter so long as the result is text which follows the shapes path.

If any one knows a way to do this it would be much appreciated.

Cheers,

This topic has been closed for replies.

1 reply

Trevor.Dennis
Community Expert
Community Expert
March 5, 2019

Just lay your workpath wherever  you  want it to go.  Select and copy the text, and paste on the new path.

roxydakota
Participant
March 5, 2019

Trevor,

Thanks for replying. I do not believe this will work as this is essentially the same thing as using the type tool to type along a path. If I am not mistaken you are suggesting to continue to use the type tool and simply copy and paste the text?

To be more clear about my project...

I have 680 files which all need to have the title text changed and re-saved as new PNGs.

I have created a PS action script which opens the files, auto generates a text layer based on the file name, adjusts the character/font options and location but for the text to be "wrapped" around a path would require creating a new text layer which breaks the automation of the PS action.

Any suggestions to apply the path to an existing text layer?

Cheers,

Trevor.Dennis
Community Expert
Community Expert
March 5, 2019

Copy paste is not retyping.  A script can only automate some features that Photoshop has. Scripts can not add new features to Adobe Photoshop.  There is non Adobe Photoshop feature to add a path to a text layer.  There is a Text on a path feature.  The path come first. Then the text is added.  The text can be pasted from the clipboard into the text.  It may no be possible to script text on a path for how would  a scrip know which path you want the text on and where on the paths you want text to start. Even if a script new the answers to those questions how could a script position the text cursor onto that point  and click so the text tool would be in text node.  A script can not  control the system curser or even get its position. If you recors some text steps into an action.  The fulley expand all the steps in the action.  You may se some idea as to how complex text.

Actiom Manager script code

var idMk = charIDToTypeID( "Mk  " );

    var desc157 = new ActionDescriptor();

    var idnull = charIDToTypeID( "null" );

        var ref39 = new ActionReference();

        var idTxLr = charIDToTypeID( "TxLr" );

        ref39.putClass( idTxLr );

    desc157.putReference( idnull, ref39 );

    var idUsng = charIDToTypeID( "Usng" );

        var desc158 = new ActionDescriptor();

        var idTxt = charIDToTypeID( "Txt " );

        desc158.putString( idTxt, """This is a one step action that adds a text layer to a document nothing more.""" );

        var idwarp = stringIDToTypeID( "warp" );

            var desc159 = new ActionDescriptor();

            var idwarpStyle = stringIDToTypeID( "warpStyle" );

            var idwarpStyle = stringIDToTypeID( "warpStyle" );

            var idwarpNone = stringIDToTypeID( "warpNone" );

            desc159.putEnumerated( idwarpStyle, idwarpStyle, idwarpNone );

            var idwarpValue = stringIDToTypeID( "warpValue" );

            desc159.putDouble( idwarpValue, 0.000000 );

            var idwarpPerspective = stringIDToTypeID( "warpPerspective" );

            desc159.putDouble( idwarpPerspective, 0.000000 );

            var idwarpPerspectiveOther = stringIDToTypeID( "warpPerspectiveOther" );

            desc159.putDouble( idwarpPerspectiveOther, 0.000000 );

            var idwarpRotate = stringIDToTypeID( "warpRotate" );

            var idOrnt = charIDToTypeID( "Ornt" );

            var idHrzn = charIDToTypeID( "Hrzn" );

            desc159.putEnumerated( idwarpRotate, idOrnt, idHrzn );

        var idwarp = stringIDToTypeID( "warp" );

        desc158.putObject( idwarp, idwarp, desc159 );

        var idTxtC = charIDToTypeID( "TxtC" );

            var desc160 = new ActionDescriptor();

            var idHrzn = charIDToTypeID( "Hrzn" );

            var idPrc = charIDToTypeID( "#Prc" );

            desc160.putUnitDouble( idHrzn, idPrc, 8.428571 );

            var idVrtc = charIDToTypeID( "Vrtc" );

            var idPrc = charIDToTypeID( "#Prc" );

            desc160.putUnitDouble( idVrtc, idPrc, 14.200000 );

        var idPnt = charIDToTypeID( "Pnt " );

        desc158.putObject( idTxtC, idPnt, desc160 );

        var idtextGridding = stringIDToTypeID( "textGridding" );

        var idtextGridding = stringIDToTypeID( "textGridding" );

        var idNone = charIDToTypeID( "None" );

        desc158.putEnumerated( idtextGridding, idtextGridding, idNone );

        var idOrnt = charIDToTypeID( "Ornt" );

        var idOrnt = charIDToTypeID( "Ornt" );

        var idHrzn = charIDToTypeID( "Hrzn" );

        desc158.putEnumerated( idOrnt, idOrnt, idHrzn );

        var idAntA = charIDToTypeID( "AntA" );

        var idAnnt = charIDToTypeID( "Annt" );

        var idantiAliasSharp = stringIDToTypeID( "antiAliasSharp" );

        desc158.putEnumerated( idAntA, idAnnt, idantiAliasSharp );

        var idbounds = stringIDToTypeID( "bounds" );

            var desc161 = new ActionDescriptor();

            var idLeft = charIDToTypeID( "Left" );

            var idPnt = charIDToTypeID( "#Pnt" );

            desc161.putUnitDouble( idLeft, idPnt, 0.000000 );

            var idTop = charIDToTypeID( "Top " );

            var idPnt = charIDToTypeID( "#Pnt" );

            desc161.putUnitDouble( idTop, idPnt, -2.484741 );

            var idRght = charIDToTypeID( "Rght" );

            var idPnt = charIDToTypeID( "#Pnt" );

            desc161.putUnitDouble( idRght, idPnt, 394.560000 );

            var idBtom = charIDToTypeID( "Btom" );

            var idPnt = charIDToTypeID( "#Pnt" );

            desc161.putUnitDouble( idBtom, idPnt, 242.640000 );

        var idbounds = stringIDToTypeID( "bounds" );

        desc158.putObject( idbounds, idbounds, desc161 );

        var idboundingBox = stringIDToTypeID( "boundingBox" );

            var desc162 = new ActionDescriptor();

            var idLeft = charIDToTypeID( "Left" );

            var idPnt = charIDToTypeID( "#Pnt" );

            desc162.putUnitDouble( idLeft, idPnt, -0.720000 );

            var idTop = charIDToTypeID( "Top " );

            var idPnt = charIDToTypeID( "#Pnt" );

            desc162.putUnitDouble( idTop, idPnt, 0.239865 );

            var idRght = charIDToTypeID( "Rght" );

            var idPnt = charIDToTypeID( "#Pnt" );

            desc162.putUnitDouble( idRght, idPnt, 382.342676 );

            var idBtom = charIDToTypeID( "Btom" );

            var idPnt = charIDToTypeID( "#Pnt" );

            desc162.putUnitDouble( idBtom, idPnt, 75.839865 );

        var idboundingBox = stringIDToTypeID( "boundingBox" );

        desc158.putObject( idboundingBox, idboundingBox, desc162 );

        var idtextShape = stringIDToTypeID( "textShape" );

            var list18 = new ActionList();

                var desc163 = new ActionDescriptor();

                var idTEXT = charIDToTypeID( "TEXT" );

                var idTEXT = charIDToTypeID( "TEXT" );

                var idbox = stringIDToTypeID( "box" );

                desc163.putEnumerated( idTEXT, idTEXT, idbox );

                var idOrnt = charIDToTypeID( "Ornt" );

                var idOrnt = charIDToTypeID( "Ornt" );

                var idHrzn = charIDToTypeID( "Hrzn" );

                desc163.putEnumerated( idOrnt, idOrnt, idHrzn );

                var idTrnf = charIDToTypeID( "Trnf" );

                    var desc164 = new ActionDescriptor();

                    var idxx = stringIDToTypeID( "xx" );

                    desc164.putDouble( idxx, 1.000000 );

                    var idxy = stringIDToTypeID( "xy" );

                    desc164.putDouble( idxy, 0.000000 );

                    var idyx = stringIDToTypeID( "yx" );

                    desc164.putDouble( idyx, 0.000000 );

                    var idyy = stringIDToTypeID( "yy" );

                    desc164.putDouble( idyy, 1.000000 );

                    var idtx = stringIDToTypeID( "tx" );

                    desc164.putDouble( idtx, 0.000000 );

                    var idty = stringIDToTypeID( "ty" );

                    desc164.putDouble( idty, 0.000000 );

                var idTrnf = charIDToTypeID( "Trnf" );

                desc163.putObject( idTrnf, idTrnf, desc164 );

                var idrowCount = stringIDToTypeID( "rowCount" );

                desc163.putInteger( idrowCount, 1 );

                var idcolumnCount = stringIDToTypeID( "columnCount" );

                desc163.putInteger( idcolumnCount, 1 );

                var idrowMajorOrder = stringIDToTypeID( "rowMajorOrder" );

                desc163.putBoolean( idrowMajorOrder, true );

                var idrowGutter = stringIDToTypeID( "rowGutter" );

                var idPnt = charIDToTypeID( "#Pnt" );

                desc163.putUnitDouble( idrowGutter, idPnt, 0.000000 );

                var idcolumnGutter = stringIDToTypeID( "columnGutter" );

                var idPnt = charIDToTypeID( "#Pnt" );

                desc163.putUnitDouble( idcolumnGutter, idPnt, 0.000000 );

                var idSpcn = charIDToTypeID( "Spcn" );

                var idPnt = charIDToTypeID( "#Pnt" );

                desc163.putUnitDouble( idSpcn, idPnt, 0.000000 );

                var idframeBaselineAlignment = stringIDToTypeID( "frameBaselineAlignment" );

                var idframeBaselineAlignment = stringIDToTypeID( "frameBaselineAlignment" );

                var idalignByAscent = stringIDToTypeID( "alignByAscent" );

                desc163.putEnumerated( idframeBaselineAlignment, idframeBaselineAlignment, idalignByAscent );

                var idfirstBaselineMinimum = stringIDToTypeID( "firstBaselineMinimum" );

                var idPnt = charIDToTypeID( "#Pnt" );

                desc163.putUnitDouble( idfirstBaselineMinimum, idPnt, 0.000000 );

                var idbounds = stringIDToTypeID( "bounds" );

                    var desc165 = new ActionDescriptor();

                    var idTop = charIDToTypeID( "Top " );

                    desc165.putDouble( idTop, 0.000000 );

                    var idLeft = charIDToTypeID( "Left" );

                    desc165.putDouble( idLeft, 0.000000 );

                    var idBtom = charIDToTypeID( "Btom" );

                    desc165.putDouble( idBtom, 242.640015 );

                    var idRght = charIDToTypeID( "Rght" );

                    desc165.putDouble( idRght, 394.560028 );

                var idRctn = charIDToTypeID( "Rctn" );

                desc163.putObject( idbounds, idRctn, desc165 );

            var idtextShape = stringIDToTypeID( "textShape" );

            list18.putObject( idtextShape, desc163 );

        desc158.putList( idtextShape, list18 );

        var idTxtt = charIDToTypeID( "Txtt" );

            var list19 = new ActionList();

                var desc166 = new ActionDescriptor();

                var idFrom = charIDToTypeID( "From" );

                desc166.putInteger( idFrom, 0 );

                var idT = charIDToTypeID( "T   " );

                desc166.putInteger( idT, 77 );

                var idTxtS = charIDToTypeID( "TxtS" );

                    var desc167 = new ActionDescriptor();

                    var idstyleSheetHasParent = stringIDToTypeID( "styleSheetHasParent" );

                    desc167.putBoolean( idstyleSheetHasParent, true );

                    var idfontPostScriptName = stringIDToTypeID( "fontPostScriptName" );

                    desc167.putString( idfontPostScriptName, """Tahoma""" );

                    var idFntN = charIDToTypeID( "FntN" );

                    desc167.putString( idFntN, """Tahoma""" );

                    var idFntS = charIDToTypeID( "FntS" );

                    desc167.putString( idFntS, """Regular""" );

                    var idScrp = charIDToTypeID( "Scrp" );

                    desc167.putInteger( idScrp, 0 );

                    var idFntT = charIDToTypeID( "FntT" );

                    desc167.putInteger( idFntT, 1 );

                    var idfontAvailable = stringIDToTypeID( "fontAvailable" );

                    desc167.putBoolean( idfontAvailable, true );

                    var idSz = charIDToTypeID( "Sz  " );

                    var idPnt = charIDToTypeID( "#Pnt" );

                    desc167.putUnitDouble( idSz, idPnt, 23.999996 );

                    var idimpliedFontSize = stringIDToTypeID( "impliedFontSize" );

                    var idPnt = charIDToTypeID( "#Pnt" );

                    desc167.putUnitDouble( idimpliedFontSize, idPnt, 23.999996 );

                    var idHrzS = charIDToTypeID( "HrzS" );

                    desc167.putDouble( idHrzS, 100.000000 );

                    var idVrtS = charIDToTypeID( "VrtS" );

                    desc167.putDouble( idVrtS, 100.000000 );

                    var idsyntheticBold = stringIDToTypeID( "syntheticBold" );

                    desc167.putBoolean( idsyntheticBold, false );

                    var idsyntheticItalic = stringIDToTypeID( "syntheticItalic" );

                    desc167.putBoolean( idsyntheticItalic, false );

                    var idautoLeading = stringIDToTypeID( "autoLeading" );

                    desc167.putBoolean( idautoLeading, true );

                    var idTrck = charIDToTypeID( "Trck" );

                    desc167.putInteger( idTrck, 0 );

                    var idBsln = charIDToTypeID( "Bsln" );

                    var idPnt = charIDToTypeID( "#Pnt" );

                    desc167.putUnitDouble( idBsln, idPnt, 0.000000 );

                    var idimpliedBaselineShift = stringIDToTypeID( "impliedBaselineShift" );

                    var idPnt = charIDToTypeID( "#Pnt" );

                    desc167.putUnitDouble( idimpliedBaselineShift, idPnt, 0.000000 );

                    var idAtKr = charIDToTypeID( "AtKr" );

                    var idAtKr = charIDToTypeID( "AtKr" );

                    var idmetricsKern = stringIDToTypeID( "metricsKern" );

                    desc167.putEnumerated( idAtKr, idAtKr, idmetricsKern );

                    var idfontCaps = stringIDToTypeID( "fontCaps" );

                    var idfontCaps = stringIDToTypeID( "fontCaps" );

                    var idNrml = charIDToTypeID( "Nrml" );

                    desc167.putEnumerated( idfontCaps, idfontCaps, idNrml );

                    var iddigitSet = stringIDToTypeID( "digitSet" );

                    var iddigitSet = stringIDToTypeID( "digitSet" );

                    var iddefaultDigits = stringIDToTypeID( "defaultDigits" );

                    desc167.putEnumerated( iddigitSet, iddigitSet, iddefaultDigits );

                    var idkashidas = stringIDToTypeID( "kashidas" );

                    var idkashidas = stringIDToTypeID( "kashidas" );

                    var idkashidaDefault = stringIDToTypeID( "kashidaDefault" );

                    desc167.putEnumerated( idkashidas, idkashidas, idkashidaDefault );

                    var iddiacXOffset = stringIDToTypeID( "diacXOffset" );

                    var idPnt = charIDToTypeID( "#Pnt" );

                    desc167.putUnitDouble( iddiacXOffset, idPnt, 0.000000 );

                    var iddiacYOffset = stringIDToTypeID( "diacYOffset" );

                    var idPnt = charIDToTypeID( "#Pnt" );

                    desc167.putUnitDouble( iddiacYOffset, idPnt, 0.000000 );

                    var idmarkYDistFromBaseline = stringIDToTypeID( "markYDistFromBaseline" );

                    var idPnt = charIDToTypeID( "#Pnt" );

                    desc167.putUnitDouble( idmarkYDistFromBaseline, idPnt, 0.119441 );

                    var idbaseline = stringIDToTypeID( "baseline" );

                    var idbaseline = stringIDToTypeID( "baseline" );

                    var idNrml = charIDToTypeID( "Nrml" );

                    desc167.putEnumerated( idbaseline, idbaseline, idNrml );

                    var idstrikethrough = stringIDToTypeID( "strikethrough" );

                    var idstrikethrough = stringIDToTypeID( "strikethrough" );

                    var idstrikethroughOff = stringIDToTypeID( "strikethroughOff" );

                    desc167.putEnumerated( idstrikethrough, idstrikethrough, idstrikethroughOff );

                    var idUndl = charIDToTypeID( "Undl" );

                    var idUndl = charIDToTypeID( "Undl" );

                    var idunderlineOff = stringIDToTypeID( "underlineOff" );

                    desc167.putEnumerated( idUndl, idUndl, idunderlineOff );

                    var idligature = stringIDToTypeID( "ligature" );

                    desc167.putBoolean( idligature, true );

                    var idaltligature = stringIDToTypeID( "altligature" );

                    desc167.putBoolean( idaltligature, false );

                    var idcontextualLigatures = stringIDToTypeID( "contextualLigatures" );

                    desc167.putBoolean( idcontextualLigatures, false );

                    var idfractions = stringIDToTypeID( "fractions" );

                    desc167.putBoolean( idfractions, false );

                    var idordinals = stringIDToTypeID( "ordinals" );

                    desc167.putBoolean( idordinals, false );

                    var idswash = stringIDToTypeID( "swash" );

                    desc167.putBoolean( idswash, false );

                    var idtitling = stringIDToTypeID( "titling" );

                    desc167.putBoolean( idtitling, false );

                    var idconnectionForms = stringIDToTypeID( "connectionForms" );

                    desc167.putBoolean( idconnectionForms, false );

                    var idstylisticAlternates = stringIDToTypeID( "stylisticAlternates" );

                    desc167.putBoolean( idstylisticAlternates, false );

                    var idornaments = stringIDToTypeID( "ornaments" );

                    desc167.putBoolean( idornaments, false );

                    var idjustificationAlternates = stringIDToTypeID( "justificationAlternates" );

                    desc167.putBoolean( idjustificationAlternates, false );

                    var idfigureStyle = stringIDToTypeID( "figureStyle" );

                    var idfigureStyle = stringIDToTypeID( "figureStyle" );

                    var idNrml = charIDToTypeID( "Nrml" );

                    desc167.putEnumerated( idfigureStyle, idfigureStyle, idNrml );

                    var idproportionalMetrics = stringIDToTypeID( "proportionalMetrics" );

                    desc167.putBoolean( idproportionalMetrics, false );

                    var idkana = stringIDToTypeID( "kana" );

                    desc167.putBoolean( idkana, false );

                    var iditalics = stringIDToTypeID( "italics" );

                    desc167.putBoolean( iditalics, false );

                    var idbaselineDirection = stringIDToTypeID( "baselineDirection" );

                    var idbaselineDirection = stringIDToTypeID( "baselineDirection" );

                    var idwithStream = stringIDToTypeID( "withStream" );

                    desc167.putEnumerated( idbaselineDirection, idbaselineDirection, idwithStream );

                    var idtextLanguage = stringIDToTypeID( "textLanguage" );

                    var idtextLanguage = stringIDToTypeID( "textLanguage" );

                    var idenglishLanguage = stringIDToTypeID( "englishLanguage" );

                    desc167.putEnumerated( idtextLanguage, idtextLanguage, idenglishLanguage );

                    var idjapaneseAlternate = stringIDToTypeID( "japaneseAlternate" );

                    var idjapaneseAlternate = stringIDToTypeID( "japaneseAlternate" );

                    var iddefaultForm = stringIDToTypeID( "defaultForm" );

                    desc167.putEnumerated( idjapaneseAlternate, idjapaneseAlternate, iddefaultForm );

                    var idmojiZume = stringIDToTypeID( "mojiZume" );

                    desc167.putDouble( idmojiZume, 0.000000 );

                    var idgridAlignment = stringIDToTypeID( "gridAlignment" );

                    var idgridAlignment = stringIDToTypeID( "gridAlignment" );

                    var idroman = stringIDToTypeID( "roman" );

                    desc167.putEnumerated( idgridAlignment, idgridAlignment, idroman );

                    var idnoBreak = stringIDToTypeID( "noBreak" );

                    desc167.putBoolean( idnoBreak, false );

                    var idClr = charIDToTypeID( "Clr " );

                        var desc168 = new ActionDescriptor();

                        var idRd = charIDToTypeID( "Rd  " );

                        desc168.putDouble( idRd, 255.000000 );

                        var idGrn = charIDToTypeID( "Grn " );

                        desc168.putDouble( idGrn, 0.000000 );

                        var idBl = charIDToTypeID( "Bl  " );

                        desc168.putDouble( idBl, 0.000000 );

                    var idRGBC = charIDToTypeID( "RGBC" );

                    desc167.putObject( idClr, idRGBC, desc168 );

                    var idstrokeColor = stringIDToTypeID( "strokeColor" );

                        var desc169 = new ActionDescriptor();

                        var idRd = charIDToTypeID( "Rd  " );

                        desc169.putDouble( idRd, 255.000000 );

                        var idGrn = charIDToTypeID( "Grn " );

                        desc169.putDouble( idGrn, 255.000000 );

                        var idBl = charIDToTypeID( "Bl  " );

                        desc169.putDouble( idBl, 255.000000 );

                    var idRGBC = charIDToTypeID( "RGBC" );

                    desc167.putObject( idstrokeColor, idRGBC, desc169 );

                    var idbaseParentStyle = stringIDToTypeID( "baseParentStyle" );

                        var desc170 = new ActionDescriptor();

                        var idfontPostScriptName = stringIDToTypeID( "fontPostScriptName" );

                        desc170.putString( idfontPostScriptName, """MyriadPro-Regular""" );

                        var idFntN = charIDToTypeID( "FntN" );

                        desc170.putString( idFntN, """Myriad Pro""" );

                        var idFntS = charIDToTypeID( "FntS" );

                        desc170.putString( idFntS, """Regular""" );

                        var idScrp = charIDToTypeID( "Scrp" );

                        desc170.putInteger( idScrp, 0 );

                        var idFntT = charIDToTypeID( "FntT" );

                        desc170.putInteger( idFntT, 0 );

                        var idfontAvailable = stringIDToTypeID( "fontAvailable" );

                        desc170.putBoolean( idfontAvailable, true );

                        var idSz = charIDToTypeID( "Sz  " );

                        var idPnt = charIDToTypeID( "#Pnt" );

                        desc170.putUnitDouble( idSz, idPnt, 12.000000 );

                        var idimpliedFontSize = stringIDToTypeID( "impliedFontSize" );

                        var idPnt = charIDToTypeID( "#Pnt" );

                        desc170.putUnitDouble( idimpliedFontSize, idPnt, 12.000000 );

                        var idHrzS = charIDToTypeID( "HrzS" );

                        desc170.putDouble( idHrzS, 100.000000 );

                        var idVrtS = charIDToTypeID( "VrtS" );

                        desc170.putDouble( idVrtS, 100.000000 );

                        var idsyntheticBold = stringIDToTypeID( "syntheticBold" );

                        desc170.putBoolean( idsyntheticBold, false );

                        var idsyntheticItalic = stringIDToTypeID( "syntheticItalic" );

                        desc170.putBoolean( idsyntheticItalic, false );

                        var idautoLeading = stringIDToTypeID( "autoLeading" );

                        desc170.putBoolean( idautoLeading, true );

                        var idTrck = charIDToTypeID( "Trck" );

                        desc170.putInteger( idTrck, 0 );

                        var idBsln = charIDToTypeID( "Bsln" );

                        var idPnt = charIDToTypeID( "#Pnt" );

                        desc170.putUnitDouble( idBsln, idPnt, 0.000000 );

                        var idimpliedBaselineShift = stringIDToTypeID( "impliedBaselineShift" );

                        var idPnt = charIDToTypeID( "#Pnt" );

                        desc170.putUnitDouble( idimpliedBaselineShift, idPnt, 0.000000 );

                        var idcharacterRotation = stringIDToTypeID( "characterRotation" );

                        desc170.putDouble( idcharacterRotation, 0.000000 );

                        var idAtKr = charIDToTypeID( "AtKr" );

                        var idAtKr = charIDToTypeID( "AtKr" );

                        var idmetricsKern = stringIDToTypeID( "metricsKern" );

                        desc170.putEnumerated( idAtKr, idAtKr, idmetricsKern );

                        var idfontCaps = stringIDToTypeID( "fontCaps" );

                        var idfontCaps = stringIDToTypeID( "fontCaps" );

                        var idNrml = charIDToTypeID( "Nrml" );

                        desc170.putEnumerated( idfontCaps, idfontCaps, idNrml );

                        var iddigitSet = stringIDToTypeID( "digitSet" );

                        var iddigitSet = stringIDToTypeID( "digitSet" );

                        var iddefaultDigits = stringIDToTypeID( "defaultDigits" );

                        desc170.putEnumerated( iddigitSet, iddigitSet, iddefaultDigits );

                        var iddirOverride = stringIDToTypeID( "dirOverride" );

                        var iddirOverride = stringIDToTypeID( "dirOverride" );

                        var iddirOverrideDefault = stringIDToTypeID( "dirOverrideDefault" );

                        desc170.putEnumerated( iddirOverride, iddirOverride, iddirOverrideDefault );

                        var idkashidas = stringIDToTypeID( "kashidas" );

                        var idkashidas = stringIDToTypeID( "kashidas" );

                        var idkashidaDefault = stringIDToTypeID( "kashidaDefault" );

                        desc170.putEnumerated( idkashidas, idkashidas, idkashidaDefault );

                        var iddiacVPos = stringIDToTypeID( "diacVPos" );

                        var iddiacVPos = stringIDToTypeID( "diacVPos" );

                        var iddiacVPosOpenType = stringIDToTypeID( "diacVPosOpenType" );

                        desc170.putEnumerated( iddiacVPos, iddiacVPos, iddiacVPosOpenType );

                        var iddiacXOffset = stringIDToTypeID( "diacXOffset" );

                        var idPnt = charIDToTypeID( "#Pnt" );

                        desc170.putUnitDouble( iddiacXOffset, idPnt, 0.000000 );

                        var iddiacYOffset = stringIDToTypeID( "diacYOffset" );

                        var idPnt = charIDToTypeID( "#Pnt" );

                        desc170.putUnitDouble( iddiacYOffset, idPnt, 0.000000 );

                        var idmarkYDistFromBaseline = stringIDToTypeID( "markYDistFromBaseline" );

                        var idPnt = charIDToTypeID( "#Pnt" );

                        desc170.putUnitDouble( idmarkYDistFromBaseline, idPnt, 100.000000 );

                        var idbaseline = stringIDToTypeID( "baseline" );

                        var idbaseline = stringIDToTypeID( "baseline" );

                        var idNrml = charIDToTypeID( "Nrml" );

                        desc170.putEnumerated( idbaseline, idbaseline, idNrml );

                        var idotbaseline = stringIDToTypeID( "otbaseline" );

                        var idotbaseline = stringIDToTypeID( "otbaseline" );

                        var idNrml = charIDToTypeID( "Nrml" );

                        desc170.putEnumerated( idotbaseline, idotbaseline, idNrml );

                        var idstrikethrough = stringIDToTypeID( "strikethrough" );

                        var idstrikethrough = stringIDToTypeID( "strikethrough" );

                        var idstrikethroughOff = stringIDToTypeID( "strikethroughOff" );

                        desc170.putEnumerated( idstrikethrough, idstrikethrough, idstrikethroughOff );

                        var idUndl = charIDToTypeID( "Undl" );

                        var idUndl = charIDToTypeID( "Undl" );

                        var idunderlineOff = stringIDToTypeID( "underlineOff" );

                        desc170.putEnumerated( idUndl, idUndl, idunderlineOff );

                        var idunderlineOffset = stringIDToTypeID( "underlineOffset" );

                        var idPnt = charIDToTypeID( "#Pnt" );

                        desc170.putUnitDouble( idunderlineOffset, idPnt, 0.000000 );

                        var idligature = stringIDToTypeID( "ligature" );

                        desc170.putBoolean( idligature, true );

                        var idaltligature = stringIDToTypeID( "altligature" );

                        desc170.putBoolean( idaltligature, false );

                        var idcontextualLigatures = stringIDToTypeID( "contextualLigatures" );

                        desc170.putBoolean( idcontextualLigatures, false );

                        var idalternateLigatures = stringIDToTypeID( "alternateLigatures" );

                        desc170.putBoolean( idalternateLigatures, false );

                        var idoldStyle = stringIDToTypeID( "oldStyle" );

                        desc170.putBoolean( idoldStyle, false );

                        var idfractions = stringIDToTypeID( "fractions" );

                        desc170.putBoolean( idfractions, false );

                        var idordinals = stringIDToTypeID( "ordinals" );

                        desc170.putBoolean( idordinals, false );

                        var idswash = stringIDToTypeID( "swash" );

                        desc170.putBoolean( idswash, false );

                        var idtitling = stringIDToTypeID( "titling" );

                        desc170.putBoolean( idtitling, false );

                        var idconnectionForms = stringIDToTypeID( "connectionForms" );

                        desc170.putBoolean( idconnectionForms, false );

                        var idstylisticAlternates = stringIDToTypeID( "stylisticAlternates" );

                        desc170.putBoolean( idstylisticAlternates, false );

                        var idornaments = stringIDToTypeID( "ornaments" );

                        desc170.putBoolean( idornaments, false );

                        var idjustificationAlternates = stringIDToTypeID( "justificationAlternates" );

                        desc170.putBoolean( idjustificationAlternates, false );

                        var idfigureStyle = stringIDToTypeID( "figureStyle" );

                        var idfigureStyle = stringIDToTypeID( "figureStyle" );

                        var idNrml = charIDToTypeID( "Nrml" );

                        desc170.putEnumerated( idfigureStyle, idfigureStyle, idNrml );

                        var idproportionalMetrics = stringIDToTypeID( "proportionalMetrics" );

                        desc170.putBoolean( idproportionalMetrics, false );

                        var idkana = stringIDToTypeID( "kana" );

                        desc170.putBoolean( idkana, false );

                        var iditalics = stringIDToTypeID( "italics" );

                        desc170.putBoolean( iditalics, false );

                        var idruby = stringIDToTypeID( "ruby" );

                        desc170.putBoolean( idruby, false );

                        var idbaselineDirection = stringIDToTypeID( "baselineDirection" );

                        var idbaselineDirection = stringIDToTypeID( "baselineDirection" );

                        var idrotated = stringIDToTypeID( "rotated" );

                        desc170.putEnumerated( idbaselineDirection, idbaselineDirection, idrotated );

                        var idtextLanguage = stringIDToTypeID( "textLanguage" );

                        var idtextLanguage = stringIDToTypeID( "textLanguage" );

                        var idenglishLanguage = stringIDToTypeID( "englishLanguage" );

                        desc170.putEnumerated( idtextLanguage, idtextLanguage, idenglishLanguage );

                        var idjapaneseAlternate = stringIDToTypeID( "japaneseAlternate" );

                        var idjapaneseAlternate = stringIDToTypeID( "japaneseAlternate" );

                        var iddefaultForm = stringIDToTypeID( "defaultForm" );

                        desc170.putEnumerated( idjapaneseAlternate, idjapaneseAlternate, iddefaultForm );

                        var idmojiZume = stringIDToTypeID( "mojiZume" );

                        desc170.putDouble( idmojiZume, 0.000000 );

                        var idgridAlignment = stringIDToTypeID( "gridAlignment" );

                        var idgridAlignment = stringIDToTypeID( "gridAlignment" );

                        var idroman = stringIDToTypeID( "roman" );

                        desc170.putEnumerated( idgridAlignment, idgridAlignment, idroman );

                        var idenableWariChu = stringIDToTypeID( "enableWariChu" );

                        desc170.putBoolean( idenableWariChu, false );

                        var idwariChuCount = stringIDToTypeID( "wariChuCount" );

                        desc170.putInteger( idwariChuCount, 2 );

                        var idwariChuLineGap = stringIDToTypeID( "wariChuLineGap" );

                        desc170.putInteger( idwariChuLineGap, 0 );

                        var idwariChuScale = stringIDToTypeID( "wariChuScale" );

                        desc170.putDouble( idwariChuScale, 0.500000 );

                        var idwariChuWidow = stringIDToTypeID( "wariChuWidow" );

                        desc170.putInteger( idwariChuWidow, 2 );

                        var idwariChuOrphan = stringIDToTypeID( "wariChuOrphan" );

                        desc170.putInteger( idwariChuOrphan, 2 );

                        var idwariChuJustification = stringIDToTypeID( "wariChuJustification" );

                        var idwariChuJustification = stringIDToTypeID( "wariChuJustification" );

                        var idwariChuAutoJustify = stringIDToTypeID( "wariChuAutoJustify" );

                        desc170.putEnumerated( idwariChuJustification, idwariChuJustification, idwariChuAutoJustify );

                        var idtcyUpDown = stringIDToTypeID( "tcyUpDown" );

                        desc170.putInteger( idtcyUpDown, 0 );

                        var idtcyLeftRight = stringIDToTypeID( "tcyLeftRight" );

                        desc170.putInteger( idtcyLeftRight, 0 );

                        var idleftAki = stringIDToTypeID( "leftAki" );

                        desc170.putDouble( idleftAki, -1.000000 );

                        var idrightAki = stringIDToTypeID( "rightAki" );

                        desc170.putDouble( idrightAki, -1.000000 );

                        var idjiDori = stringIDToTypeID( "jiDori" );

                        desc170.putInteger( idjiDori, 0 );

                        var idnoBreak = stringIDToTypeID( "noBreak" );

                        desc170.putBoolean( idnoBreak, false );

                        var idClr = charIDToTypeID( "Clr " );

                            var desc171 = new ActionDescriptor();

                            var idRd = charIDToTypeID( "Rd  " );

                            desc171.putDouble( idRd, 0.000000 );

                            var idGrn = charIDToTypeID( "Grn " );

                            desc171.putDouble( idGrn, 0.000000 );

                            var idBl = charIDToTypeID( "Bl  " );

                            desc171.putDouble( idBl, 0.000000 );

                        var idRGBC = charIDToTypeID( "RGBC" );

                        desc170.putObject( idClr, idRGBC, desc171 );

                        var idstrokeColor = stringIDToTypeID( "strokeColor" );

                            var desc172 = new ActionDescriptor();

                            var idRd = charIDToTypeID( "Rd  " );

                            desc172.putDouble( idRd, 0.000000 );

                            var idGrn = charIDToTypeID( "Grn " );

                            desc172.putDouble( idGrn, 0.000000 );

                            var idBl = charIDToTypeID( "Bl  " );

                            desc172.putDouble( idBl, 0.000000 );

                        var idRGBC = charIDToTypeID( "RGBC" );

                        desc170.putObject( idstrokeColor, idRGBC, desc172 );

                        var idFl = charIDToTypeID( "Fl  " );

                        desc170.putBoolean( idFl, true );

                        var idStrk = charIDToTypeID( "Strk" );

                        desc170.putBoolean( idStrk, false );

                        var idfillFirst = stringIDToTypeID( "fillFirst" );

                        desc170.putBoolean( idfillFirst, true );

                        var idfillOverPrint = stringIDToTypeID( "fillOverPrint" );

                        desc170.putBoolean( idfillOverPrint, false );

                        var idstrokeOverPrint = stringIDToTypeID( "strokeOverPrint" );

                        desc170.putBoolean( idstrokeOverPrint, false );

                        var idlineCap = stringIDToTypeID( "lineCap" );

                        var idlineCap = stringIDToTypeID( "lineCap" );

                        var idbuttCap = stringIDToTypeID( "buttCap" );

                        desc170.putEnumerated( idlineCap, idlineCap, idbuttCap );

                        var idlineJoin = stringIDToTypeID( "lineJoin" );

                        var idlineJoin = stringIDToTypeID( "lineJoin" );

                        var idmiterJoin = stringIDToTypeID( "miterJoin" );

                        desc170.putEnumerated( idlineJoin, idlineJoin, idmiterJoin );

                        var idlineWidth = stringIDToTypeID( "lineWidth" );

                        var idPnt = charIDToTypeID( "#Pnt" );

                        desc170.putUnitDouble( idlineWidth, idPnt, 1.000000 );

                        var idmiterLimit = stringIDToTypeID( "miterLimit" );

                        var idPnt = charIDToTypeID( "#Pnt" );

                        desc170.putUnitDouble( idmiterLimit, idPnt, 4.000000 );

                        var idlineDashoffset = stringIDToTypeID( "lineDashoffset" );

                        desc170.putDouble( idlineDashoffset, 0.000000 );

                    var idTxtS = charIDToTypeID( "TxtS" );

                    desc167.putObject( idbaseParentStyle, idTxtS, desc170 );

                var idTxtS = charIDToTypeID( "TxtS" );

                desc166.putObject( idTxtS, idTxtS, desc167 );

            var idTxtt = charIDToTypeID( "Txtt" );

            list19.putObject( idTxtt, desc166 );

        desc158.putList( idTxtt, list19 );

        var idparagraphStyleRange = stringIDToTypeID( "paragraphStyleRange" );

            var list20 = new ActionList();

                var desc173 = new ActionDescriptor();

                var idFrom = charIDToTypeID( "From" );

                desc173.putInteger( idFrom, 0 );

                var idT = charIDToTypeID( "T   " );

                desc173.putInteger( idT, 77 );

                var idparagraphStyle = stringIDToTypeID( "paragraphStyle" );

                    var desc174 = new ActionDescriptor();

                    var idstyleSheetHasParent = stringIDToTypeID( "styleSheetHasParent" );

                    desc174.putBoolean( idstyleSheetHasParent, true );

                    var idtextComposerEngine = stringIDToTypeID( "textComposerEngine" );

                    var idtextComposerEngine = stringIDToTypeID( "textComposerEngine" );

                    var idtextLatinCJKComposer = stringIDToTypeID( "textLatinCJKComposer" );

                    desc174.putEnumerated( idtextComposerEngine, idtextComposerEngine, idtextLatinCJKComposer );

                var idparagraphStyle = stringIDToTypeID( "paragraphStyle" );

                desc173.putObject( idparagraphStyle, idparagraphStyle, desc174 );

            var idparagraphStyleRange = stringIDToTypeID( "paragraphStyleRange" );

            list20.putObject( idparagraphStyleRange, desc173 );

        desc158.putList( idparagraphStyleRange, list20 );

        var idkerningRange = stringIDToTypeID( "kerningRange" );

            var list21 = new ActionList();

        desc158.putList( idkerningRange, list21 );

    var idTxLr = charIDToTypeID( "TxLr" );

    desc157.putObject( idUsng, idTxLr, desc158 );

    var idLyrI = charIDToTypeID( "LyrI" );

    desc157.putInteger( idLyrI, 7 );

executeAction( idMk, desc157, DialogModes.NO );


JJMack  wrote

[HUGE script snipped]

JJ, I just click on that little T icon a  do a bit of typing.  It's way quicker.