On 3/10/21 5:22 PM, Matt Miller wrote: > I want to use the API to replace the text of a frame with new text, but I > can't empty the text out of the frame without reverting many of the frame's > attributes. The main attribute that's causing problems at this point is the > font size. For example: > > dummy = newDocument((5, 3), (0, 0, 0, 0), PORTRAIT, 1, UNIT_INCHES, PAGE_1, > 0, 1) > > frame_1 = createText (1, 1, 1, 1) > > setFontSize (24, frame_1) > > > > deleteText (frame_1) > > > > After executing the first three lines of code above and then loading (or > typing) text into the frame all looks fine. In particular, the text is 24 > point. Also, I see from the "Text Properties" window that the font size > shows as "24 pt." However, after executing the "deleteText (frame_1)" call > above I see from the "Text Properties" window that the font size shows as "12 > pt," which is the default point size I have set for text frames in the > "Document Setup" window. Also, entering text into the frame confirms that > it's now 12 pt. (As an aside, it seems that "getFontSize()" always returns > "12.0" regardless of the frame's actual font size.) > > deleteText() is reverting other properties, too, like Paragraph Style and > Character Style. > > As a workaround it seems I can first append my new text to the end of the > frame, and then select and delete the original text, which is only a few > extra steps, but I didn't want to adopt that as a standard without checking > first. >
Hi Matt, What's happening, I think, is that when you delete the text, the frame reverts to its default font size setting. I don't see why you want to do that. In a script, you should be adding/replacing text, then setting the font size. Greg ___ Scribus Mailing List: scribus@lists.scribus.net Edit your options or unsubscribe: http://lists.scribus.net/mailman/listinfo/scribus See also: http://wiki.scribus.net http://forums.scribus.net