/*################################################################################### # # Embperl - Copyright (c) 1997-2000 Gerald Richter / ECOS # # You may distribute under the terms of either the GNU General Public # License or the Artistic License, as specified in the Perl README file. # For use with Apache httpd and mod_perl, see also Apache copyright. # # THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. # ###################################################################################*/ /* minimal input and output escaping. It's usefull for other charsets then iso-8859-1 (iso-latin-1) and for two byte charset This translation tables will leave any characters above 128 untouchted */ #include "ep.h" /* * Character Translation */ struct tCharTrans Char2Html [] = { { ' ' , "" }, /* � Unused */ { ' ' , "" }, /*  Unused */ { ' ' , "" }, /*  Unused */ { ' ' , "" }, /*  Unused */ { ' ' , "" }, /*  Unused */ { ' ' , "" }, /*  Unused */ { ' ' , "" }, /*  Unused */ { ' ' , "" }, /*  Unused */ { ' ' , "" }, /*  Unused */ { ' ' , "" }, /* Horizontal tab */ { ' ' , "" }, /* Line feed */ { ' ' , "" }, /* Unused */ { ' ' , "" }, /* Unused */ { ' ' , "" }, /* Carriage Return */ { ' ' , "" }, /*  Unused */ { ' ' , "" }, /*  Unused */ { ' ' , "" }, /*  Unused */ { ' ' , "" }, /*  Unused */ { ' ' , "" }, /*  Unused */ { ' ' , "" }, /*  Unused */ { ' ' , "" }, /*  Unused */ { ' ' , "" }, /*  Unused */ { ' ' , "" }, /*  Unused */ { ' ' , "" }, /*  Unused */ { ' ' , "" }, /*  Unused */ { ' ' , "" }, /*  Unused */ { ' ' , "" }, /*  Unused */ { ' ' , "" }, /*  Unused */ { ' ' , "" }, /*  Unused */ { ' ' , "" }, /*  Unused */ { ' ' , "" }, /*  Unused */ { ' ' , "" }, /*  Unused */ { ' ' , "" }, /* Space */ { '!' , "" }, /* ! Exclamation mark */ { '"' , """ }, /* Quotation mark */ { '#' , "" }, /* # Number sign */ { '$' , "" }, /* $ Dollar sign */ { '%' , "" }, /* % Percent sign */ { '&' , "&" }, /* Ampersand */ { '\'' , "" }, /* ' Apostrophe */ { '(' , "" }, /* ( Left parenthesis */ { ')' , "" }, /* ) Right parenthesis */ { '*' , "" }, /* * Asterisk */ { '+' , "" }, /* + Plus sign */ { ',' , "" }, /* , Comma */ { '-' , "" }, /* - Hyphen */ { '.' , "" }, /* . Period (fullstop) */ { '/' , "" }, /* / Solidus (slash) */ { '0' , "" }, /* 0 Digit 0 */ { '1' , "" }, /* 1 Digit 1 */ { '2' , "" }, /* 2 Digit 2 */ { '3' , "" }, /* 3 Digit 3 */ { '4' , "" }, /* 4 Digit 4 */ { '5' , "" }, /* 5 Digit 5 */ { '6' , "" }, /* 6 Digit 6 */ { '7' , "" }, /* 7 Digit 7 */ { '8' , "" }, /* 8 Digit 8 */ { '9' , "" }, /* 9 Digit 9 */ { ':' , "" }, /* : Colon */ { ';' , "" }, /* ; Semicolon */ { '<' , "<" }, /* Less than */ { '=' , "" }, /* = Equals sign */ { '>' , ">" }, /* Greater than */ { '?' , "" }, /* ? Question mark */ { '@' , "" }, /* @ Commercial at */ { 'A' , "" }, /* A Capital A */ { 'B' , "" }, /* B Capital B */ { 'C' , "" }, /* C Capital C */ { 'D' , "" }, /* D Capital D */ { 'E' , "" }, /* E Capital E */ { 'F' , "" }, /* F Capital F */ { 'G' , "" }, /* G Capital G */ { 'H' , "" }, /* H Capital H */ { 'I' , "" }, /* I Capital I */ { 'J' , "" }, /* J Capital J */ { 'K' , "" }, /* K Capital K */ { 'L' , "" }, /* L Capital L */ { 'M' , "" }, /* M Capital M */ { 'N' , "" }, /* N Capital N */ { 'O' , "" }, /* O Capital O */ { 'P' , "" }, /* P Capital P */ { 'Q' , "" }, /* Q Capital Q */ { 'R' , "" }, /* R Capital R */ { 'S' , "" }, /* S Capital S */ { 'T' , "" }, /* T Capital T */ { 'U' , "" }, /* U Capital U */ { 'V' , "" }, /* V Capital V */ { 'W' , "" }, /* W Capital W */ { 'X' , "" }, /* X Capital X */ { 'Y' , "" }, /* Y Capital Y */ { 'Z' , "" }, /* Z Capital Z */ { '[' , "" }, /* [ Left square bracket */ { '\\' , "" }, /* \ Reverse solidus (backslash) */ { ']' , "" }, /* ] Right square bracket */ { '^' , "" }, /* ^ Caret */ { '_' , "" }, /* _ Horizontal bar (underscore) */ { '`' , "" }, /* ` Acute accent */ { 'a' , "" }, /* a Small a */ { 'b' , "" }, /* b Small b */ { 'c' , "" }, /* c Small c */ { 'd' , "" }, /* d Small d */ { 'e' , "" }, /* e Small e */ { 'f' , "" }, /* f Small f */ { 'g' , "" }, /* g Small g */ { 'h' , "" }, /* h Small h */ { 'i' , "" }, /* i Small i */ { 'j' , "" }, /* j Small j */ { 'k' , "" }, /* k Small k */ { 'l' , "" }, /* l Small l */ { 'm' , "" }, /* m Small m */ { 'n' , "" }, /* n Small n */ { 'o' , "" }, /* o Small o */ { 'p' , "" }, /* p Small p */ { 'q' , "" }, /* q Small q */ { 'r' , "" }, /* r Small r */ { 's' , "" }, /* s Small s */ { 't' , "" }, /* t Small t */ { 'u' , "" }, /* u Small u */ { 'v' , "" }, /* v Small v */ { 'w' , "" }, /* w Small w */ { 'x' , "" }, /* x Small x */ { 'y' , "" }, /* y Small y */ { 'z' , "" }, /* z Small z */ { '{' , "" }, /* { Left curly brace */ { '|' , "" }, /* | Vertical bar */ { '}' , "" }, /* } Right curly brace */ { '~' , "" }, /* ~ Tilde */ { '' , "" }, /*  Unused */ { '€' , "" }, /* € Unused */ { ' ' , "" }, /*  Unused */ { ' ' , "" }, /* ‚ Unused */ { ' ' , "" }, /* ƒ Unused */ { ' ' , "" }, /* „ Unused */ { ' ' , "" }, /* … Unused */ { ' ' , "" }, /* † Unused */ { ' ' , "" }, /* ‡ Unused */ { ' ' , "" }, /* ˆ Unused */ { ' ' , "" }, /* ‰ Unused */ { ' ' , "" }, /* Š Horizontal tab */ { ' ' , "" }, /* ‹ Line feed */ { ' ' , "" }, /* Œ Unused */ { ' ' , "" }, /*  Unused */ { ' ' , "" }, /* Ž Carriage Return */ { ' ' , "" }, /*  Unused */ { ' ' , "" }, /*  Unused */ { ' ' , "" }, /* ‘ Unused */ { ' ' , "" }, /* ’ Unused */ { ' ' , "" }, /* “ Unused */ { ' ' , "" }, /* ” Unused */ { ' ' , "" }, /* • Unused */ { ' ' , "" }, /* – Unused */ { ' ' , "" }, /* — Unused */ { ' ' , "" }, /* ˜ Unused */ { ' ' , "" }, /* ™ Unused */ { ' ' , "" }, /* š Unused */ { ' ' , "" }, /* › Unused */ { ' ' , "" }, /* œ Unused */ { ' ' , "" }, /*  Unused */ { ' ' , "" }, /* ž Unused */ { ' ' , "" }, /* Ÿ Unused */ { ' ' , "" }, /* Non-breaking Space */ { '¡' , "" }, /* Inverted exclamation */ { '¢' , "" }, /* Cent sign */ { '£' , "" }, /* Pound sterling */ { '¤' , "" }, /* General currency sign */ { '¥' , "" }, /* Yen sign */ /* { '¦' , "" }, / * Broken vertical bar */ { '¦' , "" }, /* Broken vertical bar */ { '§' , "" }, /* Section sign */ /* { '¨' , "" }, / * Diæresis / Umlaut */ { '¨' , "" }, /* Diæresis / Umlaut */ { '©' , "" }, /* Copyright */ { 'ª' , "" }, /* Feminine ordinal */ { '«' , "" }, /* Left angle quote, guillemot left */ { '¬' , "" }, /* Not sign */ { '­' , "" }, /* Soft hyphen */ { '®' , "" }, /* Registered trademark */ /* { '¯' , "" }, / * Macron accent */ { '¯' , "" }, /* Macron accent */ { '°' , "" }, /* Degree sign */ { '±' , "" }, /* Plus or minus */ { '²' , "" }, /* Superscript two */ { '³' , "" }, /* Superscript three */ { '´' , "" }, /* Acute accent */ { 'µ' , "" }, /* Micro sign */ { '¶' , "" }, /* Paragraph sign */ { '·' , "" }, /* Middle dot */ { '¸' , "" }, /* Cedilla */ { '¹' , "" }, /* Superscript one */ { 'º' , "" }, /* Masculine ordinal */ { '»' , "" }, /* Right angle quote, guillemot right */ { '¼' , "" }, /* Fraction one-fourth */ { '½' , "" }, /* Fraction one-half */ { '¾' , "" }, /* Fraction three-fourths */ { '¿' , "" }, /* Inverted question mark */ { 'À' , "" }, /* Capital A, grave accent */ { 'Á' , "" }, /* Capital A, acute accent */ { 'Â' , "" }, /* Capital A, circumflex */ { 'Ã' , "" }, /* Capital A, tilde */ { 'Ä' , "" }, /* Capital A, diæresis / umlaut */ { 'Å' , "" }, /* Capital A, ring */ { 'Æ' , "" }, /* Capital AE ligature */ { 'Ç' , "" }, /* Capital C, cedilla */ { 'È' , "" }, /* Capital E, grave accent */ { 'É' , "" }, /* Capital E, acute accent */ { 'Ê' , "" }, /* Capital E, circumflex */ { 'Ë' , "" }, /* Capital E, diæresis / umlaut */ { 'Ì' , "" }, /* Capital I, grave accent */ { 'Í' , "" }, /* Capital I, acute accent */ { 'Î' , "" }, /* Capital I, circumflex */ { 'Ï' , "" }, /* Capital I, diæresis / umlaut */ { 'Ð' , "" }, /* Capital Eth, Icelandic */ { 'Ñ' , "" }, /* Capital N, tilde */ { 'Ò' , "" }, /* Capital O, grave accent */ { 'Ó' , "" }, /* Capital O, acute accent */ { 'Ô' , "" }, /* Capital O, circumflex */ { 'Õ' , "" }, /* Capital O, tilde */ { 'Ö' , "" }, /* Capital O, diæresis / umlaut */ { '×' , "" }, /* Multiply sign */ { 'Ø' , "" }, /* Capital O, slash */ { 'Ù' , "" }, /* Capital U, grave accent */ { 'Ú' , "" }, /* Capital U, acute accent */ { 'Û' , "" }, /* Capital U, circumflex */ { 'Ü' , "" }, /* Capital U, diæresis / umlaut */ { 'Ý' , "" }, /* Capital Y, acute accent */ { 'Þ' , "" }, /* Capital Thorn, Icelandic */ { 'ß' , "" }, /* Small sharp s, German sz */ { 'à' , "" }, /* Small a, grave accent */ { 'ß' , "" }, /* Small a, acute accent */ { 'â' , "" }, /* Small a, circumflex */ { 'ã' , "" }, /* Small a, tilde */ { 'ä' , "" }, /* Small a, diæresis / umlaut */ { 'å' , "" }, /* Small a, ring */ { 'æ' , "" }, /* Small ae ligature */ { 'ç' , "" }, /* Small c, cedilla */ { 'è' , "" }, /* Small e, grave accent */ { 'é' , "" }, /* Small e, acute accent */ { 'ê' , "" }, /* Small e, circumflex */ { 'ë' , "" }, /* Small e, diæresis / umlaut */ { 'ì' , "" }, /* Small i, grave accent */ { 'í' , "" }, /* Small i, acute accent */ { 'î' , "" }, /* Small i, circumflex */ { 'ï' , "" }, /* Small i, diæresis / umlaut */ { 'ð' , "" }, /* Small eth, Icelandic */ { 'ñ' , "" }, /* Small n, tilde */ { 'ò' , "" }, /* Small o, grave accent */ { 'ó' , "" }, /* Small o, acute accent */ { 'ô' , "" }, /* Small o, circumflex */ { 'õ' , "" }, /* Small o, tilde */ { 'ö' , "" }, /* Small o, diæresis / umlaut */ { '÷' , "" }, /* Division sign */ { 'ø' , "" }, /* Small o, slash */ { 'ù' , "" }, /* Small u, grave accent */ { 'ú' , "" }, /* Small u, acute accent */ { 'û' , "" }, /* Small u, circumflex */ { 'ü' , "" }, /* Small u, diæresis / umlaut */ { 'ý' , "" }, /* Small y, acute accent */ { 'þ' , "" }, /* Small thorn, Icelandic */ { '\255', "" }, /* Small y, diæresis / umlaut */ } ; struct tCharTrans Char2Url [] = { { ' ' , "%00" }, /* � Unused */ { ' ' , "%01" }, /*  Unused */ { ' ' , "%02" }, /*  Unused */ { ' ' , "%03" }, /*  Unused */ { ' ' , "%04" }, /*  Unused */ { ' ' , "%05" }, /*  Unused */ { ' ' , "%06" }, /*  Unused */ { ' ' , "%07" }, /*  Unused */ { ' ' , "%08" }, /*  Unused */ { ' ' , "%09" }, /* Horizontal tab */ { ' ' , "%0A" }, /* Line feed */ { ' ' , "%0B" }, /* Unused */ { ' ' , "%0C" }, /* Unused */ { ' ' , "%0D" }, /* Carriage Return */ { ' ' , "%0E" }, /*  Unused */ { ' ' , "%0F" }, /*  Unused */ { ' ' , "%10" }, /*  Unused */ { ' ' , "%11" }, /*  Unused */ { ' ' , "%12" }, /*  Unused */ { ' ' , "%13" }, /*  Unused */ { ' ' , "%14" }, /*  Unused */ { ' ' , "%15" }, /*  Unused */ { ' ' , "%16" }, /*  Unused */ { ' ' , "%17" }, /*  Unused */ { ' ' , "%18" }, /*  Unused */ { ' ' , "%19" }, /*  Unused */ { ' ' , "%1A" }, /*  Unused */ { ' ' , "%1B" }, /*  Unused */ { ' ' , "%1C" }, /*  Unused */ { ' ' , "%1D" }, /*  Unused */ { ' ' , "%1E" }, /*  Unused */ { ' ' , "%1F" }, /*  Unused */ { ' ' , "%20" }, /* Space */ { '!' , "" }, /* ! Exclamation mark */ { '"' , "%22" }, /* Quotation mark */ { '#' , "%23" }, /* # Number sign */ { '$' , "" }, /* $ Dollar sign */ { '%' , "%25" }, /* % Percent sign */ { '&' , "%26" }, /* Ampersand */ { '\'' , "%27" }, /* ' Apostrophe */ { '(' , "" }, /* ( Left parenthesis */ { ')' , "" }, /* ) Right parenthesis */ { '*' , "" }, /* * Asterisk */ { '+' , "%2B" }, /* + Plus sign */ { ',' , "" }, /* , Comma */ { '-' , "" }, /* - Hyphen */ { '.' , "" }, /* . Period (fullstop) */ { '/' , "" }, /* / Solidus (slash) */ { '0' , "" }, /* 0 Digit 0 */ { '1' , "" }, /* 1 Digit 1 */ { '2' , "" }, /* 2 Digit 2 */ { '3' , "" }, /* 3 Digit 3 */ { '4' , "" }, /* 4 Digit 4 */ { '5' , "" }, /* 5 Digit 5 */ { '6' , "" }, /* 6 Digit 6 */ { '7' , "" }, /* 7 Digit 7 */ { '8' , "" }, /* 8 Digit 8 */ { '9' , "" }, /* 9 Digit 9 */ { ':' , "" }, /* : Colon */ { ';' , "%3B" }, /* ; Semicolon */ { '<' , "%3C" }, /* Less than */ { '=' , "%3D" }, /* = Equals sign */ { '>' , "%3E" }, /* Greater than */ { '?' , "%3F" }, /* ? Question mark */ { '@' , "" }, /* @ Commercial at */ { 'A' , "" }, /* A Capital A */ { 'B' , "" }, /* B Capital B */ { 'C' , "" }, /* C Capital C */ { 'D' , "" }, /* D Capital D */ { 'E' , "" }, /* E Capital E */ { 'F' , "" }, /* F Capital F */ { 'G' , "" }, /* G Capital G */ { 'H' , "" }, /* H Capital H */ { 'I' , "" }, /* I Capital I */ { 'J' , "" }, /* J Capital J */ { 'K' , "" }, /* K Capital K */ { 'L' , "" }, /* L Capital L */ { 'M' , "" }, /* M Capital M */ { 'N' , "" }, /* N Capital N */ { 'O' , "" }, /* O Capital O */ { 'P' , "" }, /* P Capital P */ { 'Q' , "" }, /* Q Capital Q */ { 'R' , "" }, /* R Capital R */ { 'S' , "" }, /* S Capital S */ { 'T' , "" }, /* T Capital T */ { 'U' , "" }, /* U Capital U */ { 'V' , "" }, /* V Capital V */ { 'W' , "" }, /* W Capital W */ { 'X' , "" }, /* X Capital X */ { 'Y' , "" }, /* Y Capital Y */ { 'Z' , "" }, /* Z Capital Z */ { '[' , "" }, /* [ Left square bracket */ { '\\' , "" }, /* \ Reverse solidus (backslash) */ { ']' , "" }, /* ] Right square bracket */ { '^' , "" }, /* ^ Caret */ { '_' , "" }, /* _ Horizontal bar (underscore) */ { '`' , "" }, /* ` Acute accent */ { 'a' , "" }, /* a Small a */ { 'b' , "" }, /* b Small b */ { 'c' , "" }, /* c Small c */ { 'd' , "" }, /* d Small d */ { 'e' , "" }, /* e Small e */ { 'f' , "" }, /* f Small f */ { 'g' , "" }, /* g Small g */ { 'h' , "" }, /* h Small h */ { 'i' , "" }, /* i Small i */ { 'j' , "" }, /* j Small j */ { 'k' , "" }, /* k Small k */ { 'l' , "" }, /* l Small l */ { 'm' , "" }, /* m Small m */ { 'n' , "" }, /* n Small n */ { 'o' , "" }, /* o Small o */ { 'p' , "" }, /* p Small p */ { 'q' , "" }, /* q Small q */ { 'r' , "" }, /* r Small r */ { 's' , "" }, /* s Small s */ { 't' , "" }, /* t Small t */ { 'u' , "" }, /* u Small u */ { 'v' , "" }, /* v Small v */ { 'w' , "" }, /* w Small w */ { 'x' , "" }, /* x Small x */ { 'y' , "" }, /* y Small y */ { 'z' , "" }, /* z Small z */ { '{' , "" }, /* { Left curly brace */ { '|' , "" }, /* | Vertical bar */ { '}' , "" }, /* } Right curly brace */ { '~' , "" }, /* ~ Tilde */ { '' , "" }, /*  Unused */ { '€' , "" }, /* € Unused */ { ' ' , "" }, /*  Unused */ { ' ' , "" }, /* ‚ Unused */ { ' ' , "" }, /* ƒ Unused */ { ' ' , "" }, /* „ Unused */ { ' ' , "" }, /* … Unused */ { ' ' , "" }, /* † Unused */ { ' ' , "" }, /* ‡ Unused */ { ' ' , "" }, /* ˆ Unused */ { ' ' , "" }, /* ‰ Unused */ { ' ' , "" }, /* Š Horizontal tab */ { ' ' , "" }, /* ‹ Line feed */ { ' ' , "" }, /* Œ Unused */ { ' ' , "" }, /*  Unused */ { ' ' , "" }, /* Ž Carriage Return */ { ' ' , "" }, /*  Unused */ { ' ' , "" }, /*  Unused */ { ' ' , "" }, /* ‘ Unused */ { ' ' , "" }, /* ’ Unused */ { ' ' , "" }, /* “ Unused */ { ' ' , "" }, /* ” Unused */ { ' ' , "" }, /* • Unused */ { ' ' , "" }, /* – Unused */ { ' ' , "" }, /* — Unused */ { ' ' , "" }, /* ˜ Unused */ { ' ' , "" }, /* ™ Unused */ { ' ' , "" }, /* š Unused */ { ' ' , "" }, /* › Unused */ { ' ' , "" }, /* œ Unused */ { ' ' , "" }, /*  Unused */ { ' ' , "" }, /* ž Unused */ { ' ' , "" }, /* Ÿ Unused */ { ' ' , "" }, /* Non-breaking Space */ { '¡' , "" }, /* Inverted exclamation */ { '¢' , "" }, /* Cent sign */ { '£' , "" }, /* Pound sterling */ { '¤' , "" }, /* General currency sign */ { '¥' , "" }, /* Yen sign */ { '¦' , "" }, /* Broken vertical bar */ { '§' , "" }, /* Section sign */ { '¨' , "" }, /* Diæresis / Umlaut */ { '©' , "" }, /* Copyright */ { 'ª' , "" }, /* Feminine ordinal */ { '«' , "" }, /* Left angle quote, guillemot left */ { '¬' , "" }, /* Not sign */ { '­' , "" }, /* Soft hyphen */ { '®' , "" }, /* Registered trademark */ { '¯' , "" }, /* Macron accent */ { '°' , "" }, /* Degree sign */ { '±' , "" }, /* Plus or minus */ { '²' , "" }, /* Superscript two */ { '³' , "" }, /* Superscript three */ { '´' , "" }, /* Acute accent */ { 'µ' , "" }, /* Micro sign */ { '¶' , "" }, /* Paragraph sign */ { '·' , "" }, /* Middle dot */ { '¸' , "" }, /* Cedilla */ { '¹' , "" }, /* Superscript one */ { 'º' , "" }, /* Masculine ordinal */ { '»' , "" }, /* Right angle quote, guillemot right */ { '¼' , "" }, /* Fraction one-fourth */ { '½' , "" }, /* Fraction one-half */ { '¾' , "" }, /* Fraction three-fourths */ { '¿' , "" }, /* Inverted question mark */ { 'À' , "" }, /* Capital A, grave accent */ { 'Á' , "" }, /* Capital A, acute accent */ { 'Â' , "" }, /* Capital A, circumflex */ { 'Ã' , "" }, /* Capital A, tilde */ { 'Ä' , "" }, /* Capital A, diæresis / umlaut */ { 'Å' , "" }, /* Capital A, ring */ { 'Æ' , "" }, /* Capital AE ligature */ { 'Ç' , "" }, /* Capital C, cedilla */ { 'È' , "" }, /* Capital E, grave accent */ { 'É' , "" }, /* Capital E, acute accent */ { 'Ê' , "" }, /* Capital E, circumflex */ { 'Ë' , "" }, /* Capital E, diæresis / umlaut */ { 'Ì' , "" }, /* Capital I, grave accent */ { 'Í' , "" }, /* Capital I, acute accent */ { 'Î' , "" }, /* Capital I, circumflex */ { 'Ï' , "" }, /* Capital I, diæresis / umlaut */ { 'Ð' , "" }, /* Capital Eth, Icelandic */ { 'Ñ' , "" }, /* Capital N, tilde */ { 'Ò' , "" }, /* Capital O, grave accent */ { 'Ó' , "" }, /* Capital O, acute accent */ { 'Ô' , "" }, /* Capital O, circumflex */ { 'Õ' , "" }, /* Capital O, tilde */ { 'Ö' , "" }, /* Capital O, diæresis / umlaut */ { '×' , "" }, /* Multiply sign */ { 'Ø' , "" }, /* Capital O, slash */ { 'Ù' , "" }, /* Capital U, grave accent */ { 'Ú' , "" }, /* Capital U, acute accent */ { 'Û' , "" }, /* Capital U, circumflex */ { 'Ü' , "" }, /* Capital U, diæresis / umlaut */ { 'Ý' , "" }, /* Capital Y, acute accent */ { 'Þ' , "" }, /* Capital Thorn, Icelandic */ { 'ß' , "" }, /* Small sharp s, German sz */ { 'à' , "" }, /* Small a, grave accent */ { 'ß' , "" }, /* Small a, acute accent */ { 'â' , "" }, /* Small a, circumflex */ { 'ã' , "" }, /* Small a, tilde */ { 'ä' , "" }, /* Small a, diæresis / umlaut */ { 'å' , "" }, /* Small a, ring */ { 'æ' , "" }, /* Small ae ligature */ { 'ç' , "" }, /* Small c, cedilla */ { 'è' , "" }, /* Small e, grave accent */ { 'é' , "" }, /* Small e, acute accent */ { 'ê' , "" }, /* Small e, circumflex */ { 'ë' , "" }, /* Small e, diæresis / umlaut */ { 'ì' , "" }, /* Small i, grave accent */ { 'í' , "" }, /* Small i, acute accent */ { 'î' , "" }, /* Small i, circumflex */ { 'ï' , "" }, /* Small i, diæresis / umlaut */ { 'ð' , "" }, /* Small eth, Icelandic */ { 'ñ' , "" }, /* Small n, tilde */ { 'ò' , "" }, /* Small o, grave accent */ { 'ó' , "" }, /* Small o, acute accent */ { 'ô' , "" }, /* Small o, circumflex */ { 'õ' , "" }, /* Small o, tilde */ { 'ö' , "" }, /* Small o, diæresis / umlaut */ { '÷' , "" }, /* Division sign */ { 'ø' , "" }, /* Small o, slash */ { 'ù' , "" }, /* Small u, grave accent */ { 'ú' , "" }, /* Small u, acute accent */ { 'û' , "" }, /* Small u, circumflex */ { 'ü' , "" }, /* Small u, diæresis / umlaut */ { 'ý' , "" }, /* Small y, acute accent */ { 'þ' , "" }, /* Small thorn, Icelandic */ { '\255', "" }, /* Small y, diæresis / umlaut */ } ; struct tCharTrans Html2Char [] = { { 'Æ' , "" }, /* Capital AE ligature */ { 'Á' , "" }, /* Capital A, acute accent */ { 'Â' , "" }, /* Capital A, circumflex */ { 'À' , "" }, /* Capital A, grave accent */ { 'Å' , "" }, /* Capital A, ring */ { 'Ã' , "" }, /* Capital A, tilde */ { 'Ä' , "" }, /* Capital A, diæresis / umlaut */ { 'Ç' , "" }, /* Capital C, cedilla */ { 'Ð' , "" }, /* Capital Eth, Icelandic */ { 'É' , "" }, /* Capital E, acute accent */ { 'Ê' , "" }, /* Capital E, circumflex */ { 'È' , "" }, /* Capital E, grave accent */ { 'Ë' , "" }, /* Capital E, diæresis / umlaut */ { 'Í' , "" }, /* Capital I, acute accent */ { 'Î' , "" }, /* Capital I, circumflex */ { 'Ì' , "" }, /* Capital I, grave accent */ { 'Ï' , "" }, /* Capital I, diæresis / umlaut */ { 'Ñ' , "" }, /* Capital N, tilde */ { 'Ó' , "" }, /* Capital O, acute accent */ { 'Ô' , "" }, /* Capital O, circumflex */ { 'Ò' , "" }, /* Capital O, grave accent */ { 'Ø' , "" }, /* Capital O, slash */ { 'Õ' , "" }, /* Capital O, tilde */ { 'Ö' , "" }, /* Capital O, diæresis / umlaut */ { 'Þ' , "" }, /* Capital Thorn, Icelandic */ { 'Ú' , "" }, /* Capital U, acute accent */ { 'Û' , "" }, /* Capital U, circumflex */ { 'Ù' , "" }, /* Capital U, grave accent */ { 'Ü' , "" }, /* Capital U, diæresis / umlaut */ { 'Ý' , "" }, /* Capital Y, acute accent */ { 'ß' , "" }, /* Small a, acute accent */ { 'â' , "" }, /* Small a, circumflex */ { '´' , "" }, /* Acute accent */ { 'æ' , "" }, /* Small ae ligature */ { 'à' , "" }, /* Small a, grave accent */ { '&' , "" }, /* Ampersand */ { 'å' , "" }, /* Small a, ring */ { 'ã' , "" }, /* Small a, tilde */ { 'ä' , "" }, /* Small a, diæresis / umlaut */ { '¦' , "" }, /* Broken vertical bar */ { '¦' , "" }, /* Broken vertical bar */ { 'ç' , "" }, /* Small c, cedilla */ { '¸' , "" }, /* Cedilla */ { '¢' , "" }, /* Cent sign */ { '©' , "" }, /* Copyright */ { '¤' , "" }, /* General currency sign */ { '°' , "" }, /* Degree sign */ { '¨' , "" }, /* Diæresis / Umlaut */ { '÷' , "" }, /* Division sign */ { 'é' , "" }, /* Small e, acute accent */ { 'ê' , "" }, /* Small e, circumflex */ { 'è' , "" }, /* Small e, grave accent */ { 'ð' , "" }, /* Small eth, Icelandic */ { 'ë' , "" }, /* Small e, diæresis / umlaut */ { '½' , "" }, /* Fraction one-half */ { '¼' , "" }, /* Fraction one-fourth */ { '¾' , "" }, /* Fraction three-fourths */ { '>' , "" }, /* Greater than */ { '¯' , "" }, /* Macron accent */ { 'í' , "" }, /* Small i, acute accent */ { 'î' , "" }, /* Small i, circumflex */ { '¡' , "" }, /* Inverted exclamation */ { 'ì' , "" }, /* Small i, grave accent */ { '¿' , "" }, /* Inverted question mark */ { 'ï' , "" }, /* Small i, diæresis / umlaut */ { '«' , "" }, /* Left angle quote, guillemot left */ { '<' , "" }, /* Less than */ { '¯' , "" }, /* Macron accent */ { 'µ' , "" }, /* Micro sign */ { '·' , "" }, /* Middle dot */ { ' ' , "" }, /* Non-breaking Space */ { '¬' , "" }, /* Not sign */ { 'ñ' , "" }, /* Small n, tilde */ { 'ó' , "" }, /* Small o, acute accent */ { 'ô' , "" }, /* Small o, circumflex */ { 'ò' , "" }, /* Small o, grave accent */ { 'ª' , "" }, /* Feminine ordinal */ { 'º' , "" }, /* Masculine ordinal */ { 'ø' , "" }, /* Small o, slash */ { 'õ' , "" }, /* Small o, tilde */ { 'ö' , "" }, /* Small o, diæresis / umlaut */ { '¶' , "" }, /* Paragraph sign */ { '±' , "" }, /* Plus or minus */ { '£' , "" }, /* Pound sterling */ { '"' , "" }, /* Quotation mark */ { '»' , "" }, /* Right angle quote, guillemot right */ { '®' , "" }, /* Registered trademark */ { '§' , "" }, /* Section sign */ { '­' , "" }, /* Soft hyphen */ { '¹' , "" }, /* Superscript one */ { '²' , "" }, /* Superscript two */ { '³' , "" }, /* Superscript three */ { 'ß' , "" }, /* Small sharp s, German sz */ { 'þ' , "" }, /* Small thorn, Icelandic */ { '×' , "" }, /* Multiply sign */ { 'ú' , "" }, /* Small u, acute accent */ { 'û' , "" }, /* Small u, circumflex */ { 'ù' , "" }, /* Small u, grave accent */ { '¨' , "" }, /* Diæresis / Umlaut */ { 'ü' , "" }, /* Small u, diæresis / umlaut */ { 'ý' , "" }, /* Small y, acute accent */ { '¥' , "" }, /* Yen sign */ { '\255', "" }, /* Small y, diæresis / umlaut */ } ; int sizeHtml2Char = sizeof (Html2Char) / sizeof (struct tCharTrans) ;