#include "HTMLEntity.h" StringMapCI HTMLEntity::m_entities; //entity lookup ("e; etc.) //entities HTMLEntity HTMLEntity::entity_quot("quot", 34,"quotation mark = APL quote"); HTMLEntity HTMLEntity::entity_amp("amp", 38,"ampersand"); HTMLEntity HTMLEntity::entity_lt("lt", 60,"less-than sign"); HTMLEntity HTMLEntity::entity_gt("gt", 62,"greater-than sign"); HTMLEntity HTMLEntity::entity_OElig("OElig", 338,"Latin capital ligature OE"); HTMLEntity HTMLEntity::entity_oelig("oelig", 339,"Latin small ligature oe"); HTMLEntity HTMLEntity::entity_Scaron("Scaron", 352,"Latin capital letter S with caron"); HTMLEntity HTMLEntity::entity_scaron("scaron", 353,"Latin small letter s with caron"); HTMLEntity HTMLEntity::entity_Yuml("Yuml", 376,"Latin capital letter Y with diaeresis"); HTMLEntity HTMLEntity::entity_circ("circ", 710,"modifier letter circumflex accent"); HTMLEntity HTMLEntity::entity_tilde("tilde", 732,"small tilde"); HTMLEntity HTMLEntity::entity_ensp("ensp", 8194,"en space"); HTMLEntity HTMLEntity::entity_emsp("emsp", 8195,"em space"); HTMLEntity HTMLEntity::entity_thinsp("thinsp", 8201,"thin space"); HTMLEntity HTMLEntity::entity_zwnj("zwnj", 8204,"zero width non-joiner"); HTMLEntity HTMLEntity::entity_zwj("zwj", 8205,"zero width joiner"); HTMLEntity HTMLEntity::entity_lrm("lrm", 8206,"left-to-right mark"); HTMLEntity HTMLEntity::entity_rlm("rlm", 8207,"right-to-left mark"); HTMLEntity HTMLEntity::entity_ndash("ndash", 8211,"en dash"); HTMLEntity HTMLEntity::entity_mdash("mdash", 8212,"em dash"); HTMLEntity HTMLEntity::entity_lsquo("lsquo", 8216,"left single quotation mark"); HTMLEntity HTMLEntity::entity_rsquo("rsquo", 8217,"right single quotation mark"); HTMLEntity HTMLEntity::entity_sbquo("sbquo", 8218,"single low-9 quotation mark"); HTMLEntity HTMLEntity::entity_ldquo("ldquo", 8220,"left double quotation mark"); HTMLEntity HTMLEntity::entity_rdquo("rdquo", 8221,"right double quotation mark"); HTMLEntity HTMLEntity::entity_bdquo("bdquo", 8222,"double low-9 quotation mark"); HTMLEntity HTMLEntity::entity_dagger("dagger", 8224,"dagger"); HTMLEntity HTMLEntity::entity_Dagger("Dagger", 8225,"double dagger"); HTMLEntity HTMLEntity::entity_permil("permil", 8240,"per mille sign"); HTMLEntity HTMLEntity::entity_lsaquo("lsaquo", 8249,"single left-pointing angle quotation mark"); HTMLEntity HTMLEntity::entity_rsaquo("rsaquo", 8250,"single right-pointing angle quotation mark"); HTMLEntity HTMLEntity::entity_euro("euro", 8364,"euro sign"); HTMLEntity HTMLEntity::entity_nbsp("nbsp", 160,"no-break space = non-breaking space"); HTMLEntity HTMLEntity::entity_iexcl("iexcl", 161,"inverted exclamation mark"); HTMLEntity HTMLEntity::entity_cent("cent", 162,"cent sign"); HTMLEntity HTMLEntity::entity_pound("pound", 163,"pound sign"); HTMLEntity HTMLEntity::entity_curren("curren", 164,"currency sign"); HTMLEntity HTMLEntity::entity_yen("yen", 165,"yen sign = yuan sign"); HTMLEntity HTMLEntity::entity_brvbar("brvbar", 166,"broken bar = broken vertical bar"); HTMLEntity HTMLEntity::entity_sect("sect", 167,"section sign"); HTMLEntity HTMLEntity::entity_uml("uml", 168,"diaeresis = spacing diaeresis"); HTMLEntity HTMLEntity::entity_copy("copy", 169,"copyright sign"); HTMLEntity HTMLEntity::entity_ordf("ordf", 170,"feminine ordinal indicator"); HTMLEntity HTMLEntity::entity_laquo("laquo", 171,"left-pointing double angle quotation mark = left pointing guillemet"); HTMLEntity HTMLEntity::entity_not("not", 172,"not sign"); HTMLEntity HTMLEntity::entity_shy("shy", 173,"soft hyphen = discretionary hyphen"); HTMLEntity HTMLEntity::entity_reg("reg", 174,"registered sign = registered trade mark sign"); HTMLEntity HTMLEntity::entity_macr("macr", 175,"macron = spacing macron = overline = APL overbar"); HTMLEntity HTMLEntity::entity_deg("deg", 176,"degree sign"); HTMLEntity HTMLEntity::entity_plusmn("plusmn", 177,"plus-minus sign = plus-or-minus sign"); HTMLEntity HTMLEntity::entity_sup2("sup2", 178,"superscript two = superscript digit two = squared"); HTMLEntity HTMLEntity::entity_sup3("sup3", 179,"superscript three = superscript digit three = cubed"); HTMLEntity HTMLEntity::entity_acute("acute", 180,"acute accent = spacing acute"); HTMLEntity HTMLEntity::entity_micro("micro", 181,"micro sign"); HTMLEntity HTMLEntity::entity_para("para", 182,"pilcrow sign = paragraph sign"); HTMLEntity HTMLEntity::entity_middot("middot", 183,"middle dot = Georgian comma = Greek middle dot"); HTMLEntity HTMLEntity::entity_cedil("cedil", 184,"cedilla = spacing cedilla"); HTMLEntity HTMLEntity::entity_sup1("sup1", 185,"superscript one = superscript digit one"); HTMLEntity HTMLEntity::entity_ordm("ordm", 186,"masculine ordinal indicator"); HTMLEntity HTMLEntity::entity_raquo("raquo", 187,"right-pointing double angle quotation mark = right pointing guillemet"); HTMLEntity HTMLEntity::entity_frac14("frac14", 188,"vulgar fraction one quarter = fraction one quarter"); HTMLEntity HTMLEntity::entity_frac12("frac12", 189,"vulgar fraction one half = fraction one half"); HTMLEntity HTMLEntity::entity_frac34("frac34", 190,"vulgar fraction three quarters = fraction three quarters"); HTMLEntity HTMLEntity::entity_iquest("iquest", 191,"inverted question mark = turned question mark"); HTMLEntity HTMLEntity::entity_Agrave("Agrave", 192,"Latin capital letter A with grave = Latin capital letter A grave"); HTMLEntity HTMLEntity::entity_Aacute("Aacute", 193,"Latin capital letter A with acute"); HTMLEntity HTMLEntity::entity_Acirc("Acirc", 194,"Latin capital letter A with circumflex"); HTMLEntity HTMLEntity::entity_Atilde("Atilde", 195,"Latin capital letter A with tilde"); HTMLEntity HTMLEntity::entity_Auml("Auml", 196,"Latin capital letter A with diaeresis"); HTMLEntity HTMLEntity::entity_Aring("Aring", 197,"Latin capital letter A with ring above = Latin capital letter A ring"); HTMLEntity HTMLEntity::entity_AElig("AElig", 198,"Latin capital letter AE = Latin capital ligature AE"); HTMLEntity HTMLEntity::entity_Ccedil("Ccedil", 199,"Latin capital letter C with cedilla"); HTMLEntity HTMLEntity::entity_Egrave("Egrave", 200,"Latin capital letter E with grave"); HTMLEntity HTMLEntity::entity_Eacute("Eacute", 201,"Latin capital letter E with acute"); HTMLEntity HTMLEntity::entity_Ecirc("Ecirc", 202,"Latin capital letter E with circumflex"); HTMLEntity HTMLEntity::entity_Euml("Euml", 203,"Latin capital letter E with diaeresis"); HTMLEntity HTMLEntity::entity_Igrave("Igrave", 204,"Latin capital letter I with grave"); HTMLEntity HTMLEntity::entity_Iacute("Iacute", 205,"Latin capital letter I with acute"); HTMLEntity HTMLEntity::entity_Icirc("Icirc", 206,"Latin capital letter I with circumflex"); HTMLEntity HTMLEntity::entity_Iuml("Iuml", 207,"Latin capital letter I with diaeresis"); HTMLEntity HTMLEntity::entity_ETH("ETH", 208,"Latin capital letter ETH"); HTMLEntity HTMLEntity::entity_Ntilde("Ntilde", 209,"Latin capital letter N with tilde"); HTMLEntity HTMLEntity::entity_Ograve("Ograve", 210,"Latin capital letter O with grave"); HTMLEntity HTMLEntity::entity_Oacute("Oacute", 211,"Latin capital letter O with acute"); HTMLEntity HTMLEntity::entity_Ocirc("Ocirc", 212,"Latin capital letter O with circumflex"); HTMLEntity HTMLEntity::entity_Otilde("Otilde", 213,"Latin capital letter O with tilde"); HTMLEntity HTMLEntity::entity_Ouml("Ouml", 214,"Latin capital letter O with diaeresis"); HTMLEntity HTMLEntity::entity_times("times", 215,"multiplication sign"); HTMLEntity HTMLEntity::entity_Oslash("Oslash", 216,"Latin capital letter O with stroke = Latin capital letter O slash"); HTMLEntity HTMLEntity::entity_Ugrave("Ugrave", 217,"Latin capital letter U with grave"); HTMLEntity HTMLEntity::entity_Uacute("Uacute", 218,"Latin capital letter U with acute"); HTMLEntity HTMLEntity::entity_Ucirc("Ucirc", 219,"Latin capital letter U with circumflex"); HTMLEntity HTMLEntity::entity_Uuml("Uuml", 220,"Latin capital letter U with diaeresis"); HTMLEntity HTMLEntity::entity_Yacute("Yacute", 221,"Latin capital letter Y with acute"); HTMLEntity HTMLEntity::entity_THORN("THORN", 222,"Latin capital letter THORN"); HTMLEntity HTMLEntity::entity_szlig("szlig", 223,"Latin small letter sharp s = ess-zed"); HTMLEntity HTMLEntity::entity_agrave("agrave", 224,"Latin small letter a with grave = Latin small letter a grave"); HTMLEntity HTMLEntity::entity_aacute("aacute", 225,"Latin small letter a with acute"); HTMLEntity HTMLEntity::entity_acirc("acirc", 226,"Latin small letter a with circumflex"); HTMLEntity HTMLEntity::entity_atilde("atilde", 227,"Latin small letter a with tilde"); HTMLEntity HTMLEntity::entity_auml("auml", 228,"Latin small letter a with diaeresis"); HTMLEntity HTMLEntity::entity_aring("aring", 229,"Latin small letter a with ring above = Latin small letter a ring"); HTMLEntity HTMLEntity::entity_aelig("aelig", 230,"Latin small letter ae = Latin small ligature ae"); HTMLEntity HTMLEntity::entity_ccedil("ccedil", 231,"Latin small letter c with cedilla"); HTMLEntity HTMLEntity::entity_egrave("egrave", 232,"Latin small letter e with grave"); HTMLEntity HTMLEntity::entity_eacute("eacute", 233,"Latin small letter e with acute"); HTMLEntity HTMLEntity::entity_ecirc("ecirc", 234,"Latin small letter e with circumflex"); HTMLEntity HTMLEntity::entity_euml("euml", 235,"Latin small letter e with diaeresis"); HTMLEntity HTMLEntity::entity_igrave("igrave", 236,"Latin small letter i with grave"); HTMLEntity HTMLEntity::entity_iacute("iacute", 237,"Latin small letter i with acute"); HTMLEntity HTMLEntity::entity_icirc("icirc", 238,"Latin small letter i with circumflex"); HTMLEntity HTMLEntity::entity_iuml("iuml", 239,"Latin small letter i with diaeresis"); HTMLEntity HTMLEntity::entity_eth("eth", 240,"Latin small letter eth"); HTMLEntity HTMLEntity::entity_ntilde("ntilde", 241,"Latin small letter n with tilde"); HTMLEntity HTMLEntity::entity_ograve("ograve", 242,"Latin small letter o with grave"); HTMLEntity HTMLEntity::entity_oacute("oacute", 243,"Latin small letter o with acute"); HTMLEntity HTMLEntity::entity_ocirc("ocirc", 244,"Latin small letter o with circumflex"); HTMLEntity HTMLEntity::entity_otilde("otilde", 245,"Latin small letter o with tilde"); HTMLEntity HTMLEntity::entity_ouml("ouml", 246,"Latin small letter o with diaeresis"); HTMLEntity HTMLEntity::entity_divide("divide", 247,"division sign"); HTMLEntity HTMLEntity::entity_oslash("oslash", 248,"Latin small letter o with stroke = Latin small letter o slash"); HTMLEntity HTMLEntity::entity_ugrave("ugrave", 249,"Latin small letter u with grave"); HTMLEntity HTMLEntity::entity_uacute("uacute", 250,"Latin small letter u with acute"); HTMLEntity HTMLEntity::entity_ucirc("ucirc", 251,"Latin small letter u with circumflex"); HTMLEntity HTMLEntity::entity_uuml("uuml", 252,"Latin small letter u with diaeresis"); HTMLEntity HTMLEntity::entity_yacute("yacute", 253,"Latin small letter y with acute"); HTMLEntity HTMLEntity::entity_thorn("thorn", 254,"Latin small letter thorn"); HTMLEntity HTMLEntity::entity_yuml("yuml", 255,"Latin small letter y with diaeresis"); HTMLEntity HTMLEntity::entity_fnof("fnof", 402,"Latin small f with hook = function = florin"); HTMLEntity HTMLEntity::entity_Alpha("Alpha", 913,"Greek capital letter alpha"); HTMLEntity HTMLEntity::entity_Beta("Beta", 914,"Greek capital letter beta"); HTMLEntity HTMLEntity::entity_Gamma("Gamma", 915,"Greek capital letter gamma"); HTMLEntity HTMLEntity::entity_Delta("Delta", 916,"Greek capital letter delta"); HTMLEntity HTMLEntity::entity_Epsilon("Epsilon", 917,"Greek capital letter epsilon"); HTMLEntity HTMLEntity::entity_Zeta("Zeta", 918,"Greek capital letter zeta"); HTMLEntity HTMLEntity::entity_Eta("Eta", 919,"Greek capital letter eta"); HTMLEntity HTMLEntity::entity_Theta("Theta", 920,"Greek capital letter theta"); HTMLEntity HTMLEntity::entity_Iota("Iota", 921,"Greek capital letter iota"); HTMLEntity HTMLEntity::entity_Kappa("Kappa", 922,"Greek capital letter kappa"); HTMLEntity HTMLEntity::entity_Lambda("Lambda", 923,"Greek capital letter lambda"); HTMLEntity HTMLEntity::entity_Mu("Mu", 924,"Greek capital letter mu"); HTMLEntity HTMLEntity::entity_Nu("Nu", 925,"Greek capital letter nu"); HTMLEntity HTMLEntity::entity_Xi("Xi", 926,"Greek capital letter xi"); HTMLEntity HTMLEntity::entity_Omicron("Omicron", 927,"Greek capital letter omicron"); HTMLEntity HTMLEntity::entity_Pi("Pi", 928,"Greek capital letter pi"); HTMLEntity HTMLEntity::entity_Rho("Rho", 929,"Greek capital letter rho"); HTMLEntity HTMLEntity::entity_Sigma("Sigma", 931,"Greek capital letter sigma"); HTMLEntity HTMLEntity::entity_Tau("Tau", 932,"Greek capital letter tau"); HTMLEntity HTMLEntity::entity_Upsilon("Upsilon", 933,"Greek capital letter upsilon"); HTMLEntity HTMLEntity::entity_Phi("Phi", 934,"Greek capital letter phi"); HTMLEntity HTMLEntity::entity_Chi("Chi", 935,"Greek capital letter chi"); HTMLEntity HTMLEntity::entity_Psi("Psi", 936,"Greek capital letter psi"); HTMLEntity HTMLEntity::entity_Omega("Omega", 937,"Greek capital letter omega"); HTMLEntity HTMLEntity::entity_alpha("alpha", 945,"Greek small letter alpha"); HTMLEntity HTMLEntity::entity_beta("beta", 946,"Greek small letter beta"); HTMLEntity HTMLEntity::entity_gamma("gamma", 947,"Greek small letter gamma"); HTMLEntity HTMLEntity::entity_delta("delta", 948,"Greek small letter delta"); HTMLEntity HTMLEntity::entity_epsilon("epsilon", 949,"Greek small letter epsilon"); HTMLEntity HTMLEntity::entity_zeta("zeta", 950,"Greek small letter zeta"); HTMLEntity HTMLEntity::entity_eta("eta", 951,"Greek small letter eta"); HTMLEntity HTMLEntity::entity_theta("theta", 952,"Greek small letter theta"); HTMLEntity HTMLEntity::entity_iota("iota", 953,"Greek small letter iota"); HTMLEntity HTMLEntity::entity_kappa("kappa", 954,"Greek small letter kappa"); HTMLEntity HTMLEntity::entity_lambda("lambda", 955,"Greek small letter lambda"); HTMLEntity HTMLEntity::entity_mu("mu", 956,"Greek small letter mu"); HTMLEntity HTMLEntity::entity_nu("nu", 957,"Greek small letter nu"); HTMLEntity HTMLEntity::entity_xi("xi", 958,"Greek small letter xi"); HTMLEntity HTMLEntity::entity_omicron("omicron", 959,"Greek small letter omicron"); HTMLEntity HTMLEntity::entity_pi("pi", 960,"Greek small letter pi"); HTMLEntity HTMLEntity::entity_rho("rho", 961,"Greek small letter rho"); HTMLEntity HTMLEntity::entity_sigmaf("sigmaf", 962,"Greek small letter final sigma"); HTMLEntity HTMLEntity::entity_sigma("sigma", 963,"Greek small letter sigma"); HTMLEntity HTMLEntity::entity_tau("tau", 964,"Greek small letter tau"); HTMLEntity HTMLEntity::entity_upsilon("upsilon", 965,"Greek small letter upsilon"); HTMLEntity HTMLEntity::entity_phi("phi", 966,"Greek small letter phi"); HTMLEntity HTMLEntity::entity_chi("chi", 967,"Greek small letter chi"); HTMLEntity HTMLEntity::entity_psi("psi", 968,"Greek small letter psi"); HTMLEntity HTMLEntity::entity_omega("omega", 969,"Greek small letter omega"); HTMLEntity HTMLEntity::entity_thetasym("thetasym", 977,"Greek small letter theta symbol"); HTMLEntity HTMLEntity::entity_upsih("upsih", 978,"Greek upsilon with hook symbol"); HTMLEntity HTMLEntity::entity_piv("piv", 982,"Greek pi symbol"); HTMLEntity HTMLEntity::entity_bull("bull", 8226,"bullet = black small circle"); HTMLEntity HTMLEntity::entity_hellip("hellip", 8230,"horizontal ellipsis = three dot leader"); HTMLEntity HTMLEntity::entity_prime("prime", 8242,"prime = minutes = feet"); HTMLEntity HTMLEntity::entity_Prime("Prime", 8243,"double prime = seconds = inches"); HTMLEntity HTMLEntity::entity_oline("oline", 8254,"overline = spacing overscore"); HTMLEntity HTMLEntity::entity_frasl("frasl", 8260,"fraction slash"); HTMLEntity HTMLEntity::entity_weierp("weierp", 8472,"script capital P = power set = Weierstrass p"); HTMLEntity HTMLEntity::entity_image("image", 8465,"blackletter capital I = imaginary part"); HTMLEntity HTMLEntity::entity_real("real", 8476,"blackletter capital R = real part symbol"); HTMLEntity HTMLEntity::entity_trade("trade", 8482,"trade mark sign"); HTMLEntity HTMLEntity::entity_alefsym("alefsym", 8501,"alef symbol = first transfinite cardinal"); HTMLEntity HTMLEntity::entity_larr("larr", 8592,"leftwards arrow"); HTMLEntity HTMLEntity::entity_uarr("uarr", 8593,"upwards arrow"); HTMLEntity HTMLEntity::entity_rarr("rarr", 8594,"rightwards arrow"); HTMLEntity HTMLEntity::entity_darr("darr", 8595,"downwards arrow"); HTMLEntity HTMLEntity::entity_harr("harr", 8596,"left right arrow"); HTMLEntity HTMLEntity::entity_crarr("crarr", 8629,"downwards arrow with corner leftwards = carriage return"); HTMLEntity HTMLEntity::entity_lArr("lArr", 8656,"leftwards double arrow"); HTMLEntity HTMLEntity::entity_uArr("uArr", 8657,"upwards double arrow"); HTMLEntity HTMLEntity::entity_rArr("rArr", 8658,"rightwards double arrow"); HTMLEntity HTMLEntity::entity_dArr("dArr", 8659,"downwards double arrow"); HTMLEntity HTMLEntity::entity_hArr("hArr", 8660,"left right double arrow"); HTMLEntity HTMLEntity::entity_forall("forall", 8704,"for all"); HTMLEntity HTMLEntity::entity_part("part", 8706,"partial differential"); HTMLEntity HTMLEntity::entity_exist("exist", 8707,"there exists"); HTMLEntity HTMLEntity::entity_empty("empty", 8709,"empty set = null set = diameter"); HTMLEntity HTMLEntity::entity_nabla("nabla", 8711,"nabla = backward difference"); HTMLEntity HTMLEntity::entity_isin("isin", 8712,"element of"); HTMLEntity HTMLEntity::entity_notin("notin", 8713,"not an element of"); HTMLEntity HTMLEntity::entity_ni("ni", 8715,"contains as member"); HTMLEntity HTMLEntity::entity_prod("prod", 8719,"n-ary product = product sign"); HTMLEntity HTMLEntity::entity_sum("sum", 8721,"n-ary sumation"); HTMLEntity HTMLEntity::entity_minus("minus", 8722,"minus sign"); HTMLEntity HTMLEntity::entity_lowast("lowast", 8727,"asterisk operator"); HTMLEntity HTMLEntity::entity_radic("radic", 8730,"square root = radical sign"); HTMLEntity HTMLEntity::entity_prop("prop", 8733,"proportional to"); HTMLEntity HTMLEntity::entity_infin("infin", 8734,"infinity"); HTMLEntity HTMLEntity::entity_ang("ang", 8736,"angle"); HTMLEntity HTMLEntity::entity_and("and", 8743,"logical and = wedge"); HTMLEntity HTMLEntity::entity_or("or", 8744,"logical or = vee"); HTMLEntity HTMLEntity::entity_cap("cap", 8745,"intersection = cap"); HTMLEntity HTMLEntity::entity_cup("cup", 8746,"union = cup"); HTMLEntity HTMLEntity::entity_int("int", 8747,"integral"); HTMLEntity HTMLEntity::entity_there4("there4", 8756,"therefore"); HTMLEntity HTMLEntity::entity_sim("sim", 8764,"tilde operator = varies with = similar to"); HTMLEntity HTMLEntity::entity_cong("cong", 8773,"approximately equal to"); HTMLEntity HTMLEntity::entity_asymp("asymp", 8776,"almost equal to = asymptotic to"); HTMLEntity HTMLEntity::entity_ne("ne", 8800,"not equal to"); HTMLEntity HTMLEntity::entity_equiv("equiv", 8801,"identical to"); HTMLEntity HTMLEntity::entity_le("le", 8804,"less-than or equal to"); HTMLEntity HTMLEntity::entity_ge("ge", 8805,"greater-than or equal to"); HTMLEntity HTMLEntity::entity_sub("sub", 8834,"subset of"); HTMLEntity HTMLEntity::entity_sup("sup", 8835,"superset of"); HTMLEntity HTMLEntity::entity_nsub("nsub", 8836,"not a subset of"); HTMLEntity HTMLEntity::entity_sube("sube", 8838,"subset of or equal to"); HTMLEntity HTMLEntity::entity_supe("supe", 8839,"superset of or equal to"); HTMLEntity HTMLEntity::entity_oplus("oplus", 8853,"circled plus = direct sum"); HTMLEntity HTMLEntity::entity_otimes("otimes", 8855,"circled times = vector product"); HTMLEntity HTMLEntity::entity_perp("perp", 8869,"up tack = orthogonal to = perpendicular"); HTMLEntity HTMLEntity::entity_sdot("sdot", 8901,"dot operator"); HTMLEntity HTMLEntity::entity_lceil("lceil", 8968,"left ceiling = APL upstile"); HTMLEntity HTMLEntity::entity_rceil("rceil", 8969,"right ceiling"); HTMLEntity HTMLEntity::entity_lfloor("lfloor", 8970,"left floor = APL downstile"); HTMLEntity HTMLEntity::entity_rfloor("rfloor", 8971,"right floor"); HTMLEntity HTMLEntity::entity_lang("lang", 9001,"left-pointing angle bracket = bra"); HTMLEntity HTMLEntity::entity_rang("rang", 9002,"right-pointing angle bracket = ket"); HTMLEntity HTMLEntity::entity_loz("loz", 9674,"lozenge"); HTMLEntity HTMLEntity::entity_spades("spades", 9824,"black spade suit"); HTMLEntity HTMLEntity::entity_clubs("clubs", 9827,"black club suit = shamrock"); HTMLEntity HTMLEntity::entity_hearts("hearts", 9829,"black heart suit = valentine"); HTMLEntity HTMLEntity::entity_diams("diams", 9830,"black diamond suit"); HTMLEntity::HTMLEntity(const char *_text, unsigned int _codepoint, const char *_description): m_text(_text), m_codepoint(_codepoint), m_description(_description) { m_entities.insert(make_pair(m_text, this)); } HTMLEntity *HTMLEntity::getentity(const char *entityStart) { const char *entityEnd; char c; HTMLEntity *thisEntity = 0; while (*entityStart == '&' || *entityStart == '#') entityStart++; //after & or # or to EOF entityEnd = entityStart; while ((c = *entityEnd) && isAlphaNumeric(c)) entityEnd++; //nearest space or ; or EOF if (c) thisEntity = entity(entityStart, entityEnd); //found! return thisEntity; } HTMLEntity *HTMLEntity::entity(const char *text) { StringMapCI::const_iterator i; i = m_entities.find(text); return (i == m_entities.end() ? 0 : i->second); } HTMLEntity *HTMLEntity::entity(const char *textstart, const char *textfinish) { char *endc = (char*) textfinish; char c = *endc; *endc = 0; HTMLEntity *t = entity(textstart); *endc = c; return t; }