/*###################################################################################
#
# 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) ;