52610.fb2
for j:= 1 to length(Ss) do
begin // просматриваем строку
case ss[j] of
'~': begin // если это концевая сноска
S:= S + '<a l: href="#n_'+IntToStr(EndNotes_count)+'" type="note">'
+IntToStr(EndNotes_count)+'</a>';
inc(EndNotes_count); // увеличиваем счетчик сносок
end;
'^': S:= S + '́'; // ставим ударение
else S:= S + ss[j];
end; // case
end;
if (S = '') and (CurStyle <> Poem)
then
begin
OutList.Add('<empty-line/>');
continue;
end;
if (CurStyle <> oldStyle) and (CurStyle <> Auth) then
begin
case oldStyle of // завершение предыдущего блока
Poem: OutList.Add('</stanza></poem>');
Epig: OutList.Add('</epigraph>');
Citat: OutList.Add('</cite>');
H1..H5: OutList.Add('</title>');
end; // case завершение предыдущего блока
case CurStyle of // начало блока
Poem: OutList.Add('<poem><stanza>');
Epig: OutList.Add('<epigraph>');
Citat: OutList.Add('<cite>');
end; // case начало блока
end;
// анализ стилей
case CurStyle of // в зависимости от стиля абзаца
Norm,Epig,Citat: OutList.Add('<p>'+S+'</p>');
H1..H5: StyleStucture; // Heading
Sub: OutList.Add('<subtitle>'+s+'</subtitle>'); // Subtitle
Poem: begin
if S = ''
then OutList.Add('</stanza><stanza>')
else OutList.Add('<v>'+S+'</v>');
end;
Auth: begin
OutList.Add('<text-author>'+S+'</text-author>');
if oldStyle in [Poem, Epig, Citat]
then CurStyle:= oldStyle;
end;
None: continue; //None
end; // case