1 64 65 package com.jcorporate.expresso.ext.report; 66 67 68 import java.io.FilterWriter ; 69 import java.io.IOException ; 70 import java.io.Writer ; 71 import java.util.ArrayList ; 72 73 80 81 public class DocBookFilterWriter extends FilterWriter { 82 83 86 private char[] buffer = new char[32]; 87 private int bufferLen = 0; 88 89 92 private static ArrayList entities = null; 93 94 static { 95 loadEntities(); 96 } 97 98 103 public DocBookFilterWriter(Writer in) { 104 super(in); 105 } 106 107 110 public void close() throws IOException { 111 out.write(buffer, 0, bufferLen); 112 bufferLen = 0; 113 out.close(); 114 } 115 116 119 public void write(int c) throws IOException { 120 if (bufferLen > 0) { 121 if ((bufferLen == 1 && c == '#') || 122 (bufferLen == 2 && c == 'x') || 123 (bufferLen > 2 && bufferLen < buffer.length && Character.isDigit((char) c))) { 124 buffer[bufferLen++] = (char) c; 125 return; 126 } else if (c == ';') { 127 if (bufferLen > 3 && 128 buffer[0] == '&' && 129 buffer[1] == '#') { 130 int d = 0; 131 try { 132 if (buffer[2] == 'x') { 133 d = Integer.parseInt(new String (buffer, 3, bufferLen - 3), 16); 134 } else { 135 d = Integer.parseInt(new String (buffer, 2, bufferLen - 2), 16); 136 } 137 138 String entity = lookupEntity(d); 139 if (entity != null) { 140 bufferLen = 0; 141 out.write(entity); 142 return; 143 } 144 } catch (Throwable t) { 145 } 146 } 147 out.write(buffer, 0, bufferLen); 148 bufferLen = 0; 149 return; 150 } else { 151 out.write(buffer, 0, bufferLen); 152 bufferLen = 0; 153 } 154 } 155 if (c == '&') { 156 buffer[bufferLen++] = (char) c; 157 } else if (c < 32 || c > 126) { 158 String entity = lookupEntity(c); 159 if (entity != null) { 160 out.write(entity); 161 return; 162 } 163 out.write(c); 164 } else { 165 out.write(c); 166 } 167 } 168 169 public void write(char[] buf, int off, int len) throws IOException { 170 while (len-- > 0) { 171 write(buf[off++]); 172 } 173 } 174 175 public void write(char[] buf) throws IOException { 176 write(buf, 0, buf.length); 177 } 178 179 public void write(String s, int off, int len) throws IOException { 180 write(s.toCharArray(), off, len); 181 } 182 183 public void write(String s) throws IOException { 184 write(s.toCharArray()); 185 } 186 187 193 private String lookupEntity(int ch) { 194 if (ch >= 0 && ch < entities.size()) { 195 return (String ) entities.get(ch); 196 } 197 return null; 198 } 199 200 private static void loadEntities() { 201 entities = new ArrayList (java.util.Arrays.asList(new Object [0xFFFE])); 202 203 entities.set(0x2003, " "); 204 entities.set(0x2002, " "); 205 entities.set(0x2004, " "); 206 entities.set(0x2005, " "); 207 entities.set(0x2007, " "); 208 entities.set(0x2008, " "); 209 entities.set(0x2009, " "); 210 entities.set(0x200A, " "); 211 entities.set(0x2014, "—"); 212 entities.set(0x2013, "–"); 213 entities.set(0x2010, "‐"); 214 entities.set(0x2423, "␣"); 215 entities.set(0x2026, "…"); 216 entities.set(0x2025, "‥"); 217 entities.set(0x2153, "⅓"); 218 entities.set(0x2154, "⅔"); 219 entities.set(0x2155, "⅕"); 220 entities.set(0x2156, "⅖"); 221 entities.set(0x2157, "⅗"); 222 entities.set(0x2158, "⅘"); 223 entities.set(0x2159, "⅙"); 224 entities.set(0x215A, "⅚"); 225 entities.set(0x2105, "℅"); 226 entities.set(0x2588, "█"); 227 entities.set(0x2580, "▀"); 228 entities.set(0x2584, "▄"); 229 entities.set(0x2591, "░"); 230 entities.set(0x2592, "▒"); 231 entities.set(0x2593, "▓"); 232 entities.set(0x25AE, "▮"); 233 entities.set(0x25CB, "○"); 234 entities.set(0x25A1, "□"); 235 entities.set(0x25AD, "▭"); 236 entities.set(0x25B5, "▵"); 237 entities.set(0x25BF, "▿"); 238 entities.set(0x22C6, "☆"); 239 entities.set(0x2022, "•"); 240 entities.set(0x25AA, "▪"); 241 entities.set(0x25B4, "▴"); 242 entities.set(0x25BE, "▾"); 243 entities.set(0x25C2, "◂"); 244 entities.set(0x25B8, "▸"); 245 entities.set(0x2663, "♣"); 246 entities.set(0x2666, "♦"); 247 entities.set(0x2665, "♥"); 248 entities.set(0x2660, "♠"); 249 entities.set(0x2720, "✠"); 250 entities.set(0x2020, "†"); 251 entities.set(0x2021, "‡"); 252 entities.set(0x2713, "✓"); 253 entities.set(0x2717, "✗"); 254 entities.set(0x266F, "♯"); 255 entities.set(0x266D, "♭"); 256 entities.set(0x2642, "♂"); 257 entities.set(0x2640, "♀"); 258 entities.set(0x260E, "☎"); 259 entities.set(0x2315, "⌕"); 260 entities.set(0x2117, "℗"); 261 entities.set(0x2041, "⁁"); 262 entities.set(0x201A, "‚"); 263 entities.set(0x201E, "„"); 264 entities.set(0xFB00, "ff"); 265 entities.set(0xFB01, "fi"); 266 entities.set(0xFB03, "ffi"); 267 entities.set(0xFB04, "ffl"); 268 entities.set(0xFB02, "fl"); 269 entities.set(0x2026, "…"); 270 entities.set(0x201C, "”"); 271 entities.set(0x2018, "’"); 272 entities.set(0x22EE, "⋮"); 273 entities.set(0x2043, "⁃"); 274 entities.set(0x25CA, "◊"); 275 entities.set(0x2726, "⧫"); 276 entities.set(0x25C3, "◃"); 277 entities.set(0x25B9, "▹"); 278 entities.set(0x2605, "★"); 279 entities.set(0x266E, "♮"); 280 entities.set(0x211E, "℞"); 281 entities.set(0x2736, "✶"); 282 entities.set(0x2316, "⌖"); 283 entities.set(0x230D, "⌍"); 284 entities.set(0x230C, "⌌"); 285 entities.set(0x230F, "⌏"); 286 entities.set(0x230E, "⌎"); 287 entities.set(0x03B1, "&agr;"); 288 entities.set(0x0391, "&Agr;"); 289 entities.set(0x03B2, "&bgr;"); 290 entities.set(0x0392, "&Bgr;"); 291 entities.set(0x03B3, "&ggr;"); 292 entities.set(0x0393, "&Ggr;"); 293 entities.set(0x03B4, "&dgr;"); 294 entities.set(0x0394, "&Dgr;"); 295 entities.set(0x03B5, "&egr;"); 296 entities.set(0x0395, "&Egr;"); 297 entities.set(0x03B6, "&zgr;"); 298 entities.set(0x0396, "&Zgr;"); 299 entities.set(0x03B7, "&eegr;"); 300 entities.set(0x0397, "&EEgr;"); 301 entities.set(0x03B8, "&thgr;"); 302 entities.set(0x0398, "&THgr;"); 303 entities.set(0x03B9, "&igr;"); 304 entities.set(0x0399, "&Igr;"); 305 entities.set(0x03BA, "&kgr;"); 306 entities.set(0x039A, "&Kgr;"); 307 entities.set(0x03BB, "&lgr;"); 308 entities.set(0x039B, "&Lgr;"); 309 entities.set(0x03BC, "&mgr;"); 310 entities.set(0x039C, "&Mgr;"); 311 entities.set(0x03BD, "&ngr;"); 312 entities.set(0x039D, "&Ngr;"); 313 entities.set(0x03BE, "&xgr;"); 314 entities.set(0x039E, "&Xgr;"); 315 entities.set(0x03BF, "&ogr;"); 316 entities.set(0x039F, "&Ogr;"); 317 entities.set(0x03C0, "&pgr;"); 318 entities.set(0x03A0, "&Pgr;"); 319 entities.set(0x03C1, "&rgr;"); 320 entities.set(0x03A1, "&Rgr;"); 321 entities.set(0x03C3, "&sgr;"); 322 entities.set(0x03A3, "&Sgr;"); 323 entities.set(0x03C2, "&sfgr;"); 324 entities.set(0x03C4, "&tgr;"); 325 entities.set(0x03A4, "&Tgr;"); 326 entities.set(0x03C5, "&ugr;"); 327 entities.set(0x03A5, "&Ugr;"); 328 entities.set(0x03C6, "&phgr;"); 329 entities.set(0x03A6, "&PHgr;"); 330 entities.set(0x03C7, "&khgr;"); 331 entities.set(0x03A7, "&KHgr;"); 332 entities.set(0x03C8, "&psgr;"); 333 entities.set(0x03A8, "&PSgr;"); 334 entities.set(0x03C9, "&ohgr;"); 335 entities.set(0x03A9, "&OHgr;"); 336 entities.set(0x03AC, "&aacgr;"); 337 entities.set(0x0386, "&Aacgr;"); 338 entities.set(0x03AD, "&eacgr;"); 339 entities.set(0x0388, "&Eacgr;"); 340 entities.set(0x03AE, "&eeacgr;"); 341 entities.set(0x0389, "&EEacgr;"); 342 entities.set(0x03CA, "&idigr;"); 343 entities.set(0x03AA, "&Idigr;"); 344 entities.set(0x03AF, "&iacgr;"); 345 entities.set(0x038A, "&Iacgr;"); 346 entities.set(0x0390, "&idiagr;"); 347 entities.set(0x03CC, "&oacgr;"); 348 entities.set(0x038C, "&Oacgr;"); 349 entities.set(0x03CB, "&udigr;"); 350 entities.set(0x03AB, "&Udigr;"); 351 entities.set(0x03CD, "&uacgr;"); 352 entities.set(0x038E, "&Uacgr;"); 353 entities.set(0x03B0, "&udiagr;"); 354 entities.set(0x03CE, "&ohacgr;"); 355 entities.set(0x038F, "&OHacgr;"); 356 entities.set(0x03B1, "α"); 357 entities.set(0x03B2, "β"); 358 entities.set(0x03B3, "γ"); 359 entities.set(0x0393, "Γ"); 360 entities.set(0x03DC, "ϝ"); 361 entities.set(0x03B4, "δ"); 362 entities.set(0x0394, "Δ"); 363 entities.set(0x220A, "ε"); 364 entities.set(0x03B5, "ϵ"); 365 entities.set(0x220A, "&epsis;"); 366 entities.set(0x03B6, "ζ"); 367 entities.set(0x03B7, "η"); 368 entities.set(0x03B8, "&thetas;"); 369 entities.set(0x0398, "Θ"); 370 entities.set(0x03D1, "ϑ"); 371 entities.set(0x03B9, "ι"); 372 entities.set(0x03BA, "κ"); 373 entities.set(0x03F0, "ϰ"); 374 entities.set(0x03BB, "λ"); 375 entities.set(0x039B, "Λ"); 376 entities.set(0x03BC, "μ"); 377 entities.set(0x03BD, "ν"); 378 entities.set(0x03BE, "ξ"); 379 entities.set(0x039E, "Ξ"); 380 entities.set(0x03C0, "π"); 381 entities.set(0x03D6, "ϖ"); 382 entities.set(0x03A0, "Π"); 383 entities.set(0x03C1, "ρ"); 384 entities.set(0x03F1, "ϱ"); 385 entities.set(0x03C3, "σ"); 386 entities.set(0x03A3, "Σ"); 387 entities.set(0x03C2, "ς"); 388 entities.set(0x03C4, "τ"); 389 entities.set(0x03C5, "υ"); 390 entities.set(0x03D2, "ϒ"); 391 entities.set(0x03C6, "&phis;"); 392 entities.set(0x03A6, "Φ"); 393 entities.set(0x03D5, "ϕ"); 394 entities.set(0x03C7, "χ"); 395 entities.set(0x03C8, "ψ"); 396 entities.set(0x03A8, "Ψ"); 397 entities.set(0x03C9, "ω"); 398 entities.set(0x03A9, "Ω"); 399 400 entities.set(0x03B1, "&b.alpha;"); 401 entities.set(0x03B2, "&b.beta;"); 402 entities.set(0x03B3, "&b.gamma;"); 403 entities.set(0x0393, "&b.Gamma;"); 404 entities.set(0x03DC, "&b.gammad;"); 405 entities.set(0x03B4, "&b.delta;"); 406 entities.set(0x0394, "&b.Delta;"); 407 entities.set(0x03B5, "&b.epsi;"); 408 entities.set(0x03B5, "&b.epsiv;"); 409 entities.set(0x03B5, "&b.epsis;"); 410 entities.set(0x03B6, "&b.zeta;"); 411 entities.set(0x03B7, "&b.eta;"); 412 entities.set(0x03B8, "&b.thetas;"); 413 entities.set(0x0398, "&b.Theta;"); 414 entities.set(0x03D1, "&b.thetav;"); 415 entities.set(0x03B9, "&b.iota;"); 416 entities.set(0x03BA, "&b.kappa;"); 417 entities.set(0x03F0, "&b.kappav;"); 418 entities.set(0x03BB, "&b.lambda;"); 419 entities.set(0x039B, "&b.Lambda;"); 420 entities.set(0x03BC, "&b.mu;"); 421 entities.set(0x03BD, "&b.nu;"); 422 entities.set(0x03BE, "&b.xi;"); 423 entities.set(0x039E, "&b.Xi;"); 424 entities.set(0x03C0, "&b.pi;"); 425 entities.set(0x03A0, "&b.Pi;"); 426 entities.set(0x03D6, "&b.piv;"); 427 entities.set(0x03C1, "&b.rho;"); 428 entities.set(0x03F1, "&b.rhov;"); 429 entities.set(0x03C3, "&b.sigma;"); 430 entities.set(0x03A3, "&b.Sigma;"); 431 entities.set(0x03C2, "&b.sigmav;"); 432 entities.set(0x03C4, "&b.tau;"); 433 entities.set(0x03C5, "&b.upsi;"); 434 entities.set(0x03D2, "&b.Upsi;"); 435 entities.set(0x03C6, "&b.phis;"); 436 entities.set(0x03A6, "&b.Phi;"); 437 entities.set(0x03D5, "&b.phiv;"); 438 entities.set(0x03C7, "&b.chi;"); 439 entities.set(0x03C8, "&b.psi;"); 440 entities.set(0x03A8, "&b.Psi;"); 441 entities.set(0x03C9, "&b.omega;"); 442 entities.set(0x03A9, "&b.Omega;"); 443 entities.set(0x00E1, "á"); 444 entities.set(0x00C1, "Á"); 445 entities.set(0x00E2, "â"); 446 entities.set(0x00C2, "Â"); 447 entities.set(0x00E0, "à"); 448 entities.set(0x00C0, "À"); 449 entities.set(0x00E5, "å"); 450 entities.set(0x00C5, "Å"); 451 entities.set(0x00E3, "ã"); 452 entities.set(0x00C3, "Ã"); 453 entities.set(0x00E4, "ä"); 454 entities.set(0x00C4, "Ä"); 455 entities.set(0x00E6, "æ"); 456 entities.set(0x00C6, "Æ"); 457 entities.set(0x00E7, "ç"); 458 entities.set(0x00C7, "Ç"); 459 entities.set(0x00D0, "ð"); 460 entities.set(0x00F0, "Ð"); 461 entities.set(0x00E9, "é"); 462 entities.set(0x00C9, "É"); 463 entities.set(0x00EA, "ê"); 464 entities.set(0x00CA, "Ê"); 465 entities.set(0x00E8, "è"); 466 entities.set(0x00C8, "È"); 467 entities.set(0x00EB, "ë"); 468 entities.set(0x00CB, "Ë"); 469 entities.set(0x00ED, "í"); 470 entities.set(0x00CD, "Í"); 471 entities.set(0x00EE, "î"); 472 entities.set(0x00CE, "Î"); 473 entities.set(0x00EC, "ì"); 474 entities.set(0x00CC, "Ì"); 475 entities.set(0x00EF, "ï"); 476 entities.set(0x00CF, "Ï"); 477 entities.set(0x00F1, "ñ"); 478 entities.set(0x00D1, "Ñ"); 479 entities.set(0x00F3, "ó"); 480 entities.set(0x00D3, "Ó"); 481 entities.set(0x00F4, "ô"); 482 entities.set(0x00D4, "Ô"); 483 entities.set(0x00F2, "ò"); 484 entities.set(0x00D2, "Ò"); 485 entities.set(0x2298, "ø"); 486 entities.set(0x00D8, "Ø"); 487 entities.set(0x00F5, "õ"); 488 entities.set(0x00D5, "Õ"); 489 entities.set(0x00F6, "ö"); 490 entities.set(0x00D6, "Ö"); 491 entities.set(0x00DF, "ß"); 492 entities.set(0x00FE, "þ"); 493 entities.set(0x00DE, "Þ"); 494 entities.set(0x00FA, "ú"); 495 entities.set(0x00DA, "Ú"); 496 entities.set(0x00DB, "û"); 497 entities.set(0x00FB, "Û"); 498 entities.set(0x00F9, "ù"); 499 entities.set(0x00D9, "Ù"); 500 entities.set(0x00FC, "ü"); 501 entities.set(0x00DC, "Ü"); 502 entities.set(0x00FD, "ý"); 503 entities.set(0x00DD, "Ý"); 504 entities.set(0x00FF, "ÿ"); 505 entities.set(0x0103, "ă"); 506 entities.set(0x0102, "Ă"); 507 entities.set(0x0101, "ā"); 508 entities.set(0x0100, "Ā"); 509 entities.set(0x0105, "ą"); 510 entities.set(0x0104, "Ą"); 511 entities.set(0x0107, "ć"); 512 entities.set(0x0106, "Ć"); 513 entities.set(0x010D, "č"); 514 entities.set(0x010C, "Č"); 515 entities.set(0x0109, "ĉ"); 516 entities.set(0x0108, "Ĉ"); 517 entities.set(0x22C5, "ċ"); 518 entities.set(0x010A, "Ċ"); 519 entities.set(0x010F, "ď"); 520 entities.set(0x010E, "Ď"); 521 entities.set(0x0111, "đ"); 522 entities.set(0x0110, "Đ"); 523 entities.set(0x011B, "ě"); 524 entities.set(0x011A, "Ě"); 525 entities.set(0x0117, "ė"); 526 entities.set(0x0116, "Ė"); 527 entities.set(0x0113, "ē"); 528 entities.set(0x0112, "Ē"); 529 entities.set(0x0119, "ę"); 530 entities.set(0x0118, "Ę"); 531 entities.set(0x01F5, "ǵ"); 532 entities.set(0x011F, "ğ"); 533 entities.set(0x011E, "Ğ"); 534 entities.set(0x0122, "Ģ"); 535 entities.set(0x011D, "ĝ"); 536 entities.set(0x011C, "Ĝ"); 537 entities.set(0x0121, "ġ"); 538 entities.set(0x0120, "Ġ"); 539 entities.set(0x0125, "ĥ"); 540 entities.set(0x0124, "Ĥ"); 541 entities.set(0x0127, "ħ"); 542 entities.set(0x0126, "Ħ"); 543 entities.set(0x0130, "İ"); 544 entities.set(0x012A, "Ī"); 545 entities.set(0x012B, "ī"); 546 entities.set(0x0133, "ij"); 547 entities.set(0x0132, "IJ"); 548 entities.set(0x0131, "ı"); 549 entities.set(0x012F, "į"); 550 entities.set(0x012E, "Į"); 551 entities.set(0x0129, "ĩ"); 552 entities.set(0x0128, "Ĩ"); 553 entities.set(0x0135, "ĵ"); 554 entities.set(0x0134, "Ĵ"); 555 entities.set(0x0137, "ķ"); 556 entities.set(0x0136, "Ķ"); 557 entities.set(0x0138, "ĸ"); 558 entities.set(0x013A, "ĺ"); 559 entities.set(0x0139, "Ĺ"); 560 entities.set(0x013E, "ľ"); 561 entities.set(0x013D, "Ľ"); 562 entities.set(0x013C, "ļ"); 563 entities.set(0x013B, "Ļ"); 564 entities.set(0x0140, "ŀ"); 565 entities.set(0x013F, "Ŀ"); 566 entities.set(0x0142, "ł"); 567 entities.set(0x0141, "Ł"); 568 entities.set(0x0144, "ń"); 569 entities.set(0x0143, "Ń"); 570 entities.set(0x014B, "ŋ"); 571 entities.set(0x014A, "Ŋ"); 572 entities.set(0x0149, "ʼn"); 573 entities.set(0x0148, "ň"); 574 entities.set(0x0147, "Ň"); 575 entities.set(0x0146, "ņ"); 576 entities.set(0x0145, "Ņ"); 577 entities.set(0x0151, "ő"); 578 entities.set(0x0150, "Ő"); 579 entities.set(0x014C, "Ō"); 580 entities.set(0x014D, "ō"); 581 entities.set(0x0153, "œ"); 582 entities.set(0x0152, "Œ"); 583 entities.set(0x0155, "ŕ"); 584 entities.set(0x0154, "Ŕ"); 585 entities.set(0x0159, "ř"); 586 entities.set(0x0158, "Ř"); 587 entities.set(0x0157, "ŗ"); 588 entities.set(0x0156, "Ŗ"); 589 entities.set(0x015B, "ś"); 590 entities.set(0x015A, "Ś"); 591 entities.set(0x0161, "š"); 592 entities.set(0x0160, "Š"); 593 entities.set(0x015F, "ş"); 594 entities.set(0x015E, "Ş"); 595 entities.set(0x015D, "ŝ"); 596 entities.set(0x015C, "Ŝ"); 597 entities.set(0x0165, "ť"); 598 entities.set(0x0164, "Ť"); 599 entities.set(0x0163, "ţ"); 600 entities.set(0x0162, "Ţ"); 601 entities.set(0x0167, "ŧ"); 602 entities.set(0x0166, "Ŧ"); 603 entities.set(0x016D, "ŭ"); 604 entities.set(0x016C, "Ŭ"); 605 entities.set(0x0171, "ű"); 606 entities.set(0x0170, "Ű"); 607 entities.set(0x016B, "ū"); 608 entities.set(0x016A, "Ū"); 609 entities.set(0x0173, "ų"); 610 entities.set(0x0172, "Ų"); 611 entities.set(0x016F, "ů"); 612 entities.set(0x016E, "Ů"); 613 entities.set(0x0169, "ũ"); 614 entities.set(0x0168, "Ũ"); 615 entities.set(0x0175, "ŵ"); 616 entities.set(0x0174, "Ŵ"); 617 entities.set(0x0177, "ŷ"); 618 entities.set(0x0176, "Ŷ"); 619 entities.set(0x0178, "Ÿ"); 620 entities.set(0x017A, "ź"); 621 entities.set(0x0179, "Ź"); 622 entities.set(0x017E, "ž"); 623 entities.set(0x017D, "Ž"); 624 entities.set(0x017C, "ż"); 625 entities.set(0x017B, "Ż"); 626 entities.set(0x2135, "ℵ"); 627 entities.set(0x2227, "∧"); 628 entities.set(0x221F, "&ang90;"); 629 entities.set(0x2222, "∢"); 630 entities.set(0x2248, "≈"); 631 entities.set(0x2235, "∵"); 632 entities.set(0x22A5, "⊥"); 633 entities.set(0x2229, "∩"); 634 entities.set(0x2245, "≅"); 635 entities.set(0x222E, "∮"); 636 entities.set(0x222A, "∪"); 637 entities.set(0x2261, "≡"); 638 entities.set(0x2203, "∃"); 639 entities.set(0x2200, "∀"); 640 entities.set(0x0192, "ƒ"); 641 entities.set(0x2265, "≥"); 642 entities.set(0xE365, "⇔"); 643 entities.set(0x221E, "∞"); 644 entities.set(0x222B, "∫"); 645 entities.set(0x220A, "∈"); 646 entities.set(0x3008, "⟨"); 647 entities.set(0x21D0, "⇐"); 648 entities.set(0x2264, "≤"); 649 entities.set(0x2212, "−"); 650 entities.set(0x2213, "∓"); 651 entities.set(0x2207, "∇"); 652 entities.set(0x2260, "≠"); 653 entities.set(0x220D, "∋"); 654 entities.set(0x2228, "∨"); 655 entities.set(0x2225, "∥"); 656 entities.set(0x2202, "∂"); 657 entities.set(0x2030, "‰"); 658 entities.set(0x22A5, "⊥"); 659 entities.set(0x2032, "′"); 660 entities.set(0x2033, "″"); 661 entities.set(0x221D, "∝"); 662 entities.set(0x221A, "√"); 663 entities.set(0x3009, "⟩"); 664 entities.set(0x21D2, "⇒"); 665 entities.set(0x223C, "∼"); 666 entities.set(0x2243, "≃"); 667 entities.set(0x25A1, "□"); 668 entities.set(0x2282, "⊂"); 669 entities.set(0x2286, "⊆"); 670 entities.set(0x2283, "⊃"); 671 entities.set(0x2287, "⊇"); 672 entities.set(0x2234, "∴"); 673 entities.set(0x2016, "‖"); 674 entities.set(0x212B, "Å"); 675 entities.set(0x212C, "ℬ"); 676 entities.set(0x2218, "∘"); 677 entities.set(0x0308, "¨"); 678 entities.set(0x20DC, "⃜"); 679 entities.set(0x210B, "ℋ"); 680 entities.set(0x2112, "ℒ"); 681 entities.set(0x2217, "∗"); 682 entities.set(0x2209, "∉"); 683 entities.set(0x2134, "ℴ"); 684 entities.set(0x2133, "ℳ"); 685 entities.set(0x20DB, "⃛"); 686 entities.set(0x2034, "‴"); 687 entities.set(0x2259, "≙"); 688 689 692 entities.set(0x00BD, "½"); 694 entities.set(0x00BC, "¼"); 695 entities.set(0x00BE, "¾"); 696 entities.set(0x215B, "⅛"); 697 entities.set(0x215C, "⅜"); 698 entities.set(0x215D, "⅝"); 699 entities.set(0x215E, "⅞"); 700 entities.set(0x00B9, "¹"); 701 entities.set(0x00B2, "²"); 702 entities.set(0x00B3, "³"); 703 entities.set(0x002B, "+"); 704 entities.set(0x00B1, "±"); 705 entities.set(0x003C, "<"); 706 entities.set(0x003D, "="); 707 entities.set(0x003E, ">"); 708 entities.set(0x00F7, "÷"); 709 entities.set(0x00D7, "×"); 710 entities.set(0x00A4, "¤"); 711 entities.set(0x00A3, "£"); 712 entities.set(0x0024, "$"); 713 entities.set(0x00A2, "¢"); 714 entities.set(0x00A5, "¥"); 715 entities.set(0x0023, "#"); 716 entities.set(0x0025, "%"); 717 entities.set(0x0026, "&"); 718 entities.set(0x2217, "*"); 719 entities.set(0x0040, "@"); 720 entities.set(0x005B, "["); 721 entities.set(0x005C, "\"); 722 entities.set(0x005D, "]"); 723 entities.set(0x007B, "{"); 724 entities.set(0x2015, "―"); 725 entities.set(0x007C, "|"); 726 entities.set(0x007D, "}"); 727 entities.set(0x00B5, "µ"); 728 entities.set(0x2126, "Ω"); 729 entities.set(0x00B0, "°"); 730 entities.set(0x00BA, "º"); 731 entities.set(0x00AA, "ª"); 732 entities.set(0x00A7, "§"); 733 entities.set(0x00B6, "¶"); 734 entities.set(0x00B7, "·"); 735 entities.set(0x2190, "←"); 736 entities.set(0x2192, "→"); 737 entities.set(0x2191, "↑"); 738 entities.set(0x2193, "↓"); 739 entities.set(0x00A9, "©"); 740 entities.set(0x00AE, "®"); 741 entities.set(0x2122, "™"); 742 entities.set(0x00A6, "¦"); 743 entities.set(0x00AC, "¬"); 744 entities.set(0x2669, "♪"); 745 entities.set(0x0021, "!"); 746 entities.set(0x00A1, "¡"); 747 entities.set(0x0022, """); 748 entities.set(0x0027, "'"); 749 entities.set(0x0028, "("); 750 entities.set(0x0029, ")"); 751 entities.set(0x002C, ","); 752 entities.set(0x005F, "_"); 753 entities.set(0xE4F8, "‐"); 754 entities.set(0x002E, "."); 755 entities.set(0x002F, "/"); 756 entities.set(0x003A, ":"); 757 entities.set(0x003B, ";"); 758 entities.set(0x003F, "?"); 759 entities.set(0x00BF, "¿"); 760 entities.set(0x00AB, "«"); 761 entities.set(0x00BB, "»"); 762 entities.set(0x2018, "‘"); 763 entities.set(0x2019, "’"); 764 entities.set(0x201C, "“"); 765 entities.set(0x201D, "”"); 766 entities.set(0x00A0, " "); 767 entities.set(0x00AD, "­"); 768 769 } 770 } 771 | Popular Tags |