synedit: synexporthtml: fixed working with UTF-8

git-svn-id: trunk@49765 -
This commit is contained in:
mattias 2015-09-05 20:53:43 +00:00
parent 79c0805afb
commit b221e1434d
2 changed files with 98 additions and 96 deletions

View File

@ -330,7 +330,7 @@ begin
if (i = Start.Y) and (X < Start.X) then
UTF8Delete(Token, 1, Start.X - X);
X := X + l; // TODO: combound chars
X := X + l; // TODO: compound chars
if Token = '' then
continue;

View File

@ -106,101 +106,103 @@ begin
fReplaceReserved['<'] := '&lt;';
fReplaceReserved['>'] := '&gt;';
fReplaceReserved['"'] := '&quot;';
fReplaceReserved['™'] := '&trade;';
fReplaceReserved['©'] := '&copy;';
fReplaceReserved['®'] := '&reg;';
fReplaceReserved['À'] := '&Agrave;';
fReplaceReserved['Á'] := '&Aacute;';
fReplaceReserved['Â'] := '&Acirc;';
fReplaceReserved['Ã'] := '&Atilde;';
fReplaceReserved['Ä'] := '&Auml;';
fReplaceReserved['Å'] := '&Aring;';
fReplaceReserved['Æ'] := '&AElig;';
fReplaceReserved['Ç'] := '&Ccedil;';
fReplaceReserved['È'] := '&Egrave;';
fReplaceReserved['É'] := '&Eacute;';
fReplaceReserved['Ê'] := '&Ecirc;';
fReplaceReserved['Ë'] := '&Euml;';
fReplaceReserved['Ì'] := '&Igrave;';
fReplaceReserved['Í'] := '&Iacute;';
fReplaceReserved['Î'] := '&Icirc;';
fReplaceReserved['Ï'] := '&Iuml;';
fReplaceReserved['Ð'] := '&ETH;';
fReplaceReserved['Ñ'] := '&Ntilde;';
fReplaceReserved['Ò'] := '&Ograve;';
fReplaceReserved['Ó'] := '&Oacute;';
fReplaceReserved['Ô'] := '&Ocirc;';
fReplaceReserved['Õ'] := '&Otilde;';
fReplaceReserved['Ö'] := '&Ouml;';
fReplaceReserved['Ø'] := '&Oslash;';
fReplaceReserved['Ù'] := '&Ugrave;';
fReplaceReserved['Ú'] := '&Uacute;';
fReplaceReserved['Û'] := '&Ucirc;';
fReplaceReserved['Ü'] := '&Uuml;';
fReplaceReserved['Ý'] := '&Yacute;';
fReplaceReserved['Þ'] := '&THORN;';
fReplaceReserved['ß'] := '&szlig;';
fReplaceReserved['à'] := '&agrave;';
fReplaceReserved['á'] := '&aacute;';
fReplaceReserved['â'] := '&acirc;';
fReplaceReserved['ã'] := '&atilde;';
fReplaceReserved['ä'] := '&auml;';
fReplaceReserved['å'] := '&aring;';
fReplaceReserved['æ'] := '&aelig;';
fReplaceReserved['ç'] := '&ccedil;';
fReplaceReserved['è'] := '&egrave;';
fReplaceReserved['é'] := '&eacute;';
fReplaceReserved['ê'] := '&ecirc;';
fReplaceReserved['ë'] := '&euml;';
fReplaceReserved['ì'] := '&igrave;';
fReplaceReserved['í'] := '&iacute;';
fReplaceReserved['î'] := '&icirc;';
fReplaceReserved['ï'] := '&iuml;';
fReplaceReserved['ð'] := '&eth;';
fReplaceReserved['ñ'] := '&ntilde;';
fReplaceReserved['ò'] := '&ograve;';
fReplaceReserved['ó'] := '&oacute;';
fReplaceReserved['ô'] := '&ocirc;';
fReplaceReserved['õ'] := '&otilde;';
fReplaceReserved['ö'] := '&ouml;';
fReplaceReserved['ø'] := '&oslash;';
fReplaceReserved['ù'] := '&ugrave;';
fReplaceReserved['ú'] := '&uacute;';
fReplaceReserved['û'] := '&ucirc;';
fReplaceReserved['ü'] := '&uuml;';
fReplaceReserved['ý'] := '&yacute;';
fReplaceReserved['þ'] := '&thorn;';
fReplaceReserved['ÿ'] := '&yuml;';
fReplaceReserved['¡'] := '&iexcl;';
fReplaceReserved['¢'] := '&cent;';
fReplaceReserved['£'] := '&pound;';
fReplaceReserved['¤'] := '&curren;';
fReplaceReserved['¥'] := '&yen;';
fReplaceReserved['¦'] := '&brvbar;';
fReplaceReserved['§'] := '&sect;';
fReplaceReserved['¨'] := '&uml;';
fReplaceReserved['ª'] := '&ordf;';
fReplaceReserved['«'] := '&laquo;';
fReplaceReserved['¬'] := '&shy;';
fReplaceReserved['¯'] := '&macr;';
fReplaceReserved['°'] := '&deg;';
fReplaceReserved['±'] := '&plusmn;';
fReplaceReserved['²'] := '&sup2;';
fReplaceReserved['³'] := '&sup3;';
fReplaceReserved['´'] := '&acute;';
fReplaceReserved['µ'] := '&micro;';
fReplaceReserved['·'] := '&middot;';
fReplaceReserved['¸'] := '&cedil;';
fReplaceReserved['¹'] := '&sup1;';
fReplaceReserved['º'] := '&ordm;';
fReplaceReserved['»'] := '&raquo;';
fReplaceReserved['¼'] := '&frac14;';
fReplaceReserved['½'] := '&frac12;';
fReplaceReserved['¾'] := '&frac34;';
fReplaceReserved['¿'] := '&iquest;';
fReplaceReserved['×'] := '&times;';
fReplaceReserved['÷'] := '&divide';
fReplaceReserved['€'] := '&euro;';
fReplaceReserved[''''] := '&apos;';
{ The following characters are multi-byte in UTF-8:
fReplaceReserved['™'] := '&trade;';
fReplaceReserved['©'] := '&copy;';
fReplaceReserved['®'] := '&reg;';
fReplaceReserved['À'] := '&Agrave;';
fReplaceReserved['Á'] := '&Aacute;';
fReplaceReserved['Â'] := '&Acirc;';
fReplaceReserved['Ã'] := '&Atilde;';
fReplaceReserved['Ä'] := '&Auml;';
fReplaceReserved['Å'] := '&Aring;';
fReplaceReserved['Æ'] := '&AElig;';
fReplaceReserved['Ç'] := '&Ccedil;';
fReplaceReserved['È'] := '&Egrave;';
fReplaceReserved['É'] := '&Eacute;';
fReplaceReserved['Ê'] := '&Ecirc;';
fReplaceReserved['Ë'] := '&Euml;';
fReplaceReserved['Ì'] := '&Igrave;';
fReplaceReserved['Í'] := '&Iacute;';
fReplaceReserved['Î'] := '&Icirc;';
fReplaceReserved['Ï'] := '&Iuml;';
fReplaceReserved['Ð'] := '&ETH;';
fReplaceReserved['Ñ'] := '&Ntilde;';
fReplaceReserved['Ò'] := '&Ograve;';
fReplaceReserved['Ó'] := '&Oacute;';
fReplaceReserved['Ô'] := '&Ocirc;';
fReplaceReserved['Õ'] := '&Otilde;';
fReplaceReserved['Ö'] := '&Ouml;';
fReplaceReserved['Ø'] := '&Oslash;';
fReplaceReserved['Ù'] := '&Ugrave;';
fReplaceReserved['Ú'] := '&Uacute;';
fReplaceReserved['Û'] := '&Ucirc;';
fReplaceReserved['Ü'] := '&Uuml;';
fReplaceReserved['Ý'] := '&Yacute;';
fReplaceReserved['Þ'] := '&THORN;';
fReplaceReserved['ß'] := '&szlig;';
fReplaceReserved['à'] := '&agrave;';
fReplaceReserved['á'] := '&aacute;';
fReplaceReserved['â'] := '&acirc;';
fReplaceReserved['ã'] := '&atilde;';
fReplaceReserved['ä'] := '&auml;';
fReplaceReserved['å'] := '&aring;';
fReplaceReserved['æ'] := '&aelig;';
fReplaceReserved['ç'] := '&ccedil;';
fReplaceReserved['è'] := '&egrave;';
fReplaceReserved['é'] := '&eacute;';
fReplaceReserved['ê'] := '&ecirc;';
fReplaceReserved['ë'] := '&euml;';
fReplaceReserved['ì'] := '&igrave;';
fReplaceReserved['í'] := '&iacute;';
fReplaceReserved['î'] := '&icirc;';
fReplaceReserved['ï'] := '&iuml;';
fReplaceReserved['ð'] := '&eth;';
fReplaceReserved['ñ'] := '&ntilde;';
fReplaceReserved['ò'] := '&ograve;';
fReplaceReserved['ó'] := '&oacute;';
fReplaceReserved['ô'] := '&ocirc;';
fReplaceReserved['õ'] := '&otilde;';
fReplaceReserved['ö'] := '&ouml;';
fReplaceReserved['ø'] := '&oslash;';
fReplaceReserved['ù'] := '&ugrave;';
fReplaceReserved['ú'] := '&uacute;';
fReplaceReserved['û'] := '&ucirc;';
fReplaceReserved['ü'] := '&uuml;';
fReplaceReserved['ý'] := '&yacute;';
fReplaceReserved['þ'] := '&thorn;';
fReplaceReserved['ÿ'] := '&yuml;';
fReplaceReserved['¡'] := '&iexcl;';
fReplaceReserved['¢'] := '&cent;';
fReplaceReserved['£'] := '&pound;';
fReplaceReserved['¤'] := '&curren;';
fReplaceReserved['¥'] := '&yen;';
fReplaceReserved['¦'] := '&brvbar;';
fReplaceReserved['§'] := '&sect;';
fReplaceReserved['¨'] := '&uml;';
fReplaceReserved['ª'] := '&ordf;';
fReplaceReserved['«'] := '&laquo;';
fReplaceReserved['¬'] := '&shy;';
fReplaceReserved['¯'] := '&macr;';
fReplaceReserved['°'] := '&deg;';
fReplaceReserved['±'] := '&plusmn;';
fReplaceReserved['²'] := '&sup2;';
fReplaceReserved['³'] := '&sup3;';
fReplaceReserved['´'] := '&acute;';
fReplaceReserved['µ'] := '&micro;';
fReplaceReserved['·'] := '&middot;';
fReplaceReserved['¸'] := '&cedil;';
fReplaceReserved['¹'] := '&sup1;';
fReplaceReserved['º'] := '&ordm;';
fReplaceReserved['»'] := '&raquo;';
fReplaceReserved['¼'] := '&frac14;';
fReplaceReserved['½'] := '&frac12;';
fReplaceReserved['¾'] := '&frac34;';
fReplaceReserved['¿'] := '&iquest;';
fReplaceReserved['×'] := '&times;';
fReplaceReserved['÷'] := '&divide';
fReplaceReserved['€'] := '&euro;';}
end;
function TSynExporterHTML.ColorToHTML(AColor: TColor): string;