/*###################################################################################
#
# Embperl - Copyright (c) 1997-2001 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.
#
# $Id: epchar.c,v 1.16 2001/09/13 07:28:47 richter Exp $
#
###################################################################################*/
/* input and output escaping for iso-8859-1 (iso-latin-1) */
#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 */
{ '\x80' , "€" }, /* € Unused */
{ '\x81' , "" }, /*  Unused */
{ '\x82' , "‚" }, /* ‚ Unused */
{ '\x83' , "ƒ" }, /* ƒ Unused */
{ '\x84' , "„" }, /* „ Unused */
{ '\x85' , "…" }, /* … Unused */
{ '\x86' , "†" }, /* † Unused */
{ '\x87' , "‡" }, /* ‡ Unused */
{ '\x88' , "ˆ" }, /* ˆ Unused */
{ '\x89' , "‰" }, /* ‰ Unused */
{ '\x8a' , "Š" }, /* Š Horizontal tab */
{ '\x8b' , "‹" }, /* ‹ Line feed */
{ '\x8c' , "Œ" }, /* Œ Unused */
{ '\x8d' , "" }, /*  Unused */
{ '\x8e' , "Ž" }, /* Ž Carriage Return */
{ '\x8f' , "" }, /*  Unused */
{ '\x90' , "" }, /*  Unused */
{ '\x91' , "‘" }, /* ‘ Unused */
{ '\x92' , "’" }, /* ’ Unused */
{ '\x93' , "“" }, /* “ Unused */
{ '\x94' , "”" }, /* ” Unused */
{ '\x95' , "•" }, /* • Unused */
{ '\x96' , "–" }, /* – Unused */
{ '\x97' , "—" }, /* — Unused */
{ '\x98' , "˜" }, /* ˜ Unused */
{ '\x99' , "™" }, /* ™ Unused */
{ '\x9a' , "š" }, /* š Unused */
{ '\x9b' , "›" }, /* › Unused */
{ '\x9c' , "œ" }, /* œ Unused */
{ '\x9d' , "" }, /*  Unused */
{ '\x9e' , "ž" }, /* ž Unused */
{ '\x9f' , "Ÿ" }, /* Ÿ Unused */
{ '\xa0' , " " }, /* Non-breaking Space */
{ '¡' , "¡" }, /* Inverted exclamation */
{ '¢' , "¢" }, /* Cent sign */
{ '£' , "£" }, /* Pound sterling */
{ '¤' , "¤" }, /* General currency sign */
{ '¥' , "¥" }, /* Yen sign */
/* { '¦' , "¦" }, / * Broken vertical bar */
{ '¦' , "&brkbar;" }, /* Broken vertical bar */
{ '§' , "§" }, /* Section sign */
/* { '¨' , "&&um;" }, / * Diæresis / Umlaut */
{ '¨' , "¨" }, /* Diæresis / Umlaut */
{ '©' , "©" }, /* Copyright */
{ 'ª' , "ª" }, /* Feminine ordinal */
{ '«' , "«" }, /* Left angle quote, guillemot left */
{ '¬' , "€" }, /* Euro sign */
{ '' , "­" }, /* Soft hyphen */
{ '®' , "®" }, /* Registered trademark */
/* { '¯' , "¯" }, / * Macron accent */
{ '¯' , "&hibar;" }, /* 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 [] =
{
{ '\x80' , "€" }, /*  Unused */
{ '\x81' , "" }, /*  Unused */
{ '\x82' , "‚" }, /* ‚ Unused */
{ '\x83' , "ƒ" }, /* ƒ Unused */
{ '\x84' , "„" }, /* „ Unused */
{ '\x85' , "…" }, /* … Unused */
{ '\x86' , "†" }, /* † Unused */
{ '\x87' , "‡" }, /* ‡ Unused */
{ '\x88' , "ˆ" }, /* ˆ Unused */
{ '\x89' , "‰" }, /* ‰ Unused */
{ '\x8a' , "Š" }, /* Š Horizontal tab */
{ '\x8b' , "‹" }, /* ‹ Line feed */
{ '\x8c' , "Œ" }, /* Œ Unused */
{ '\x8d' , "" }, /*  Unused */
{ '\x8e' , "Ž" }, /* Ž Carriage Return */
{ '\x8f' , "" }, /*  Unused */
{ '\x90' , "" }, /*  Unused */
{ '\x91' , "‘" }, /* ‘ Unused */
{ '\x92' , "’" }, /* ’ Unused */
{ '\x93' , "“" }, /* “ Unused */
{ '\x94' , "”" }, /* ” Unused */
{ '\x95' , "•" }, /* • Unused */
{ '\x96' , "–" }, /* – Unused */
{ '\x97' , "—" }, /* — Unused */
{ '\x98' , "˜" }, /* ˜ Unused */
{ '\x99' , "™" }, /* ™ Unused */
{ '\x9a' , "š" }, /* š Unused */
{ '\x9b' , "›" }, /* › Unused */
{ '\x9c' , "œ" }, /* œ Unused */
{ '\x9d' , "" }, /*  Unused */
{ '\x9e' , "ž" }, /* ž Unused */
{ '\x9f' , "Ÿ" }, /* Ÿ Unused */
{ 'Æ' , "Æ" }, /* 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 */
{ '¦' , "&brkbar" }, /* Broken vertical bar */
{ '¦' , "¦" }, /* Broken vertical bar */
{ 'ç' , "ç" }, /* Small c, cedilla */
{ '¸' , "¸" }, /* Cedilla */
{ '¢' , "¢" }, /* Cent sign */
{ '©' , "©" }, /* Copyright */
{ '¤' , "¤" }, /* General currency sign */
{ '°' , "°" }, /* Degree sign */
{ '¨' , "&die" }, /* Diæresis / Umlaut */
{ '÷' , "÷" }, /* Division sign */
{ 'é' , "é" }, /* Small e, acute accent */
{ 'ê' , "ê" }, /* Small e, circumflex */
{ 'è' , "è" }, /* Small e, grave accent */
{ 'ð' , "ð" }, /* Small eth, Icelandic */
{ 'ë' , "ë" }, /* Small e, diæresis / umlaut */
{ '¬' , "&euro" }, /* Euro sign */
{ '½' , "½" }, /* Fraction one-half */
{ '¼' , "¼" }, /* Fraction one-fourth */
{ '¾' , "¾" }, /* Fraction three-fourths */
{ '>' , ">" }, /* Greater than */
{ '¯' , "&hibar" }, /* 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 */
{ 'ñ' , "ñ" }, /* 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 */
{ '¨' , "&um" }, /* 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) ;