I discovered an annoying ExtendScript bug. Background text is not reported as a character property change in ExtendScript. To see it, create a single paragraph and apply a Background color as an override. Click anywhere in the paragraph and run this code. It will show 0 in the alert dialog. It should show 2.
#target framemaker var doc, pgf, textList; doc = app.ActiveDoc; pgf = doc.TextSelection.beg.obj; textList = pgf.GetText (Constants.FTI_CharPropsChange); alert (textList.length);
re: …create a single paragraph and apply a Background color as an override.
How is that done as an override?
I see "Background:" as a property in Paragraph & Character designer, but not on any Format pull-down.
Background is a relatively recent enhancement to FM. Do we suppose that support for it got overlooked in all possible tools?
Hi @frameexpert, it definitely seems to be. I tested it on FM2019 with the following code:
tr = F_ApiGetTextRange(FV_SessionId, docId, FP_TextSelection); ti = F_ApiGetText(docId, tr.beg.objId, FTI_CharPropsChange); F_Sprintf(chars, "ti.len - %d", ti.len); F_ApiAlert((StringT)chars, FF_ALERT_CONTINUE_WARN);
It reports 0 with a background color override. It reports 2 with any other type of override, including a foreground color.
Thank you very much for checking Russ. I will file a bug report.
Copy link to clipboard
for me, it works. The offset of the start is the offset of the blank before "friend" (in your example)
Tested with FM2020 and FM2019
Of course it doesn't work.
In my first test I've changed the text color not background.