00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
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
00186
00187
00188
00189
00190
00191
00192
00193
00194
00195
00196
00197
00198
00199
00200
00201
00202
00203
00204
00205
00206
00207
00208
00209
00210
00211
00212
00213
00214
00215
00216
00217
00218
00219
00220
00221
00222
00223
00224
00225
00226
00227
00228
00229
00230
00231
00232
00233
00234
00235
00236
00237
00238
00239
00240
00241
00242
00243
00244
00245
00246
00247
00248
00249
00250
00251
00252
00253
00254
00255
00256
00257
00258
00259
00260
00261
00262
00263
00264
00265
00266
00267
00268
00269
00270
00271
00272
00273
00274
00275
00276
00277
00278
00279
00280
00281
00282
00283
00284
00285
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