function rtf2sgml (text : string) : string;
{Funktion f?r att konvertera en RTF-rad till SGML-text.}
var
temptext : string;
start : integer;
begin
text := stringreplaceall (text,'&','##amp;');
text := stringreplaceall (text,'##amp','&amp');
text := stringreplaceall (text,'/'+chr(39)+'e5','å');
text := stringreplaceall (text,'/'+chr(39)+'c5','Å');
text := stringreplaceall (text,'/'+chr(39)+'e4','ä');
text := stringreplaceall (text,'/'+chr(39)+'c4','Ä');
text := stringreplaceall (text,'/'+chr(39)+'f6','ö');
text := stringreplaceall (text,'/'+chr(39)+'d6','Ö');
text := stringreplaceall (text,'/'+chr(39)+'e9','é');
text := stringreplaceall (text,'/'+chr(39)+'c9','É');
text := stringreplaceall (text,'/'+chr(39)+'e1','á');
text := stringreplaceall (text,'/'+chr(39)+'c1','Á');
text := stringreplaceall (text,'/'+chr(39)+'e0','à');
text := stringreplaceall (text,'/'+chr(39)+'c0','À');
text := stringreplaceall (text,'/'+chr(39)+'f2','ò');
text := stringreplaceall (text,'/'+chr(39)+'d2','Ò');
text := stringreplaceall (text,'/'+chr(39)+'fc','ü');
text := stringreplaceall (text,'/'+chr(39)+'dc','Ü');
text := stringreplaceall (text,'/'+chr(39)+'a3','£');
text := stringreplaceall (text,'/}','#]#');
text := stringreplaceall (text,'/{','#[#');
text := stringreplaceall (text,'{/rtf1/ansi/deff0/deftab720','');
{Skall alltid tas bort}
text := stringreplaceall (text,'{/fonttbl','');
{Skall alltid tas bort}
text := stringreplaceall (text,'
{/f0/fnil MS Sans Serif;}','');
{Skall alltid tas bort}
text := stringreplaceall (text,'{/f1/fnil/fcharset2 Symbol;}','');
{Skall alltid tas bort}
text := stringreplaceall (text,'{/f2/fswiss/fprq2 System;}}','');
{Skall alltid tas bort}
text := stringreplaceall(text,'{/colortbl/red0/green0/blue0;}','');
{Skall alltid tas bort}
{I version 2.01 av Delphi finns inte /cf0 med i RTF-rutan. Tog d?rf?r bortdet efter /fs16 och la ist?llet en egen tv?tt av /cf0.}
//temptext := hamtastreng (text,'{/rtf1','/deflang');
//text := stringreplace (text,temptext,'');
{H?mta och radera allt fr?n start till deflang}
text := stringreplaceall (text,'/cf0','');
temptext := hamtastreng (text,'/deflang','/pard');
{Plocka fr?n deflang till pard f?r att f? }
text := stringreplace (text,temptext,'');
{oavsett vilken lang det ?r. Norska o svenska ?r olika}
{H?r skall vi plocka bort fs och flera olika siffror beroende p? vilka alternativ vi godk?nner.}
//text := stringreplaceall (text,'/fs16','');{8 punkter}
//text := stringreplaceall (text,'/fs20','');{10 punkter}
{Nu st?dar vi ist?llet bort alla tv?siffriga fontsize.}
while pos ('/fs',text) >0 do
begin
application.processmessages;
start := pos ('/fs',text);
Delete(text,start,5);
end;
text := stringreplaceall (text,'/pard/plain/f0 ','<P>');
text := stringreplaceall (text,'/par /plain/f0/b/ul','</P><MELLIS>');
text := stringreplaceall (text,'/plain/f0/b/ul ','</P><MELLIS>');
text := stringreplaceall (text,'/plain/f0','</MELLIS>');
text := stringreplaceall (text,'/par }','</P>');
text := stringreplaceall (text,'/par ','</P><P>');
text := stringreplaceall (text,'#]#','}');
text := stringreplaceall (text,'#[#','{');
text := stringreplaceall (text,'//','/');
result := text;
end;
--------------------------------------------------------------------------------