Blame src/htmlentity.cpp

Packit 1c1d7e
/******************************************************************************
Packit 1c1d7e
 *
Packit 1c1d7e
 * Copyright (C) 1997-2015 by Dimitri van Heesch.
Packit 1c1d7e
 *
Packit 1c1d7e
 * Permission to use, copy, modify, and distribute this software and its
Packit 1c1d7e
 * documentation under the terms of the GNU General Public License is hereby
Packit 1c1d7e
 * granted. No representations are made about the suitability of this software
Packit 1c1d7e
 * for any purpose. It is provided "as is" without express or implied warranty.
Packit 1c1d7e
 * See the GNU General Public License for more details.
Packit 1c1d7e
 *
Packit 1c1d7e
 * Documents produced by Doxygen are derivative works derived from the
Packit 1c1d7e
 * input used in their production; they are not affected by this license.
Packit 1c1d7e
 *
Packit 1c1d7e
 */
Packit 1c1d7e
Packit 1c1d7e
#include "htmlentity.h"
Packit 1c1d7e
#include "message.h"
Packit 1c1d7e
#include "ftextstream.h"
Packit 1c1d7e
Packit 1c1d7e
//! Number of doxygen commands mapped as if it were HTML entities
Packit 1c1d7e
static const int g_numberHtmlMappedCmds = 11;
Packit 1c1d7e
Packit 1c1d7e
//! @brief Structure defining all HTML4 entities, doxygen extensions and doxygen commands representing special symbols.
Packit 1c1d7e
//! @details In case an entity does not exist a NULL is given for the entity. The first column contains the symbolic code
Packit 1c1d7e
//!          for the entity, see also doxparser.h The second column contains the name of the entity (without the starting \& and
Packit 1c1d7e
//!          ending ;)
Packit 1c1d7e
static struct htmlEntityInfo
Packit 1c1d7e
{
Packit 1c1d7e
  DocSymbol::SymType symb;
Packit 1c1d7e
  const char *item;
Packit 1c1d7e
  const char *UTF8;
Packit 1c1d7e
  const char *html;
Packit 1c1d7e
  const char *xml;
Packit 1c1d7e
  const char *docbook;
Packit 1c1d7e
  const char *latex;
Packit 1c1d7e
  const char *man;
Packit 1c1d7e
  const char *rtf;
Packit 1c1d7e
  DocSymbol::PerlSymb perl;
Packit 1c1d7e
} g_htmlEntities[] =
Packit 1c1d7e
{
Packit 1c1d7e
#undef SYM
Packit 1c1d7e
// helper macro to force consistent entries for the symbol and item columns
Packit 1c1d7e
#define SYM(s) DocSymbol::Sym_##s,"&"#s";"
Packit 1c1d7e
  // HTML4 entities
Packit 1c1d7e
  // symb+item     UTF-8           html          xml                     docbook          latex                     man       rtf            perl
Packit 1c1d7e
  { SYM(nbsp),     "\xc2\xa0",     " ",     "<nonbreakablespace/>", " ",        "~",                      " ",      "\\~",         { " ",          DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(iexcl),    "\xc2\xa1",     "¡",    "<iexcl/>",             "¡",        "!`",                     NULL,     "\\'A1",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(cent),     "\xc2\xa2",     "¢",     "<cent/>",              "¢",        "\\textcent{}",           NULL,     "\\'A2",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(pound),    "\xc2\xa3",     "£",    "<pound/>",             "£",        "{$\\pounds$}",           NULL,     "\\'A3",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(curren),   "\xc2\xa4",     "¤",   "<curren/>",            "¤",        "\\textcurrency{}",       NULL,     "\\'A4",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(yen),      "\xc2\xa5",     "¥",      "<yen/>",               "¥",        "{$\\yen$}",              NULL,     "\\'A5",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(brvbar),   "\xc2\xa6",     "¦",   "<brvbar/>",            "¦",        "\\textbrokenbar{}",      NULL,     "\\'A6",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(sect),     "\xc2\xa7",     "§",     "<sect/>",              "<simplesect/>", "{$\\S$}",                NULL,     "\\'A7",       { "sect",       DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(uml),      "\xc2\xa8",     "¨",      "<umlaut/>",            "¨",        "\\textasciidieresis{}",  " \\*(4", "\\'A8",       { " ",          DocSymbol::Perl_umlaut  }},
Packit 1c1d7e
  { SYM(copy),     "\xc2\xa9",     "©",     "<copy/>",              "©",        "\\copyright{}",          "(C)",    "\\'A9",       { "copyright",  DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(ordf),     "\xc2\xaa",     "ª",     "<ordf/>",              "ª",        "\\textordfeminine{}",    NULL,     "\\'AA",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(laquo),    "\xc2\xab",     "«",    "<laquo/>",             "«",        "\\guillemotleft{}",      NULL,     "\\'AB",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(not),      "\xc2\xac",     "¬",      "<not/>",               "¬",        "\\textlnot",             NULL,     "\\'AC",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(shy),      "\xc2\xad",     "­",      "<shy/>",               "­",        "{$\\-$}",                NULL,     "\\-",         { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(reg),      "\xc2\xae",     "®",      "<registered/>",        "®",        "\\textregistered{}",     "(R)",    "\\'AE",       { "registered", DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(macr),     "\xc2\xaf",     "¯",     "<macr/>",              "¯",        "\\={}",                  NULL,     "\\'AF",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(deg),      "\xc2\xb0",     "°",      "<deg/>",               "°",        "\\textdegree{}",         NULL,     "\\'B0",       { "deg",        DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(plusmn),   "\xc2\xb1",     "±",   "<plusmn/>",            "±",        "{$\\pm$}",               NULL,     "\\'B1",       { "+/-",        DocSymbol::Perl_string  }},
Packit 1c1d7e
  { SYM(sup2),     "\xc2\xb2",     "²",     "<sup2/>",              "²",        "\\texttwosuperior{}",    NULL,     "\\'B2",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(sup3),     "\xc2\xb3",     "³",     "<sup3/>",              "³",        "\\textthreesuperior{}",  NULL,     "\\'B3",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(acute),    "\xc2\xb4",     "´",    "<acute/>",             "´",        "\\'{}",                  NULL,     "\\'B4",       { " ",          DocSymbol::Perl_acute   }},
Packit 1c1d7e
  { SYM(micro),    "\xc2\xb5",     "µ",    "<micro/>",             "µ",        "{$\\mu$}",               NULL,     "\\'B5",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(para),     "\xc2\xb6",     "¶",     "<para/>",              "¶",        "{$\\P$}",                NULL,     "\\'B6",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(middot),   "\xc2\xb7",     "·",   "<middot/>",            "·",        "\\textperiodcentered{}", NULL,     "\\'B7",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(cedil),    "\xc2\xb8",     "¸",    "<cedil/>",             "¸",        "\\c{}",                  " \\*,",  "\\'B8",       { " ",          DocSymbol::Perl_cedilla }},
Packit 1c1d7e
  { SYM(sup1),     "\xc2\xb9",     "¹",     "<sup1/>",              "¹",        "\\textonesuperior{}",    NULL,     "\\'B9",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(ordm),     "\xc2\xba",     "º",     "<ordm/>",              "º",        "\\textordmasculine{}",   NULL,     "\\'BA",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(raquo),    "\xc2\xbb",     "»",    "<raquo/>",             "»",        "\\guillemotright{}",     NULL,     "\\'BB",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(frac14),   "\xc2\xbc",     "¼",   "<frac14/>",            "¼",        "{$\\frac14$}",           "1/4",    "\\'BC",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(frac12),   "\xc2\xbd",     "½",   "<frac12/>",            "½",        "{$\\frac12$}",           "1/2",    "\\'BD",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(frac34),   "\xc2\xbe",     "¾",   "<frac34/>",            "¾",        "{$\\frac34$}",           "3/4",    "\\'BE",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(iquest),   "\xc2\xbf",     "¿",   "<iquest/>",            "¿",        "?`",                     NULL,     "\\'BF",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(Agrave),   "\xc3\x80",     "À",   "<Agrave/>",            "À",        "\\`{A}",                 "A\\*:",  "\\'C0",       { "A",          DocSymbol::Perl_grave   }},
Packit 1c1d7e
  { SYM(Aacute),   "\xc3\x81",     "Á",   "<Aacute/>",            "Á",        "\\'{A}",                 "A\\*(`", "\\'C1",       { "A",          DocSymbol::Perl_acute   }},
Packit 1c1d7e
  { SYM(Acirc),    "\xc3\x82",     "Â",    "<Acirc/>",             "Â",        "\\^{A}",                 "A\\*^",  "\\'C2",       { "A",          DocSymbol::Perl_circ    }},
Packit 1c1d7e
  { SYM(Atilde),   "\xc3\x83",     "Ã",   "<Atilde/>",            "Ã",        "\\~{A}",                 "A\\*~",  "\\'C3",       { "A",          DocSymbol::Perl_tilde   }},
Packit 1c1d7e
  { SYM(Auml),     "\xc3\x84",     "Ä",     "<Aumlaut/>",           "Ä",        "\\\"{A}",                "A\\*(4", "\\'C4",       { "A",          DocSymbol::Perl_umlaut  }},
Packit 1c1d7e
  { SYM(Aring),    "\xc3\x85",     "Å",    "<Aring/>",             "Å",        "\\AA",                   "A\\*o",  "\\'C5",       { "A",          DocSymbol::Perl_ring    }},
Packit 1c1d7e
  { SYM(AElig),    "\xc3\x86",     "Æ",    "<AElig/>",             "Æ",        "{\\AE}",                 NULL,     "\\'C6",       { "AElig",      DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(Ccedil),   "\xc3\x87",     "Ç",   "<Ccedil/>",            "Ç",        "\\c{C}",                 "C\\*,",  "\\'C7",       { "C",          DocSymbol::Perl_cedilla }},
Packit 1c1d7e
  { SYM(Egrave),   "\xc3\x88",     "È",   "<Egrave/>",            "È",        "\\`{E}",                 "E\\*:",  "\\'C8",       { "E",          DocSymbol::Perl_grave   }},
Packit 1c1d7e
  { SYM(Eacute),   "\xc3\x89",     "É",   "<Eacute/>",            "É",        "\\'{E}",                 "E\\*(`", "\\'C9",       { "E",          DocSymbol::Perl_acute   }},
Packit 1c1d7e
  { SYM(Ecirc),    "\xc3\x8a",     "Ê",    "<Ecirc/>",             "Ê",        "\\^{E}",                 "E\\*^",  "\\'CA",       { "E",          DocSymbol::Perl_circ    }},
Packit 1c1d7e
  { SYM(Euml),     "\xc3\x8b",     "Ë",     "<Eumlaut/>",           "Ë",        "\\\"{E}",                "E\\*(4", "\\'CB",       { "E",          DocSymbol::Perl_umlaut  }},
Packit 1c1d7e
  { SYM(Igrave),   "\xc3\x8c",     "Ì",   "<Igrave/>",            "Ì",        "\\`{I}",                 "I\\*:",  "\\'CC",       { "I",          DocSymbol::Perl_grave   }},
Packit 1c1d7e
  { SYM(Iacute),   "\xc3\x8d",     "Í",   "<Iacute/>",            "Í",        "\\'{I}",                 "I\\*(`", "\\'CD",       { "I",          DocSymbol::Perl_acute   }},
Packit 1c1d7e
  { SYM(Icirc),    "\xc3\x8e",     "Î",    "<Icirc/>",             "Î",        "\\^{I}",                 "I\\*^",  "\\'CE",       { "I",          DocSymbol::Perl_circ    }},
Packit 1c1d7e
  { SYM(Iuml),     "\xc3\x8f",     "Ï",     "<Iumlaut/>",           "Ï",        "\\\"{I}",                "I\\*(4", "\\'CF",       { "I",          DocSymbol::Perl_umlaut  }},
Packit 1c1d7e
  { SYM(ETH),      "\xc3\x90",     "Ð",      "<ETH/>",               "Ð",        "\\DH",                   NULL,     "\\'D0",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(Ntilde),   "\xc3\x91",     "Ñ",   "<Ntilde/>",            "Ñ",        "\\~{N}",                 "N\\*~",  "\\'D1",       { "N",          DocSymbol::Perl_tilde   }},
Packit 1c1d7e
  { SYM(Ograve),   "\xc3\x92",     "Ò",   "<Ograve/>",            "Ò",        "\\`{O}",                 "O\\*:",  "\\'D2",       { "O",          DocSymbol::Perl_grave   }},
Packit 1c1d7e
  { SYM(Oacute),   "\xc3\x93",     "Ó",   "<Oacute/>",            "Ó",        "\\'{O}",                 "O\\*(`", "\\'D3",       { "O",          DocSymbol::Perl_acute   }},
Packit 1c1d7e
  { SYM(Ocirc),    "\xc3\x94",     "Ô",    "<Ocirc/>",             "Ô",        "\\^{O}",                 "O\\*^",  "\\'D4",       { "O",          DocSymbol::Perl_circ    }},
Packit 1c1d7e
  { SYM(Otilde),   "\xc3\x95",     "Õ",   "<Otilde/>",            "Õ",        "\\~{O}",                 "O\\*~",  "\\'D5",       { "O",          DocSymbol::Perl_tilde   }},
Packit 1c1d7e
  { SYM(Ouml),     "\xc3\x96",     "Ö",     "<Oumlaut/>",           "Ö",        "\\\"{O}",                "O\\*(4", "\\'D6",       { "O",          DocSymbol::Perl_umlaut  }},
Packit 1c1d7e
  { SYM(times),    "\xc3\x97",     "×",    "<times/>",             "×",        "{$\\times$}",            NULL,     "\\'D7",       { "*",          DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(Oslash),   "\xc3\x98",     "Ø",   "<Oslash/>",            "Ø",        "{\\O}",                  "O\x08/", "\\'D8",       { "O",          DocSymbol::Perl_slash   }},
Packit 1c1d7e
  { SYM(Ugrave),   "\xc3\x99",     "Ù",   "<Ugrave/>",            "Ù",        "\\`{U}",                 "U\\*:",  "\\'D9",       { "U",          DocSymbol::Perl_grave   }},
Packit 1c1d7e
  { SYM(Uacute),   "\xc3\x9a",     "Ú",   "<Uacute/>",            "Ú",        "\\'{U}",                 "U\\*(`", "\\'DA",       { "U",          DocSymbol::Perl_acute   }},
Packit 1c1d7e
  { SYM(Ucirc),    "\xc3\x9b",     "Û",    "<Ucirc/>",             "Û",        "\\^{U}",                 "U\\*^",  "\\'DB",       { "U",          DocSymbol::Perl_circ    }},
Packit 1c1d7e
  { SYM(Uuml),     "\xc3\x9c",     "Ü",     "<Uumlaut/>",           "Ü",        "\\\"{U}",                "U\\*(4", "\\'DC",       { "U",          DocSymbol::Perl_umlaut  }},
Packit 1c1d7e
  { SYM(Yacute),   "\xc3\x9d",     "Ý",   "<Yacute/>",            "Ý",        "\\'{Y}",                 "Y\\*(`", "\\'DD",       { "Y",          DocSymbol::Perl_acute   }},
Packit 1c1d7e
  { SYM(THORN),    "\xc3\x9e",     "Þ",    "<THORN/>",             "Þ",        "\\TH",                   NULL,     "\\'DE",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(szlig),    "\xc3\x9f",     "ß",    "<szlig/>",             "ß",        "{\\ss}",                 "s\\*:",  "\\'DF",       { "szlig",      DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(agrave),   "\xc3\xa0",     "à",   "<agrave/>",            "à",        "\\`{a}",                 "a\\*:",  "\\'E0",       { "a",          DocSymbol::Perl_grave   }},
Packit 1c1d7e
  { SYM(aacute),   "\xc3\xa1",     "á",   "<aacute/>",            "á",        "\\'{a}",                 "a\\*(`", "\\'E1",       { "a",          DocSymbol::Perl_acute   }},
Packit 1c1d7e
  { SYM(acirc),    "\xc3\xa2",     "â",    "<acirc/>",             "â",        "\\^{a}",                 "a\\*^",  "\\'E2",       { "a",          DocSymbol::Perl_circ    }},
Packit 1c1d7e
  { SYM(atilde),   "\xc3\xa3",     "ã",   "<atilde/>",            "ã",        "\\~{a}",                 "a\\*~",  "\\'E3",       { "a",          DocSymbol::Perl_tilde   }},
Packit 1c1d7e
  { SYM(auml),     "\xc3\xa4",     "ä",     "<aumlaut/>",           "ä",        "\\\"{a}",                "a\\*(4", "\\'E4",       { "a",          DocSymbol::Perl_umlaut  }},
Packit 1c1d7e
  { SYM(aring),    "\xc3\xa5",     "å",    "<aring/>",             "å",        "\\aa",                   "a\\*o",  "\\'E5",       { "a",          DocSymbol::Perl_ring    }},
Packit 1c1d7e
  { SYM(aelig),    "\xc3\xa6",     "æ",    "<aelig/>",             "æ",        "{\\ae}",                 NULL,     "\\'E6",       { "aelig",      DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(ccedil),   "\xc3\xa7",     "ç",   "<ccedil/>",            "ç",        "\\c{c}",                 "c\\*,",  "\\'E7",       { "c",          DocSymbol::Perl_cedilla }},
Packit 1c1d7e
  { SYM(egrave),   "\xc3\xa8",     "è",   "<egrave/>",            "è",        "\\`{e}",                 "e\\*:",  "\\'E8",       { "e",          DocSymbol::Perl_grave   }},
Packit 1c1d7e
  { SYM(eacute),   "\xc3\xa9",     "é",   "<eacute/>",            "é",        "\\'{e}",                 "e\\*(`", "\\'E9",       { "e",          DocSymbol::Perl_acute   }},
Packit 1c1d7e
  { SYM(ecirc),    "\xc3\xaa",     "ê",    "<ecirc/>",             "ê",        "\\^{e}",                 "e\\*^",  "\\'EA",       { "e",          DocSymbol::Perl_circ    }},
Packit 1c1d7e
  { SYM(euml),     "\xc3\xab",     "ë",     "<eumlaut/>",           "ë",        "\\\"{e}",                "e\\*(4", "\\'EB",       { "e",          DocSymbol::Perl_umlaut  }},
Packit 1c1d7e
  { SYM(igrave),   "\xc3\xac",     "ì",   "<igrave/>",            "ì",        "\\`{\\i}",               "i\\*:",  "\\'EC",       { "i",          DocSymbol::Perl_grave   }},
Packit 1c1d7e
  { SYM(iacute),   "\xc3\xad",     "í",   "<iacute/>",            "í",        "\\'{\\i}",               "i\\*(`", "\\'ED",       { "i",          DocSymbol::Perl_acute   }},
Packit 1c1d7e
  { SYM(icirc),    "\xc3\xae",     "î",    "<icirc/>",             "î",        "\\^{\\i}",               "i\\*^",  "\\'EE",       { "i",          DocSymbol::Perl_circ    }},
Packit 1c1d7e
  { SYM(iuml),     "\xc3\xaf",     "ï",     "<iumlaut/>",           "ï",        "\\\"{\\i}",              "i\\*(4", "\\'EF",       { "i",          DocSymbol::Perl_umlaut  }},
Packit 1c1d7e
  { SYM(eth),      "\xc3\xb0",     "ð",      "<eth/>",               "ð",        "\\dh",                   NULL,     "\\'F0",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(ntilde),   "\xc3\xb1",     "ñ",   "<ntilde/>",            "ñ",        "\\~{n}",                 "n\\*~",  "\\'F1",       { "n",          DocSymbol::Perl_tilde   }},
Packit 1c1d7e
  { SYM(ograve),   "\xc3\xb2",     "ò",   "<ograve/>",            "ò",        "\\`{o}",                 "o\\*:",  "\\'F2",       { "o",          DocSymbol::Perl_grave   }},
Packit 1c1d7e
  { SYM(oacute),   "\xc3\xb3",     "ó",   "<oacute/>",            "ó",        "\\'{o}",                 "o\\*(`", "\\'F3",       { "o",          DocSymbol::Perl_acute   }},
Packit 1c1d7e
  { SYM(ocirc),    "\xc3\xb4",     "ô",    "<ocirc/>",             "ô",        "\\^{o}",                 "o\\*^",  "\\'F4",       { "o",          DocSymbol::Perl_circ    }},
Packit 1c1d7e
  { SYM(otilde),   "\xc3\xb5",     "õ",   "<otilde/>",            "õ",        "\\~{o}",                 "o\\*~",  "\\'F5",       { "o",          DocSymbol::Perl_tilde   }},
Packit 1c1d7e
  { SYM(ouml),     "\xc3\xb6",     "ö",     "<oumlaut/>",           "ö",        "\\\"{o}",                "o\\*(4", "\\'F6",       { "o",          DocSymbol::Perl_umlaut  }},
Packit 1c1d7e
  { SYM(divide),   "\xc3\xb7",     "÷",   "<divide/>",            "÷",        "{$\\div$}",              NULL,     "\\'F7",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(oslash),   "\xc3\xb8",     "ø",   "<oslash/>",            "ø",        "{\\o}",                  "o\x08/", "\\'F8",       { "o",          DocSymbol::Perl_slash   }},
Packit 1c1d7e
  { SYM(ugrave),   "\xc3\xb9",     "ù",   "<ugrave/>",            "ù",        "\\`{u}",                 "u\\*:",  "\\'F9",       { "u",          DocSymbol::Perl_grave   }},
Packit 1c1d7e
  { SYM(uacute),   "\xc3\xba",     "ú",   "<uacute/>",            "ú",        "\\'{u}",                 "u\\*(`", "\\'FA",       { "u",          DocSymbol::Perl_acute   }},
Packit 1c1d7e
  { SYM(ucirc),    "\xc3\xbb",     "û",    "<ucirc/>",             "û",        "\\^{u}",                 "u\\*^",  "\\'FB",       { "u",          DocSymbol::Perl_circ    }},
Packit 1c1d7e
  { SYM(uuml),     "\xc3\xbc",     "ü",     "<uumlaut/>",           "ü",        "\\\"{u}",                "u\\*(4", "\\'FC",       { "u",          DocSymbol::Perl_umlaut  }},
Packit 1c1d7e
  { SYM(yacute),   "\xc3\xbd",     "ý",   "<yacute/>",            "ý",        "\\'{y}",                 "y\\*(`", "\\'FD",       { "y",          DocSymbol::Perl_acute   }},
Packit 1c1d7e
  { SYM(thorn),    "\xc3\xbe",     "þ",    "<thorn/>",             "þ",        "\\th",                   NULL,     "\\'FE",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(yuml),     "\xc3\xbf",     "ÿ",     "<yumlaut/>",           "ÿ",        "\\\"{y}",                "y\\*(4", "\\'FF",       { "y",          DocSymbol::Perl_umlaut  }},
Packit 1c1d7e
  { SYM(fnof),     "\xc6\x92",     "ƒ",     "<fnof/>",              "ƒ",        "\\textflorin",           NULL,     "\\'83",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(Alpha),    "\xce\x91",     "Α",    "<Alpha/>",             "Α",        "A",                      NULL,     "\\u0913?",    { "A",          DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(Beta),     "\xce\x92",     "Β",     "<Beta/>",              "Β",        "B",                      NULL,     "\\u0914?",    { "B",          DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(Gamma),    "\xce\x93",     "Γ",    "<Gamma/>",             "Γ",        "{$\\Gamma$}",            NULL,     "\\u0915?",    { "Gamma",      DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(Delta),    "\xce\x94",     "Δ",    "<Delta/>",             "Δ",        "{$\\Delta$}",            NULL,     "\\u0916?",    { "Delta",      DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(Epsilon),  "\xce\x95",     "Ε",  "<Epsilon/>",           "Ε",        "E",                      NULL,     "\\u0917?",    { "E",          DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(Zeta),     "\xce\x96",     "Ζ",     "<Zeta/>",              "Ζ",        "Z",                      NULL,     "\\u0918?",    { "Z",          DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(Eta),      "\xce\x97",     "Η",      "<Eta/>",               "Η",        "H",                      NULL,     "\\u0919?",    { "H",          DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(Theta),    "\xce\x98",     "Θ",    "<Theta/>",             "Θ",        "{$\\Theta$}",            NULL,     "\\u0920?",    { "Theta",      DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(Iota),     "\xce\x99",     "Ι",     "<Iota/>",              "Ι",        "I",                      NULL,     "\\u0921?",    { "I",          DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(Kappa),    "\xce\x9a",     "Κ",    "<Kappa/>",             "Κ",        "K",                      NULL,     "\\u0922?",    { "K",          DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(Lambda),   "\xce\x9b",     "Λ",   "<Lambda/>",            "Λ",        "{$\\Lambda$}",           NULL,     "\\u0923?",    { "Lambda",     DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(Mu),       "\xce\x9c",     "Μ",       "<Mu/>",                "Μ",        "M",                      NULL,     "\\u0924?",    { "M",          DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(Nu),       "\xce\x9d",     "Ν",       "<Nu/>",                "Ν",        "N",                      NULL,     "\\u0925?",    { "N",          DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(Xi),       "\xce\x9e",     "Ξ",       "<Xi/>",                "Ξ",        "{$\\Xi$}",               NULL,     "\\u0926?",    { "Xi",         DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(Omicron),  "\xce\x9f",     "Ο",  "<Omicron/>",           "Ο",        "O",                      NULL,     "\\u0927?",    { "O",          DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(Pi),       "\xce\xa0",     "Π",       "<Pi/>",                "Π",        "{$\\Pi$}",               NULL,     "\\u0928?",    { "Pi",         DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(Rho),      "\xce\xa1",     "Ρ",      "<Rho/>",               "Ρ",        "P",                      NULL,     "\\u0929?",    { "P",          DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(Sigma),    "\xce\xa3",     "Σ",    "<Sigma/>",             "Σ",        "{$\\Sigma$}",            NULL,     "\\u0931?",    { "Sigma",      DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(Tau),      "\xce\xa4",     "Τ",      "<Tau/>",               "Τ",        "T",                      NULL,     "\\u0932?",    { "T",          DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(Upsilon),  "\xce\xa5",     "Υ",  "<Upsilon/>",           "Υ",        "{$\\Upsilon$}",          NULL,     "\\u0933?",    { "Upsilon",    DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(Phi),      "\xce\xa6",     "Φ",      "<Phi/>",               "Φ",        "{$\\Phi$}",              NULL,     "\\u0934?",    { "Phi",        DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(Chi),      "\xce\xa7",     "Χ",      "<Chi/>",               "Χ",        "X",                      NULL,     "\\u0935?",    { "X",          DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(Psi),      "\xce\xa8",     "Ψ",      "<Psi/>",               "Ψ",        "{$\\Psi$}",              NULL,     "\\u0936?",    { "Psi",        DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(Omega),    "\xce\xa9",     "Ω",    "<Omega/>",             "Ω",        "{$\\Omega$}",            NULL,     "\\u0937?",    { "Omega",      DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(alpha),    "\xce\xb1",     "α",    "<alpha/>",             "α",        "{$\\alpha$}",            NULL,     "\\u0945?",    { "alpha",      DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(beta),     "\xce\xb2",     "β",     "<beta/>",              "β",        "{$\\beta$}",             NULL,     "\\u0946?",    { "beta",       DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(gamma),    "\xce\xb3",     "γ",    "<gamma/>",             "γ",        "{$\\gamma$}",            NULL,     "\\u0947?",    { "gamma",      DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(delta),    "\xce\xb4",     "δ",    "<delta/>",             "δ",        "{$\\delta$}",            NULL,     "\\u0948?",    { "delta",      DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(epsilon),  "\xce\xb5",     "ε",  "<epsilon/>",           "ε",        "{$\\varepsilon$}",       NULL,     "\\u0949?",    { "epsilon",    DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(zeta),     "\xce\xb6",     "ζ",     "<zeta/>",              "ζ",        "{$\\zeta$}",             NULL,     "\\u0950?",    { "zeta",       DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(eta),      "\xce\xb7",     "η",      "<eta/>",               "η",        "{$\\eta$}",              NULL,     "\\u0951?",    { "eta",        DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(theta),    "\xce\xb8",     "θ",    "<theta/>",             "θ",        "{$\\theta$}",            NULL,     "\\u0952?",    { "theta",      DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(iota),     "\xce\xb9",     "ι",     "<iota/>",              "ι",        "{$\\iota$}",             NULL,     "\\u0953?",    { "iota",       DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(kappa),    "\xce\xba",     "κ",    "<kappa/>",             "κ",        "{$\\kappa$}",            NULL,     "\\u0954?",    { "kappa",      DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(lambda),   "\xce\xbb",     "λ",   "<lambda/>",            "λ",        "{$\\lambda$}",           NULL,     "\\u0955?",    { "lambda",     DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(mu),       "\xce\xbc",     "μ",       "<mu/>",                "μ",        "{$\\mu$}",               NULL,     "\\u0956?",    { "mu",         DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(nu),       "\xce\xbd",     "ν",       "<nu/>",                "ν",        "{$\\nu$}",               NULL,     "\\u0957?",    { "nu",         DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(xi),       "\xce\xbe",     "ξ",       "<xi/>",                "ξ",        "{$\\xi$}",               NULL,     "\\u0958?",    { "xi",         DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(omicron),  "\xce\xbf",     "ο",  "<omicron/>",           "ο",        "{$\\omicron$}",          NULL,     "\\u0959?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(pi),       "\xcf\x80",     "π",       "<pi/>",                "π",        "{$\\pi$}",               NULL,     "\\u0960?",    { "pi",         DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(rho),      "\xcf\x81",     "ρ",      "<rho/>",               "ρ",        "{$\\rho$}",              NULL,     "\\u0961?",    { "rho",        DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(sigmaf),   "\xcf\x82",     "ς",   "<sigmaf/>",            "ς",        "{$\\varsigma$}",         NULL,     "\\u0962?",    { "sigma",      DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(sigma),    "\xcf\x83",     "σ",    "<sigma/>",             "σ",        "{$\\sigma$}",            NULL,     "\\u0963?",    { "sigma",      DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(tau),      "\xcf\x84",     "τ",      "<tau/>",               "τ",        "{$\\tau$}",              NULL,     "\\u0964?",    { "tau",        DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(upsilon),  "\xcf\x85",     "υ",  "<upsilon/>",           "υ",        "{$\\upsilon$}",          NULL,     "\\u0965?",    { "upsilon",    DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(phi),      "\xcf\x86",     "φ",      "<phi/>",               "φ",        "{$\\varphi$}",           NULL,     "\\u0966?",    { "phi",        DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(chi),      "\xcf\x87",     "χ",      "<chi/>",               "χ",        "{$\\chi$}",              NULL,     "\\u0967?",    { "chi",        DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(psi),      "\xcf\x88",     "ψ",      "<psi/>",               "ψ",        "{$\\psi$}",              NULL,     "\\u0968?",    { "psi",        DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(omega),    "\xcf\x89",     "ω",    "<omega/>",             "ω",        "{$\\omega$}",            NULL,     "\\u0969?",    { "omega",      DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(thetasym), "\xcf\x91",     "ϑ", "<thetasym/>",          "ϑ",        "{$\\vartheta$}",         NULL,     "\\u977?",     { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(upsih),    "\xcf\x92",     "ϒ",    "<upsih/>",             "ϒ",        "{$\\Upsilon$}",          NULL,     "\\u978?",     { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(piv),      "\xcf\x96",     "ϖ",      "<piv/>",               "ϖ",        "{$\\varpi$}",            NULL,     "\\u982?",     { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(bull),     "\xe2\x80\xa2", "•",     "<bull/>",              "•",       "\\textbullet{}",         NULL,     "\\'95",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(hellip),   "\xe2\x80\xa6", "…",   "<hellip/>",            "…",       "{$\\dots$}",             NULL,     "\\'85",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(prime),    "\xe2\x80\xb2", "′",    "<prime/>",             "′",       "'",                      NULL,     "\\u8242?",    { "\\\'",       DocSymbol::Perl_string  }},
Packit 1c1d7e
  { SYM(Prime),    "\xe2\x80\xb3", "″",    "<Prime/>",             "″",       "''",                     NULL,     "\\u8243?",    { "\"",         DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(oline),    "\xe2\x80\xbe", "‾",    "<oline/>",             "‾",       "{$\\overline{\\,}$}",    NULL,     "\\u8254?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(frasl),    "\xe2\x81\x84", "⁄",    "<frasl/>",             "⁄",       "/",                      NULL,     "\\u8260?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(weierp),   "\xe2\x84\x98", "℘",   "<weierp/>",            "℘",       "{$\\wp$}",               NULL,     "\\u8472?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(image),    "\xe2\x84\x91", "ℑ",    "<imaginary/>",         "ℑ",       "{$\\Im$}",               NULL,     "\\u8465?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(real),     "\xe2\x84\x9c", "ℜ",     "<real/>",              "ℜ",       "{$\\Re$}",               NULL,     "\\u8476?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(trade),    "\xe2\x84\xa2", "™",    "<trademark/>",         "™",       "\\texttrademark{}",      "(TM)",   "\\'99",       { "trademark",  DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(alefsym),  "\xe2\x85\xb5", "ℵ",  "<alefsym/>",           "ℵ",       "{$\\aleph$}",            NULL,     "\\u8501?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(larr),     "\xe2\x86\x90", "←",     "<larr/>",              "←",       "{$\\leftarrow$}",        NULL,     "\\u8592?",    { "<-",         DocSymbol::Perl_string  }},
Packit 1c1d7e
  { SYM(uarr),     "\xe2\x86\x91", "↑",     "<uarr/>",              "↑",       "{$\\uparrow$}",          NULL,     "\\u8593?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(rarr),     "\xe2\x86\x92", "→",     "<rarr/>",              "→",       "{$\\rightarrow$}",       NULL,     "\\u8594?",    { "->",         DocSymbol::Perl_string  }},
Packit 1c1d7e
  { SYM(darr),     "\xe2\x86\x93", "↓",     "<darr/>",              "↓",       "{$\\downarrow$}",        NULL,     "\\u8595?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(harr),     "\xe2\x86\x94", "↔",     "<harr/>",              "↔",       "{$\\leftrightarrow$}",   NULL,     "\\u8596?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(crarr),    "\xe2\x86\xb5", "↵",    "<crarr/>",             "↵",       "{$\\hookleftarrow$}",    NULL,     "\\u8629?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(lArr),     "\xe2\x87\x90", "⇐",     "<lArr/>",              "⇐",       "{$\\Leftarrow$}",        NULL,     "\\u8656?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(uArr),     "\xe2\x87\x91", "⇑",     "<uArr/>",              "⇑",       "{$\\Uparrow$}",          NULL,     "\\u8657?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(rArr),     "\xe2\x87\x92", "⇒",     "<rArr/>",              "⇒",       "{$\\Rightarrow$}",       NULL,     "\\u8658?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(dArr),     "\xe2\x87\x93", "⇓",     "<dArr/>",              "⇓",       "{$\\Downarrow$}",        NULL,     "\\u8659?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(hArr),     "\xe2\x87\x94", "⇔",     "<hArr/>",              "⇔",       "{$\\Leftrightarrow$}",   NULL,     "\\u8660?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(forall),   "\xe2\x88\x80", "∀",   "<forall/>",            "∀",       "{$\\forall$}",           NULL,     "\\u8704?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(part),     "\xe2\x88\x82", "∂",     "<part/>",              "∂",       "{$\\partial$}",          NULL,     "\\u8706?",    { "partial",    DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(exist),    "\xe2\x88\x83", "∃",    "<exist/>",             "∃",       "{$\\exists$}",           NULL,     "\\u8707?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(empty),    "\xe2\x88\x85", "∅",    "<empty/>",             "∅",       "{$\\emptyset$}",         NULL,     "\\u8709?",    { "empty",      DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(nabla),    "\xe2\x88\x87", "∇",    "<nabla/>",             "∇",       "{$\\nabla$}",            NULL,     "\\u8711?",    { "nabla",      DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(isin),     "\xe2\x88\x88", "∈",     "<isin/>",              "∈",       "{$\\in$}",               NULL,     "\\u8712?",    { "in",         DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(notin),    "\xe2\x88\x89", "∉",    "<notin/>",             "∉",       "{$\\notin$}",            NULL,     "\\u8713?",    { "notin",      DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(ni),       "\xe2\x88\x8b", "∋",       "<ni/>",                "∋",       "{$\\ni$}",               NULL,     "\\u8715?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(prod),     "\xe2\x88\x8f", "∏",     "<prod/>",              "∏",       "{$\\prod$}",             NULL,     "\\u8719?",    { "prod",       DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(sum),      "\xe2\x88\x91", "∑",      "<sum/>",               "∑",       "{$\\sum$}",              NULL,     "\\u8721?",    { "sum",        DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(minus),    "\xe2\x88\x92", "−",    "<minus/>",             "−",       "-",                      NULL,     "\\u8722?",    { "-",          DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(lowast),   "\xe2\x88\x97", "∗",   "<lowast/>",            "∗",       "{$\\ast$}",              NULL,     "\\u8727?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(radic),    "\xe2\x88\x9a", "√",    "<radic/>",             "√",       "{$\\surd$}",             NULL,     "\\u8730?",    { "sqrt",       DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(prop),     "\xe2\x88\x9d", "∝",     "<prop/>",              "∝",       "{$\\propto$}",           NULL,     "\\u8733?",    { "propto",     DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(infin),    "\xe2\x88\x9e", "∞",    "<infin/>",             "∞",       "{$\\infty$}",            NULL,     "\\u8734?",    { "inf",        DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(ang),      "\xe2\x88\xa0", "∠",      "<ang/>",               "∠",       "{$\\angle$}",            NULL,     "\\u8736?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(and),      "\xe2\x88\xa7", "∧",      "<and/>",               "∧",       "{$\\wedge$}",            NULL,     "\\u8743?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(or),       "\xe2\x88\xa8", "∨",       "<or/>",                "∨",       "{$\\vee$}",              NULL,     "\\u8744?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(cap),      "\xe2\x88\xa9", "∩",      "<cap/>",               "∩",       "{$\\cap$}",              NULL,     "\\u8745?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(cup),      "\xe2\x88\xaa", "∪",      "<cup/>",               "∪",       "{$\\cup$}",              NULL,     "\\u8746?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(int),      "\xe2\x88\xab", "∫",      "<int/>",               "∫",       "{$\\int$}",              NULL,     "\\u8747?",    { "int",        DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(there4),   "\xe2\x88\xb4", "∴",   "<there4/>",            "∴",       "{$\\therefore$}",        NULL,     "\\u8756?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(sim),      "\xe2\x88\xbc", "∼",      "<sim/>",               "∼",       "{$\\sim$}",              NULL,     "\\u8764?",    { "~",          DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(cong),     "\xe2\x89\x85", "≅",     "<cong/>",              "≅",       "{$\\cong$}",             NULL,     "\\u8773?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(asymp),    "\xe2\x89\x88", "≈",    "<asymp/>",             "≈",       "{$\\approx$}",           NULL,     "\\u8776?",    { "approx",     DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(ne),       "\xe2\x89\xa0", "≠",       "<ne/>",                "≠",       "{$\\ne$}",               NULL,     "\\u8800?",    { "!=",         DocSymbol::Perl_string  }},
Packit 1c1d7e
  { SYM(equiv),    "\xe2\x89\xa1", "≡",    "<equiv/>",             "≡",       "{$\\equiv$}",            NULL,     "\\u8801?",    { "equiv",      DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(le),       "\xe2\x89\xa4", "≤",       "<le/>",                "≤",       "{$\\le$}",               NULL,     "\\u8804?",    { "<=",         DocSymbol::Perl_string  }},
Packit 1c1d7e
  { SYM(ge),       "\xe2\x89\xa5", "≥",       "<ge/>",                "≥",       "{$\\ge$}",               NULL,     "\\u8805?",    { ">=",         DocSymbol::Perl_string  }},
Packit 1c1d7e
  { SYM(sub),      "\xe2\x8a\x82", "⊂",      "<sub/>",               "⊂",       "{$\\subset$}",           NULL,     "\\u8834?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(sup),      "\xe2\x8a\x83", "⊃",      "<sup/>",               "⊃",       "{$\\supset$}",           NULL,     "\\u8835?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(nsub),     "\xe2\x8a\x84", "⊄",     "<nsub/>",              "⊄",       "{$\\not\\subset$}",      NULL,     "\\u8836?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(sube),     "\xe2\x8a\x86", "⊆",     "<sube/>",              "⊆",       "{$\\subseteq$}",         NULL,     "\\u8838?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(supe),     "\xe2\x8a\x87", "⊇",     "<supe/>",              "⊇",       "{$\\supseteq$}",         NULL,     "\\u8839?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(oplus),    "\xe2\x8a\x95", "⊕",    "<oplus/>",             "⊕",       "{$\\oplus$}",            NULL,     "\\u8853?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(otimes),   "\xe2\x8a\x97", "⊗",   "<otimes/>",            "⊗",       "{$\\otimes$}",           NULL,     "\\u8855?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(perp),     "\xe2\x8a\xa5", "⊥",     "<perp/>",              "⊥",       "{$\\perp$}",             NULL,     "\\u8869?",    { "perp",       DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(sdot),     "\xe2\x8b\x85", "⋅",     "<sdot/>",              "⋅",       "{$\\cdot$}",             NULL,     "\\u8901?",    { ".",          DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(lceil),    "\xe2\x8c\x88", "⌈",    "<lceil/>",             "⌈",       "{$\\lceil$}",            NULL,     "\\u8968?",    { "lceil",      DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(rceil),    "\xe2\x8c\x89", "⌉",    "<rceil/>",             "⌉",       "{$\\rceil$}",            NULL,     "\\u8969?",    { "rceil",      DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(lfloor),   "\xe2\x8c\x8a", "⌊",   "<lfloor/>",            "⌊",       "{$\\lfloor$}",           NULL,     "\\u8970?",    { "lfloor",     DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(rfloor),   "\xe2\x8c\x8b", "⌋",   "<rfloor/>",            "⌋",       "{$\\rfloor$}",           NULL,     "\\u8971?",    { "rfloor",     DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(lang),     "\xe2\x8c\xa9", "⟨",     "<lang/>",              "〈",       "{$\\langle$}",           NULL,     "\\u9001?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(rang),     "\xe2\x8c\xaa", "⟩",     "<rang/>",              "〉",       "{$\\rangle$}",           NULL,     "\\u9002?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(loz),      "\xe2\x97\x8a", "◊",      "<loz/>",               "◊",       "{$\\lozenge$}",          NULL,     "\\u9674?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(spades),   "\xe2\x99\xa0", "♠",   "<spades/>",            "♠",       "{$\\spadesuit$}",        NULL,     "\\u9824?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(clubs),    "\xe2\x99\xa3", "♣",    "<clubs/>",             "♣",       "{$\\clubsuit$}",         NULL,     "\\u9827?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(hearts),   "\xe2\x99\xa5", "♥",   "<hearts/>",            "♥",       "{$\\heartsuit$}",        NULL,     "\\u9829?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(diams),    "\xe2\x99\xa6", "♦",    "<diams/>",             "♦",       "{$\\diamondsuit$}",      NULL,     "\\u9830?",    { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(quot),     "\"",           """,     "\"",                   """,        "\"",                     "\"",     "\"",          { "\"",         DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(amp),      "&",            "&",      "&",                "&",         "\\&",                    "&",      "&",           { "&",          DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(lt),       "<",            "<",       "<",                 "<",          "<",                      "<",      "<",           { "<",          DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(gt),       ">",            ">",       ">",                 ">",          ">",                      ">",      ">",           { ">",          DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(OElig),    "\xc5\x92",     "Œ",    "<OElig/>",             "Œ",        "\\OE",                   NULL,     "\\'8C",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(oelig),    "\xc5\x93",     "œ",    "<oelig/>",             "œ",        "\\oe",                   NULL,     "\\'9C",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(Scaron),   "\xc5\xa0",     "Š",   "<Scaron/>",            "Š",        "\\v{S}",                 NULL,     "\\'8A",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(scaron),   "\xc5\xa1",     "š",   "<scaron/>",            "š",        "\\v{s}",                 NULL,     "\\'9A",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(Yuml),     "\xc5\xb8",     "Ÿ",     "<Yumlaut/>",           "Ÿ",        "\\\"{Y}",                "Y\\*(4", "\\'9F",       { "Y",          DocSymbol::Perl_umlaut  }},
Packit 1c1d7e
  { SYM(circ),     "\xcb\x86",     "ˆ",     "<circ/>",              "ˆ",        "{$\\circ$}",             NULL,     "\\'88",       { " ",          DocSymbol::Perl_circ    }},
Packit 1c1d7e
  { SYM(tilde),    "\xcb\x9c",     "˜",    "<tilde/>",             "˜",        "\\~{}",                  "~",      "\\'98",       { " ",          DocSymbol::Perl_tilde   }},
Packit 1c1d7e
  { SYM(ensp),     "\xe2\x80\x82", " ",     "<ensp/>",              " ",       "\\enskip{}",             NULL,     "{\\enspace}", { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(emsp),     "\xe2\x80\x83", " ",     "<emsp/>",              " ",       "\\quad{}",               NULL,     "{\\emspace}", { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(thinsp),   "\xe2\x80\x89", " ",   "<thinsp/>",            " ",       "\\,",                    NULL,     "{\\qmspace}", { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(zwnj),     "\xe2\x80\x8c", "‌",     "<zwnj/>",              "‌",       "{}",                     NULL,     "\\zwnj",      { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(zwj),      "\xe2\x80\x8d", "‍",      "<zwj/>",               "‍",       "",                       NULL,     "\\zwj",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(lrm),      "\xe2\x80\x8e", "‎",      "<lrm/>",               "‎",       "",                       NULL,     "\\ltrmark",   { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(rlm),      "\xe2\x80\x8f", "‏",      "<rlm/>",               "‏",       "",                       NULL,     "\\rtlmark",   { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(ndash),    "\xe2\x80\x93", "–",    "<ndash/>",             "–",       "--",                     "--",     "\\'96",       { "-",          DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(mdash),    "\xe2\x80\x94", "—",    "<mdash/>",             "—",       "---",                    "---",    "\\'97",       { "--",         DocSymbol::Perl_string  }},
Packit 1c1d7e
  { SYM(lsquo),    "\xe2\x80\x98", "‘",    "<lsquo/>",             "‘",       "`",                      "`",      "\\'91",       { "\\\'",       DocSymbol::Perl_string  }},
Packit 1c1d7e
  { SYM(rsquo),    "\xe2\x80\x99", "’",    "<rsquo/>",             "’",       "'",                      "'",      "\\'92",       { "\\\'",       DocSymbol::Perl_string  }},
Packit 1c1d7e
  { SYM(sbquo),    "\xe2\x80\x9a", "‚",    "<sbquo/>",             "‚",       "\\quotesinglbase{}",     NULL,     "\\'82",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(ldquo),    "\xe2\x80\x9c", "“",    "<ldquo/>",             "“",       "``",                     "``",     "\\'93",       { "\"",         DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(rdquo),    "\xe2\x80\x9d", "”",    "<rdquo/>",             "”",       "''",                     "''",     "\\'94",       { "\"",         DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(bdquo),    "\xe2\x80\x9e", "„",    "<bdquo/>",             "„",       "\\quotedblbase{}",       NULL,     "\\'84",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(dagger),   "\xe2\x80\xa0", "†",   "<dagger/>",            "†",       "{$\\dagger$}",           NULL,     "\\'86",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(Dagger),   "\xe2\x80\xa1", "‡",   "<Dagger/>",            "‡",       "{$\\ddagger$}",          NULL,     "\\'87",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(permil),   "\xe2\x80\xb0", "‰",   "<permil/>",            "‰",       "{$\\permil{}$}",         NULL,     "\\'89",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(lsaquo),   "\xe2\x80\xb9", "‹",   "<lsaquo/>",            "‹",       "\\guilsinglleft{}",      NULL,     "\\'8B",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(rsaquo),   "\xe2\x80\xba", "›",   "<rsaquo/>",            "›",       "\\guilsinglright{}",     NULL,     "\\'9B",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
  { SYM(euro),     "\xe2\x82\xac", "€",     "<euro/>",              "€",       "\\texteuro{}",           NULL,     "\\'80",       { NULL,         DocSymbol::Perl_unknown }},
Packit 1c1d7e
Packit 1c1d7e
  // doxygen extension to the HTML4 table of HTML entities
Packit 1c1d7e
  { SYM(tm),       "\xe2\x84\xa2", "™",    "<tm/>",                "™",       "\\texttrademark{}",      "(TM)",   "\\'99",       { "trademark",  DocSymbol::Perl_symbol  }},
Packit 1c1d7e
  { SYM(apos),     "'",            "'",          "'",                    "'",        "\\textquotesingle{}",    "'",      "'",           { "\\\'",       DocSymbol::Perl_string  }},
Packit 1c1d7e
Packit 1c1d7e
  // doxygen commands represented as HTML entities
Packit 1c1d7e
  { SYM(BSlash),   "\\",           "\\",         "\\",                   "\\",            "\\textbackslash{}",      "\\\\",   "\\\\",        { "\\\\",       DocSymbol::Perl_string  }},
Packit 1c1d7e
  { SYM(At),       "@",            "@",          "@",                    "@",             "@",                      "@",      "@",           { "@",          DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(Less),     "<",            "<",       "<",                 "<",          "<",                      "<",      "<",           { "<",          DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(Greater),  ">",            ">",       ">",                 ">",          ">",                      ">",      ">",           { ">",          DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(Amp),      "&",            "&",      "&",                "&",         "\\&",                    "&",      "&",           { "&",          DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(Dollar),   "$",            "$",          "$",                    "$",             "\\$",                    "$",      "$",           { "$",          DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(Hash),     "#;",           "#",          "#",                    "#",             "\\#",                    "#",      "#",           { "#",          DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(DoubleColon), "::",        "::",         "::",                   "::",            "::",                     "::",     "::",          { "::",         DocSymbol::Perl_string  }},
Packit 1c1d7e
  { SYM(Percent),  "%",            "%",          "%",                    "%",             "\\%",                    "%",      "%",           { "%",          DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(Pipe),     "|",            "|",          "|",                    "|",             "$|$",                    "|",      "|",           { "|",          DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(Quot),     "\"",           "\"",         "\"",                   """,        "\"",                     "\"",     "\"",          { "\"",         DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(Minus),    "-",            "-",          "-",                    "-",             "-\\/",                   "-",      "-",           { "-",          DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(Plus),     "+",            "+",          "+",                    "+",             "+",                      "+",      "+",           { "+",          DocSymbol::Perl_char    }},
Packit 1c1d7e
  { SYM(Dot),      ".",            ".",          ".",                    ".",             ".",                      ".",      ".",           { ".",          DocSymbol::Perl_char    }}
Packit 1c1d7e
};
Packit 1c1d7e
Packit 1c1d7e
static const int g_numHtmlEntities = (int)(sizeof(g_htmlEntities)/ sizeof(*g_htmlEntities));
Packit 1c1d7e
Packit 1c1d7e
HtmlEntityMapper *HtmlEntityMapper::s_instance = 0;
Packit 1c1d7e
Packit 1c1d7e
HtmlEntityMapper::HtmlEntityMapper()
Packit 1c1d7e
{
Packit 1c1d7e
  m_name2sym = new QDict<int>(1009);
Packit 1c1d7e
  m_name2sym->setAutoDelete(TRUE);
Packit 1c1d7e
  for (int i = 0; i < g_numHtmlEntities; i++)
Packit 1c1d7e
  {
Packit 1c1d7e
    m_name2sym->insert(g_htmlEntities[i].item,new int(g_htmlEntities[i].symb));
Packit 1c1d7e
  }
Packit 1c1d7e
  validate();
Packit 1c1d7e
}
Packit 1c1d7e
Packit 1c1d7e
HtmlEntityMapper::~HtmlEntityMapper()
Packit 1c1d7e
{
Packit 1c1d7e
  delete m_name2sym;
Packit 1c1d7e
}
Packit 1c1d7e
Packit 1c1d7e
/** Returns the one and only instance of the HTML entity mapper */
Packit 1c1d7e
HtmlEntityMapper *HtmlEntityMapper::instance()
Packit 1c1d7e
{
Packit 1c1d7e
  if (s_instance==0)
Packit 1c1d7e
  {
Packit 1c1d7e
    s_instance = new HtmlEntityMapper;
Packit 1c1d7e
  }
Packit 1c1d7e
  return s_instance;
Packit 1c1d7e
}
Packit 1c1d7e
Packit 1c1d7e
/** Deletes the one and only instance of the HTML entity mapper */
Packit 1c1d7e
void HtmlEntityMapper::deleteInstance()
Packit 1c1d7e
{
Packit 1c1d7e
  delete s_instance;
Packit 1c1d7e
  s_instance=0;
Packit 1c1d7e
}
Packit 1c1d7e
Packit 1c1d7e
Packit 1c1d7e
/*! @brief Access routine to the UTF8 code of the HTML entity
Packit 1c1d7e
 *
Packit 1c1d7e
 * @param symb Code of the requested HTML entity
Packit 1c1d7e
 * @param useInPrintf If TRUE the result will be escaped such that it can be
Packit 1c1d7e
 *                    used in a printf string pattern
Packit 1c1d7e
 * @return the UTF8 code of the HTML entity,
Packit 1c1d7e
 *         in case the UTF code is unknown \c NULL is returned.
Packit 1c1d7e
 */
Packit 1c1d7e
const char *HtmlEntityMapper::utf8(DocSymbol::SymType symb,bool useInPrintf) const
Packit 1c1d7e
{
Packit 1c1d7e
  if (useInPrintf && symb==DocSymbol::Sym_Percent)
Packit 1c1d7e
  {
Packit 1c1d7e
    return "%%"; // escape for printf
Packit 1c1d7e
  }
Packit 1c1d7e
  else
Packit 1c1d7e
  {
Packit 1c1d7e
    return g_htmlEntities[symb].UTF8;
Packit 1c1d7e
  }
Packit 1c1d7e
}
Packit 1c1d7e
Packit 1c1d7e
/*! @brief Access routine to the html code of the HTML entity
Packit 1c1d7e
 *
Packit 1c1d7e
 * @param symb        Code of the requested HTML entity
Packit 1c1d7e
 * @param useInPrintf If TRUE the result will be escaped such that it can be
Packit 1c1d7e
 *                    used in a printf string pattern
Packit 1c1d7e
 * @return the html representation of the HTML entity,
Packit 1c1d7e
 *         in case the html code is unknown \c NULL is returned.
Packit 1c1d7e
 */
Packit 1c1d7e
const char *HtmlEntityMapper::html(DocSymbol::SymType symb,bool useInPrintf) const
Packit 1c1d7e
{
Packit 1c1d7e
  if (useInPrintf && symb==DocSymbol::Sym_Percent)
Packit 1c1d7e
  {
Packit 1c1d7e
    return "%%"; // escape for printf
Packit 1c1d7e
  }
Packit 1c1d7e
  else
Packit 1c1d7e
  {
Packit 1c1d7e
    return g_htmlEntities[symb].html;
Packit 1c1d7e
  }
Packit 1c1d7e
}
Packit 1c1d7e
Packit 1c1d7e
/*! @brief Access routine to the XML code of the HTML entity
Packit 1c1d7e
 *
Packit 1c1d7e
 * @param symb Code of the requested HTML entity
Packit 1c1d7e
 * @return the XML code of the HTML entity,
Packit 1c1d7e
 *         in case the XML code is unknown \c NULL is returned.
Packit 1c1d7e
 */
Packit 1c1d7e
const char *HtmlEntityMapper::xml(DocSymbol::SymType symb) const
Packit 1c1d7e
{
Packit 1c1d7e
  return g_htmlEntities[symb].xml;
Packit 1c1d7e
}
Packit 1c1d7e
Packit 1c1d7e
/*! @brief Access routine to the docbook code of the HTML entity
Packit 1c1d7e
 *
Packit 1c1d7e
 * @param symb Code of the requested HTML entity
Packit 1c1d7e
 * @return the docbook code of the HTML entity,
Packit 1c1d7e
 *         in case the docbook code is unknown \c NULL is returned.
Packit 1c1d7e
 */
Packit 1c1d7e
const char *HtmlEntityMapper::docbook(DocSymbol::SymType symb) const
Packit 1c1d7e
{
Packit 1c1d7e
  return g_htmlEntities[symb].docbook;
Packit 1c1d7e
}
Packit 1c1d7e
Packit 1c1d7e
/*! @brief Access routine to the LaTeX code of the HTML entity
Packit 1c1d7e
 *
Packit 1c1d7e
 * @param symb Code of the requested HTML entity
Packit 1c1d7e
 * @return the LaTeX code of the HTML entity,
Packit 1c1d7e
 *         in case the LaTeX code is unknown \c NULL is returned.
Packit 1c1d7e
 */
Packit 1c1d7e
const char *HtmlEntityMapper::latex(DocSymbol::SymType symb) const
Packit 1c1d7e
{
Packit 1c1d7e
  return g_htmlEntities[symb].latex;
Packit 1c1d7e
}
Packit 1c1d7e
Packit 1c1d7e
/*! @brief Access routine to the man code of the HTML entity
Packit 1c1d7e
 *
Packit 1c1d7e
 * @param symb Code of the requested HTML entity
Packit 1c1d7e
 * @return the man of the HTML entity,
Packit 1c1d7e
 *         in case the man code is unknown \c NULL is returned.
Packit 1c1d7e
 */
Packit 1c1d7e
const char *HtmlEntityMapper::man(DocSymbol::SymType symb) const
Packit 1c1d7e
{
Packit 1c1d7e
  return g_htmlEntities[symb].man;
Packit 1c1d7e
}
Packit 1c1d7e
Packit 1c1d7e
/*! @brief Access routine to the RTF code of the HTML entity
Packit 1c1d7e
 *
Packit 1c1d7e
 * @param symb Code of the requested HTML entity
Packit 1c1d7e
 * @return the RTF of the HTML entity,
Packit 1c1d7e
 *         in case the RTF code is unknown \c NULL is returned.
Packit 1c1d7e
 */
Packit 1c1d7e
const char *HtmlEntityMapper::rtf(DocSymbol::SymType symb) const
Packit 1c1d7e
{
Packit 1c1d7e
  return g_htmlEntities[symb].rtf;
Packit 1c1d7e
}
Packit 1c1d7e
Packit 1c1d7e
/*! @brief Access routine to the perl struct with the perl code of the HTML entity
Packit 1c1d7e
 *
Packit 1c1d7e
 * @param symb Code of the requested HTML entity
Packit 1c1d7e
 * @return the pointer to perl struct with the perl code of the HTML entity,
Packit 1c1d7e
 *         in case the perl code does not exists the NULL pointer is entered in the
Packit 1c1d7e
 *         \c symb field and in the `DocSymbol::Perl_unknown` in the \c type field.
Packit 1c1d7e
 */
Packit 1c1d7e
const DocSymbol::PerlSymb *HtmlEntityMapper::perl(DocSymbol::SymType symb) const
Packit 1c1d7e
{
Packit 1c1d7e
  return &g_htmlEntities[symb].perl;
Packit 1c1d7e
}
Packit 1c1d7e
Packit 1c1d7e
/*!
Packit 1c1d7e
 * @brief Give code of the requested HTML entity name
Packit 1c1d7e
 * @param symName HTML entity name without \c & and \c ;
Packit 1c1d7e
 * @return the code for the requested HTML entity name,
Packit 1c1d7e
 *         in case the requested HTML item does not exist `DocSymbol::Sym_unknown` is returned.
Packit 1c1d7e
 */
Packit 1c1d7e
DocSymbol::SymType HtmlEntityMapper::name2sym(const QCString &symName) const
Packit 1c1d7e
{
Packit 1c1d7e
  int *pSymb = m_name2sym->find(symName);
Packit 1c1d7e
  return pSymb ? ((DocSymbol::SymType)*pSymb) : DocSymbol::Sym_Unknown;
Packit 1c1d7e
}
Packit 1c1d7e
Packit 1c1d7e
void HtmlEntityMapper::writeXMLSchema(FTextStream &t)
Packit 1c1d7e
{
Packit 1c1d7e
  for (int i=0;i
Packit 1c1d7e
  {
Packit 1c1d7e
    QCString bareName = g_htmlEntities[i].xml;
Packit 1c1d7e
    if (!bareName.isEmpty() && bareName.at(0)=='<' && bareName.right(2)=="/>")
Packit 1c1d7e
    {
Packit 1c1d7e
      bareName = bareName.mid(1,bareName.length()-3); // strip < and />
Packit 1c1d7e
      t << "      <xsd:element name=\"" << bareName << "\" type=\"docEmptyType\" />\n";
Packit 1c1d7e
    }
Packit 1c1d7e
  }
Packit 1c1d7e
}
Packit 1c1d7e
Packit 1c1d7e
/*! @brief Routine to check if the entries of the html_entities are numbered correctly
Packit 1c1d7e
 *  @details in case of a mismatch a warning message is given.
Packit 1c1d7e
 */
Packit 1c1d7e
void HtmlEntityMapper::validate()
Packit 1c1d7e
{
Packit 1c1d7e
  for (int i = 0; i < g_numHtmlEntities; i++)
Packit 1c1d7e
  {
Packit 1c1d7e
    if (i != g_htmlEntities[i].symb)
Packit 1c1d7e
    {
Packit 1c1d7e
      warn_uncond("Internal inconsistency, htmlentries code %d (item=%s)\n",i,g_htmlEntities[i].item);
Packit 1c1d7e
    }
Packit 1c1d7e
  }
Packit 1c1d7e
}