У меня есть сценарий dxl для форматирования текста в тексте объекта, т. Е. Выравнивание по левому краю в виде обычного текста, многоуровневое отступление списков и маркеров, при сохранении вспомогательного и суперскрипта Bold, а также символов. все работает, пока у меня нет нескольких пуль в одном объекте. Когда я заменяю richText в атрибуте, отображается только последний маркер.
Все параметры верны при входе в функцию applyTextFormattingToParagraph (), разметка richText идентична в маркированных и ненулевых строках абзаца в буфере аккумулятора.
Buffer Process_Rich_Paragraph(RichTextParagraph rtp, int paraNo) {
Buffer aPara = create
aPara += rtp.text
if(rtp.isBullet) {
return applyTextFormattingToParagraph(aPara,true,360,paraNo,250)
} else return applyTextFormattingToParagraph(aPara,false,0,paraNo,0)
delete aPara
}
//Main Program
Buffer ParaAccum = create
Object o = current
RichTextParagraph rtp
int paraNo = 0
string s = probeRichAttr_ (o, "Object Text", false)
for rtp in s do {
if (paraNo == 0) {
ParaAccum += Process_Rich_Paragraph (rtp, paraNo)
paraNo++
} else {
ParaAccum += "\\par\\pard"
ParaAccum += Process_Rich_Paragraph (rtp, paraNo)
}
}
o."Object Text" = richText ParaAccum
delete ParaAccum
в качестве теста я поместил три маркированных абзаца в один объект с отступом на один шаг. результатом должно быть то, что три маркированных строки должны иметь отступ 710 смещений с начальным отступом 360, отображающим все три маркированных строки.
На самом деле маркируется только последняя строка.