The Perl Toolchain Summit 2025 Needs You: You can help 🙏 Learn more

/*###################################################################################
#
# Embperl - Copyright (c) 1997-1999 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.
#
###################################################################################*/
/* input and output escaping for iso-8859-2 (iso-latin-2) */
/* from Jiri Novak */
#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 */
{ ';' , "" }, /* &#59; Semicolon */
{ '<' , "&lt;" }, /* Less than */
{ '=' , "" }, /* &#61; Equals sign */
{ '>' , "&gt;" }, /* Greater than */
{ '?' , "" }, /* &#63; Question mark */
{ '@' , "" }, /* &#64; Commercial at */
{ 'A' , "" }, /* &#65; Capital A */
{ 'B' , "" }, /* &#66; Capital B */
{ 'C' , "" }, /* &#67; Capital C */
{ 'D' , "" }, /* &#68; Capital D */
{ 'E' , "" }, /* &#69; Capital E */
{ 'F' , "" }, /* &#70; Capital F */
{ 'G' , "" }, /* &#71; Capital G */
{ 'H' , "" }, /* &#72; Capital H */
{ 'I' , "" }, /* &#73; Capital I */
{ 'J' , "" }, /* &#74; Capital J */
{ 'K' , "" }, /* &#75; Capital K */
{ 'L' , "" }, /* &#76; Capital L */
{ 'M' , "" }, /* &#77; Capital M */
{ 'N' , "" }, /* &#78; Capital N */
{ 'O' , "" }, /* &#79; Capital O */
{ 'P' , "" }, /* &#80; Capital P */
{ 'Q' , "" }, /* &#81; Capital Q */
{ 'R' , "" }, /* &#82; Capital R */
{ 'S' , "" }, /* &#83; Capital S */
{ 'T' , "" }, /* &#84; Capital T */
{ 'U' , "" }, /* &#85; Capital U */
{ 'V' , "" }, /* &#86; Capital V */
{ 'W' , "" }, /* &#87; Capital W */
{ 'X' , "" }, /* &#88; Capital X */
{ 'Y' , "" }, /* &#89; Capital Y */
{ 'Z' , "" }, /* &#90; Capital Z */
{ '[' , "" }, /* &#91; Left square bracket */
{ '\\' , "" }, /* &#92; Reverse solidus (backslash) */
{ ']' , "" }, /* &#93; Right square bracket */
{ '^' , "" }, /* &#94; Caret */
{ '_' , "" }, /* &#95; Horizontal bar (underscore) */
{ '`' , "" }, /* &#96; Acute accent */
{ 'a' , "" }, /* &#97; Small a */
{ 'b' , "" }, /* &#98; Small b */
{ 'c' , "" }, /* &#99; Small c */
{ 'd' , "" }, /* &#100; Small d */
{ 'e' , "" }, /* &#101; Small e */
{ 'f' , "" }, /* &#102; Small f */
{ 'g' , "" }, /* &#103; Small g */
{ 'h' , "" }, /* &#104; Small h */
{ 'i' , "" }, /* &#105; Small i */
{ 'j' , "" }, /* &#106; Small j */
{ 'k' , "" }, /* &#107; Small k */
{ 'l' , "" }, /* &#108; Small l */
{ 'm' , "" }, /* &#109; Small m */
{ 'n' , "" }, /* &#110; Small n */
{ 'o' , "" }, /* &#111; Small o */
{ 'p' , "" }, /* &#112; Small p */
{ 'q' , "" }, /* &#113; Small q */
{ 'r' , "" }, /* &#114; Small r */
{ 's' , "" }, /* &#115; Small s */
{ 't' , "" }, /* &#116; Small t */
{ 'u' , "" }, /* &#117; Small u */
{ 'v' , "" }, /* &#118; Small v */
{ 'w' , "" }, /* &#119; Small w */
{ 'x' , "" }, /* &#120; Small x */
{ 'y' , "" }, /* &#121; Small y */
{ 'z' , "" }, /* &#122; Small z */
{ '{' , "" }, /* &#123; Left curly brace */
{ '|' , "" }, /* &#124; Vertical bar */
{ '}' , "" }, /* &#125; Right curly brace */
{ '~' , "" }, /* &#126; Tilde */
{ '' , "" }, /* &#127; Unused */
{ '€' , "" }, /* &#128; Unused */
{ ' ' , "" }, /* &#129; Unused */
{ ' ' , "" }, /* &#130; Unused */
{ ' ' , "" }, /* &#131; Unused */
{ ' ' , "" }, /* &#132; Unused */
{ ' ' , "" }, /* &#133; Unused */
{ ' ' , "" }, /* &#134; Unused */
{ ' ' , "" }, /* &#135; Unused */
{ ' ' , "" }, /* &#136; Unused */
{ ' ' , "" }, /* &#137; Unused */
{ ' ' , "" }, /* &#138; Horizontal tab */
{ ' ' , "" }, /* &#139; Line feed */
{ ' ' , "" }, /* &#140; Unused */
{ ' ' , "" }, /* &#141; Unused */
{ ' ' , "" }, /* &#142; Carriage Return */
{ ' ' , "" }, /* &#143; Unused */
{ ' ' , "" }, /* &#144; Unused */
{ ' ' , "" }, /* &#145; Unused */
{ ' ' , "" }, /* &#146; Unused */
{ ' ' , "" }, /* &#147; Unused */
{ ' ' , "" }, /* &#148; Unused */
{ ' ' , "" }, /* &#149; Unused */
{ ' ' , "" }, /* &#150; Unused */
{ ' ' , "" }, /* &#151; Unused */
{ ' ' , "" }, /* &#152; Unused */
{ ' ' , "" }, /* &#153; Unused */
{ ' ' , "" }, /* &#154; Unused */
{ ' ' , "" }, /* &#155; Unused */
{ ' ' , "" }, /* &#156; Unused */
{ ' ' , "" }, /* &#157; Unused */
{ ' ' , "" }, /* &#158; Unused */
{ ' ' , "" }, /* &#159; Unused */
{ ' ', "&nbsp;" }, /* &#160; - nobreakspace */
{ '¡', "" }, /* &#161; - Aogonek */
{ '¢', "" }, /* &#162; - breve */
{ '£', "" }, /* &#163; - Lstroke */
{ '¤', "&curren;" }, /* &#164; - currency */
{ '¥', "" }, /* &#165; - Lcaron */
{ '¦', "" }, /* &#166; - Sacute */
{ '§', "&sect;" }, /* &#167; - section */
{ '¨', "&die;" }, /* &#168; - diaeresis */
{ '©', "" }, /* &#169; - Scaron */
{ 'ª', "" }, /* &#170; - Scedilla */
{ '«', "" }, /* &#171; - Tcaron */
{ '¬', "" }, /* &#172; - Zacute */
{ '­', "&shy;" }, /* &#173; - hyphen */
{ '®', "" }, /* &#174; - Zcaron */
{ '¯', "" }, /* &#175; - Zabovedot */
{ '°', "&degree;" }, /* &#176; - degree */
{ '±', "" }, /* &#177; - aogonek */
{ '²', "" }, /* &#178; - ogonek */
{ '³', "" }, /* &#179; - lstroke */
{ '´', "&acute;" }, /* &#180; - acute */
{ 'µ', "" }, /* &#181; - lcaron */
{ '¶', "" }, /* &#182; - sacute */
{ '·', "" }, /* &#183; - caron */
{ '¸', "&Cedilla;" }, /* &#184; - cedilla */
{ '¹', "" }, /* &#185; - scaron */
{ 'º', "" }, /* &#186; - scedilla */
{ '»', "" }, /* &#187; - tcaron */
{ '¼', "" }, /* &#188; - zacute */
{ '½', "" }, /* &#189; - doubleacute */
{ '¾', "" }, /* &#190; - zcaron */
{ '¿', "" }, /* &#191; - zabovedot */
{ 'À', "" }, /* &#192; - Racute */
{ 'Á', "&Aacute;" }, /* &#193; - Aacute */
{ 'Â', "&Acirc;" }, /* &#194; - Acircumflex */
{ 'Ã', "" }, /* &#195; - Abreve */
{ 'Ä', "&Auml;" }, /* &#196; - Adiaeresis */
{ 'Å', "" }, /* &#197; - Lacute */
{ 'Æ', "" }, /* &#198; - Cacute */
{ 'Ç', "&Ccedil;" }, /* &#199; - Ccedilla */
{ 'È', "" }, /* &#200; - Ccaron */
{ 'É', "&Eacute;" }, /* &#201; - Eacute */
{ 'Ê', "" }, /* &#202; - Eogonek */
{ 'Ë', "&Euml;" }, /* &#203; - Ediaeresis */
{ 'Ì', "" }, /* &#204; - Ecaron */
{ 'Í', "&Iacute;" }, /* &#205; - Iacute */
{ 'Î', "&Icirc;" }, /* &#206; - Icircumflex */
{ 'Ï', "" }, /* &#207; - Dcaron */
{ 'Ð', "&ETH;" }, /* &#208; - Eth */
{ 'Ñ', "" }, /* &#209; - Nacute */
{ 'Ò', "" }, /* &#210; - Ncaron */
{ 'Ó', "&Oacute;" }, /* &#211; - Oacute */
{ 'Ô', "&Ocirc;" }, /* &#212; - Ocircumflex */
{ 'Õ', "" }, /* &#213; - Odoubleacute */
{ 'Ö', "&Ouml;" }, /* &#214; - Odiaeresis */
{ '×', "&times;" }, /* &#215; - multiply */
{ 'Ø', "" }, /* &#216; - Rcaron */
{ 'Ù', "" }, /* &#217; - Uring */
{ 'Ú', "&Uacute;" }, /* &#218; - Uacute */
{ 'Û', "" }, /* &#219; - Udoubleacute */
{ 'Ü', "&Uuml;" }, /* &#220; - Udiaeresis */
{ 'Ý', "&Yacute;" }, /* &#221; - Yacute */
{ 'Þ', "" }, /* &#222; - Tcedilla */
{ 'ß', "&szlig;" }, /* &#223; - ssharp */
{ 'à', "" }, /* &#224; - racute */
{ 'ß', "&aacute;" }, /* &#225; - aacute */
{ 'â', "&acirc;" }, /* &#226; - acircumflex */
{ 'ã', "" }, /* &#227; - abreve */
{ 'ä', "&auml;" }, /* &#228; - adiaeresis */
{ 'å', "" }, /* &#229; - lacute */
{ 'æ', "" }, /* &#230; - cacute */
{ 'ç', "&ccedil;" }, /* &#231; - ccedilla */
{ 'è', "" }, /* &#232; - ccaron */
{ 'é', "&eacute;" }, /* &#233; - eacute */
{ 'ê', "" }, /* &#234; - eogonek */
{ 'ë', "&euml;" }, /* &#235; - ediaeresis */
{ 'ì', "" }, /* &#236; - ecaron */
{ 'í', "&iacute;" }, /* &#237; - iacute */
{ 'î', "&icirc;" }, /* &#238; - icircumflex */
{ 'ï', "" }, /* &#239; - dcaron */
{ 'ð', "&eth;" }, /* &#240; - eth */
{ 'ñ', "" }, /* &#241; - nacute */
{ 'ò', "" }, /* &#242; - ncaron */
{ 'ó', "&oacute;" }, /* &#243; - oacute */
{ 'ô', "&ocirc;" }, /* &#244; - ocircumflex */
{ 'õ', "" }, /* &#245; - odoubleacute */
{ 'ö', "&ouml;" }, /* &#246; - odiaeresis */
{ '÷', "&divide;" }, /* &#247; - division */
{ 'ø', "" }, /* &#248; - rcaron */
{ 'ù', "" }, /* &#249; - uring */
{ 'ú', "&uacute;" }, /* &#250; - uacute */
{ 'û', "" }, /* &#251; - udoubleacute */
{ 'ü', "&uuml;" }, /* &#252; - udiaeresis */
{ 'ý', "&yacute;" }, /* &#253; - yacute */
{ 'þ', "" }, /* &#254; - tcedilla */
{ '', "" }, /* &#255; - abovedot */
} ;
struct tCharTrans Char2Url [] =
{
{ ' ' , "%00" }, /* &#00; Unused */
{ ' ' , "%01" }, /* &#01; Unused */
{ ' ' , "%02" }, /* &#02; Unused */
{ ' ' , "%03" }, /* &#03; Unused */
{ ' ' , "%04" }, /* &#04; Unused */
{ ' ' , "%05" }, /* &#05; Unused */
{ ' ' , "%06" }, /* &#06; Unused */
{ ' ' , "%07" }, /* &#07; Unused */
{ ' ' , "%08" }, /* &#08; Unused */
{ ' ' , "%09" }, /* &#09; Horizontal tab */
{ ' ' , "%0A" }, /* &#10; Line feed */
{ ' ' , "%0B" }, /* &#11; Unused */
{ ' ' , "%0C" }, /* &#12; Unused */
{ ' ' , "%0D" }, /* &#13; Carriage Return */
{ ' ' , "%0E" }, /* &#14; Unused */
{ ' ' , "%0F" }, /* &#15; Unused */
{ ' ' , "%10" }, /* &#16; Unused */
{ ' ' , "%11" }, /* &#17; Unused */
{ ' ' , "%12" }, /* &#18; Unused */
{ ' ' , "%13" }, /* &#19; Unused */
{ ' ' , "%14" }, /* &#20; Unused */
{ ' ' , "%15" }, /* &#21; Unused */
{ ' ' , "%16" }, /* &#22; Unused */
{ ' ' , "%17" }, /* &#23; Unused */
{ ' ' , "%18" }, /* &#24; Unused */
{ ' ' , "%19" }, /* &#25; Unused */
{ ' ' , "%1A" }, /* &#26; Unused */
{ ' ' , "%1B" }, /* &#27; Unused */
{ ' ' , "%1C" }, /* &#28; Unused */
{ ' ' , "%1D" }, /* &#29; Unused */
{ ' ' , "%1E" }, /* &#30; Unused */
{ ' ' , "%1F" }, /* &#31; Unused */
{ ' ' , "%20" }, /* &#32; Space */
{ '!' , "" }, /* &#33; Exclamation mark */
{ '"' , "%22" }, /* Quotation mark */
{ '#' , "%23" }, /* &#35; Number sign */
{ '$' , "" }, /* &#36; Dollar sign */
{ '%' , "%25" }, /* &#37; Percent sign */
{ '&' , "%26" }, /* Ampersand */
{ '\'' , "%27" }, /* &#39; Apostrophe */
{ '(' , "" }, /* &#40; Left parenthesis */
{ ')' , "" }, /* &#41; Right parenthesis */
{ '*' , "" }, /* &#42; Asterisk */
{ '+' , "%2B" }, /* &#43; Plus sign */
{ ',' , "" }, /* &#44; Comma */
{ '-' , "" }, /* &#45; Hyphen */
{ '.' , "" }, /* &#46; Period (fullstop) */
{ '/' , "" }, /* &#47; Solidus (slash) */
{ '0' , "" }, /* &#48; Digit 0 */
{ '1' , "" }, /* &#49; Digit 1 */
{ '2' , "" }, /* &#50; Digit 2 */
{ '3' , "" }, /* &#51; Digit 3 */
{ '4' , "" }, /* &#52; Digit 4 */
{ '5' , "" }, /* &#53; Digit 5 */
{ '6' , "" }, /* &#54; Digit 6 */
{ '7' , "" }, /* &#55; Digit 7 */
{ '8' , "" }, /* &#56; Digit 8 */
{ '9' , "" }, /* &#57; Digit 9 */
{ ':' , "" }, /* &#58; Colon */
{ ';' , "%3B" }, /* &#59; Semicolon */
{ '<' , "%3C" }, /* Less than */
{ '=' , "%3D" }, /* &#61; Equals sign */
{ '>' , "%3E" }, /* Greater than */
{ '?' , "%3F" }, /* &#63; Question mark */
{ '@' , "" }, /* &#64; Commercial at */
{ 'A' , "" }, /* &#65; Capital A */
{ 'B' , "" }, /* &#66; Capital B */
{ 'C' , "" }, /* &#67; Capital C */
{ 'D' , "" }, /* &#68; Capital D */
{ 'E' , "" }, /* &#69; Capital E */
{ 'F' , "" }, /* &#70; Capital F */
{ 'G' , "" }, /* &#71; Capital G */
{ 'H' , "" }, /* &#72; Capital H */
{ 'I' , "" }, /* &#73; Capital I */
{ 'J' , "" }, /* &#74; Capital J */
{ 'K' , "" }, /* &#75; Capital K */
{ 'L' , "" }, /* &#76; Capital L */
{ 'M' , "" }, /* &#77; Capital M */
{ 'N' , "" }, /* &#78; Capital N */
{ 'O' , "" }, /* &#79; Capital O */
{ 'P' , "" }, /* &#80; Capital P */
{ 'Q' , "" }, /* &#81; Capital Q */
{ 'R' , "" }, /* &#82; Capital R */
{ 'S' , "" }, /* &#83; Capital S */
{ 'T' , "" }, /* &#84; Capital T */
{ 'U' , "" }, /* &#85; Capital U */
{ 'V' , "" }, /* &#86; Capital V */
{ 'W' , "" }, /* &#87; Capital W */
{ 'X' , "" }, /* &#88; Capital X */
{ 'Y' , "" }, /* &#89; Capital Y */
{ 'Z' , "" }, /* &#90; Capital Z */
{ '[' , "" }, /* &#91; Left square bracket */
{ '\\' , "" }, /* &#92; Reverse solidus (backslash) */
{ ']' , "" }, /* &#93; Right square bracket */
{ '^' , "" }, /* &#94; Caret */
{ '_' , "" }, /* &#95; Horizontal bar (underscore) */
{ '`' , "" }, /* &#96; Acute accent */
{ 'a' , "" }, /* &#97; Small a */
{ 'b' , "" }, /* &#98; Small b */
{ 'c' , "" }, /* &#99; Small c */
{ 'd' , "" }, /* &#100; Small d */
{ 'e' , "" }, /* &#101; Small e */
{ 'f' , "" }, /* &#102; Small f */
{ 'g' , "" }, /* &#103; Small g */
{ 'h' , "" }, /* &#104; Small h */
{ 'i' , "" }, /* &#105; Small i */
{ 'j' , "" }, /* &#106; Small j */
{ 'k' , "" }, /* &#107; Small k */
{ 'l' , "" }, /* &#108; Small l */
{ 'm' , "" }, /* &#109; Small m */
{ 'n' , "" }, /* &#110; Small n */
{ 'o' , "" }, /* &#111; Small o */
{ 'p' , "" }, /* &#112; Small p */
{ 'q' , "" }, /* &#113; Small q */
{ 'r' , "" }, /* &#114; Small r */
{ 's' , "" }, /* &#115; Small s */
{ 't' , "" }, /* &#116; Small t */
{ 'u' , "" }, /* &#117; Small u */
{ 'v' , "" }, /* &#118; Small v */
{ 'w' , "" }, /* &#119; Small w */
{ 'x' , "" }, /* &#120; Small x */
{ 'y' , "" }, /* &#121; Small y */
{ 'z' , "" }, /* &#122; Small z */
{ '{' , "" }, /* &#123; Left curly brace */
{ '|' , "" }, /* &#124; Vertical bar */
{ '}' , "" }, /* &#125; Right curly brace */
{ '~' , "" }, /* &#126; Tilde */
{ '' , "" }, /* &#127; Unused */
{ '€' , "" }, /* &#128; Unused */
{ ' ' , "" }, /* &#129; Unused */
{ ' ' , "" }, /* &#130; Unused */
{ ' ' , "" }, /* &#131; Unused */
{ ' ' , "" }, /* &#132; Unused */
{ ' ' , "" }, /* &#133; Unused */
{ ' ' , "" }, /* &#134; Unused */
{ ' ' , "" }, /* &#135; Unused */
{ ' ' , "" }, /* &#136; Unused */
{ ' ' , "" }, /* &#137; Unused */
{ ' ' , "" }, /* &#138; Horizontal tab */
{ ' ' , "" }, /* &#139; Line feed */
{ ' ' , "" }, /* &#140; Unused */
{ ' ' , "" }, /* &#141; Unused */
{ ' ' , "" }, /* &#142; Carriage Return */
{ ' ' , "" }, /* &#143; Unused */
{ ' ' , "" }, /* &#144; Unused */
{ ' ' , "" }, /* &#145; Unused */
{ ' ' , "" }, /* &#146; Unused */
{ ' ' , "" }, /* &#147; Unused */
{ ' ' , "" }, /* &#148; Unused */
{ ' ' , "" }, /* &#149; Unused */
{ ' ' , "" }, /* &#150; Unused */
{ ' ' , "" }, /* &#151; Unused */
{ ' ' , "" }, /* &#152; Unused */
{ ' ' , "" }, /* &#153; Unused */
{ ' ' , "" }, /* &#154; Unused */
{ ' ' , "" }, /* &#155; Unused */
{ ' ' , "" }, /* &#156; Unused */
{ ' ' , "" }, /* &#157; Unused */
{ ' ' , "" }, /* &#158; Unused */
{ ' ' , "" }, /* &#159; 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 [] =
{
{ 'Æ' , "&AElig" }, /* Capital AE ligature */
{ 'Á' , "&Aacute" }, /* Capital A, acute accent */
{ 'Â' , "&Acirc" }, /* Capital A, circumflex */
{ 'À' , "&Agrave" }, /* Capital A, grave accent */
{ 'Å' , "&Aring" }, /* Capital A, ring */
{ 'Ã' , "&Atilde" }, /* Capital A, tilde */
{ 'Ä' , "&Auml" }, /* Capital A, diæresis / umlaut */
{ 'Ç' , "&Ccedil" }, /* Capital C, cedilla */
{ 'Ð' , "&ETH" }, /* Capital Eth, Icelandic */
{ 'É' , "&Eacute" }, /* Capital E, acute accent */
{ 'Ê' , "&Ecirc" }, /* Capital E, circumflex */
{ 'È' , "&Egrave" }, /* Capital E, grave accent */
{ 'Ë' , "&Euml" }, /* Capital E, diæresis / umlaut */
{ 'Í' , "&Iacute" }, /* Capital I, acute accent */
{ 'Î' , "&Icirc" }, /* Capital I, circumflex */
{ 'Ì' , "&Igrave" }, /* Capital I, grave accent */
{ 'Ï' , "&Iuml" }, /* Capital I, diæresis / umlaut */
{ 'Ñ' , "&Ntilde" }, /* Capital N, tilde */
{ 'Ó' , "&Oacute" }, /* Capital O, acute accent */
{ 'Ô' , "&Ocirc" }, /* Capital O, circumflex */
{ 'Ò' , "&Ograve" }, /* Capital O, grave accent */
{ 'Ø' , "&Oslash" }, /* Capital O, slash */
{ 'Õ' , "&Otilde" }, /* Capital O, tilde */
{ 'Ö' , "&Ouml" }, /* Capital O, diæresis / umlaut */
{ 'Þ' , "&THORN" }, /* Capital Thorn, Icelandic */
{ 'Ú' , "&Uacute" }, /* Capital U, acute accent */
{ 'Û' , "&Ucirc" }, /* Capital U, circumflex */
{ 'Ù' , "&Ugrave" }, /* Capital U, grave accent */
{ 'Ü' , "&Uuml" }, /* Capital U, diæresis / umlaut */
{ 'Ý' , "&Yacute" }, /* Capital Y, acute accent */
{ 'ß' , "&aacute" }, /* Small a, acute accent */
{ 'â' , "&acirc" }, /* Small a, circumflex */
{ '´' , "&acute" }, /* Acute accent */
{ 'æ' , "&aelig" }, /* Small ae ligature */
{ 'à' , "&agrave" }, /* Small a, grave accent */
{ '&' , "&amp" }, /* Ampersand */
{ 'å' , "&aring" }, /* Small a, ring */
{ 'ã' , "&atilde" }, /* Small a, tilde */
{ 'ä' , "&auml" }, /* Small a, diæresis / umlaut */
{ '¦' , "&brkbar" }, /* Broken vertical bar */
{ '¦' , "&brvbar" }, /* Broken vertical bar */
{ 'ç' , "&ccedil" }, /* Small c, cedilla */
{ '¸' , "&cedil" }, /* Cedilla */
{ '¢' , "&cent" }, /* Cent sign */
{ '©' , "&copy" }, /* Copyright */
{ '¤' , "&curren" }, /* General currency sign */
{ '°' , "&deg" }, /* Degree sign */
{ '¨' , "&die" }, /* Diæresis / Umlaut */
{ '÷' , "&divide" }, /* Division sign */
{ 'é' , "&eacute" }, /* Small e, acute accent */
{ 'ê' , "&ecirc" }, /* Small e, circumflex */
{ 'è' , "&egrave" }, /* Small e, grave accent */
{ 'ð' , "&eth" }, /* Small eth, Icelandic */
{ 'ë' , "&euml" }, /* Small e, diæresis / umlaut */
{ '½' , "&frac12" }, /* Fraction one-half */
{ '¼' , "&frac14" }, /* Fraction one-fourth */
{ '¾' , "&frac34" }, /* Fraction three-fourths */
{ '>' , "&gt" }, /* Greater than */
{ '¯' , "&hibar" }, /* Macron accent */
{ 'í' , "&iacute" }, /* Small i, acute accent */
{ 'î' , "&icirc" }, /* Small i, circumflex */
{ '¡' , "&iexcl" }, /* Inverted exclamation */
{ 'ì' , "&igrave" }, /* Small i, grave accent */
{ '¿' , "&iquest" }, /* Inverted question mark */
{ 'ï' , "&iuml" }, /* Small i, diæresis / umlaut */
{ '«' , "&laquo" }, /* Left angle quote, guillemot left */
{ '<' , "&lt" }, /* Less than */
{ '¯' , "&macr" }, /* Macron accent */
{ 'µ' , "&micro" }, /* Micro sign */
{ '·' , "&middot" }, /* Middle dot */
{ ' ' , "&nbsp" }, /* Non-breaking Space */
{ '¬' , "&not" }, /* Not sign */
{ 'ñ' , "&ntilde" }, /* Small n, tilde */
{ 'ó' , "&oacute" }, /* Small o, acute accent */
{ 'ô' , "&ocirc" }, /* Small o, circumflex */
{ 'ò' , "&ograve" }, /* Small o, grave accent */
{ 'ª' , "&ordf" }, /* Feminine ordinal */
{ 'º' , "&ordm" }, /* Masculine ordinal */
{ 'ø' , "&oslash" }, /* Small o, slash */
{ 'õ' , "&otilde" }, /* Small o, tilde */
{ 'ö' , "&ouml" }, /* Small o, diæresis / umlaut */
{ '¶' , "&para" }, /* Paragraph sign */
{ '±' , "&plusmn" }, /* Plus or minus */
{ '£' , "&pound" }, /* Pound sterling */
{ '"' , "&quot" }, /* Quotation mark */
{ '»' , "&raquo" }, /* Right angle quote, guillemot right */
{ '®' , "&reg" }, /* Registered trademark */
{ '§' , "&sect" }, /* Section sign */
{ '­' , "&shy" }, /* Soft hyphen */
{ '¹' , "&sup1" }, /* Superscript one */
{ '²' , "&sup2" }, /* Superscript two */
{ '³' , "&sup3" }, /* Superscript three */
{ 'ß' , "&szlig" }, /* Small sharp s, German sz */
{ 'þ' , "&thorn" }, /* Small thorn, Icelandic */
{ '×' , "&times" }, /* Multiply sign */
{ 'ú' , "&uacute" }, /* Small u, acute accent */
{ 'û' , "&ucirc" }, /* Small u, circumflex */
{ 'ù' , "&ugrave" }, /* Small u, grave accent */
{ '¨' , "&um" }, /* Diæresis / Umlaut */
{ 'ü' , "&uuml" }, /* Small u, diæresis / umlaut */
{ 'ý' , "&yacute" }, /* Small y, acute accent */
{ '¥' , "&yen" }, /* Yen sign */
{ '\255', "&yuml" }, /* Small y, diæresis / umlaut */
} ;
int sizeHtml2Char = sizeof (Html2Char) / sizeof (struct tCharTrans) ;