lib

unicodetable.cc

00001 /* This file is part of the KDE project
00002    Copyright (C) 2006 Alfredo Beaumont Sainz <alfredo.beaumont@gmail.com>
00003 
00004    This library is free software; you can redistribute it and/or
00005    modify it under the terms of the GNU Library General Public
00006    License as published by the Free Software Foundation; either
00007    version 2 of the License, or (at your option) any later version.
00008 
00009    This library is distributed in the hope that it will be useful,
00010    but WITHOUT ANY WARRANTY; without even the implied warranty of
00011    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012    Library General Public License for more details.
00013 
00014    You should have received a copy of the GNU Library General Public License
00015    along with this library; see the file COPYING.LIB.  If not, write to
00016    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00017  * Boston, MA 02110-1301, USA.
00018 */
00019 
00020 KFORMULA_NAMESPACE_BEGIN
00021 
00022 struct UnicodeNameTable { short unicode; const char* name; };
00023 
00024 static UnicodeNameTable greekTable[] = {
00025     { 0x03B1, "alpha" },
00026     { 0x03B2, "beta" },
00027     { 0x03B3, "gamma" },
00028     { 0x03B4, "delta" },
00029     { 0x03B5, "epsilon" },
00030     { 0x03F5, "varepsilon" },
00031     { 0x03B6, "zeta" },
00032     { 0x03B7, "eta" },
00033     { 0x03B8, "theta" },
00034     { 0x03D1, "vartheta" },
00035     { 0x03B9, "iota" },
00036     { 0x03BA, "kappa" },
00037     { 0x03F0, "varkappa" },
00038     { 0x03BB, "lambda" },
00039     { 0x03BC, "mu" },
00040     { 0x03BD, "nu" },
00041     { 0x03BE, "xi" },
00042     { 0x03C0, "pi" },
00043     { 0x03D6, "varpi" },
00044     { 0x03C1, "rho" },
00045     { 0x03F1, "varrho" },
00046     { 0x03C3, "sigma" },
00047     { 0x03C2, "varsigma" },
00048     { 0x03C4, "tau" },
00049     { 0x03C5, "upsilon" },
00050     { 0x03D5, "phi" },
00051     { 0x03C6, "varphi" },
00052     { 0x03C7, "chi" },
00053     { 0x03C8, "omega" },
00054     { 0x0393, "Gamma" },
00055     { 0x0394, "Delta" },
00056     { 0x0398, "Theta" },
00057     { 0x039B, "Lambda" },
00058     { 0x039E, "Xi" },
00059     { 0x03A0, "Pi" },
00060     { 0x03A3, "Sigma" },
00061     { 0x03D2, "Upsilon" },
00062     { 0x03A6, "Phi" },
00063     { 0x03A8, "Psi" },
00064     { 0x03A9, "Omega" },
00065     { 0, 0 }
00066 };
00067 
00068 static UnicodeNameTable arrowTable[] = {
00069     { 0x2190, "leftarrow" },
00070     { 0x2191, "uparrow" },
00071     { 0x2192, "rightarrow" },
00072     { 0x2193, "downarrow" },
00073     { 0x2194, "leftrightarrow" },
00074     { 0x2195, "updownarrow" },
00075     { 0x2196, "nwarrow" },
00076     { 0x2197, "nearrow" },
00077     { 0x2198, "searrow" },
00078     { 0x2199, "swarrow" },
00079     { 0x219A, "nleftarrow" },
00080     { 0x219B, "nrightarrow" },
00081     { 0x219C, "" },
00082     { 0x219D, "rightsquigarrow" },
00083     { 0x219E, "twoheadleftarrow" },
00084     { 0x219F, "" },
00085     { 0x21A0, "twoheadrightarrow" },
00086     { 0x21A1, "" },
00087     { 0x21A2, "leftarrowtail" },
00088     { 0x21A3, "rightarrowtail" },
00089     { 0x21A4, "" },
00090     { 0x21A5, "" },
00091     { 0x21A6, "mapsto" },
00092     { 0x21A7, "" },
00093     { 0x21A8, "" },
00094     { 0x21A9, "hookleftarrow" },
00095     { 0x21AA, "hookrightarrow" },
00096     { 0x21AB, "looparrowleft" },
00097     { 0x21AC, "looparrowright" },
00098     { 0x21AD, "leftrightsquigarrow" },
00099     { 0x21AE, "nleftrightarrow" },
00100     { 0x21AF, "" },
00101     { 0x21B0, "Lsh" },
00102     { 0x21B1, "Rsh" },
00103     { 0x21B2, "" },
00104     { 0x21B3, "" },
00105     { 0x21B4, "" },
00106     { 0x21B5, "carriagereturn" },
00107     { 0x21B6, "curvearrowleft" },
00108     { 0x21B7, "curvearrowright" },
00109     { 0x21B8, "" },
00110     { 0x21B9, "" },
00111     { 0x21BA, "acwopencirclearrow" },
00112     { 0x21BB, "cwopencirclearrow" },
00113     { 0x21BC, "leftharpoonup" },
00114     { 0x21BD, "leftharpoondown" },
00115     { 0x21BE, "upharpoonright" },
00116     { 0x21BF, "upharpoonleft" },
00117     { 0x21C0, "rightharpoonup" },
00118     { 0x21C1, "rightharpoondown" },
00119     { 0x21C2, "downharpoonright" },
00120     { 0x21C3, "downharpoonleft" },
00121     { 0x21C4, "rightleftarrows" },
00122     { 0x21C5, "" },
00123     { 0x21C6, "leftrightarrows" },
00124     { 0x21C7, "leftleftarrows" },
00125     { 0x21C8, "upuparrows" },
00126     { 0x21C9, "rightrightarrows" },
00127     { 0x21CA, "downdownarrows" },
00128     { 0x21CB, "leftrightharpoons" },
00129     { 0x21CC, "rightleftharpoons" },
00130     { 0x21CD, "nLeftarrow" },
00131     { 0x21CE, "nLeftrightarrow" },
00132     { 0x21CF, "nRightarrow" },
00133     { 0x21D0, "Leftarrow" },
00134     { 0x21D1, "Uparrow" },
00135     { 0x21D2, "Rightarrow" },
00136     { 0x21D3, "Downarrow" },
00137     { 0x21D4, "Leftrightarrow" },
00138     { 0x21D5, "Updownarrow" },
00139     { 0x21D6, "" },
00140     { 0x21D7, "" },
00141     { 0x21D8, "" },
00142     { 0x21D9, "" },
00143     { 0x21DA, "Lleftarrow" },
00144     { 0x21DB, "Rrightarrow" },
00145     { 0x21DC, "" },
00146     { 0x21DD, "rightzigzagarrow" },
00147     { 0x21DE, "" },
00148     { 0x21DF, "" },
00149     { 0x21E0, "" },
00150     { 0x21E1, "" },
00151     { 0x21E2, "" },
00152     { 0x21E3, "" },
00153     { 0x21E4, "" },
00154     { 0x21E5, "" },
00155     { 0x21E6, "" },
00156     { 0x21E7, "" },
00157     { 0x21E8, "" },
00158     { 0x21E9, "" },
00159     { 0x21EA, "" },
00160     { 0x21EB, "" },
00161     { 0x21EC, "" },
00162     { 0x21ED, "" },
00163     { 0x21EE, "" },
00164     { 0x21EF, "" },
00165     { 0x21F0, "" },
00166     { 0x21F1, "" },
00167     { 0x21F2, "" },
00168     { 0x21F3, "" },
00169     { 0x21F4, "" },
00170     { 0x21F5, "" },
00171     { 0x21F6, "" },
00172     { 0x21F7, "" },
00173     { 0x21F8, "" },
00174     { 0x21F9, "" },
00175     { 0x21FA, "" },
00176     { 0x21FB, "" },
00177     { 0x21FC, "" },
00178     { 0x21FD, "" },
00179     { 0x21FE, "" },
00180     { 0x21FF, "" },
00181     { 0, 0 }
00182 };
00183 
00184 /*
00185     { 0x003A, "colon" },
00186     { 0x003A, "colon" },
00187     { 0x003C, "less" },
00188     { 0x003C, "less" },
00189     { 0x003E, "greater" },
00190     { 0x003E, "greater" },
00191     { 0x005C, "backslash" },
00192     { 0x005E, "textasciicircum" },
00193     { 0x007B, "lbrace" },
00194     { 0x007C, "vert" },
00195     { 0x007D, "rbrace" },
00196     { 0x007E, "textasciitilde" },
00197     { 0x00A1, "textexclamdown" },
00198     { 0x00A7, "S" },
00199     { 0x00AC, "neg" },
00200     { 0x00B0, "degree" },
00201     { 0x00B1, "pm" },
00202     { 0x00B6, "P" },
00203     { 0x00BF, "textquestiondown" },
00204     { 0x00D7, "times" },
00205     { 0x00D8, "O" },
00206     { 0x00F7, "div" },
00207     { 0x00F8, "o" },
00208     { 0x019B, "lambdabar" },
00209     { 0x0300, "grave" },
00210     { 0x0301, "acute" },
00211     { 0x0302, "hat" },
00212     { 0x0304, "bar" },
00213     { 0x030A, "ocirc" },
00214     { 0x0338, "not" },
00215     { 0x2013, "endash" },
00216     { 0x2014, "emdash" },
00217     { 0x2022, "bullet" },
00218     { 0x2026, "ldots" },
00219     { 0x2032, "prime" },
00220     { 0x2035, "backprime" },
00221     { 0x20D0, "leftharpoonaccent" },
00222     { 0x20D1, "rightharpoonaccent" },
00223     { 0x20D6, "overleftarrow" },
00224     { 0x20D7, "vec" },
00225     { 0x20E1, "overleftrightarrow" },
00226     { 0x2111, "Im" },
00227     { 0x2118, "wp" },
00228     { 0x211C, "Re" },
00229     { 0x2127, "mho" },
00230     { 0x2309, "rceil" },
00231     { 0x2329, "langle" },
00232     { 0x232A, "rangle" },
00233     { 0x24C8, "circledS" },
00234     { 0x25B3, "bigtriangleup" },
00235     { 0x25B4, "blacktriangle" },
00236     { 0x25B5, "vartriangle" },
00237     { 0x25B6, "blacktriangleright" },
00238     { 0x25BD, "bigtriangledown" },
00239     { 0x25BE, "blacktriangledown" },
00240     { 0x25C0, "blacktriangleleft" },
00241     { 0x25CB, "bigcirc" },
00242     { 0x2605, "bigstar" },
00243     { 0x2660, "spadesuit" },
00244     { 0x2661, "heartsuit" },
00245     { 0x2662, "diamondsuit" },
00246     { 0x2663, "clubsuit" },
00247     { 0x2666, "diamondsuit" },
00248     { 0x266D, "flat" },
00249     { 0x266E, "natural" },
00250     { 0x266F, "sharp" },
00251     { 0x2713, "checkmark" },
00252     { 0x2720, "maltese" },
00253     { 0xE201, "longleftarrow" },
00254     { 0xE205, "longrightarrow" },
00255     { 0xE29F, "gnapprox" },
00256     { 0xE2A0, "gneq" },
00257     { 0xE2A3, "lneq" },
00258     { 0xE2A6, "ngeqslant" },
00259     { 0xE2A7, "nleqslant" },
00260     { 0xE2A8, "nleqq" },
00261     { 0xE2B0, "nsupseteqq" },
00262     { 0xE2B2, "precnapprox" },
00263     { 0xE2B4, "succnapprox" },
00264     { 0xE2B6, "subsetneqq" },
00265     { 0xE2B7, "supsetneqq" },
00266     { 0xE2B8, "varsubsetneqq" },
00267     { 0xE2B9, "varsubsetneq" },
00268     { 0xE2BA, "varsupsetneq" },
00269     { 0xE2BB, "varsupsetneqq" },
00270     { 0xE2F4, "gtrapprox" },
00271     { 0xE2F5, "gtreqqless" },
00272     { 0xE2F6, "geqslant" },
00273     { 0xE2F8, "lessapprox" },
00274     { 0xE2F9, "lesseqqgtr" },
00275     { 0xE2FA, "leqslant" },
00276     { 0xE2FD, "precapprox" },
00277     { 0xE2FE, "preceq" },
00278     { 0xE2FF, "succapprox" },
00279     { 0xE300, "succeq" },
00280     { 0xE304, "subseteqq" },
00281     { 0xE305, "supseteqq" },
00282     { 0xE5CF, "eqslantless" },
00283     { 0xE5DC, "npreceq" },
00284     { 0xE5F1, "nsucceq" },
00285     { 0xE663, "Upsilon" },
00286 */
00287 
00288 static UnicodeNameTable operatorTable[] = {
00289     { 0x2200, "forall" },
00290     { 0x2201, "complement" },
00291     { 0x2202, "partial" },
00292     { 0x2203, "exists" },
00293     { 0x2204, "nexists" },
00294     { 0x2205, "oslash" },
00295     { 0x2206, "triangle" },
00296     { 0x2207, "nabla" },
00297     { 0x2208, "in" },
00298     { 0x2209, "notin" },
00299     { 0x220A, "in" },
00300     { 0x220B, "ni" },
00301     { 0x220C, "" },
00302     { 0x220D, "ni" },
00303     { 0x220E, "blacksquare" },
00304     { 0x220F, "prod" },
00305     { 0x2210, "coprod" },
00306     { 0x2211, "sum" },
00307     { 0x2212, "minus" },
00308     { 0x2213, "mp" },
00309     { 0x2214, "dotplus" },
00310     { 0x2215, "slash" },
00311     { 0x2216, "setminus" },
00312     { 0x2217, "ast" },
00313     { 0x2218, "circ" },
00314     { 0x2219, "bullet" },
00315     { 0x221A, "surd" },
00316     { 0x221B, "" },
00317     { 0x221C, "" },
00318     { 0x221D, "propto" },
00319     { 0x221E, "infty" },
00320     { 0x221F, "" },
00321     { 0x2220, "angle" },
00322     { 0x2221, "measuredangle" },
00323     { 0x2222, "" },
00324     { 0x2223, "mid" },
00325     { 0x2224, "nmid" },
00326     { 0x2225, "parallel" },
00327     { 0x2226, "nparallel" },
00328     { 0x2227, "wedge" },
00329     { 0x2228, "vee" },
00330     { 0x2229, "cap" },
00331     { 0x222A, "cup" },
00332     { 0x222B, "int" },
00333     { 0x222C, "" },
00334     { 0x222D, "" },
00335     { 0x222E, "oint" },
00336     { 0x222F, "" },
00337     { 0x2230, "" },
00338     { 0x2231, "" },
00339     { 0x2232, "" },
00340     { 0x2233, "" },
00341     { 0x2234, "therefore" },
00342     { 0x2235, "because" },
00343     { 0x2236, "" },
00344     { 0x2237, "" },
00345     { 0x2238, "" },
00346     { 0x2239, "" },
00347     { 0x223A, "" },
00348     { 0x223B, "" },
00349     { 0x223C, "sim" },
00350     { 0x223D, "backsim" },
00351     { 0x223E, "" },
00352     { 0x223F, "" },
00353     { 0x2240, "wr" },
00354     { 0x2241, "" },
00355     { 0x2242, "eqsim" },
00356     { 0x2243, "simeq" },
00357     { 0x2244, "nsime" },
00358     { 0x2245, "cong" },
00359     { 0x2246, "" },
00360     { 0x2247, "ncong" },
00361     { 0x2248, "approx" },
00362     { 0x2249, "" },
00363     { 0x224A, "approxeq" },
00364     { 0x224B, "" },
00365     { 0x224C, "" },
00366     { 0x224D, "asymp" },
00367     { 0x224E, "Bumpeq" },
00368     { 0x224F, "bumpeq" },
00369     { 0x2250, "doteq" },
00370     { 0x2251, "Doteq" },
00371     { 0x2252, "fallingdotseq" },
00372     { 0x2253, "risingdotseq" },
00373     { 0x2254, "" },
00374     { 0x2255, "" },
00375     { 0x2256, "eqcirc" },
00376     { 0x2257, "circeq" },
00377     { 0x2258, "" },
00378     { 0x2259, "wedgeq" },
00379     { 0x225A, "" },
00380     { 0x225B, "" },
00381     { 0x225C, "triangleq" },
00382     { 0x225D, "" },
00383     { 0x225E, "" },
00384     { 0x225F, "" },
00385     { 0x2260, "neq" },
00386     { 0x2261, "equiv" },
00387     { 0x2262, "" },
00388     { 0x2263, "" },
00389     { 0x2264, "leq" },
00390     { 0x2265, "geq" },
00391     { 0x2266, "leqq" },
00392     { 0x2267, "geqq" },
00393     { 0x2268, "" },
00394     { 0x2269, "" },
00395     { 0x226A, "ll" },
00396     { 0x226B, "gg" },
00397     { 0x226C, "between" },
00398     { 0x226D, "" },
00399     { 0x226E, "nless" },
00400     { 0x226F, "ngtr" },
00401     { 0x2270, "nleq" },
00402     { 0x2271, "ngeq" },
00403     { 0x2272, "lesssim" },
00404     { 0x2273, "gtrsim" },
00405     { 0x2274, "" },
00406     { 0x2275, "" },
00407     { 0x2276, "lessgtr" },
00408     { 0x2277, "gtrless" },
00409     { 0x2278, "" },
00410     { 0x2279, "" },
00411     { 0x227A, "prec" },
00412     { 0x227B, "succ" },
00413     { 0x227C, "preccurlyeq" },
00414     { 0x227D, "succcurlyeq" },
00415     { 0x227E, "precsim" },
00416     { 0x227F, "succsim" },
00417     { 0x2280, "nprec" },
00418     { 0x2281, "nsucc" },
00419     { 0x2282, "subset" },
00420     { 0x2283, "supset" },
00421     { 0x2284, "nsubset" },
00422     { 0x2286, "subseteq" },
00423     { 0x2287, "supseteq" },
00424     { 0x2288, "nsubseteq" },
00425     { 0x2289, "nsupseteq" },
00426     { 0x228A, "subsetneq" },
00427     { 0x228B, "supsetneq" },
00428     { 0x228C, "" },
00429     { 0x228D, "" },
00430     { 0x228E, "uplus" },
00431     { 0x228F, "sqsubset" },
00432     { 0x2290, "sqsupset" },
00433     { 0x2291, "sqsubseteq" },
00434     { 0x2292, "sqsupseteq" },
00435     { 0x2293, "sqcap" },
00436     { 0x2294, "sqcup" },
00437     { 0x2295, "oplus" },
00438     { 0x2296, "ominus" },
00439     { 0x2297, "otimes" },
00440     { 0x2298, "oslash" },
00441     { 0x2299, "odot" },
00442     { 0x229A, "circledcirc" },
00443     { 0x229B, "circledast" },
00444     { 0x229C, "" },
00445     { 0x229D, "circleddash" },
00446     { 0x229E, "boxplus" },
00447     { 0x229F, "boxminus" },
00448     { 0x22A0, "boxtimes" },
00449     { 0x22A1, "boxdot" },
00450     { 0x22A2, "" },
00451     { 0x22A3, "dashv" },
00452     { 0x22A4, "top" },
00453     { 0x22A5, "" },
00454     { 0x22A6, "" },
00455     { 0x22A7, "" },
00456     { 0x22A8, "vDash" },
00457     { 0x22A9, "Vdash" },
00458     { 0x22AA, "Vvdash" },
00459     { 0x22AB, "" },
00460     { 0x22AC, "nvdash" },
00461     { 0x22AD, "nvDash" },
00462     { 0x22AE, "nVdash" },
00463     { 0x22AF, "nVDash" },
00464     { 0x22B1, "" },
00465     { 0x22B2, "vartriangleleft" },
00466     { 0x22B3, "vartriangleright" },
00467     { 0x22B4, "trianglelefteq" },
00468     { 0x22B5, "trianglerighteq" },
00469     { 0x22B6, "" },
00470     { 0x22B7, "" },
00471     { 0x22B8, "multimap" },
00472     { 0x22B9, "" },
00473     { 0x22BA, "intercal" },
00474     { 0x22BB, "veebar" },
00475     { 0x22BC, "barwedge" },
00476     { 0x22BD, "" },
00477     { 0x22BE, "" },
00478     { 0x22BF, "" },
00479     { 0x22C1, "" },
00480     { 0x22C2, "" },
00481     { 0x22C3, "" },
00482     { 0x22C4, "diamond" },
00483     { 0x22C5, "cdot" },
00484     { 0x22C6, "star" },
00485     { 0x22C7, "divideontimes" },
00486     { 0x22C8, "" },
00487     { 0x22C9, "ltimes" },
00488     { 0x22CA, "rtimes" },
00489     { 0x22CB, "leftthreetimes" },
00490     { 0x22CC, "rightthreetimes" },
00491     { 0x22CD, "backsimeq" },
00492     { 0x22CE, "curlyvee" },
00493     { 0x22CF, "curlywedge" },
00494     { 0x22D0, "Subset" },
00495     { 0x22D1, "Supset" },
00496     { 0x22D2, "Cap" },
00497     { 0x22D3, "Cup" },
00498     { 0x22D4, "pitchfork" },
00499     { 0x22D5, "" },
00500     { 0x22D6, "lessdot" },
00501     { 0x22D7, "gtrdot" },
00502     { 0x22D8, "lll" },
00503     { 0x22D9, "ggg" },
00504     { 0x22DA, "lesseqgtr" },
00505     { 0x22DB, "gtreqless" },
00506     { 0x22DC, "eqless" },
00507     { 0x22DD, "eqgtr" },
00508     { 0x22DE, "curlyeqprec" },
00509     { 0x22DF, "curlyeqsucc" },
00510     { 0x22E0, "" },
00511     { 0x22E1, "" },
00512     { 0x22E2, "" },
00513     { 0x22E3, "" },
00514     { 0x22E4, "" },
00515     { 0x22E5, "" },
00516     { 0x22E6, "lnsim" },
00517     { 0x22E7, "gnsim" },
00518     { 0x22E8, "precnsim" },
00519     { 0x22E9, "succnsim" },
00520     { 0x22EA, "ntriangleleft" },
00521     { 0x22EB, "ntriangleright" },
00522     { 0x22EC, "ntrianglelefteq" },
00523     { 0x22ED, "ntrianglerighteq" },
00524     { 0x22EE, "vdots" },
00525     { 0x22EF, "cdots" },
00526     { 0x22F0, "adots" },
00527     { 0x22F1, "ddots" },
00528     { 0x22F2, "" },
00529     { 0x22F3, "" },
00530     { 0x22F4, "" },
00531     { 0x22F5, "" },
00532     { 0x22F6, "" },
00533     { 0x22F7, "" },
00534     { 0x22F8, "" },
00535     { 0x22F9, "" },
00536     { 0x22FA, "" },
00537     { 0x22FB, "" },
00538     { 0x22FC, "" },
00539     { 0x22FD, "" },
00540     { 0x22FE, "" },
00541     { 0x22FF, "" },
00542     { 0, 0 }
00543 };
00544 
00545 KFORMULA_NAMESPACE_END
KDE Home | KDE Accessibility Home | Description of Access Keys