In my 'graphic project' I want to place text into a TextLine. The following script gets some properties from a selected TextLine (which is located in an anchored frame). But so far I create an empty TextLIne at the desired place and with the desired angle.
But how to put text into it?
// Clone a selected TextLine to check the function
var j, oDoc = app.ActiveDoc, oFrame, oTextLine, CM = 1857713, DEGREE = 65536;
oSelected = oDoc.FirstSelectedGraphicInDoc;
oFrame = oSelected.FrameParent;
oTextLine = oDoc.NewTextLine(oFrame); // Take over specifications from selection
// there needs to be text to get the TextLine visible!
//oTextLine.AddText ("New text"); // statement not valid
oTextLine.Angle = 5 * DEGREE;
oTextLine.BasePointX = oSelected.BasePointX;
oTextLine.BasePointY = oSelected.BasePointY + 1*CM;
//oTextLine.Width = oSelected.Width; // set by text contents ?
oTextLine.Pen = oSelected.Pen;
oTextLine.Color = oDoc.GetNamedColor("Magenta"); // ???
Obviously I need to define a text location - but how is this done in a TextLIne?
You should be able to add text to a TextLine just like you do with a Paragraph:
var textLoc = new TextLoc (oTextLine, 0);
doc.AddText (textLoc, "Text on the text line.");
I haven't tested this with ExtendScript, but it should work.
Thank You, Rick!
The following works fine, ...
oTextLoc = new TextLoc (oTextLine, 0);
oDoc.AddText (oTextLoc, "New text");
... but i have not the simplest idea where the colour comes from:
The size and font etc. is from the original TextLine - but the source of the colour definition is unknown.
The original (selected) TextLine uses the character format Name which defines font family and weight - rest is AsIs. The size (22pt) is set locally.
I have found (object Data Browser) an undocumented attribute StyleTag which allows me to apply a character format:
oTextLine.StyleTag = "fh2-fig-heading2";
For the time beeing this is sufficient information...