/*************************************************************************** * __________ __ ___. * Open \______ \ ____ ____ | | _\_ |__ _______ ___ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ * \/ \/ \/ \/ \/ * $Id$ * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ****************************************************************************/ /* adapted from http://htmlhelp.com/reference/html40/entities/ */ /* run ./sort_xmlentities.sh when changing this file */ struct html_entity { const char *string; unsigned short utf8; int string_length; }; #define ENT_COUNT sizeof(entities)/sizeof(struct html_entity) #define ENT(x, y) {x, y, sizeof(x) - 1} struct html_entity entities[] = { ENT("AElig;", 0xC6), ENT("Aacute;", 0xC1), ENT("Acirc;", 0xC2), ENT("Agrave;", 0xC0), ENT("Alpha;", 913), ENT("Aring;", 0xC5), ENT("Atilde;", 0xC3), ENT("Auml;", 0xC4), ENT("Beta;", 914), ENT("Ccedil;", 0xC7), ENT("Chi;", 935), ENT("Dagger;", 8225), ENT("Delta;", 916), ENT("ETH;", 0xD0), ENT("Eacute;", 0xC9), ENT("Ecirc;", 0xCA), ENT("Egrave;", 0xC8), ENT("Epsilon;", 917), ENT("Eta;", 919), ENT("Euml;", 0xCB), ENT("Gamma;", 915), ENT("Iacute;", 0xCD), ENT("Icirc;", 0xCE), ENT("Igrave;", 0xCC), ENT("Iota;", 921), ENT("Iuml;", 0xCF), ENT("Kappa;", 922), ENT("Lambda;", 923), ENT("Mu;", 924), ENT("Ntilde;", 0xD1), ENT("Nu;", 925), ENT("OElig;", 338), ENT("Oacute;", 0xD3), ENT("Ocirc;", 0xD4), ENT("Ograve;", 0xD2), ENT("Omega;", 937), ENT("Omicron;", 927), ENT("Oslash;", 0xD8), ENT("Otilde;", 0xD5), ENT("Ouml;", 0xD6), ENT("Phi;", 934), ENT("Pi;", 928), ENT("Prime;", 8243), ENT("Psi;", 936), ENT("Rho;", 929), ENT("Scaron;", 352), ENT("Sigma;", 931), ENT("THORN;", 0xDE), ENT("Tau;", 932), ENT("Theta;", 920), ENT("Uacute;", 0xDA), ENT("Ucirc;", 0xDB), ENT("Ugrave;", 0xD9), ENT("Upsilon;", 933), ENT("Uuml;", 0xDC), ENT("Xi;", 926), ENT("Yacute;", 0xDD), ENT("Yuml;", 376), ENT("Zeta;", 918), ENT("aacute;", 0xE1), ENT("acirc;", 0xE2), ENT("acute;", 0xB4), ENT("aelig;", 0xE6), ENT("agrave;", 0xE0), ENT("alefsym;", 8501), ENT("alpha;", 945), ENT("amp;", 38), ENT("and;", 8743), ENT("ang;", 8736), ENT("apos;", 0x27), ENT("aring;", 0xE5), ENT("asymp;", 8776), ENT("atilde;", 0xE3), ENT("auml;", 0xE4), ENT("bdquo;", 8222), ENT("beta;", 946), ENT("brvbar;", 0xA6), ENT("bull;", 8226), ENT("cap;", 8745), ENT("ccedil;", 0xE7), ENT("cedil;", 0xB8), ENT("cent;", 0xA2), ENT("chi;", 967), ENT("circ;", 710), ENT("clubs;", 9827), ENT("cong;", 8773), ENT("copy;", 0xA9), ENT("crarr;", 8629), ENT("cup;", 8746), ENT("curren;", 0xA4), ENT("dArr;", 8659), ENT("dagger;", 8224), ENT("darr;", 8595), ENT("deg;", 0xB0), ENT("delta;", 948), ENT("diams;", 9830), ENT("divide;", 0xF7), ENT("eacute;", 0xE9), ENT("ecirc;", 0xEA), ENT("egrave;", 0xE8), ENT("empty;", 8709), ENT("emsp;", 8195), ENT("ensp;", 8194), ENT("epsilon;", 949), ENT("equiv;", 8801), ENT("eta;", 951), ENT("eth;", 0xF0), ENT("euml;", 0xEB), ENT("euro;", 8364), ENT("exist;", 8707), ENT("fnof;", 402), ENT("forall;", 8704), ENT("frac12;", 0xBD), ENT("frac13;", 0x2153), ENT("frac14;", 0xBC), ENT("frac34;", 0xBE), ENT("frasl;", 8260), ENT("gamma;", 947), ENT("ge;", 8805), ENT("gt;", 62), ENT("hArr;", 8660), ENT("harr;", 8596), ENT("hearts;", 9829), ENT("hellip;", 8230), ENT("iacute;", 0xED), ENT("icirc;", 0xEE), ENT("iexcl;", 0xA1), ENT("igrave;", 0xEC), ENT("image;", 8465), ENT("infin;", 8734), ENT("int;", 8747), ENT("iota;", 953), ENT("iquest;", 0xBF), ENT("isin;", 8712), ENT("iuml;", 0xEF), ENT("kappa;", 954), ENT("lArr;", 8656), ENT("lambda;", 955), ENT("lang;", 9001), ENT("laquo;", 0xAB), ENT("larr;", 8592), ENT("lceil;", 8968), ENT("ldquo;", 8220), ENT("le;", 8804), ENT("lfloor;", 8970), ENT("lowast;", 8727), ENT("loz;", 9674), ENT("lrm;", 8206), ENT("lsaquo;", 8249), ENT("lsquo;", 8216), ENT("lt;", 60), ENT("macr;", 0xAF), ENT("mdash;", 8212), ENT("micro;", 0xB5), ENT("middot;", 0xB7), ENT("minus;", 8722), ENT("mu;", 956), ENT("nabla;", 8711), ENT("nbsp;", 0xA0), ENT("ndash;", 8211), ENT("ne;", 8800), ENT("ni;", 8715), ENT("not;", 0xAC), ENT("notin;", 8713), ENT("nsub;", 8836), ENT("ntilde;", 0xF1), ENT("nu;", 957), ENT("oacute;", 0xF3), ENT("ocirc;", 0xF4), ENT("oelig;", 339), ENT("ograve;", 0xF2), ENT("oline;", 8254), ENT("omega;", 969), ENT("omicron;", 959), ENT("oplus;", 8853), ENT("or;", 8744), ENT("ordf;", 0xAA), ENT("ordm;", 0xBA), ENT("oslash;", 0xF8), ENT("otilde;", 0xF5), ENT("otimes;", 8855), ENT("ouml;", 0xF6), ENT("para;", 0xB6), ENT("part;", 8706), ENT("permil;", 8240), ENT("perp;", 8869), ENT("phi;", 966), ENT("pi;", 960), ENT("piv;", 982), ENT("plusmn;", 0xB1), ENT("pm;", 0xB1), ENT("pound;", 0xA3), ENT("prime;", 8242), ENT("prod;", 8719), ENT("prop;", 8733), ENT("psi;", 968), ENT("quot", 34), ENT("rArr;", 8658), ENT("radic;", 8730), ENT("rang;", 9002), ENT("raquo;", 0xBB), ENT("rarr;", 8594), ENT("rceil;", 8969), ENT("rdquo;", 8221), ENT("real;", 8476), ENT("reg;", 0xAE), ENT("rfloor;", 8971), ENT("rho;", 961), ENT("rlm;", 8207), ENT("rsaquo;", 8250), ENT("rsquo;", 8217), ENT("sbquo;", 8218), ENT("scaron;", 353), ENT("sdot;", 8901), ENT("sect;", 0xA7), ENT("shy;", 0xAD), ENT("sigma;", 963), ENT("sigmaf;", 962), ENT("sim;", 8764), ENT("spades;", 9824), ENT("sub;", 8834), ENT("sube;", 8838), ENT("sum;", 8721), ENT("sup1;", 0xB9), ENT("sup2;", 0xB2), ENT("sup3;", 0xB3), ENT("sup;", 8835), ENT("supe;", 8839), ENT("szlig;", 0xDF), ENT("tau;", 964), ENT("there4;", 8756), ENT("theta;", 952), ENT("thetasym;", 977), ENT("thinsp;", 8201), ENT("thorn;", 0xFE), ENT("tilde;", 732), ENT("times;", 0xD7), ENT("trade;", 8482), ENT("uArr;", 8657), ENT("uacute;", 0xFA), ENT("uarr;", 8593), ENT("ucirc;", 0xFB), ENT("ugrave;", 0xF9), ENT("uml;", 0xA8), ENT("upsih;", 978), ENT("upsilon;", 965), ENT("uuml;", 0xFC), ENT("weierp;", 8472), ENT("xi;", 958), ENT("yacute;", 0xFD), ENT("yen;", 0xA5), ENT("yuml;", 0xFF), ENT("zeta;", 950), ENT("zwj;", 8205), ENT("zwnj;", 8204), };