KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > jcorporate > expresso > ext > report > DocBookFilterReader


1 /* ====================================================================
2  * The Jcorporate Apache Style Software License, Version 1.2 05-07-2002
3  *
4  * Copyright (c) 1995-2002 Jcorporate Ltd. All rights reserved.
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions
8  * are met:
9  *
10  * 1. Redistributions of source code must retain the above copyright
11  * notice, this list of conditions and the following disclaimer.
12  *
13  * 2. Redistributions in binary form must reproduce the above copyright
14  * notice, this list of conditions and the following disclaimer in
15  * the documentation and/or other materials provided with the
16  * distribution.
17  *
18  * 3. The end-user documentation included with the redistribution,
19  * if any, must include the following acknowledgment:
20  * "This product includes software developed by Jcorporate Ltd.
21  * (http://www.jcorporate.com/)."
22  * Alternately, this acknowledgment may appear in the software itself,
23  * if and wherever such third-party acknowledgments normally appear.
24  *
25  * 4. "Jcorporate" and product names such as "Expresso" must
26  * not be used to endorse or promote products derived from this
27  * software without prior written permission. For written permission,
28  * please contact info@jcorporate.com.
29  *
30  * 5. Products derived from this software may not be called "Expresso",
31  * or other Jcorporate product names; nor may "Expresso" or other
32  * Jcorporate product names appear in their name, without prior
33  * written permission of Jcorporate Ltd.
34  *
35  * 6. No product derived from this software may compete in the same
36  * market space, i.e. framework, without prior written permission
37  * of Jcorporate Ltd. For written permission, please contact
38  * partners@jcorporate.com.
39  *
40  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
41  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
42  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
43  * DISCLAIMED. IN NO EVENT SHALL JCORPORATE LTD OR ITS CONTRIBUTORS
44  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
45  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
46  * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
47  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
48  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
49  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
50  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
51  * SUCH DAMAGE.
52  * ====================================================================
53  *
54  * This software consists of voluntary contributions made by many
55  * individuals on behalf of the Jcorporate Ltd. Contributions back
56  * to the project(s) are encouraged when you make modifications.
57  * Please send them to support@jcorporate.com. For more information
58  * on Jcorporate Ltd. and its products, please see
59  * <http://www.jcorporate.com/>.
60  *
61  * Portions of this software are based upon other open source
62  * products and are subject to their respective licenses.
63  */

64
65 package com.jcorporate.expresso.ext.report;
66
67
68 import java.io.FilterReader JavaDoc;
69 import java.io.IOException JavaDoc;
70 import java.io.PushbackReader JavaDoc;
71 import java.io.Reader JavaDoc;
72 import java.util.HashMap JavaDoc;
73 import java.util.Map JavaDoc;
74
75 /**
76  * A FilterReader that understands the docbook entities and converts them to
77  * their character codes. This class is not threadsafe within a single instance
78  * and care should be taken.
79  *
80  * @author David Lloyd
81  */

82
83 public class DocBookFilterReader extends FilterReader JavaDoc {
84
85     /**
86      * The buffer holding characters read after an amperstand that may be an entity.
87      */

88     private char[] lookahead = new char[32];
89
90     /**
91      * The buffer holding characters to be read out first.
92      */

93     private char[] pushahead = new char[32];
94     private int pushaheadOffset = 0;
95     private int pushaheadLen = 0;
96
97     /**
98      * Map entity to character code.
99      */

100     private static Map JavaDoc entities = new HashMap JavaDoc();
101
102     static {
103         loadEntites(entities);
104     }
105
106     /**
107      * Create the reader on a stream.
108      *
109      * @param in The underlying input stream.
110      */

111     public DocBookFilterReader(Reader JavaDoc in) {
112         super(new PushbackReader JavaDoc(in, 32));
113     }
114
115     /**
116      * Override from Reader.
117      */

118     public int read() throws IOException JavaDoc {
119         int ch;
120         
121         // return any pending characters first
122
if (pushaheadLen > 0) {
123             ch = pushahead[pushaheadOffset++];
124             pushaheadLen--;
125         } else {
126             do {
127                 ch = in.read();
128             } while (ch == 0);
129
130             if (ch == '&') {
131                 // see if we have an entity
132

133                 int ch2 = -1;
134                 int n = 0;
135                 lookahead[n++] = (char) ch;
136
137                 while (n < lookahead.length) {
138                     ch2 = in.read();
139                     if (ch2 == -1) {
140                         break;
141                     }
142
143                     lookahead[n++] = (char) ch2;
144
145                     if (!Character.isLetterOrDigit((char) ch2)) {
146                         break;
147                     }
148                 }
149
150                 if (ch2 == ';') {
151                     // lookup the entity
152
ch2 = lookupEntityToChar(n);
153
154                     if (ch2 == -1)
155                     // no entity, put chars back for the next read
156
{
157                         ((PushbackReader JavaDoc) in).unread(lookahead, 1, n - 1);
158                     } else
159                     // the lookup has filled the pushahead here's the first char
160
{
161                         ch = ch2;
162                     }
163                 } else {
164                     // does'nt seem to be an entity, put chars back for the next read
165
((PushbackReader JavaDoc) in).unread(lookahead, 1, n - 1);
166                 }
167             }
168         }
169         return ch;
170     }
171
172     /**
173      * Override from Reader.
174      */

175     public int read(char[] cbuf, int off, int len) throws IOException JavaDoc {
176         int nread = 0;
177         for (int i = off; nread < len; i++) {
178             int c = read();
179             if (c == -1) {
180                 break;
181             }
182             cbuf[i] = (char) c;
183             nread++;
184         }
185         if (nread == 0) {
186             return -1;
187         }
188         return nread;
189     }
190
191     /**
192      * Lookup the entity and return the first char.
193      *
194      * @param nlook The size of the lookahead buffer that contains the potential entity.
195      * @return The first char of the transformation or -1 on error.
196      * @postcondition The pushahead buffer is loaded with the full transformation.
197      */

198     private int lookupEntityToChar(int nlook) {
199         if (lookupEntity(nlook)) {
200             if (pushaheadLen > 0) {
201                 pushaheadLen--;
202                 return pushahead[pushaheadOffset++];
203             }
204         }
205         return -1;
206     }
207
208     /**
209      * Lookup the entity.
210      *
211      * @param nlook The size of the lookahead buffer that contains the potential entity.
212      * @return true if the entity was found.
213      * @postcondition The pushahead buffer is loaded with the full transformation.
214      */

215     private boolean lookupEntity(int nlook) {
216         String JavaDoc lookaheadStr = new String JavaDoc(lookahead, 0, nlook);
217         String JavaDoc entity = (String JavaDoc) entities.get(lookaheadStr);
218         if (entity != null) {
219             entity.getChars(0, entity.length(), pushahead, 0);
220             pushaheadOffset = 0;
221             pushaheadLen = entity.length();
222             return true;
223         }
224         return false;
225     }
226
227     private static void loadEntites(Map JavaDoc entities) {
228         entities.put("&half;", "&#x00BD;");
229         entities.put("&emsp;", "&#x2003;");
230         entities.put("&ensp;", "&#x2002;");
231         entities.put("&emsp13;", "&#x2004;");
232         entities.put("&emsp14;", "&#x2005;");
233         entities.put("&numsp;", "&#x2007;");
234         entities.put("&puncsp;", "&#x2008;");
235         entities.put("&thinsp;", "&#x2009;");
236         entities.put("&hairsp;", "&#x200A;");
237         entities.put("&mdash;", "&#x2014;");
238         entities.put("&ndash;", "&#x2013;");
239         entities.put("&dash;", "&#x2010;");
240         entities.put("&blank;", "&#x2423;");
241         entities.put("&hellip;", "&#x2026;");
242         entities.put("&nldr;", "&#x2025;");
243         entities.put("&frac13;", "&#x2153;");
244         entities.put("&frac23;", "&#x2154;");
245         entities.put("&frac15;", "&#x2155;");
246         entities.put("&frac25;", "&#x2156;");
247         entities.put("&frac35;", "&#x2157;");
248         entities.put("&frac45;", "&#x2158;");
249         entities.put("&frac16;", "&#x2159;");
250         entities.put("&frac56;", "&#x215A;");
251         entities.put("&incare;", "&#x2105;");
252         entities.put("&block;", "&#x2588;");
253         entities.put("&uhblk;", "&#x2580;");
254         entities.put("&lhblk;", "&#x2584;");
255         entities.put("&blk14;", "&#x2591;");
256         entities.put("&blk12;", "&#x2592;");
257         entities.put("&blk34;", "&#x2593;");
258         entities.put("&marker;", "&#x25AE;");
259         entities.put("&cir;", "&#x25CB;");
260         entities.put("&squ;", "&#x25A1;");
261         entities.put("&rect;", "&#x25AD;");
262         entities.put("&utri;", "&#x25B5;");
263         entities.put("&dtri;", "&#x25BF;");
264         entities.put("&star;", "&#x22C6;");
265         entities.put("&bull;", "&#x2022;");
266         entities.put("&squf;", "&#x25AA;");
267         entities.put("&utrif;", "&#x25B4;");
268         entities.put("&dtrif;", "&#x25BE;");
269         entities.put("&ltrif;", "&#x25C2;");
270         entities.put("&rtrif;", "&#x25B8;");
271         entities.put("&clubs;", "&#x2663;");
272         entities.put("&diams;", "&#x2666;");
273         entities.put("&hearts;", "&#x2665;");
274         entities.put("&spades;", "&#x2660;");
275         entities.put("&malt;", "&#x2720;");
276         entities.put("&dagger;", "&#x2020;");
277         entities.put("&Dagger;", "&#x2021;");
278         entities.put("&check;", "&#x2713;");
279         entities.put("&cross;", "&#x2717;");
280         entities.put("&sharp;", "&#x266F;");
281         entities.put("&flat;", "&#x266D;");
282         entities.put("&male;", "&#x2642;");
283         entities.put("&female;", "&#x2640;");
284         entities.put("&phone;", "&#x260E;");
285         entities.put("&telrec;", "&#x2315;");
286         entities.put("&copysr;", "&#x2117;");
287         entities.put("&caret;", "&#x2041;");
288         entities.put("&lsquor;", "&#x201A;");
289         entities.put("&ldquor;", "&#x201E;");
290         entities.put("&fflig;", "&#xFB00;");
291         entities.put("&filig;", "&#xFB01;");
292         entities.put("&ffilig;", "&#xFB03;");
293         entities.put("&ffllig;", "&#xFB04;");
294         entities.put("&fllig;", "&#xFB02;");
295         entities.put("&mldr;", "&#x2026;");
296         entities.put("&rdquor;", "&#x201C;");
297         entities.put("&rsquor;", "&#x2018;");
298         entities.put("&vellip;", "&#x22EE;");
299         entities.put("&hybull;", "&#x2043;");
300         entities.put("&loz;", "&#x25CA;");
301         entities.put("&lozf;", "&#x2726;");
302         entities.put("&ltri;", "&#x25C3;");
303         entities.put("&rtri;", "&#x25B9;");
304         entities.put("&starf;", "&#x2605;");
305         entities.put("&natur;", "&#x266E;");
306         entities.put("&rx;", "&#x211E;");
307         entities.put("&sext;", "&#x2736;");
308         entities.put("&target;", "&#x2316;");
309         entities.put("&dlcrop;", "&#x230D;");
310         entities.put("&drcrop;", "&#x230C;");
311         entities.put("&ulcrop;", "&#x230F;");
312         entities.put("&urcrop;", "&#x230E;");
313         entities.put("&agr;", "&#x03B1;");
314         entities.put("&Agr;", "&#x0391;");
315         entities.put("&bgr;", "&#x03B2;");
316         entities.put("&Bgr;", "&#x0392;");
317         entities.put("&ggr;", "&#x03B3;");
318         entities.put("&Ggr;", "&#x0393;");
319         entities.put("&dgr;", "&#x03B4;");
320         entities.put("&Dgr;", "&#x0394;");
321         entities.put("&egr;", "&#x03B5;");
322         entities.put("&Egr;", "&#x0395;");
323         entities.put("&zgr;", "&#x03B6;");
324         entities.put("&Zgr;", "&#x0396;");
325         entities.put("&eegr;", "&#x03B7;");
326         entities.put("&EEgr;", "&#x0397;");
327         entities.put("&thgr;", "&#x03B8;");
328         entities.put("&THgr;", "&#x0398;");
329         entities.put("&igr;", "&#x03B9;");
330         entities.put("&Igr;", "&#x0399;");
331         entities.put("&kgr;", "&#x03BA;");
332         entities.put("&Kgr;", "&#x039A;");
333         entities.put("&lgr;", "&#x03BB;");
334         entities.put("&Lgr;", "&#x039B;");
335         entities.put("&mgr;", "&#x03BC;");
336         entities.put("&Mgr;", "&#x039C;");
337         entities.put("&ngr;", "&#x03BD;");
338         entities.put("&Ngr;", "&#x039D;");
339         entities.put("&xgr;", "&#x03BE;");
340         entities.put("&Xgr;", "&#x039E;");
341         entities.put("&ogr;", "&#x03BF;");
342         entities.put("&Ogr;", "&#x039F;");
343         entities.put("&pgr;", "&#x03C0;");
344         entities.put("&Pgr;", "&#x03A0;");
345         entities.put("&rgr;", "&#x03C1;");
346         entities.put("&Rgr;", "&#x03A1;");
347         entities.put("&sgr;", "&#x03C3;");
348         entities.put("&Sgr;", "&#x03A3;");
349         entities.put("&sfgr;", "&#x03C2;");
350         entities.put("&tgr;", "&#x03C4;");
351         entities.put("&Tgr;", "&#x03A4;");
352         entities.put("&ugr;", "&#x03C5;");
353         entities.put("&Ugr;", "&#x03A5;");
354         entities.put("&phgr;", "&#x03C6;");
355         entities.put("&PHgr;", "&#x03A6;");
356         entities.put("&khgr;", "&#x03C7;");
357         entities.put("&KHgr;", "&#x03A7;");
358         entities.put("&psgr;", "&#x03C8;");
359         entities.put("&PSgr;", "&#x03A8;");
360         entities.put("&ohgr;", "&#x03C9;");
361         entities.put("&OHgr;", "&#x03A9;");
362         entities.put("&aacgr;", "&#x03AC;");
363         entities.put("&Aacgr;", "&#x0386;");
364         entities.put("&eacgr;", "&#x03AD;");
365         entities.put("&Eacgr;", "&#x0388;");
366         entities.put("&eeacgr;", "&#x03AE;");
367         entities.put("&EEacgr;", "&#x0389;");
368         entities.put("&idigr;", "&#x03CA;");
369         entities.put("&Idigr;", "&#x03AA;");
370         entities.put("&iacgr;", "&#x03AF;");
371         entities.put("&Iacgr;", "&#x038A;");
372         entities.put("&idiagr;", "&#x0390;");
373         entities.put("&oacgr;", "&#x03CC;");
374         entities.put("&Oacgr;", "&#x038C;");
375         entities.put("&udigr;", "&#x03CB;");
376         entities.put("&Udigr;", "&#x03AB;");
377         entities.put("&uacgr;", "&#x03CD;");
378         entities.put("&Uacgr;", "&#x038E;");
379         entities.put("&udiagr;", "&#x03B0;");
380         entities.put("&ohacgr;", "&#x03CE;");
381         entities.put("&OHacgr;", "&#x038F;");
382         entities.put("&alpha;", "&#x03B1;");
383         entities.put("&beta;", "&#x03B2;");
384         entities.put("&gamma;", "&#x03B3;");
385         entities.put("&Gamma;", "&#x0393;");
386         entities.put("&gammad;", "&#x03DC;");
387         entities.put("&delta;", "&#x03B4;");
388         entities.put("&Delta;", "&#x0394;");
389         entities.put("&epsi;", "&#x220A;");
390         entities.put("&epsiv;", "&#x03B5;");
391         entities.put("&epsis;", "&#x220A;");
392         entities.put("&zeta;", "&#x03B6;");
393         entities.put("&eta;", "&#x03B7;");
394         entities.put("&thetas;", "&#x03B8;");
395         entities.put("&Theta;", "&#x0398;");
396         entities.put("&thetav;", "&#x03D1;");
397         entities.put("&iota;", "&#x03B9;");
398         entities.put("&kappa;", "&#x03BA;");
399         entities.put("&kappav;", "&#x03F0;");
400         entities.put("&lambda;", "&#x03BB;");
401         entities.put("&Lambda;", "&#x039B;");
402         entities.put("&mu;", "&#x03BC;");
403         entities.put("&nu;", "&#x03BD;");
404         entities.put("&xi;", "&#x03BE;");
405         entities.put("&Xi;", "&#x039E;");
406         entities.put("&pi;", "&#x03C0;");
407         entities.put("&piv;", "&#x03D6;");
408         entities.put("&Pi;", "&#x03A0;");
409         entities.put("&rho;", "&#x03C1;");
410         entities.put("&rhov;", "&#x03F1;");
411         entities.put("&sigma;", "&#x03C3;");
412         entities.put("&Sigma;", "&#x03A3;");
413         entities.put("&sigmav;", "&#x03C2;");
414         entities.put("&tau;", "&#x03C4;");
415         entities.put("&upsi;", "&#x03C5;");
416         entities.put("&Upsi;", "&#x03D2;");
417         entities.put("&phis;", "&#x03C6;");
418         entities.put("&Phi;", "&#x03A6;");
419         entities.put("&phiv;", "&#x03D5;");
420         entities.put("&chi;", "&#x03C7;");
421         entities.put("&psi;", "&#x03C8;");
422         entities.put("&Psi;", "&#x03A8;");
423         entities.put("&omega;", "&#x03C9;");
424         entities.put("&Omega;", "&#x03A9;");
425         entities.put("&b.alpha;", "&#x03B1;");
426         entities.put("&b.beta;", "&#x03B2;");
427         entities.put("&b.gamma;", "&#x03B3;");
428         entities.put("&b.Gamma;", "&#x0393;");
429         entities.put("&b.gammad;", "&#x03DC;");
430         entities.put("&b.delta;", "&#x03B4;");
431         entities.put("&b.Delta;", "&#x0394;");
432         entities.put("&b.epsi;", "&#x03B5;");
433         entities.put("&b.epsiv;", "&#x03B5;");
434         entities.put("&b.epsis;", "&#x03B5;");
435         entities.put("&b.zeta;", "&#x03B6;");
436         entities.put("&b.eta;", "&#x03B7;");
437         entities.put("&b.thetas;", "&#x03B8;");
438         entities.put("&b.Theta;", "&#x0398;");
439         entities.put("&b.thetav;", "&#x03D1;");
440         entities.put("&b.iota;", "&#x03B9;");
441         entities.put("&b.kappa;", "&#x03BA;");
442         entities.put("&b.kappav;", "&#x03F0;");
443         entities.put("&b.lambda;", "&#x03BB;");
444         entities.put("&b.Lambda;", "&#x039B;");
445         entities.put("&b.mu;", "&#x03BC;");
446         entities.put("&b.nu;", "&#x03BD;");
447         entities.put("&b.xi;", "&#x03BE;");
448         entities.put("&b.Xi;", "&#x039E;");
449         entities.put("&b.pi;", "&#x03C0;");
450         entities.put("&b.Pi;", "&#x03A0;");
451         entities.put("&b.piv;", "&#x03D6;");
452         entities.put("&b.rho;", "&#x03C1;");
453         entities.put("&b.rhov;", "&#x03F1;");
454         entities.put("&b.sigma;", "&#x03C3;");
455         entities.put("&b.Sigma;", "&#x03A3;");
456         entities.put("&b.sigmav;", "&#x03C2;");
457         entities.put("&b.tau;", "&#x03C4;");
458         entities.put("&b.upsi;", "&#x03C5;");
459         entities.put("&b.Upsi;", "&#x03D2;");
460         entities.put("&b.phis;", "&#x03C6;");
461         entities.put("&b.Phi;", "&#x03A6;");
462         entities.put("&b.phiv;", "&#x03D5;");
463         entities.put("&b.chi;", "&#x03C7;");
464         entities.put("&b.psi;", "&#x03C8;");
465         entities.put("&b.Psi;", "&#x03A8;");
466         entities.put("&b.omega;", "&#x03C9;");
467         entities.put("&b.Omega;", "&#x03A9;");
468         entities.put("&aacute;", "&#x00E1;");
469         entities.put("&Aacute;", "&#x00C1;");
470         entities.put("&acirc;", "&#x00E2;");
471         entities.put("&Acirc;", "&#x00C2;");
472         entities.put("&agrave;", "&#x00E0;");
473         entities.put("&Agrave;", "&#x00C0;");
474         entities.put("&aring;", "&#x00E5;");
475         entities.put("&Aring;", "&#x00C5;");
476         entities.put("&atilde;", "&#x00E3;");
477         entities.put("&Atilde;", "&#x00C3;");
478         entities.put("&auml;", "&#x00E4;");
479         entities.put("&Auml;", "&#x00C4;");
480         entities.put("&aelig;", "&#x00E6;");
481         entities.put("&AElig;", "&#x00C6;");
482         entities.put("&ccedil;", "&#x00E7;");
483         entities.put("&Ccedil;", "&#x00C7;");
484         entities.put("&eth;", "&#x00D0;");
485         entities.put("&ETH;", "&#x00F0;");
486         entities.put("&eacute;", "&#x00E9;");
487         entities.put("&Eacute;", "&#x00C9;");
488         entities.put("&ecirc;", "&#x00EA;");
489         entities.put("&Ecirc;", "&#x00CA;");
490         entities.put("&egrave;", "&#x00E8;");
491         entities.put("&Egrave;", "&#x00C8;");
492         entities.put("&euml;", "&#x00EB;");
493         entities.put("&Euml;", "&#x00CB;");
494         entities.put("&iacute;", "&#x00ED;");
495         entities.put("&Iacute;", "&#x00CD;");
496         entities.put("&icirc;", "&#x00EE;");
497         entities.put("&Icirc;", "&#x00CE;");
498         entities.put("&igrave;", "&#x00EC;");
499         entities.put("&Igrave;", "&#x00CC;");
500         entities.put("&iuml;", "&#x00EF;");
501         entities.put("&Iuml;", "&#x00CF;");
502         entities.put("&ntilde;", "&#x00F1;");
503         entities.put("&Ntilde;", "&#x00D1;");
504         entities.put("&oacute;", "&#x00F3;");
505         entities.put("&Oacute;", "&#x00D3;");
506         entities.put("&ocirc;", "&#x00F4;");
507         entities.put("&Ocirc;", "&#x00D4;");
508         entities.put("&ograve;", "&#x00F2;");
509         entities.put("&Ograve;", "&#x00D2;");
510         entities.put("&oslash;", "&#x2298;");
511         entities.put("&Oslash;", "&#x00D8;");
512         entities.put("&otilde;", "&#x00F5;");
513         entities.put("&Otilde;", "&#x00D5;");
514         entities.put("&ouml;", "&#x00F6;");
515         entities.put("&Ouml;", "&#x00D6;");
516         entities.put("&szlig;", "&#x00DF;");
517         entities.put("&thorn;", "&#x00FE;");
518         entities.put("&THORN;", "&#x00DE;");
519         entities.put("&uacute;", "&#x00FA;");
520         entities.put("&Uacute;", "&#x00DA;");
521         entities.put("&ucirc;", "&#x00DB;");
522         entities.put("&Ucirc;", "&#x00FB;");
523         entities.put("&ugrave;", "&#x00F9;");
524         entities.put("&Ugrave;", "&#x00D9;");
525         entities.put("&uuml;", "&#x00FC;");
526         entities.put("&Uuml;", "&#x00DC;");
527         entities.put("&yacute;", "&#x00FD;");
528         entities.put("&Yacute;", "&#x00DD;");
529         entities.put("&yuml;", "&#x00FF;");
530         entities.put("&abreve;", "&#x0103;");
531         entities.put("&Abreve;", "&#x0102;");
532         entities.put("&amacr;", "&#x0101;");
533         entities.put("&Amacr;", "&#x0100;");
534         entities.put("&aogon;", "&#x0105;");
535         entities.put("&Aogon;", "&#x0104;");
536         entities.put("&cacute;", "&#x0107;");
537         entities.put("&Cacute;", "&#x0106;");
538         entities.put("&ccaron;", "&#x010D;");
539         entities.put("&Ccaron;", "&#x010C;");
540         entities.put("&ccirc;", "&#x0109;");
541         entities.put("&Ccirc;", "&#x0108;");
542         entities.put("&cdot;", "&#x22C5;");
543         entities.put("&Cdot;", "&#x010A;");
544         entities.put("&dcaron;", "&#x010F;");
545         entities.put("&Dcaron;", "&#x010E;");
546         entities.put("&dstrok;", "&#x0111;");
547         entities.put("&Dstrok;", "&#x0110;");
548         entities.put("&ecaron;", "&#x011B;");
549         entities.put("&Ecaron;", "&#x011A;");
550         entities.put("&edot;", "&#x0117;");
551         entities.put("&Edot;", "&#x0116;");
552         entities.put("&emacr;", "&#x0113;");
553         entities.put("&Emacr;", "&#x0112;");
554         entities.put("&eogon;", "&#x0119;");
555         entities.put("&Eogon;", "&#x0118;");
556         entities.put("&gacute;", "&#x01F5;");
557         entities.put("&gbreve;", "&#x011F;");
558         entities.put("&Gbreve;", "&#x011E;");
559         entities.put("&Gcedil;", "&#x0122;");
560         entities.put("&gcirc;", "&#x011D;");
561         entities.put("&Gcirc;", "&#x011C;");
562         entities.put("&gdot;", "&#x0121;");
563         entities.put("&Gdot;", "&#x0120;");
564         entities.put("&hcirc;", "&#x0125;");
565         entities.put("&Hcirc;", "&#x0124;");
566         entities.put("&hstrok;", "&#x0127;");
567         entities.put("&Hstrok;", "&#x0126;");
568         entities.put("&Idot;", "&#x0130;");
569         entities.put("&Imacr;", "&#x012A;");
570         entities.put("&imacr;", "&#x012B;");
571         entities.put("&ijlig;", "&#x0133;");
572         entities.put("&IJlig;", "&#x0132;");
573         entities.put("&inodot;", "&#x0131;");
574         entities.put("&iogon;", "&#x012F;");
575         entities.put("&Iogon;", "&#x012E;");
576         entities.put("&itilde;", "&#x0129;");
577         entities.put("&Itilde;", "&#x0128;");
578         entities.put("&jcirc;", "&#x0135;");
579         entities.put("&Jcirc;", "&#x0134;");
580         entities.put("&kcedil;", "&#x0137;");
581         entities.put("&Kcedil;", "&#x0136;");
582         entities.put("&kgreen;", "&#x0138;");
583         entities.put("&lacute;", "&#x013A;");
584         entities.put("&Lacute;", "&#x0139;");
585         entities.put("&lcaron;", "&#x013E;");
586         entities.put("&Lcaron;", "&#x013D;");
587         entities.put("&lcedil;", "&#x013C;");
588         entities.put("&Lcedil;", "&#x013B;");
589         entities.put("&lmidot;", "&#x0140;");
590         entities.put("&Lmidot;", "&#x013F;");
591         entities.put("&lstrok;", "&#x0142;");
592         entities.put("&Lstrok;", "&#x0141;");
593         entities.put("&nacute;", "&#x0144;");
594         entities.put("&Nacute;", "&#x0143;");
595         entities.put("&eng;", "&#x014B;");
596         entities.put("&ENG;", "&#x014A;");
597         entities.put("&napos;", "&#x0149;");
598         entities.put("&ncaron;", "&#x0148;");
599         entities.put("&Ncaron;", "&#x0147;");
600         entities.put("&ncedil;", "&#x0146;");
601         entities.put("&Ncedil;", "&#x0145;");
602         entities.put("&odblac;", "&#x0151;");
603         entities.put("&Odblac;", "&#x0150;");
604         entities.put("&Omacr;", "&#x014C;");
605         entities.put("&omacr;", "&#x014D;");
606         entities.put("&oelig;", "&#x0153;");
607         entities.put("&OElig;", "&#x0152;");
608         entities.put("&racute;", "&#x0155;");
609         entities.put("&Racute;", "&#x0154;");
610         entities.put("&rcaron;", "&#x0159;");
611         entities.put("&Rcaron;", "&#x0158;");
612         entities.put("&rcedil;", "&#x0157;");
613         entities.put("&Rcedil;", "&#x0156;");
614         entities.put("&sacute;", "&#x015B;");
615         entities.put("&Sacute;", "&#x015A;");
616         entities.put("&scaron;", "&#x0161;");
617         entities.put("&Scaron;", "&#x0160;");
618         entities.put("&scedil;", "&#x015F;");
619         entities.put("&Scedil;", "&#x015E;");
620         entities.put("&scirc;", "&#x015D;");
621         entities.put("&Scirc;", "&#x015C;");
622         entities.put("&tcaron;", "&#x0165;");
623         entities.put("&Tcaron;", "&#x0164;");
624         entities.put("&tcedil;", "&#x0163;");
625         entities.put("&Tcedil;", "&#x0162;");
626         entities.put("&tstrok;", "&#x0167;");
627         entities.put("&Tstrok;", "&#x0166;");
628         entities.put("&ubreve;", "&#x016D;");
629         entities.put("&Ubreve;", "&#x016C;");
630         entities.put("&udblac;", "&#x0171;");
631         entities.put("&Udblac;", "&#x0170;");
632         entities.put("&umacr;", "&#x016B;");
633         entities.put("&Umacr;", "&#x016A;");
634         entities.put("&uogon;", "&#x0173;");
635         entities.put("&Uogon;", "&#x0172;");
636         entities.put("&uring;", "&#x016F;");
637         entities.put("&Uring;", "&#x016E;");
638         entities.put("&utilde;", "&#x0169;");
639         entities.put("&Utilde;", "&#x0168;");
640         entities.put("&wcirc;", "&#x0175;");
641         entities.put("&Wcirc;", "&#x0174;");
642         entities.put("&ycirc;", "&#x0177;");
643         entities.put("&Ycirc;", "&#x0176;");
644         entities.put("&Yuml;", "&#x0178;");
645         entities.put("&zacute;", "&#x017A;");
646         entities.put("&Zacute;", "&#x0179;");
647         entities.put("&zcaron;", "&#x017E;");
648         entities.put("&Zcaron;", "&#x017D;");
649         entities.put("&zdot;", "&#x017C;");
650         entities.put("&Zdot;", "&#x017B;");
651         entities.put("&aleph;", "&#x2135;");
652         entities.put("&and;", "&#x2227;");
653         entities.put("&ang90;", "&#x221F;");
654         entities.put("&angsph;", "&#x2222;");
655         entities.put("&ap;", "&#x2248;");
656         entities.put("&becaus;", "&#x2235;");
657         entities.put("&bottom;", "&#x22A5;");
658         entities.put("&cap;", "&#x2229;");
659         entities.put("&cong;", "&#x2245;");
660         entities.put("&conint;", "&#x222E;");
661         entities.put("&cup;", "&#x222A;");
662         entities.put("&equiv;", "&#x2261;");
663         entities.put("&exist;", "&#x2203;");
664         entities.put("&forall;", "&#x2200;");
665         entities.put("&fnof;", "&#x0192;");
666         entities.put("&ge;", "&#x2265;");
667         entities.put("&iff;", "&#xE365;");
668         entities.put("&infin;", "&#x221E;");
669         entities.put("&int;", "&#x222B;");
670         entities.put("&isin;", "&#x220A;");
671         entities.put("&lang;", "&#x3008;");
672         entities.put("&lArr;", "&#x21D0;");
673         entities.put("&le;", "&#x2264;");
674         entities.put("&minus;", "&#x2212;");
675         entities.put("&mnplus;", "&#x2213;");
676         entities.put("&nabla;", "&#x2207;");
677         entities.put("&ne;", "&#x2260;");
678         entities.put("&ni;", "&#x220D;");
679         entities.put("&or;", "&#x2228;");
680         entities.put("&par;", "&#x2225;");
681         entities.put("&part;", "&#x2202;");
682         entities.put("&permil;", "&#x2030;");
683         entities.put("&perp;", "&#x22A5;");
684         entities.put("&prime;", "&#x2032;");
685         entities.put("&Prime;", "&#x2033;");
686         entities.put("&prop;", "&#x221D;");
687         entities.put("&radic;", "&#x221A;");
688         entities.put("&rang;", "&#x3009;");
689         entities.put("&rArr;", "&#x21D2;");
690         entities.put("&sim;", "&#x223C;");
691         entities.put("&sime;", "&#x2243;");
692         entities.put("&square;", "&#x25A1;");
693         entities.put("&sub;", "&#x2282;");
694         entities.put("&sube;", "&#x2286;");
695         entities.put("&sup;", "&#x2283;");
696         entities.put("&supe;", "&#x2287;");
697         entities.put("&there4;", "&#x2234;");
698         entities.put("&Verbar;", "&#x2016;");
699         entities.put("&angst;", "&#x212B;");
700         entities.put("&bernou;", "&#x212C;");
701         entities.put("&compfn;", "&#x2218;");
702         entities.put("&Dot;", "&#x0308;");
703         entities.put("&DotDot;", "&#x20DC;");
704         entities.put("&hamilt;", "&#x210B;");
705         entities.put("&lagran;", "&#x2112;");
706         entities.put("&lowast;", "&#x2217;");
707         entities.put("&notin;", "&#x2209;");
708         entities.put("&order;", "&#x2134;");
709         entities.put("&phmmat;", "&#x2133;");
710         entities.put("&tdot;", "&#x20DB;");
711         entities.put("&tprime;", "&#x2034;");
712         entities.put("&wedgeq;", "&#x2259;");
713
714         entities.put("&half;", "&#x00BD;");
715         entities.put("&frac12;", "&#x00BD;");
716         entities.put("&frac14;", "&#x00BC;");
717         entities.put("&frac34;", "&#x00BE;");
718         entities.put("&frac18;", "&#x215B;");
719         entities.put("&frac38;", "&#x215C;");
720         entities.put("&frac58;", "&#x215D;");
721         entities.put("&frac78;", "&#x215E;");
722         entities.put("&sup1;", "&#x00B9;");
723         entities.put("&sup2;", "&#x00B2;");
724         entities.put("&sup3;", "&#x00B3;");
725         entities.put("&plus;", "&#x002B;");
726         entities.put("&plusmn;", "&#x00B1;");
727         entities.put("&lt;", "&#x003C;");
728         entities.put("&equals;", "&#x003D;");
729         entities.put("&gt;", "&#x003E;");
730         entities.put("&divide;", "&#x00F7;");
731         entities.put("&times;", "&#x00D7;");
732         entities.put("&curren;", "&#x00A4;");
733         entities.put("&pound;", "&#x00A3;");
734         entities.put("&dollar;", "&#x0024;");
735         entities.put("&cent;", "&#x00A2;");
736         entities.put("&yen;", "&#x00A5;");
737         entities.put("&num;", "&#x0023;");
738         entities.put("&percnt;", "&#x0025;");
739         entities.put("&amp;", "&#x0026;");
740         entities.put("&ast;", "&#x2217;");
741         entities.put("&commat;", "&#x0040;");
742         entities.put("&lsqb;", "&#x005B;");
743         entities.put("&bsol;", "&#x005C;");
744         entities.put("&rsqb;", "&#x005D;");
745         entities.put("&lcub;", "&#x007B;");
746         entities.put("&horbar;", "&#x2015;");
747         entities.put("&verbar;", "&#x007C;");
748         entities.put("&rcub;", "&#x007D;");
749         entities.put("&micro;", "&#x00B5;");
750         entities.put("&ohm;", "&#x2126;");
751         entities.put("&deg;", "&#x00B0;");
752         entities.put("&ordm;", "&#x00BA;");
753         entities.put("&ordf;", "&#x00AA;");
754         entities.put("&sect;", "&#x00A7;");
755         entities.put("&para;", "&#x00B6;");
756         entities.put("&middot;", "&#x00B7;");
757         entities.put("&larr;", "&#x2190;");
758         entities.put("&rarr;", "&#x2192;");
759         entities.put("&uarr;", "&#x2191;");
760         entities.put("&darr;", "&#x2193;");
761         entities.put("&copy;", "&#x00A9;");
762         entities.put("&reg;", "&#x00AE;");
763         entities.put("&trade;", "&#x2122;");
764         entities.put("&brvbar;", "&#x00A6;");
765         entities.put("&not;", "&#x00AC;");
766         entities.put("&sung;", "&#x2669;");
767         entities.put("&excl;", "&#x0021;");
768         entities.put("&iexcl;", "&#x00A1;");
769         entities.put("&quot;", "&#x0022;");
770         entities.put("&apos;", "&#x0027;");
771         entities.put("&lpar;", "&#x0028;");
772         entities.put("&rpar;", "&#x0029;");
773         entities.put("&comma;", "&#x002C;");
774         entities.put("&lowbar;", "&#x005F;");
775         entities.put("&hyphen;", "&#xE4F8;");
776         entities.put("&period;", "&#x002E;");
777         entities.put("&sol;", "&#x002F;");
778         entities.put("&colon;", "&#x003A;");
779         entities.put("&semi;", "&#x003B;");
780         entities.put("&quest;", "&#x003F;");
781         entities.put("&iquest;", "&#x00BF;");
782         entities.put("&laquo;", "&#x00AB;");
783         entities.put("&raquo;", "&#x00BB;");
784         entities.put("&lsquo;", "&#x2018;");
785         entities.put("&rsquo;", "&#x2019;");
786         entities.put("&ldquo;", "&#x201C;");
787         entities.put("&rdquo;", "&#x201D;");
788         entities.put("&nbsp;", "&#x00A0;");
789         entities.put("&shy;", "&#x00AD;");
790
791 /*
792 <!ENTITY emsp "&#x2003;"> <!-- EM SPACE -->
793 <!ENTITY ensp "&#x2002;"> <!-- EN SPACE -->
794 <!ENTITY emsp13 "&#x2004;"> <!-- THREE-PER-EM SPACE -->
795 <!ENTITY emsp14 "&#x2005;"> <!-- FOUR-PER-EM SPACE -->
796 <!ENTITY numsp "&#x2007;"> <!-- FIGURE SPACE -->
797 <!ENTITY puncsp "&#x2008;"> <!-- PUNCTUATION SPACE -->
798 <!ENTITY thinsp "&#x2009;"> <!-- THIN SPACE -->
799 <!ENTITY hairsp "&#x200A;"> <!-- HAIR SPACE -->
800 <!ENTITY mdash "&#x2014;"> <!-- EM DASH -->
801 <!ENTITY ndash "&#x2013;"> <!-- EN DASH -->
802 <!ENTITY dash "&#x2010;"> <!-- HYPHEN -->
803 <!ENTITY blank "&#x2423;"> <!-- OPEN BOX -->
804 <!ENTITY hellip "&#x2026;"> <!-- HORIZONTAL ELLIPSIS -->
805 <!ENTITY nldr "&#x2025;"> <!-- TWO DOT LEADER -->
806 <!ENTITY frac13 "&#x2153;"> <!-- VULGAR FRACTION ONE THIRD -->
807 <!ENTITY frac23 "&#x2154;"> <!-- VULGAR FRACTION TWO THIRDS -->
808 <!ENTITY frac15 "&#x2155;"> <!-- VULGAR FRACTION ONE FIFTH -->
809 <!ENTITY frac25 "&#x2156;"> <!-- VULGAR FRACTION TWO FIFTHS -->
810 <!ENTITY frac35 "&#x2157;"> <!-- VULGAR FRACTION THREE FIFTHS -->
811 <!ENTITY frac45 "&#x2158;"> <!-- VULGAR FRACTION FOUR FIFTHS -->
812 <!ENTITY frac16 "&#x2159;"> <!-- VULGAR FRACTION ONE SIXTH -->
813 <!ENTITY frac56 "&#x215A;"> <!-- VULGAR FRACTION FIVE SIXTHS -->
814 <!ENTITY incare "&#x2105;"> <!-- CARE OF -->
815 <!ENTITY block "&#x2588;"> <!-- FULL BLOCK -->
816 <!ENTITY uhblk "&#x2580;"> <!-- UPPER HALF BLOCK -->
817 <!ENTITY lhblk "&#x2584;"> <!-- LOWER HALF BLOCK -->
818 <!ENTITY blk14 "&#x2591;"> <!-- LIGHT SHADE -->
819 <!ENTITY blk12 "&#x2592;"> <!-- MEDIUM SHADE -->
820 <!ENTITY blk34 "&#x2593;"> <!-- DARK SHADE -->
821 <!ENTITY marker "&#x25AE;"> <!-- BLACK VERTICAL RECTANGLE -->
822 <!ENTITY cir "&#x25CB;"> <!-- WHITE CIRCLE -->
823 <!ENTITY squ "&#x25A1;"> <!-- WHITE SQUARE -->
824 <!ENTITY rect "&#x25AD;"> <!-- WHITE RECTANGLE -->
825 <!ENTITY utri "&#x25B5;"> <!-- WHITE UP-POINTING TRIANGLE -->
826 <!ENTITY dtri "&#x25BF;"> <!-- WHITE DOWN-POINTING TRIANGLE -->
827 <!ENTITY star "&#x22C6;"> <!-- STAR OPERATOR -->
828 <!ENTITY bull "&#x2022;"> <!-- BULLET -->
829 <!ENTITY squf "&#x25AA;"> <!-- -->
830 <!ENTITY utrif "&#x25B4;"> <!-- BLACK UP-POINTING TRIANGLE -->
831 <!ENTITY dtrif "&#x25BE;"> <!-- BLACK DOWN-POINTING TRIANGLE -->
832 <!ENTITY ltrif "&#x25C2;"> <!-- BLACK LEFT-POINTING TRIANGLE -->
833 <!ENTITY rtrif "&#x25B8;"> <!-- BLACK RIGHT-POINTING TRIANGLE -->
834 <!ENTITY clubs "&#x2663;"> <!-- BLACK CLUB SUIT -->
835 <!ENTITY diams "&#x2666;"> <!-- BLACK DIAMOND SUIT -->
836 <!ENTITY hearts "&#x2665;"> <!-- BLACK HEART SUIT -->
837 <!ENTITY spades "&#x2660;"> <!-- BLACK SPADE SUIT -->
838 <!ENTITY malt "&#x2720;"> <!-- MALTESE CROSS -->
839 <!ENTITY dagger "&#x2020;"> <!-- DAGGER -->
840 <!ENTITY Dagger "&#x2021;"> <!-- DOUBLE DAGGER -->
841 <!ENTITY check "&#x2713;"> <!-- CHECK MARK -->
842 <!ENTITY cross "&#x2717;"> <!-- BALLOT X -->
843 <!ENTITY sharp "&#x266F;"> <!-- MUSIC SHARP SIGN -->
844 <!ENTITY flat "&#x266D;"> <!-- MUSIC FLAT SIGN -->
845 <!ENTITY male "&#x2642;"> <!-- MALE SIGN -->
846 <!ENTITY female "&#x2640;"> <!-- -->
847 <!ENTITY phone "&#x260E;"> <!-- TELEPHONE SIGN -->
848 <!ENTITY telrec "&#x2315;"> <!-- TELEPHONE RECORDER -->
849 <!ENTITY copysr "&#x2117;"> <!-- SOUND RECORDING COPYRIGHT -->
850 <!ENTITY caret "&#x2041;"> <!-- CARET -->
851 <!ENTITY lsquor "&#x201A;"> <!-- SINGLE LOW-9 QUOTATION MARK -->
852 <!ENTITY ldquor "&#x201E;"> <!-- DOUBLE LOW-9 QUOTATION MARK -->
853 <!ENTITY fflig "&#xFB00;"> <!-- -->
854 <!ENTITY filig "&#xFB01;"> <!-- -->
855 <!-- fjlig Unknown unicode character -->
856 <!ENTITY ffilig "&#xFB03;"> <!-- -->
857 <!ENTITY ffllig "&#xFB04;"> <!-- -->
858 <!ENTITY fllig "&#xFB02;"> <!-- -->
859 <!ENTITY mldr "&#x2026;"> <!-- HORIZONTAL ELLIPSIS -->
860 <!ENTITY rdquor "&#x201C;"> <!-- -->
861 <!ENTITY rsquor "&#x2018;"> <!-- -->
862 <!ENTITY vellip "&#x22EE;"> <!-- -->
863 <!ENTITY hybull "&#x2043;"> <!-- HYPHEN BULLET -->
864 <!ENTITY loz "&#x25CA;"> <!-- LOZENGE -->
865 <!ENTITY lozf "&#x2726;"> <!-- -->
866 <!ENTITY ltri "&#x25C3;"> <!-- WHITE LEFT-POINTING TRIANGLE -->
867 <!ENTITY rtri "&#x25B9;"> <!-- WHITE RIGHT-POINTING TRIANGLE -->
868 <!ENTITY starf "&#x2605;"> <!-- BLACK STAR -->
869 <!ENTITY natur "&#x266E;"> <!-- MUSIC NATURAL SIGN -->
870 <!ENTITY rx "&#x211E;"> <!-- PRESCRIPTION TAKE -->
871 <!ENTITY sext "&#x2736;"> <!-- SIX POINTED BLACK STAR -->
872 <!ENTITY target "&#x2316;"> <!-- POSITION INDICATOR -->
873 <!ENTITY dlcrop "&#x230D;"> <!-- BOTTOM LEFT CROP -->
874 <!ENTITY drcrop "&#x230C;"> <!-- BOTTOM RIGHT CROP -->
875 <!ENTITY ulcrop "&#x230F;"> <!-- TOP LEFT CROP -->
876 <!ENTITY urcrop "&#x230E;"> <!-- TOP RIGHT CROP -->
877
878 <!ENTITY agr "&#x03B1;"> <!-- -->
879 <!ENTITY Agr "&#x0391;"> <!-- GREEK CAPITAL LETTER ALPHA -->
880 <!ENTITY bgr "&#x03B2;"> <!-- GREEK SMALL LETTER BETA -->
881 <!ENTITY Bgr "&#x0392;"> <!-- GREEK CAPITAL LETTER BETA -->
882 <!ENTITY ggr "&#x03B3;"> <!-- GREEK SMALL LETTER GAMMA -->
883 <!ENTITY Ggr "&#x0393;"> <!-- GREEK CAPITAL LETTER GAMMA -->
884 <!ENTITY dgr "&#x03B4;"> <!-- GREEK SMALL LETTER DELTA -->
885 <!ENTITY Dgr "&#x0394;"> <!-- GREEK CAPITAL LETTER DELTA -->
886 <!ENTITY egr "&#x03B5;"> <!-- -->
887 <!ENTITY Egr "&#x0395;"> <!-- GREEK CAPITAL LETTER EPSILON -->
888 <!ENTITY zgr "&#x03B6;"> <!-- GREEK SMALL LETTER ZETA -->
889 <!ENTITY Zgr "&#x0396;"> <!-- GREEK CAPITAL LETTER ZETA -->
890 <!ENTITY eegr "&#x03B7;"> <!-- GREEK SMALL LETTER ETA -->
891 <!ENTITY EEgr "&#x0397;"> <!-- GREEK CAPITAL LETTER ETA -->
892 <!ENTITY thgr "&#x03B8;"> <!-- -->
893 <!ENTITY THgr "&#x0398;"> <!-- GREEK CAPITAL LETTER THETA -->
894 <!ENTITY igr "&#x03B9;"> <!-- GREEK SMALL LETTER IOTA -->
895 <!ENTITY Igr "&#x0399;"> <!-- GREEK CAPITAL LETTER IOTA -->
896 <!ENTITY kgr "&#x03BA;"> <!-- GREEK SMALL LETTER KAPPA -->
897 <!ENTITY Kgr "&#x039A;"> <!-- GREEK CAPITAL LETTER KAPPA -->
898 <!ENTITY lgr "&#x03BB;"> <!-- GREEK SMALL LETTER LAMDA -->
899 <!ENTITY Lgr "&#x039B;"> <!-- GREEK CAPITAL LETTER LAMDA -->
900 <!ENTITY mgr "&#x03BC;"> <!-- GREEK SMALL LETTER MU -->
901 <!ENTITY Mgr "&#x039C;"> <!-- GREEK CAPITAL LETTER MU -->
902 <!ENTITY ngr "&#x03BD;"> <!-- GREEK SMALL LETTER NU -->
903 <!ENTITY Ngr "&#x039D;"> <!-- GREEK CAPITAL LETTER NU -->
904 <!ENTITY xgr "&#x03BE;"> <!-- GREEK SMALL LETTER XI -->
905 <!ENTITY Xgr "&#x039E;"> <!-- GREEK CAPITAL LETTER XI -->
906 <!ENTITY ogr "&#x03BF;"> <!-- GREEK SMALL LETTER OMICRON -->
907 <!ENTITY Ogr "&#x039F;"> <!-- GREEK CAPITAL LETTER OMICRON -->
908 <!ENTITY pgr "&#x03C0;"> <!-- GREEK SMALL LETTER PI -->
909 <!ENTITY Pgr "&#x03A0;"> <!-- GREEK CAPITAL LETTER PI -->
910 <!ENTITY rgr "&#x03C1;"> <!-- GREEK SMALL LETTER RHO -->
911 <!ENTITY Rgr "&#x03A1;"> <!-- GREEK CAPITAL LETTER RHO -->
912 <!ENTITY sgr "&#x03C3;"> <!-- GREEK SMALL LETTER SIGMA -->
913 <!ENTITY Sgr "&#x03A3;"> <!-- GREEK CAPITAL LETTER SIGMA -->
914 <!ENTITY sfgr "&#x03C2;"> <!-- -->
915 <!ENTITY tgr "&#x03C4;"> <!-- GREEK SMALL LETTER TAU -->
916 <!ENTITY Tgr "&#x03A4;"> <!-- GREEK CAPITAL LETTER TAU -->
917 <!ENTITY ugr "&#x03C5;"> <!-- GREEK SMALL LETTER UPSILON -->
918 <!ENTITY Ugr "&#x03A5;"> <!-- -->
919 <!ENTITY phgr "&#x03C6;"> <!-- GREEK SMALL LETTER PHI -->
920 <!ENTITY PHgr "&#x03A6;"> <!-- GREEK CAPITAL LETTER PHI -->
921 <!ENTITY khgr "&#x03C7;"> <!-- GREEK SMALL LETTER CHI -->
922 <!ENTITY KHgr "&#x03A7;"> <!-- GREEK CAPITAL LETTER CHI -->
923 <!ENTITY psgr "&#x03C8;"> <!-- GREEK SMALL LETTER PSI -->
924 <!ENTITY PSgr "&#x03A8;"> <!-- GREEK CAPITAL LETTER PSI -->
925 <!ENTITY ohgr "&#x03C9;"> <!-- GREEK SMALL LETTER OMEGA -->
926 <!ENTITY OHgr "&#x03A9;"> <!-- GREEK CAPITAL LETTER OMEGA -->
927
928 <!ENTITY aacgr "&#x03AC;"> <!-- GREEK SMALL LETTER ALPHA WITH TONOS -->
929 <!ENTITY Aacgr "&#x0386;"> <!-- GREEK CAPITAL LETTER ALPHA WITH TONOS -->
930 <!ENTITY eacgr "&#x03AD;"> <!-- GREEK SMALL LETTER EPSILON WITH TONOS -->
931 <!ENTITY Eacgr "&#x0388;"> <!-- GREEK CAPITAL LETTER EPSILON WITH TONOS -->
932 <!ENTITY eeacgr "&#x03AE;"> <!-- GREEK SMALL LETTER ETA WITH TONOS -->
933 <!ENTITY EEacgr "&#x0389;"> <!-- GREEK CAPITAL LETTER ETA WITH TONOS -->
934 <!ENTITY idigr "&#x03CA;"> <!-- GREEK SMALL LETTER IOTA WITH DIALYTIKA -->
935 <!ENTITY Idigr "&#x03AA;"> <!-- GREEK CAPITAL LETTER IOTA WITH DIALYTIKA -->
936 <!ENTITY iacgr "&#x03AF;"> <!-- GREEK SMALL LETTER IOTA WITH TONOS -->
937 <!ENTITY Iacgr "&#x038A;"> <!-- GREEK CAPITAL LETTER IOTA WITH TONOS -->
938 <!ENTITY idiagr "&#x0390;"> <!-- GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS -->
939 <!ENTITY oacgr "&#x03CC;"> <!-- GREEK SMALL LETTER OMICRON WITH TONOS -->
940 <!ENTITY Oacgr "&#x038C;"> <!-- GREEK CAPITAL LETTER OMICRON WITH TONOS -->
941 <!ENTITY udigr "&#x03CB;"> <!-- GREEK SMALL LETTER UPSILON WITH DIALYTIKA -->
942 <!ENTITY Udigr "&#x03AB;"> <!-- GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA -->
943 <!ENTITY uacgr "&#x03CD;"> <!-- GREEK SMALL LETTER UPSILON WITH TONOS -->
944 <!ENTITY Uacgr "&#x038E;"> <!-- GREEK CAPITAL LETTER UPSILON WITH TONOS -->
945 <!ENTITY udiagr "&#x03B0;"> <!-- GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS -->
946 <!ENTITY ohacgr "&#x03CE;"> <!-- GREEK SMALL LETTER OMEGA WITH TONOS -->
947 <!ENTITY OHacgr "&#x038F;"> <!-- GREEK CAPITAL LETTER OMEGA WITH TONOS -->
948
949 <!ENTITY alpha "&#x03B1;"> <!-- -->
950 <!ENTITY beta "&#x03B2;"> <!-- GREEK SMALL LETTER BETA -->
951 <!ENTITY gamma "&#x03B3;"> <!-- GREEK SMALL LETTER GAMMA -->
952 <!ENTITY Gamma "&#x0393;"> <!-- GREEK CAPITAL LETTER GAMMA -->
953 <!ENTITY gammad "&#x03DC;"> <!-- GREEK LETTER DIGAMMA -->
954 <!ENTITY delta "&#x03B4;"> <!-- GREEK SMALL LETTER DELTA -->
955 <!ENTITY Delta "&#x0394;"> <!-- GREEK CAPITAL LETTER DELTA -->
956 <!ENTITY epsi "&#x220A;"> <!-- -->
957 <!ENTITY epsiv "&#x03B5;"> <!-- -->
958 <!ENTITY epsis "&#x220A;"> <!-- -->
959 <!ENTITY zeta "&#x03B6;"> <!-- GREEK SMALL LETTER ZETA -->
960 <!ENTITY eta "&#x03B7;"> <!-- GREEK SMALL LETTER ETA -->
961 <!ENTITY thetas "&#x03B8;"> <!-- -->
962 <!ENTITY Theta "&#x0398;"> <!-- GREEK CAPITAL LETTER THETA -->
963 <!ENTITY thetav "&#x03D1;"> <!-- -->
964 <!ENTITY iota "&#x03B9;"> <!-- GREEK SMALL LETTER IOTA -->
965 <!ENTITY kappa "&#x03BA;"> <!-- GREEK SMALL LETTER KAPPA -->
966 <!ENTITY kappav "&#x03F0;"> <!-- GREEK KAPPA SYMBOL -->
967 <!ENTITY lambda "&#x03BB;"> <!-- GREEK SMALL LETTER LAMDA -->
968 <!ENTITY Lambda "&#x039B;"> <!-- GREEK CAPITAL LETTER LAMDA -->
969 <!ENTITY mu "&#x03BC;"> <!-- GREEK SMALL LETTER MU -->
970 <!ENTITY nu "&#x03BD;"> <!-- GREEK SMALL LETTER NU -->
971 <!ENTITY xi "&#x03BE;"> <!-- GREEK SMALL LETTER XI -->
972 <!ENTITY Xi "&#x039E;"> <!-- GREEK CAPITAL LETTER XI -->
973 <!ENTITY pi "&#x03C0;"> <!-- GREEK SMALL LETTER PI -->
974 <!ENTITY piv "&#x03D6;"> <!-- GREEK PI SYMBOL -->
975 <!ENTITY Pi "&#x03A0;"> <!-- GREEK CAPITAL LETTER PI -->
976 <!ENTITY rho "&#x03C1;"> <!-- GREEK SMALL LETTER RHO -->
977 <!ENTITY rhov "&#x03F1;"> <!-- GREEK RHO SYMBOL -->
978 <!ENTITY sigma "&#x03C3;"> <!-- GREEK SMALL LETTER SIGMA -->
979 <!ENTITY Sigma "&#x03A3;"> <!-- GREEK CAPITAL LETTER SIGMA -->
980 <!ENTITY sigmav "&#x03C2;"> <!-- -->
981 <!ENTITY tau "&#x03C4;"> <!-- GREEK SMALL LETTER TAU -->
982 <!ENTITY upsi "&#x03C5;"> <!-- GREEK SMALL LETTER UPSILON -->
983 <!ENTITY Upsi "&#x03D2;"> <!-- -->
984 <!ENTITY phis "&#x03C6;"> <!-- GREEK SMALL LETTER PHI -->
985 <!ENTITY Phi "&#x03A6;"> <!-- GREEK CAPITAL LETTER PHI -->
986 <!ENTITY phiv "&#x03D5;"> <!-- GREEK PHI SYMBOL -->
987 <!ENTITY chi "&#x03C7;"> <!-- GREEK SMALL LETTER CHI -->
988 <!ENTITY psi "&#x03C8;"> <!-- GREEK SMALL LETTER PSI -->
989 <!ENTITY Psi "&#x03A8;"> <!-- GREEK CAPITAL LETTER PSI -->
990 <!ENTITY omega "&#x03C9;"> <!-- GREEK SMALL LETTER OMEGA -->
991 <!ENTITY Omega "&#x03A9;"> <!-- GREEK CAPITAL LETTER OMEGA -->
992
993 <!ENTITY b.alpha "&#x03B1;"> <!-- -->
994 <!ENTITY b.beta "&#x03B2;"> <!-- GREEK SMALL LETTER BETA -->
995 <!ENTITY b.gamma "&#x03B3;"> <!-- GREEK SMALL LETTER GAMMA -->
996 <!ENTITY b.Gamma "&#x0393;"> <!-- GREEK CAPITAL LETTER GAMMA -->
997 <!ENTITY b.gammad "&#x03DC;"> <!-- GREEK LETTER DIGAMMA -->
998 <!ENTITY b.delta "&#x03B4;"> <!-- GREEK SMALL LETTER DELTA -->
999 <!ENTITY b.Delta "&#x0394;"> <!-- GREEK CAPITAL LETTER DELTA -->
1000<!ENTITY b.epsi "&#x03B5;"> <!-- -->
1001<!ENTITY b.epsiv "&#x03B5;"> <!-- -->
1002<!ENTITY b.epsis "&#x03B5;"> <!-- -->
1003<!ENTITY b.zeta "&#x03B6;"> <!-- GREEK SMALL LETTER ZETA -->
1004<!ENTITY b.eta "&#x03B7;"> <!-- GREEK SMALL LETTER ETA -->
1005<!ENTITY b.thetas "&#x03B8;"> <!-- -->
1006<!ENTITY b.Theta "&#x0398;"> <!-- GREEK CAPITAL LETTER THETA -->
1007<!ENTITY b.thetav "&#x03D1;"> <!-- -->
1008<!ENTITY b.iota "&#x03B9;"> <!-- GREEK SMALL LETTER IOTA -->
1009<!ENTITY b.kappa "&#x03BA;"> <!-- GREEK SMALL LETTER KAPPA -->
1010<!ENTITY b.kappav "&#x03F0;"> <!-- GREEK KAPPA SYMBOL -->
1011<!ENTITY b.lambda "&#x03BB;"> <!-- GREEK SMALL LETTER LAMDA -->
1012<!ENTITY b.Lambda "&#x039B;"> <!-- GREEK CAPITAL LETTER LAMDA -->
1013<!ENTITY b.mu "&#x03BC;"> <!-- GREEK SMALL LETTER MU -->
1014<!ENTITY b.nu "&#x03BD;"> <!-- GREEK SMALL LETTER NU -->
1015<!ENTITY b.xi "&#x03BE;"> <!-- GREEK SMALL LETTER XI -->
1016<!ENTITY b.Xi "&#x039E;"> <!-- GREEK CAPITAL LETTER XI -->
1017<!ENTITY b.pi "&#x03C0;"> <!-- GREEK SMALL LETTER PI -->
1018<!ENTITY b.Pi "&#x03A0;"> <!-- GREEK CAPITAL LETTER PI -->
1019<!ENTITY b.piv "&#x03D6;"> <!-- GREEK PI SYMBOL -->
1020<!ENTITY b.rho "&#x03C1;"> <!-- GREEK SMALL LETTER RHO -->
1021<!ENTITY b.rhov "&#x03F1;"> <!-- GREEK RHO SYMBOL -->
1022<!ENTITY b.sigma "&#x03C3;"> <!-- GREEK SMALL LETTER SIGMA -->
1023<!ENTITY b.Sigma "&#x03A3;"> <!-- GREEK CAPITAL LETTER SIGMA -->
1024<!ENTITY b.sigmav "&#x03C2;"> <!-- -->
1025<!ENTITY b.tau "&#x03C4;"> <!-- GREEK SMALL LETTER TAU -->
1026<!ENTITY b.upsi "&#x03C5;"> <!-- GREEK SMALL LETTER UPSILON -->
1027<!ENTITY b.Upsi "&#x03D2;"> <!-- -->
1028<!ENTITY b.phis "&#x03C6;"> <!-- GREEK SMALL LETTER PHI -->
1029<!ENTITY b.Phi "&#x03A6;"> <!-- GREEK CAPITAL LETTER PHI -->
1030<!ENTITY b.phiv "&#x03D5;"> <!-- GREEK PHI SYMBOL -->
1031<!ENTITY b.chi "&#x03C7;"> <!-- GREEK SMALL LETTER CHI -->
1032<!ENTITY b.psi "&#x03C8;"> <!-- GREEK SMALL LETTER PSI -->
1033<!ENTITY b.Psi "&#x03A8;"> <!-- GREEK CAPITAL LETTER PSI -->
1034<!ENTITY b.omega "&#x03C9;"> <!-- GREEK SMALL LETTER OMEGA -->
1035<!ENTITY b.Omega "&#x03A9;"> <!-- GREEK CAPITAL LETTER OMEGA -->
1036
1037<!ENTITY aacute "&#x00E1;"> <!-- LATIN SMALL LETTER A WITH ACUTE -->
1038<!ENTITY Aacute "&#x00C1;"> <!-- LATIN CAPITAL LETTER A WITH ACUTE -->
1039<!ENTITY acirc "&#x00E2;"> <!-- LATIN SMALL LETTER A WITH CIRCUMFLEX -->
1040<!ENTITY Acirc "&#x00C2;"> <!-- LATIN CAPITAL LETTER A WITH CIRCUMFLEX -->
1041<!ENTITY agrave "&#x00E0;"> <!-- LATIN SMALL LETTER A WITH GRAVE -->
1042<!ENTITY Agrave "&#x00C0;"> <!-- LATIN CAPITAL LETTER A WITH GRAVE -->
1043<!ENTITY aring "&#x00E5;"> <!-- LATIN SMALL LETTER A WITH RING ABOVE -->
1044<!ENTITY Aring "&#x00C5;"> <!-- LATIN CAPITAL LETTER A WITH RING ABOVE -->
1045<!ENTITY atilde "&#x00E3;"> <!-- LATIN SMALL LETTER A WITH TILDE -->
1046<!ENTITY Atilde "&#x00C3;"> <!-- LATIN CAPITAL LETTER A WITH TILDE -->
1047<!ENTITY auml "&#x00E4;"> <!-- LATIN SMALL LETTER A WITH DIAERESIS -->
1048<!ENTITY Auml "&#x00C4;"> <!-- LATIN CAPITAL LETTER A WITH DIAERESIS -->
1049<!ENTITY aelig "&#x00E6;"> <!-- LATIN SMALL LETTER AE -->
1050<!ENTITY AElig "&#x00C6;"> <!-- LATIN CAPITAL LETTER AE -->
1051<!ENTITY ccedil "&#x00E7;"> <!-- LATIN SMALL LETTER C WITH CEDILLA -->
1052<!ENTITY Ccedil "&#x00C7;"> <!-- LATIN CAPITAL LETTER C WITH CEDILLA -->
1053<!ENTITY eth "&#x00D0;"> <!-- LATIN SMALL LETTER ETH -->
1054<!ENTITY ETH "&#x00F0;"> <!-- LATIN CAPITAL LETTER ETH -->
1055<!ENTITY eacute "&#x00E9;"> <!-- LATIN SMALL LETTER E WITH ACUTE -->
1056<!ENTITY Eacute "&#x00C9;"> <!-- LATIN CAPITAL LETTER E WITH ACUTE -->
1057<!ENTITY ecirc "&#x00EA;"> <!-- LATIN SMALL LETTER E WITH CIRCUMFLEX -->
1058<!ENTITY Ecirc "&#x00CA;"> <!-- LATIN CAPITAL LETTER E WITH CIRCUMFLEX -->
1059<!ENTITY egrave "&#x00E8;"> <!-- LATIN SMALL LETTER E WITH GRAVE -->
1060<!ENTITY Egrave "&#x00C8;"> <!-- LATIN CAPITAL LETTER E WITH GRAVE -->
1061<!ENTITY euml "&#x00EB;"> <!-- LATIN SMALL LETTER E WITH DIAERESIS -->
1062<!ENTITY Euml "&#x00CB;"> <!-- LATIN CAPITAL LETTER E WITH DIAERESIS -->
1063<!ENTITY iacute "&#x00ED;"> <!-- LATIN SMALL LETTER I WITH ACUTE -->
1064<!ENTITY Iacute "&#x00CD;"> <!-- LATIN CAPITAL LETTER I WITH ACUTE -->
1065<!ENTITY icirc "&#x00EE;"> <!-- LATIN SMALL LETTER I WITH CIRCUMFLEX -->
1066<!ENTITY Icirc "&#x00CE;"> <!-- LATIN CAPITAL LETTER I WITH CIRCUMFLEX -->
1067<!ENTITY igrave "&#x00EC;"> <!-- LATIN SMALL LETTER I WITH GRAVE -->
1068<!ENTITY Igrave "&#x00CC;"> <!-- LATIN CAPITAL LETTER I WITH GRAVE -->
1069<!ENTITY iuml "&#x00EF;"> <!-- LATIN SMALL LETTER I WITH DIAERESIS -->
1070<!ENTITY Iuml "&#x00CF;"> <!-- LATIN CAPITAL LETTER I WITH DIAERESIS -->
1071<!ENTITY ntilde "&#x00F1;"> <!-- LATIN SMALL LETTER N WITH TILDE -->
1072<!ENTITY Ntilde "&#x00D1;"> <!-- LATIN CAPITAL LETTER N WITH TILDE -->
1073<!ENTITY oacute "&#x00F3;"> <!-- LATIN SMALL LETTER O WITH ACUTE -->
1074<!ENTITY Oacute "&#x00D3;"> <!-- LATIN CAPITAL LETTER O WITH ACUTE -->
1075<!ENTITY ocirc "&#x00F4;"> <!-- LATIN SMALL LETTER O WITH CIRCUMFLEX -->
1076<!ENTITY Ocirc "&#x00D4;"> <!-- LATIN CAPITAL LETTER O WITH CIRCUMFLEX -->
1077<!ENTITY ograve "&#x00F2;"> <!-- LATIN SMALL LETTER O WITH GRAVE -->
1078<!ENTITY Ograve "&#x00D2;"> <!-- LATIN CAPITAL LETTER O WITH GRAVE -->
1079<!ENTITY oslash "&#x2298;"> <!-- CIRCLED DIVISION SLASH -->
1080<!ENTITY Oslash "&#x00D8;"> <!-- LATIN CAPITAL LETTER O WITH STROKE -->
1081<!ENTITY otilde "&#x00F5;"> <!-- LATIN SMALL LETTER O WITH TILDE -->
1082<!ENTITY Otilde "&#x00D5;"> <!-- LATIN CAPITAL LETTER O WITH TILDE -->
1083<!ENTITY ouml "&#x00F6;"> <!-- LATIN SMALL LETTER O WITH DIAERESIS -->
1084<!ENTITY Ouml "&#x00D6;"> <!-- LATIN CAPITAL LETTER O WITH DIAERESIS -->
1085<!ENTITY szlig "&#x00DF;"> <!-- LATIN SMALL LETTER SHARP S -->
1086<!ENTITY thorn "&#x00FE;"> <!-- LATIN SMALL LETTER THORN -->
1087<!ENTITY THORN "&#x00DE;"> <!-- LATIN CAPITAL LETTER THORN -->
1088<!ENTITY uacute "&#x00FA;"> <!-- LATIN SMALL LETTER U WITH ACUTE -->
1089<!ENTITY Uacute "&#x00DA;"> <!-- LATIN CAPITAL LETTER U WITH ACUTE -->
1090<!ENTITY ucirc "&#x00DB;"> <!-- LATIN SMALL LETTER U WITH CIRCUMFLEX -->
1091<!ENTITY Ucirc "&#x00FB;"> <!-- LATIN CAPITAL LETTER U WITH CIRCUMFLEX -->
1092<!ENTITY ugrave "&#x00F9;"> <!-- LATIN SMALL LETTER U WITH GRAVE -->
1093<!ENTITY Ugrave "&#x00D9;"> <!-- LATIN CAPITAL LETTER U WITH GRAVE -->
1094<!ENTITY uuml "&#x00FC;"> <!-- LATIN SMALL LETTER U WITH DIAERESIS -->
1095<!ENTITY Uuml "&#x00DC;"> <!-- LATIN CAPITAL LETTER U WITH DIAERESIS -->
1096<!ENTITY yacute "&#x00FD;"> <!-- LATIN SMALL LETTER Y WITH ACUTE -->
1097<!ENTITY Yacute "&#x00DD;"> <!-- LATIN CAPITAL LETTER Y WITH ACUTE -->
1098<!ENTITY yuml "&#x00FF;"> <!-- LATIN SMALL LETTER Y WITH DIAERESIS -->
1099
1100<!ENTITY abreve "&#x0103;"> <!-- LATIN SMALL LETTER A WITH BREVE -->
1101<!ENTITY Abreve "&#x0102;"> <!-- LATIN CAPITAL LETTER A WITH BREVE -->
1102<!ENTITY amacr "&#x0101;"> <!-- LATIN SMALL LETTER A WITH MACRON -->
1103<!ENTITY Amacr "&#x0100;"> <!-- LATIN CAPITAL LETTER A WITH MACRON -->
1104<!ENTITY aogon "&#x0105;"> <!-- LATIN SMALL LETTER A WITH OGONEK -->
1105<!ENTITY Aogon "&#x0104;"> <!-- LATIN CAPITAL LETTER A WITH OGONEK -->
1106<!ENTITY cacute "&#x0107;"> <!-- LATIN SMALL LETTER C WITH ACUTE -->
1107<!ENTITY Cacute "&#x0106;"> <!-- LATIN CAPITAL LETTER C WITH ACUTE -->
1108<!ENTITY ccaron "&#x010D;"> <!-- LATIN SMALL LETTER C WITH CARON -->
1109<!ENTITY Ccaron "&#x010C;"> <!-- LATIN CAPITAL LETTER C WITH CARON -->
1110<!ENTITY ccirc "&#x0109;"> <!-- LATIN SMALL LETTER C WITH CIRCUMFLEX -->
1111<!ENTITY Ccirc "&#x0108;"> <!-- LATIN CAPITAL LETTER C WITH CIRCUMFLEX -->
1112<!ENTITY cdot "&#x22C5;"> <!-- DOT OPERATOR -->
1113<!ENTITY Cdot "&#x010A;"> <!-- LATIN CAPITAL LETTER C WITH DOT ABOVE -->
1114<!ENTITY dcaron "&#x010F;"> <!-- LATIN SMALL LETTER D WITH CARON -->
1115<!ENTITY Dcaron "&#x010E;"> <!-- LATIN CAPITAL LETTER D WITH CARON -->
1116<!ENTITY dstrok "&#x0111;"> <!-- LATIN SMALL LETTER D WITH STROKE -->
1117<!ENTITY Dstrok "&#x0110;"> <!-- LATIN CAPITAL LETTER D WITH STROKE -->
1118<!ENTITY ecaron "&#x011B;"> <!-- LATIN SMALL LETTER E WITH CARON -->
1119<!ENTITY Ecaron "&#x011A;"> <!-- LATIN CAPITAL LETTER E WITH CARON -->
1120<!ENTITY edot "&#x0117;"> <!-- LATIN SMALL LETTER E WITH DOT ABOVE -->
1121<!ENTITY Edot "&#x0116;"> <!-- LATIN CAPITAL LETTER E WITH DOT ABOVE -->
1122<!ENTITY emacr "&#x0113;"> <!-- LATIN SMALL LETTER E WITH MACRON -->
1123<!ENTITY Emacr "&#x0112;"> <!-- LATIN CAPITAL LETTER E WITH MACRON -->
1124<!ENTITY eogon "&#x0119;"> <!-- LATIN SMALL LETTER E WITH OGONEK -->
1125<!ENTITY Eogon "&#x0118;"> <!-- LATIN CAPITAL LETTER E WITH OGONEK -->
1126<!ENTITY gacute "&#x01F5;"> <!-- LATIN SMALL LETTER G WITH ACUTE -->
1127<!ENTITY gbreve "&#x011F;"> <!-- LATIN SMALL LETTER G WITH BREVE -->
1128<!ENTITY Gbreve "&#x011E;"> <!-- LATIN CAPITAL LETTER G WITH BREVE -->
1129<!ENTITY Gcedil "&#x0122;"> <!-- LATIN CAPITAL LETTER G WITH CEDILLA -->
1130<!ENTITY gcirc "&#x011D;"> <!-- LATIN SMALL LETTER G WITH CIRCUMFLEX -->
1131<!ENTITY Gcirc "&#x011C;"> <!-- LATIN CAPITAL LETTER G WITH CIRCUMFLEX -->
1132<!ENTITY gdot "&#x0121;"> <!-- LATIN SMALL LETTER G WITH DOT ABOVE -->
1133<!ENTITY Gdot "&#x0120;"> <!-- LATIN CAPITAL LETTER G WITH DOT ABOVE -->
1134<!ENTITY hcirc "&#x0125;"> <!-- LATIN SMALL LETTER H WITH CIRCUMFLEX -->
1135<!ENTITY Hcirc "&#x0124;"> <!-- LATIN CAPITAL LETTER H WITH CIRCUMFLEX -->
1136<!ENTITY hstrok "&#x0127;"> <!-- LATIN SMALL LETTER H WITH STROKE -->
1137<!ENTITY Hstrok "&#x0126;"> <!-- LATIN CAPITAL LETTER H WITH STROKE -->
1138<!ENTITY Idot "&#x0130;"> <!-- LATIN CAPITAL LETTER I WITH DOT ABOVE -->
1139<!ENTITY Imacr "&#x012A;"> <!-- LATIN CAPITAL LETTER I WITH MACRON -->
1140<!ENTITY imacr "&#x012B;"> <!-- LATIN SMALL LETTER I WITH MACRON -->
1141<!ENTITY ijlig "&#x0133;"> <!-- LATIN SMALL LIGATURE IJ -->
1142<!ENTITY IJlig "&#x0132;"> <!-- LATIN CAPITAL LIGATURE IJ -->
1143<!ENTITY inodot "&#x0131;"> <!-- LATIN SMALL LETTER DOTLESS I -->
1144<!ENTITY iogon "&#x012F;"> <!-- LATIN SMALL LETTER I WITH OGONEK -->
1145<!ENTITY Iogon "&#x012E;"> <!-- LATIN CAPITAL LETTER I WITH OGONEK -->
1146<!ENTITY itilde "&#x0129;"> <!-- LATIN SMALL LETTER I WITH TILDE -->
1147<!ENTITY Itilde "&#x0128;"> <!-- LATIN CAPITAL LETTER I WITH TILDE -->
1148<!ENTITY jcirc "&#x0135;"> <!-- LATIN SMALL LETTER J WITH CIRCUMFLEX -->
1149<!ENTITY Jcirc "&#x0134;"> <!-- LATIN CAPITAL LETTER J WITH CIRCUMFLEX -->
1150<!ENTITY kcedil "&#x0137;"> <!-- LATIN SMALL LETTER K WITH CEDILLA -->
1151<!ENTITY Kcedil "&#x0136;"> <!-- LATIN CAPITAL LETTER K WITH CEDILLA -->
1152<!ENTITY kgreen "&#x0138;"> <!-- LATIN SMALL LETTER KRA -->
1153<!ENTITY lacute "&#x013A;"> <!-- LATIN SMALL LETTER L WITH ACUTE -->
1154<!ENTITY Lacute "&#x0139;"> <!-- LATIN CAPITAL LETTER L WITH ACUTE -->
1155<!ENTITY lcaron "&#x013E;"> <!-- LATIN SMALL LETTER L WITH CARON -->
1156<!ENTITY Lcaron "&#x013D;"> <!-- LATIN CAPITAL LETTER L WITH CARON -->
1157<!ENTITY lcedil "&#x013C;"> <!-- LATIN SMALL LETTER L WITH CEDILLA -->
1158<!ENTITY Lcedil "&#x013B;"> <!-- LATIN CAPITAL LETTER L WITH CEDILLA -->
1159<!ENTITY lmidot "&#x0140;"> <!-- LATIN SMALL LETTER L WITH MIDDLE DOT -->
1160<!ENTITY Lmidot "&#x013F;"> <!-- LATIN CAPITAL LETTER L WITH MIDDLE DOT -->
1161<!ENTITY lstrok "&#x0142;"> <!-- LATIN SMALL LETTER L WITH STROKE -->
1162<!ENTITY Lstrok "&#x0141;"> <!-- LATIN CAPITAL LETTER L WITH STROKE -->
1163<!ENTITY nacute "&#x0144;"> <!-- LATIN SMALL LETTER N WITH ACUTE -->
1164<!ENTITY Nacute "&#x0143;"> <!-- LATIN CAPITAL LETTER N WITH ACUTE -->
1165<!ENTITY eng "&#x014B;"> <!-- LATIN SMALL LETTER ENG -->
1166<!ENTITY ENG "&#x014A;"> <!-- LATIN CAPITAL LETTER ENG -->
1167<!ENTITY napos "&#x0149;"> <!-- LATIN SMALL LETTER N PRECEDED BY APOSTROPHE -->
1168<!ENTITY ncaron "&#x0148;"> <!-- LATIN SMALL LETTER N WITH CARON -->
1169<!ENTITY Ncaron "&#x0147;"> <!-- LATIN CAPITAL LETTER N WITH CARON -->
1170<!ENTITY ncedil "&#x0146;"> <!-- LATIN SMALL LETTER N WITH CEDILLA -->
1171<!ENTITY Ncedil "&#x0145;"> <!-- LATIN CAPITAL LETTER N WITH CEDILLA -->
1172<!ENTITY odblac "&#x0151;"> <!-- LATIN SMALL LETTER O WITH DOUBLE ACUTE -->
1173<!ENTITY Odblac "&#x0150;"> <!-- LATIN CAPITAL LETTER O WITH DOUBLE ACUTE -->
1174<!ENTITY Omacr "&#x014C;"> <!-- LATIN CAPITAL LETTER O WITH MACRON -->
1175<!ENTITY omacr "&#x014D;"> <!-- LATIN SMALL LETTER O WITH MACRON -->
1176<!ENTITY oelig "&#x0153;"> <!-- LATIN SMALL LIGATURE OE -->
1177<!ENTITY OElig "&#x0152;"> <!-- LATIN CAPITAL LIGATURE OE -->
1178<!ENTITY racute "&#x0155;"> <!-- LATIN SMALL LETTER R WITH ACUTE -->
1179<!ENTITY Racute "&#x0154;"> <!-- LATIN CAPITAL LETTER R WITH ACUTE -->
1180<!ENTITY rcaron "&#x0159;"> <!-- LATIN SMALL LETTER R WITH CARON -->
1181<!ENTITY Rcaron "&#x0158;"> <!-- LATIN CAPITAL LETTER R WITH CARON -->
1182<!ENTITY rcedil "&#x0157;"> <!-- LATIN SMALL LETTER R WITH CEDILLA -->
1183<!ENTITY Rcedil "&#x0156;"> <!-- LATIN CAPITAL LETTER R WITH CEDILLA -->
1184<!ENTITY sacute "&#x015B;"> <!-- LATIN SMALL LETTER S WITH ACUTE -->
1185<!ENTITY Sacute "&#x015A;"> <!-- LATIN CAPITAL LETTER S WITH ACUTE -->
1186<!ENTITY scaron "&#x0161;"> <!-- LATIN SMALL LETTER S WITH CARON -->
1187<!ENTITY Scaron "&#x0160;"> <!-- LATIN CAPITAL LETTER S WITH CARON -->
1188<!ENTITY scedil "&#x015F;"> <!-- LATIN SMALL LETTER S WITH CEDILLA -->
1189<!ENTITY Scedil "&#x015E;"> <!-- LATIN CAPITAL LETTER S WITH CEDILLA -->
1190<!ENTITY scirc "&#x015D;"> <!-- LATIN SMALL LETTER S WITH CIRCUMFLEX -->
1191<!ENTITY Scirc "&#x015C;"> <!-- LATIN CAPITAL LETTER S WITH CIRCUMFLEX -->
1192<!ENTITY tcaron "&#x0165;"> <!-- LATIN SMALL LETTER T WITH CARON -->
1193<!ENTITY Tcaron "&#x0164;"> <!-- LATIN CAPITAL LETTER T WITH CARON -->
1194<!ENTITY tcedil "&#x0163;"> <!-- LATIN SMALL LETTER T WITH CEDILLA -->
1195<!ENTITY Tcedil "&#x0162;"> <!-- LATIN CAPITAL LETTER T WITH CEDILLA -->
1196<!ENTITY tstrok "&#x0167;"> <!-- LATIN SMALL LETTER T WITH STROKE -->
1197<!ENTITY Tstrok "&#x0166;"> <!-- LATIN CAPITAL LETTER T WITH STROKE -->
1198<!ENTITY ubreve "&#x016D;"> <!-- LATIN SMALL LETTER U WITH BREVE -->
1199<!ENTITY Ubreve "&#x016C;"> <!-- LATIN CAPITAL LETTER U WITH BREVE -->
1200<!ENTITY udblac "&#x0171;"> <!-- LATIN SMALL LETTER U WITH DOUBLE ACUTE -->
1201<!ENTITY Udblac "&#x0170;"> <!-- LATIN CAPITAL LETTER U WITH DOUBLE ACUTE -->
1202<!ENTITY umacr "&#x016B;"> <!-- LATIN SMALL LETTER U WITH MACRON -->
1203<!ENTITY Umacr "&#x016A;"> <!-- LATIN CAPITAL LETTER U WITH MACRON -->
1204<!ENTITY uogon "&#x0173;"> <!-- LATIN SMALL LETTER U WITH OGONEK -->
1205<!ENTITY Uogon "&#x0172;"> <!-- LATIN CAPITAL LETTER U WITH OGONEK -->
1206<!ENTITY uring "&#x016F;"> <!-- LATIN SMALL LETTER U WITH RING ABOVE -->
1207<!ENTITY Uring "&#x016E;"> <!-- LATIN CAPITAL LETTER U WITH RING ABOVE -->
1208<!ENTITY utilde "&#x0169;"> <!-- LATIN SMALL LETTER U WITH TILDE -->
1209<!ENTITY Utilde "&#x0168;"> <!-- LATIN CAPITAL LETTER U WITH TILDE -->
1210<!ENTITY wcirc "&#x0175;"> <!-- LATIN SMALL LETTER W WITH CIRCUMFLEX -->
1211<!ENTITY Wcirc "&#x0174;"> <!-- LATIN CAPITAL LETTER W WITH CIRCUMFLEX -->
1212<!ENTITY ycirc "&#x0177;"> <!-- LATIN SMALL LETTER Y WITH CIRCUMFLEX -->
1213<!ENTITY Ycirc "&#x0176;"> <!-- LATIN CAPITAL LETTER Y WITH CIRCUMFLEX -->
1214<!ENTITY Yuml "&#x0178;"> <!-- LATIN CAPITAL LETTER Y WITH DIAERESIS -->
1215<!ENTITY zacute "&#x017A;"> <!-- LATIN SMALL LETTER Z WITH ACUTE -->
1216<!ENTITY Zacute "&#x0179;"> <!-- LATIN CAPITAL LETTER Z WITH ACUTE -->
1217<!ENTITY zcaron "&#x017E;"> <!-- LATIN SMALL LETTER Z WITH CARON -->
1218<!ENTITY Zcaron "&#x017D;"> <!-- LATIN CAPITAL LETTER Z WITH CARON -->
1219<!ENTITY zdot "&#x017C;"> <!-- LATIN SMALL LETTER Z WITH DOT ABOVE -->
1220<!ENTITY Zdot "&#x017B;"> <!-- LATIN CAPITAL LETTER Z WITH DOT ABOVE -->
1221
1222<!ENTITY aleph "&#x2135;"> <!-- ALEF SYMBOL -->
1223<!ENTITY and "&#x2227;"> <!-- -->
1224<!ENTITY ang90 "&#x221F;"> <!-- RIGHT ANGLE -->
1225<!ENTITY angsph "&#x2222;"> <!-- -->
1226<!ENTITY ap "&#x2248;"> <!-- -->
1227<!ENTITY becaus "&#x2235;"> <!-- BECAUSE -->
1228<!ENTITY bottom "&#x22A5;"> <!-- -->
1229<!ENTITY cap "&#x2229;"> <!-- -->
1230<!ENTITY cong "&#x2245;"> <!-- -->
1231<!ENTITY conint "&#x222E;"> <!-- -->
1232<!ENTITY cup "&#x222A;"> <!-- -->
1233<!ENTITY equiv "&#x2261;"> <!-- -->
1234<!ENTITY exist "&#x2203;"> <!-- -->
1235<!ENTITY forall "&#x2200;"> <!-- -->
1236<!ENTITY fnof "&#x0192;"> <!-- LATIN SMALL LETTER F WITH HOOK -->
1237<!ENTITY ge "&#x2265;"> <!-- GREATER-THAN OR EQUAL TO -->
1238<!ENTITY iff "&#xE365;"> <!-- -->
1239<!ENTITY infin "&#x221E;"> <!-- -->
1240<!ENTITY int "&#x222B;"> <!-- -->
1241<!ENTITY isin "&#x220A;"> <!-- -->
1242<!ENTITY lang "&#x3008;"> <!-- -->
1243<!ENTITY lArr "&#x21D0;"> <!-- LEFTWARDS ARROW -->
1244<!ENTITY le "&#x2264;"> <!-- -->
1245<!ENTITY minus "&#x2212;"> <!-- MINUS SIGN -->
1246<!ENTITY mnplus "&#x2213;"> <!-- -->
1247<!ENTITY nabla "&#x2207;"> <!-- NABLA -->
1248<!ENTITY ne "&#x2260;"> <!-- -->
1249<!ENTITY ni "&#x220D;"> <!-- -->
1250<!ENTITY or "&#x2228;"> <!-- -->
1251<!ENTITY par "&#x2225;"> <!-- PARALLEL TO -->
1252<!ENTITY part "&#x2202;"> <!-- -->
1253<!ENTITY permil "&#x2030;"> <!-- PER MILLE SIGN -->
1254<!ENTITY perp "&#x22A5;"> <!-- -->
1255<!ENTITY prime "&#x2032;"> <!-- PRIME -->
1256<!ENTITY Prime "&#x2033;"> <!-- DOUBLE PRIME -->
1257<!ENTITY prop "&#x221D;"> <!-- -->
1258<!ENTITY radic "&#x221A;"> <!-- -->
1259<!ENTITY rang "&#x3009;"> <!-- -->
1260<!ENTITY rArr "&#x21D2;"> <!-- RIGHTWARDS ARROW -->
1261<!ENTITY sim "&#x223C;"> <!-- -->
1262<!ENTITY sime "&#x2243;"> <!-- -->
1263<!ENTITY square "&#x25A1;"> <!-- WHITE SQUARE -->
1264<!ENTITY sub "&#x2282;"> <!-- -->
1265<!ENTITY sube "&#x2286;"> <!-- -->
1266<!ENTITY sup "&#x2283;"> <!-- -->
1267<!ENTITY supe "&#x2287;"> <!-- -->
1268<!ENTITY there4 "&#x2234;"> <!-- -->
1269<!ENTITY Verbar "&#x2016;"> <!-- DOUBLE VERTICAL LINE -->
1270<!ENTITY angst "&#x212B;"> <!-- ANGSTROM SIGN -->
1271<!ENTITY bernou "&#x212C;"> <!-- SCRIPT CAPITAL B -->
1272<!ENTITY compfn "&#x2218;"> <!-- RING OPERATOR -->
1273<!ENTITY Dot "&#x0308;"> <!-- -->
1274<!ENTITY DotDot "&#x20DC;"> <!-- COMBINING FOUR DOTS ABOVE -->
1275<!ENTITY hamilt "&#x210B;"> <!-- SCRIPT CAPITAL H -->
1276<!ENTITY lagran "&#x2112;"> <!-- SCRIPT CAPITAL L -->
1277<!ENTITY lowast "&#x2217;"> <!-- ASTERISK OPERATOR -->
1278<!ENTITY notin "&#x2209;"> <!-- -->
1279<!ENTITY order "&#x2134;"> <!-- SCRIPT SMALL O -->
1280<!ENTITY phmmat "&#x2133;"> <!-- SCRIPT CAPITAL M -->
1281<!ENTITY tdot "&#x20DB;"> <!-- COMBINING THREE DOTS ABOVE -->
1282<!ENTITY tprime "&#x2034;"> <!-- TRIPLE PRIME -->
1283<!ENTITY wedgeq "&#x2259;"> <!-- ESTIMATES -->
1284*/

1285    }
1286}
1287
Popular Tags