//Generated by CharTableConverter
//!!DO NOT EDIT
package org.freehep.graphicsio.font.encoding;

import java.util.*;

/**
 * Generated ISO Latin Encoding Table.
 *
 * @author org.freehep.graphicsio.font.encoding.CharTableConverter
 * @version $Id: ISOLatin.java,v 1.1.1.1 2004/05/31 05:08:52 kuromaru Exp $
 */
public class ISOLatin extends AbstractCharTable {
	private Hashtable unicodeToName = new Hashtable();
	private Hashtable nameToUnicode = new Hashtable();
	private Hashtable nameToEnc = new Hashtable();
	private String[] encToName = new String[256];
	public ISOLatin(){

			unicodeToName.put(new Character((char)0x0041),"A");
			nameToUnicode.put("A",new Character((char)0x0041));
			nameToEnc.put("A", new Integer(65));
			encToName[65]="A";

			unicodeToName.put(new Character((char)0x00c6),"AE");
			nameToUnicode.put("AE",new Character((char)0x00c6));
			nameToEnc.put("AE", new Integer(225));
			encToName[225]="AE";

			unicodeToName.put(new Character((char)0x00c1),"Aacute");
			nameToUnicode.put("Aacute",new Character((char)0x00c1));
			nameToEnc.put("Aacute", new Integer(193));
			encToName[193]="Aacute";

			unicodeToName.put(new Character((char)0x00c2),"Acircumflex");
			nameToUnicode.put("Acircumflex",new Character((char)0x00c2));
			nameToEnc.put("Acircumflex", new Integer(194));
			encToName[194]="Acircumflex";

			unicodeToName.put(new Character((char)0x00c4),"Adieresis");
			nameToUnicode.put("Adieresis",new Character((char)0x00c4));
			nameToEnc.put("Adieresis", new Integer(196));
			encToName[196]="Adieresis";

			unicodeToName.put(new Character((char)0x00c0),"Agrave");
			nameToUnicode.put("Agrave",new Character((char)0x00c0));
			nameToEnc.put("Agrave", new Integer(192));
			encToName[192]="Agrave";

			unicodeToName.put(new Character((char)0x00c5),"Aring");
			nameToUnicode.put("Aring",new Character((char)0x00c5));
			nameToEnc.put("Aring", new Integer(197));
			encToName[197]="Aring";

			unicodeToName.put(new Character((char)0x00c3),"Atilde");
			nameToUnicode.put("Atilde",new Character((char)0x00c3));
			nameToEnc.put("Atilde", new Integer(195));
			encToName[195]="Atilde";

			unicodeToName.put(new Character((char)0x0042),"B");
			nameToUnicode.put("B",new Character((char)0x0042));
			nameToEnc.put("B", new Integer(66));
			encToName[66]="B";

			unicodeToName.put(new Character((char)0x0043),"C");
			nameToUnicode.put("C",new Character((char)0x0043));
			nameToEnc.put("C", new Integer(67));
			encToName[67]="C";

			unicodeToName.put(new Character((char)0x00c7),"Ccedilla");
			nameToUnicode.put("Ccedilla",new Character((char)0x00c7));
			nameToEnc.put("Ccedilla", new Integer(199));
			encToName[199]="Ccedilla";

			unicodeToName.put(new Character((char)0x0044),"D");
			nameToUnicode.put("D",new Character((char)0x0044));
			nameToEnc.put("D", new Integer(68));
			encToName[68]="D";

			unicodeToName.put(new Character((char)0x0045),"E");
			nameToUnicode.put("E",new Character((char)0x0045));
			nameToEnc.put("E", new Integer(69));
			encToName[69]="E";

			unicodeToName.put(new Character((char)0x00c9),"Eacute");
			nameToUnicode.put("Eacute",new Character((char)0x00c9));
			nameToEnc.put("Eacute", new Integer(201));
			encToName[201]="Eacute";

			unicodeToName.put(new Character((char)0x00ca),"Ecircumflex");
			nameToUnicode.put("Ecircumflex",new Character((char)0x00ca));
			nameToEnc.put("Ecircumflex", new Integer(202));
			encToName[202]="Ecircumflex";

			unicodeToName.put(new Character((char)0x00cb),"Edieresis");
			nameToUnicode.put("Edieresis",new Character((char)0x00cb));
			nameToEnc.put("Edieresis", new Integer(203));
			encToName[203]="Edieresis";

			unicodeToName.put(new Character((char)0x00c8),"Egrave");
			nameToUnicode.put("Egrave",new Character((char)0x00c8));
			nameToEnc.put("Egrave", new Integer(200));
			encToName[200]="Egrave";

			unicodeToName.put(new Character((char)0x00d0),"Eth");
			nameToUnicode.put("Eth",new Character((char)0x00d0));
			nameToEnc.put("Eth", new Integer(208));
			encToName[208]="Eth";

			unicodeToName.put(new Character((char)0x20ac),"Euro");
			nameToUnicode.put("Euro",new Character((char)0x20ac));

			unicodeToName.put(new Character((char)0x0046),"F");
			nameToUnicode.put("F",new Character((char)0x0046));
			nameToEnc.put("F", new Integer(70));
			encToName[70]="F";

			unicodeToName.put(new Character((char)0x0047),"G");
			nameToUnicode.put("G",new Character((char)0x0047));
			nameToEnc.put("G", new Integer(71));
			encToName[71]="G";

			unicodeToName.put(new Character((char)0x0048),"H");
			nameToUnicode.put("H",new Character((char)0x0048));
			nameToEnc.put("H", new Integer(72));
			encToName[72]="H";

			unicodeToName.put(new Character((char)0x0049),"I");
			nameToUnicode.put("I",new Character((char)0x0049));
			nameToEnc.put("I", new Integer(73));
			encToName[73]="I";

			unicodeToName.put(new Character((char)0x00cd),"Iacute");
			nameToUnicode.put("Iacute",new Character((char)0x00cd));
			nameToEnc.put("Iacute", new Integer(205));
			encToName[205]="Iacute";

			unicodeToName.put(new Character((char)0x00ce),"Icircumflex");
			nameToUnicode.put("Icircumflex",new Character((char)0x00ce));
			nameToEnc.put("Icircumflex", new Integer(206));
			encToName[206]="Icircumflex";

			unicodeToName.put(new Character((char)0x00cf),"Idieresis");
			nameToUnicode.put("Idieresis",new Character((char)0x00cf));
			nameToEnc.put("Idieresis", new Integer(207));
			encToName[207]="Idieresis";

			unicodeToName.put(new Character((char)0x00cc),"Igrave");
			nameToUnicode.put("Igrave",new Character((char)0x00cc));
			nameToEnc.put("Igrave", new Integer(204));
			encToName[204]="Igrave";

			unicodeToName.put(new Character((char)0x004a),"J");
			nameToUnicode.put("J",new Character((char)0x004a));
			nameToEnc.put("J", new Integer(74));
			encToName[74]="J";

			unicodeToName.put(new Character((char)0x004b),"K");
			nameToUnicode.put("K",new Character((char)0x004b));
			nameToEnc.put("K", new Integer(75));
			encToName[75]="K";

			unicodeToName.put(new Character((char)0x004c),"L");
			nameToUnicode.put("L",new Character((char)0x004c));
			nameToEnc.put("L", new Integer(76));
			encToName[76]="L";

			unicodeToName.put(new Character((char)0x0141),"Lslash");
			nameToUnicode.put("Lslash",new Character((char)0x0141));

			unicodeToName.put(new Character((char)0x004d),"M");
			nameToUnicode.put("M",new Character((char)0x004d));
			nameToEnc.put("M", new Integer(77));
			encToName[77]="M";

			unicodeToName.put(new Character((char)0x004e),"N");
			nameToUnicode.put("N",new Character((char)0x004e));
			nameToEnc.put("N", new Integer(78));
			encToName[78]="N";

			unicodeToName.put(new Character((char)0x00d1),"Ntilde");
			nameToUnicode.put("Ntilde",new Character((char)0x00d1));
			nameToEnc.put("Ntilde", new Integer(209));
			encToName[209]="Ntilde";

			unicodeToName.put(new Character((char)0x004f),"O");
			nameToUnicode.put("O",new Character((char)0x004f));
			nameToEnc.put("O", new Integer(79));
			encToName[79]="O";

			unicodeToName.put(new Character((char)0x0152),"OE");
			nameToUnicode.put("OE",new Character((char)0x0152));

			unicodeToName.put(new Character((char)0x00d2),"Oacute");
			nameToUnicode.put("Oacute",new Character((char)0x00d2));
			nameToEnc.put("Oacute", new Integer(211));
			encToName[211]="Oacute";

			unicodeToName.put(new Character((char)0x00d4),"Ocircumflex");
			nameToUnicode.put("Ocircumflex",new Character((char)0x00d4));
			nameToEnc.put("Ocircumflex", new Integer(212));
			encToName[212]="Ocircumflex";

			unicodeToName.put(new Character((char)0x00d6),"Odieresis");
			nameToUnicode.put("Odieresis",new Character((char)0x00d6));
			nameToEnc.put("Odieresis", new Integer(214));
			encToName[214]="Odieresis";

			unicodeToName.put(new Character((char)0x00d3),"Ograve");
			nameToUnicode.put("Ograve",new Character((char)0x00d3));
			nameToEnc.put("Ograve", new Integer(210));
			encToName[210]="Ograve";

			unicodeToName.put(new Character((char)0x00d8),"Oslash");
			nameToUnicode.put("Oslash",new Character((char)0x00d8));
			nameToEnc.put("Oslash", new Integer(216));
			encToName[216]="Oslash";

			unicodeToName.put(new Character((char)0x00d5),"Otilde");
			nameToUnicode.put("Otilde",new Character((char)0x00d5));
			nameToEnc.put("Otilde", new Integer(213));
			encToName[213]="Otilde";

			unicodeToName.put(new Character((char)0x0050),"P");
			nameToUnicode.put("P",new Character((char)0x0050));
			nameToEnc.put("P", new Integer(80));
			encToName[80]="P";

			unicodeToName.put(new Character((char)0x0051),"Q");
			nameToUnicode.put("Q",new Character((char)0x0051));
			nameToEnc.put("Q", new Integer(81));
			encToName[81]="Q";

			unicodeToName.put(new Character((char)0x0052),"R");
			nameToUnicode.put("R",new Character((char)0x0052));
			nameToEnc.put("R", new Integer(82));
			encToName[82]="R";

			unicodeToName.put(new Character((char)0x0053),"S");
			nameToUnicode.put("S",new Character((char)0x0053));
			nameToEnc.put("S", new Integer(83));
			encToName[83]="S";

			unicodeToName.put(new Character((char)0x0160),"Scaron");
			nameToUnicode.put("Scaron",new Character((char)0x0160));

			unicodeToName.put(new Character((char)0x0054),"T");
			nameToUnicode.put("T",new Character((char)0x0054));
			nameToEnc.put("T", new Integer(84));
			encToName[84]="T";

			unicodeToName.put(new Character((char)0x00de),"Thorn");
			nameToUnicode.put("Thorn",new Character((char)0x00de));
			nameToEnc.put("Thorn", new Integer(222));
			encToName[222]="Thorn";

			unicodeToName.put(new Character((char)0x0055),"U");
			nameToUnicode.put("U",new Character((char)0x0055));
			nameToEnc.put("U", new Integer(85));
			encToName[85]="U";

			unicodeToName.put(new Character((char)0x00da),"Uacute");
			nameToUnicode.put("Uacute",new Character((char)0x00da));
			nameToEnc.put("Uacute", new Integer(218));
			encToName[218]="Uacute";

			unicodeToName.put(new Character((char)0x00db),"Ucircumflex");
			nameToUnicode.put("Ucircumflex",new Character((char)0x00db));
			nameToEnc.put("Ucircumflex", new Integer(219));
			encToName[219]="Ucircumflex";

			unicodeToName.put(new Character((char)0x00dc),"Udieresis");
			nameToUnicode.put("Udieresis",new Character((char)0x00dc));
			nameToEnc.put("Udieresis", new Integer(220));
			encToName[220]="Udieresis";

			unicodeToName.put(new Character((char)0x00d9),"Ugrave");
			nameToUnicode.put("Ugrave",new Character((char)0x00d9));
			nameToEnc.put("Ugrave", new Integer(217));
			encToName[217]="Ugrave";

			unicodeToName.put(new Character((char)0x0056),"V");
			nameToUnicode.put("V",new Character((char)0x0056));
			nameToEnc.put("V", new Integer(86));
			encToName[86]="V";

			unicodeToName.put(new Character((char)0x0057),"W");
			nameToUnicode.put("W",new Character((char)0x0057));
			nameToEnc.put("W", new Integer(87));
			encToName[87]="W";

			unicodeToName.put(new Character((char)0x0058),"X");
			nameToUnicode.put("X",new Character((char)0x0058));
			nameToEnc.put("X", new Integer(88));
			encToName[88]="X";

			unicodeToName.put(new Character((char)0x0059),"Y");
			nameToUnicode.put("Y",new Character((char)0x0059));
			nameToEnc.put("Y", new Integer(89));
			encToName[89]="Y";

			unicodeToName.put(new Character((char)0x00dd),"Yacute");
			nameToUnicode.put("Yacute",new Character((char)0x00dd));
			nameToEnc.put("Yacute", new Integer(221));
			encToName[221]="Yacute";

			unicodeToName.put(new Character((char)0x0178),"Ydieresis");
			nameToUnicode.put("Ydieresis",new Character((char)0x0178));

			unicodeToName.put(new Character((char)0x005a),"Z");
			nameToUnicode.put("Z",new Character((char)0x005a));
			nameToEnc.put("Z", new Integer(90));
			encToName[90]="Z";

			unicodeToName.put(new Character((char)0x017d),"Zcaron");
			nameToUnicode.put("Zcaron",new Character((char)0x017d));

			unicodeToName.put(new Character((char)0x0061),"a");
			nameToUnicode.put("a",new Character((char)0x0061));
			nameToEnc.put("a", new Integer(97));
			encToName[97]="a";

			unicodeToName.put(new Character((char)0x00e1),"aacute");
			nameToUnicode.put("aacute",new Character((char)0x00e1));
			nameToEnc.put("aacute", new Integer(225));
			encToName[225]="aacute";

			unicodeToName.put(new Character((char)0x00e2),"acircumflex");
			nameToUnicode.put("acircumflex",new Character((char)0x00e2));
			nameToEnc.put("acircumflex", new Integer(226));
			encToName[226]="acircumflex";

			unicodeToName.put(new Character((char)0x00b4),"acute");
			nameToUnicode.put("acute",new Character((char)0x00b4));
			nameToEnc.put("acute", new Integer(180));
			encToName[180]="acute";

			unicodeToName.put(new Character((char)0x00e4),"adieresis");
			nameToUnicode.put("adieresis",new Character((char)0x00e4));
			nameToEnc.put("adieresis", new Integer(228));
			encToName[228]="adieresis";

			unicodeToName.put(new Character((char)0x00e6),"ae");
			nameToUnicode.put("ae",new Character((char)0x00e6));
			nameToEnc.put("ae", new Integer(230));
			encToName[230]="ae";

			unicodeToName.put(new Character((char)0x00e0),"agrave");
			nameToUnicode.put("agrave",new Character((char)0x00e0));
			nameToEnc.put("agrave", new Integer(224));
			encToName[224]="agrave";

			unicodeToName.put(new Character((char)0x0026),"ampersand");
			nameToUnicode.put("ampersand",new Character((char)0x0026));
			nameToEnc.put("ampersand", new Integer(38));
			encToName[38]="ampersand";

			unicodeToName.put(new Character((char)0x00e5),"aring");
			nameToUnicode.put("aring",new Character((char)0x00e5));
			nameToEnc.put("aring", new Integer(229));
			encToName[229]="aring";

			unicodeToName.put(new Character((char)0x005e),"asciicircum");
			nameToUnicode.put("asciicircum",new Character((char)0x005e));
			nameToEnc.put("asciicircum", new Integer(94));
			encToName[94]="asciicircum";

			unicodeToName.put(new Character((char)0x007e),"asciitilde");
			nameToUnicode.put("asciitilde",new Character((char)0x007e));
			nameToEnc.put("asciitilde", new Integer(126));
			encToName[126]="asciitilde";

			unicodeToName.put(new Character((char)0x002a),"asterisk");
			nameToUnicode.put("asterisk",new Character((char)0x002a));
			nameToEnc.put("asterisk", new Integer(42));
			encToName[42]="asterisk";

			unicodeToName.put(new Character((char)0x0040),"at");
			nameToUnicode.put("at",new Character((char)0x0040));
			nameToEnc.put("at", new Integer(64));
			encToName[64]="at";

			unicodeToName.put(new Character((char)0x00e3),"atilde");
			nameToUnicode.put("atilde",new Character((char)0x00e3));
			nameToEnc.put("atilde", new Integer(227));
			encToName[227]="atilde";

			unicodeToName.put(new Character((char)0x0062),"b");
			nameToUnicode.put("b",new Character((char)0x0062));
			nameToEnc.put("b", new Integer(98));
			encToName[98]="b";

			unicodeToName.put(new Character((char)0x005c),"backslash");
			nameToUnicode.put("backslash",new Character((char)0x005c));
			nameToEnc.put("backslash", new Integer(92));
			encToName[92]="backslash";

			unicodeToName.put(new Character((char)0x007c),"bar");
			nameToUnicode.put("bar",new Character((char)0x007c));
			nameToEnc.put("bar", new Integer(124));
			encToName[124]="bar";

			unicodeToName.put(new Character((char)0x007b),"braceleft");
			nameToUnicode.put("braceleft",new Character((char)0x007b));
			nameToEnc.put("braceleft", new Integer(123));
			encToName[123]="braceleft";

			unicodeToName.put(new Character((char)0x007d),"braceright");
			nameToUnicode.put("braceright",new Character((char)0x007d));
			nameToEnc.put("braceright", new Integer(125));
			encToName[125]="braceright";

			unicodeToName.put(new Character((char)0x005b),"bracketleft");
			nameToUnicode.put("bracketleft",new Character((char)0x005b));
			nameToEnc.put("bracketleft", new Integer(91));
			encToName[91]="bracketleft";

			unicodeToName.put(new Character((char)0x005d),"bracketright");
			nameToUnicode.put("bracketright",new Character((char)0x005d));
			nameToEnc.put("bracketright", new Integer(93));
			encToName[93]="bracketright";

			unicodeToName.put(new Character((char)0x02d8),"breve");
			nameToUnicode.put("breve",new Character((char)0x02d8));
			nameToEnc.put("breve", new Integer(150));
			encToName[150]="breve";

			unicodeToName.put(new Character((char)0x00a6),"brokenbar");
			nameToUnicode.put("brokenbar",new Character((char)0x00a6));
			nameToEnc.put("brokenbar", new Integer(166));
			encToName[166]="brokenbar";

			unicodeToName.put(new Character((char)0x2022),"bullet");
			nameToUnicode.put("bullet",new Character((char)0x2022));

			unicodeToName.put(new Character((char)0x0063),"c");
			nameToUnicode.put("c",new Character((char)0x0063));
			nameToEnc.put("c", new Integer(99));
			encToName[99]="c";

			unicodeToName.put(new Character((char)0x02c7),"caron");
			nameToUnicode.put("caron",new Character((char)0x02c7));
			nameToEnc.put("caron", new Integer(159));
			encToName[159]="caron";

			unicodeToName.put(new Character((char)0x00e7),"ccedilla");
			nameToUnicode.put("ccedilla",new Character((char)0x00e7));
			nameToEnc.put("ccedilla", new Integer(231));
			encToName[231]="ccedilla";

			unicodeToName.put(new Character((char)0x00b8),"cedilla");
			nameToUnicode.put("cedilla",new Character((char)0x00b8));
			nameToEnc.put("cedilla", new Integer(184));
			encToName[184]="cedilla";

			unicodeToName.put(new Character((char)0x00a2),"cent");
			nameToUnicode.put("cent",new Character((char)0x00a2));
			nameToEnc.put("cent", new Integer(162));
			encToName[162]="cent";

			unicodeToName.put(new Character((char)0x02c6),"circumflex");
			nameToUnicode.put("circumflex",new Character((char)0x02c6));
			nameToEnc.put("circumflex", new Integer(147));
			encToName[147]="circumflex";

			unicodeToName.put(new Character((char)0x003a),"colon");
			nameToUnicode.put("colon",new Character((char)0x003a));
			nameToEnc.put("colon", new Integer(58));
			encToName[58]="colon";

			unicodeToName.put(new Character((char)0x002c),"comma");
			nameToUnicode.put("comma",new Character((char)0x002c));
			nameToEnc.put("comma", new Integer(44));
			encToName[44]="comma";

			unicodeToName.put(new Character((char)0x00a9),"copyright");
			nameToUnicode.put("copyright",new Character((char)0x00a9));
			nameToEnc.put("copyright", new Integer(169));
			encToName[169]="copyright";

			unicodeToName.put(new Character((char)0x00a4),"currency");
			nameToUnicode.put("currency",new Character((char)0x00a4));
			nameToEnc.put("currency", new Integer(164));
			encToName[164]="currency";

			unicodeToName.put(new Character((char)0x0064),"d");
			nameToUnicode.put("d",new Character((char)0x0064));
			nameToEnc.put("d", new Integer(100));
			encToName[100]="d";

			unicodeToName.put(new Character((char)0x2020),"dagger");
			nameToUnicode.put("dagger",new Character((char)0x2020));

			unicodeToName.put(new Character((char)0x2021),"daggerdbl");
			nameToUnicode.put("daggerdbl",new Character((char)0x2021));

			unicodeToName.put(new Character((char)0x00b0),"degree");
			nameToUnicode.put("degree",new Character((char)0x00b0));
			nameToEnc.put("degree", new Integer(176));
			encToName[176]="degree";

			unicodeToName.put(new Character((char)0x00a8),"dieresis");
			nameToUnicode.put("dieresis",new Character((char)0x00a8));
			nameToEnc.put("dieresis", new Integer(168));
			encToName[168]="dieresis";

			unicodeToName.put(new Character((char)0x00f7),"divide");
			nameToUnicode.put("divide",new Character((char)0x00f7));
			nameToEnc.put("divide", new Integer(183));
			encToName[183]="divide";

			unicodeToName.put(new Character((char)0x0024),"dollar");
			nameToUnicode.put("dollar",new Character((char)0x0024));
			nameToEnc.put("dollar", new Integer(36));
			encToName[36]="dollar";

			unicodeToName.put(new Character((char)0x02d9),"dotaccent");
			nameToUnicode.put("dotaccent",new Character((char)0x02d9));
			nameToEnc.put("dotaccent", new Integer(151));
			encToName[151]="dotaccent";

			unicodeToName.put(new Character((char)0x0131),"dotlessi");
			nameToUnicode.put("dotlessi",new Character((char)0x0131));
			nameToEnc.put("dotlessi", new Integer(144));
			encToName[144]="dotlessi";

			unicodeToName.put(new Character((char)0x0065),"e");
			nameToUnicode.put("e",new Character((char)0x0065));
			nameToEnc.put("e", new Integer(101));
			encToName[101]="e";

			unicodeToName.put(new Character((char)0x00e9),"eacute");
			nameToUnicode.put("eacute",new Character((char)0x00e9));
			nameToEnc.put("eacute", new Integer(233));
			encToName[233]="eacute";

			unicodeToName.put(new Character((char)0x00ea),"ecircumflex");
			nameToUnicode.put("ecircumflex",new Character((char)0x00ea));
			nameToEnc.put("ecircumflex", new Integer(234));
			encToName[234]="ecircumflex";

			unicodeToName.put(new Character((char)0x00eb),"edieresis");
			nameToUnicode.put("edieresis",new Character((char)0x00eb));
			nameToEnc.put("edieresis", new Integer(235));
			encToName[235]="edieresis";

			unicodeToName.put(new Character((char)0x00e8),"egrave");
			nameToUnicode.put("egrave",new Character((char)0x00e8));
			nameToEnc.put("egrave", new Integer(232));
			encToName[232]="egrave";

			unicodeToName.put(new Character((char)0x0038),"eight");
			nameToUnicode.put("eight",new Character((char)0x0038));
			nameToEnc.put("eight", new Integer(56));
			encToName[56]="eight";

			unicodeToName.put(new Character((char)0x2026),"ellipsis");
			nameToUnicode.put("ellipsis",new Character((char)0x2026));

			unicodeToName.put(new Character((char)0x002d),"emdash");
			nameToUnicode.put("emdash",new Character((char)0x002d));

			unicodeToName.put(new Character((char)0x002d),"endash");
			nameToUnicode.put("endash",new Character((char)0x002d));

			unicodeToName.put(new Character((char)0x003d),"equal");
			nameToUnicode.put("equal",new Character((char)0x003d));
			nameToEnc.put("equal", new Integer(61));
			encToName[61]="equal";

			unicodeToName.put(new Character((char)0x00f0),"eth");
			nameToUnicode.put("eth",new Character((char)0x00f0));
			nameToEnc.put("eth", new Integer(240));
			encToName[240]="eth";

			unicodeToName.put(new Character((char)0x0021),"exclam");
			nameToUnicode.put("exclam",new Character((char)0x0021));
			nameToEnc.put("exclam", new Integer(33));
			encToName[33]="exclam";

			unicodeToName.put(new Character((char)0x00a1),"exclamdown");
			nameToUnicode.put("exclamdown",new Character((char)0x00a1));
			nameToEnc.put("exclamdown", new Integer(161));
			encToName[161]="exclamdown";

			unicodeToName.put(new Character((char)0x0066),"f");
			nameToUnicode.put("f",new Character((char)0x0066));
			nameToEnc.put("f", new Integer(102));
			encToName[102]="f";

			unicodeToName.put(new Character((char)0xfb01),"fi");
			nameToUnicode.put("fi",new Character((char)0xfb01));

			unicodeToName.put(new Character((char)0x0035),"five");
			nameToUnicode.put("five",new Character((char)0x0035));
			nameToEnc.put("five", new Integer(53));
			encToName[53]="five";

			unicodeToName.put(new Character((char)0xfb02),"fl");
			nameToUnicode.put("fl",new Character((char)0xfb02));

			unicodeToName.put(new Character((char)0x0192),"florin");
			nameToUnicode.put("florin",new Character((char)0x0192));

			unicodeToName.put(new Character((char)0x0034),"four");
			nameToUnicode.put("four",new Character((char)0x0034));
			nameToEnc.put("four", new Integer(52));
			encToName[52]="four";

			unicodeToName.put(new Character((char)0x2044),"fraction");
			nameToUnicode.put("fraction",new Character((char)0x2044));

			unicodeToName.put(new Character((char)0x0067),"g");
			nameToUnicode.put("g",new Character((char)0x0067));
			nameToEnc.put("g", new Integer(103));
			encToName[103]="g";

			unicodeToName.put(new Character((char)0x00df),"germandbls");
			nameToUnicode.put("germandbls",new Character((char)0x00df));
			nameToEnc.put("germandbls", new Integer(223));
			encToName[223]="germandbls";

			unicodeToName.put(new Character((char)0x0060),"grave");
			nameToUnicode.put("grave",new Character((char)0x0060));
			nameToEnc.put("grave", new Integer(145));
			encToName[145]="grave";

			unicodeToName.put(new Character((char)0x003e),"greater");
			nameToUnicode.put("greater",new Character((char)0x003e));
			nameToEnc.put("greater", new Integer(62));
			encToName[62]="greater";

			unicodeToName.put(new Character((char)0x00ab),"guillemotleft");
			nameToUnicode.put("guillemotleft",new Character((char)0x00ab));
			nameToEnc.put("guillemotleft", new Integer(171));
			encToName[171]="guillemotleft";

			unicodeToName.put(new Character((char)0x00bb),"guillemotright");
			nameToUnicode.put("guillemotright",new Character((char)0x00bb));
			nameToEnc.put("guillemotright", new Integer(187));
			encToName[187]="guillemotright";

			unicodeToName.put(new Character((char)0x2039),"guilsinglleft");
			nameToUnicode.put("guilsinglleft",new Character((char)0x2039));

			unicodeToName.put(new Character((char)0x203a),"guilsinglright");
			nameToUnicode.put("guilsinglright",new Character((char)0x203a));

			unicodeToName.put(new Character((char)0x0068),"h");
			nameToUnicode.put("h",new Character((char)0x0068));
			nameToEnc.put("h", new Integer(104));
			encToName[104]="h";

			unicodeToName.put(new Character((char)0x02ba),"hungarumlaut");
			nameToUnicode.put("hungarumlaut",new Character((char)0x02ba));
			nameToEnc.put("hungarumlaut", new Integer(157));
			encToName[157]="hungarumlaut";

			unicodeToName.put(new Character((char)0x002d),"hyphen");
			nameToUnicode.put("hyphen",new Character((char)0x002d));
			nameToEnc.put("hyphen", new Integer(173));
			encToName[173]="hyphen";

			unicodeToName.put(new Character((char)0x0069),"i");
			nameToUnicode.put("i",new Character((char)0x0069));
			nameToEnc.put("i", new Integer(105));
			encToName[105]="i";

			unicodeToName.put(new Character((char)0x00ed),"iacute");
			nameToUnicode.put("iacute",new Character((char)0x00ed));
			nameToEnc.put("iacute", new Integer(237));
			encToName[237]="iacute";

			unicodeToName.put(new Character((char)0x00ee),"icircumflex");
			nameToUnicode.put("icircumflex",new Character((char)0x00ee));
			nameToEnc.put("icircumflex", new Integer(238));
			encToName[238]="icircumflex";

			unicodeToName.put(new Character((char)0x00ef),"idieresis");
			nameToUnicode.put("idieresis",new Character((char)0x00ef));
			nameToEnc.put("idieresis", new Integer(239));
			encToName[239]="idieresis";

			unicodeToName.put(new Character((char)0x00ec),"igrave");
			nameToUnicode.put("igrave",new Character((char)0x00ec));
			nameToEnc.put("igrave", new Integer(236));
			encToName[236]="igrave";

			unicodeToName.put(new Character((char)0x006a),"j");
			nameToUnicode.put("j",new Character((char)0x006a));
			nameToEnc.put("j", new Integer(106));
			encToName[106]="j";

			unicodeToName.put(new Character((char)0x006b),"k");
			nameToUnicode.put("k",new Character((char)0x006b));
			nameToEnc.put("k", new Integer(107));
			encToName[107]="k";

			unicodeToName.put(new Character((char)0x006c),"l");
			nameToUnicode.put("l",new Character((char)0x006c));
			nameToEnc.put("l", new Integer(108));
			encToName[108]="l";

			unicodeToName.put(new Character((char)0x003c),"less");
			nameToUnicode.put("less",new Character((char)0x003c));
			nameToEnc.put("less", new Integer(60));
			encToName[60]="less";

			unicodeToName.put(new Character((char)0x00ac),"logicalnot");
			nameToUnicode.put("logicalnot",new Character((char)0x00ac));
			nameToEnc.put("logicalnot", new Integer(172));
			encToName[172]="logicalnot";

			unicodeToName.put(new Character((char)0x0142),"lslash");
			nameToUnicode.put("lslash",new Character((char)0x0142));

			unicodeToName.put(new Character((char)0x006d),"m");
			nameToUnicode.put("m",new Character((char)0x006d));
			nameToEnc.put("m", new Integer(109));
			encToName[109]="m";

			unicodeToName.put(new Character((char)0x00af),"macron");
			nameToUnicode.put("macron",new Character((char)0x00af));
			nameToEnc.put("macron", new Integer(175));
			encToName[175]="macron";

			unicodeToName.put(new Character((char)0x2212),"minus");
			nameToUnicode.put("minus",new Character((char)0x2212));
			nameToEnc.put("minus", new Integer(45));
			encToName[45]="minus";

			unicodeToName.put(new Character((char)0x03bc),"mu");
			nameToUnicode.put("mu",new Character((char)0x03bc));
			nameToEnc.put("mu", new Integer(181));
			encToName[181]="mu";

			unicodeToName.put(new Character((char)0x00d7),"multiply");
			nameToUnicode.put("multiply",new Character((char)0x00d7));
			nameToEnc.put("multiply", new Integer(215));
			encToName[215]="multiply";

			unicodeToName.put(new Character((char)0x006e),"n");
			nameToUnicode.put("n",new Character((char)0x006e));
			nameToEnc.put("n", new Integer(110));
			encToName[110]="n";

			unicodeToName.put(new Character((char)0x0039),"nine");
			nameToUnicode.put("nine",new Character((char)0x0039));
			nameToEnc.put("nine", new Integer(57));
			encToName[57]="nine";

			unicodeToName.put(new Character((char)0x00f1),"ntilde");
			nameToUnicode.put("ntilde",new Character((char)0x00f1));
			nameToEnc.put("ntilde", new Integer(241));
			encToName[241]="ntilde";

			unicodeToName.put(new Character((char)0x0023),"numbersign");
			nameToUnicode.put("numbersign",new Character((char)0x0023));
			nameToEnc.put("numbersign", new Integer(35));
			encToName[35]="numbersign";

			unicodeToName.put(new Character((char)0x006f),"o");
			nameToUnicode.put("o",new Character((char)0x006f));
			nameToEnc.put("o", new Integer(111));
			encToName[111]="o";

			unicodeToName.put(new Character((char)0x00f3),"oacute");
			nameToUnicode.put("oacute",new Character((char)0x00f3));
			nameToEnc.put("oacute", new Integer(243));
			encToName[243]="oacute";

			unicodeToName.put(new Character((char)0x00f4),"ocircumflex");
			nameToUnicode.put("ocircumflex",new Character((char)0x00f4));
			nameToEnc.put("ocircumflex", new Integer(244));
			encToName[244]="ocircumflex";

			unicodeToName.put(new Character((char)0x00f6),"odieresis");
			nameToUnicode.put("odieresis",new Character((char)0x00f6));
			nameToEnc.put("odieresis", new Integer(246));
			encToName[246]="odieresis";

			unicodeToName.put(new Character((char)0x0153),"oe");
			nameToUnicode.put("oe",new Character((char)0x0153));

			unicodeToName.put(new Character((char)0x02db),"ogonek");
			nameToUnicode.put("ogonek",new Character((char)0x02db));
			nameToEnc.put("ogonek", new Integer(158));
			encToName[158]="ogonek";

			unicodeToName.put(new Character((char)0x00f2),"ograve");
			nameToUnicode.put("ograve",new Character((char)0x00f2));
			nameToEnc.put("ograve", new Integer(242));
			encToName[242]="ograve";

			unicodeToName.put(new Character((char)0x0031),"one");
			nameToUnicode.put("one",new Character((char)0x0031));
			nameToEnc.put("one", new Integer(49));
			encToName[49]="one";

			unicodeToName.put(new Character((char)0x00bd),"onehalf");
			nameToUnicode.put("onehalf",new Character((char)0x00bd));
			nameToEnc.put("onehalf", new Integer(189));
			encToName[189]="onehalf";

			unicodeToName.put(new Character((char)0x00bc),"onequarter");
			nameToUnicode.put("onequarter",new Character((char)0x00bc));
			nameToEnc.put("onequarter", new Integer(188));
			encToName[188]="onequarter";

			unicodeToName.put(new Character((char)0x00b9),"onesuperior");
			nameToUnicode.put("onesuperior",new Character((char)0x00b9));
			nameToEnc.put("onesuperior", new Integer(185));
			encToName[185]="onesuperior";

			unicodeToName.put(new Character((char)0x00aa),"ordfeminine");
			nameToUnicode.put("ordfeminine",new Character((char)0x00aa));
			nameToEnc.put("ordfeminine", new Integer(170));
			encToName[170]="ordfeminine";

			unicodeToName.put(new Character((char)0x00ba),"ordmasculine");
			nameToUnicode.put("ordmasculine",new Character((char)0x00ba));
			nameToEnc.put("ordmasculine", new Integer(186));
			encToName[186]="ordmasculine";

			unicodeToName.put(new Character((char)0x00f8),"oslash");
			nameToUnicode.put("oslash",new Character((char)0x00f8));
			nameToEnc.put("oslash", new Integer(248));
			encToName[248]="oslash";

			unicodeToName.put(new Character((char)0x00f5),"otilde");
			nameToUnicode.put("otilde",new Character((char)0x00f5));
			nameToEnc.put("otilde", new Integer(245));
			encToName[245]="otilde";

			unicodeToName.put(new Character((char)0x0070),"p");
			nameToUnicode.put("p",new Character((char)0x0070));
			nameToEnc.put("p", new Integer(112));
			encToName[112]="p";

			unicodeToName.put(new Character((char)0x00b6),"paragraph");
			nameToUnicode.put("paragraph",new Character((char)0x00b6));
			nameToEnc.put("paragraph", new Integer(182));
			encToName[182]="paragraph";

			unicodeToName.put(new Character((char)0x0028),"parenleft");
			nameToUnicode.put("parenleft",new Character((char)0x0028));
			nameToEnc.put("parenleft", new Integer(40));
			encToName[40]="parenleft";

			unicodeToName.put(new Character((char)0x0029),"parenright");
			nameToUnicode.put("parenright",new Character((char)0x0029));
			nameToEnc.put("parenright", new Integer(41));
			encToName[41]="parenright";

			unicodeToName.put(new Character((char)0x0025),"percent");
			nameToUnicode.put("percent",new Character((char)0x0025));
			nameToEnc.put("percent", new Integer(37));
			encToName[37]="percent";

			unicodeToName.put(new Character((char)0x002e),"period");
			nameToUnicode.put("period",new Character((char)0x002e));
			nameToEnc.put("period", new Integer(46));
			encToName[46]="period";

			unicodeToName.put(new Character((char)0x00b7),"periodcentered");
			nameToUnicode.put("periodcentered",new Character((char)0x00b7));
			nameToEnc.put("periodcentered", new Integer(183));
			encToName[183]="periodcentered";

			unicodeToName.put(new Character((char)0x2030),"perthousand");
			nameToUnicode.put("perthousand",new Character((char)0x2030));

			unicodeToName.put(new Character((char)0x002b),"plus");
			nameToUnicode.put("plus",new Character((char)0x002b));
			nameToEnc.put("plus", new Integer(43));
			encToName[43]="plus";

			unicodeToName.put(new Character((char)0x00b1),"plusminus");
			nameToUnicode.put("plusminus",new Character((char)0x00b1));
			nameToEnc.put("plusminus", new Integer(177));
			encToName[177]="plusminus";

			unicodeToName.put(new Character((char)0x0071),"q");
			nameToUnicode.put("q",new Character((char)0x0071));
			nameToEnc.put("q", new Integer(113));
			encToName[113]="q";

			unicodeToName.put(new Character((char)0x003f),"question");
			nameToUnicode.put("question",new Character((char)0x003f));
			nameToEnc.put("question", new Integer(63));
			encToName[63]="question";

			unicodeToName.put(new Character((char)0x00bf),"questiondown");
			nameToUnicode.put("questiondown",new Character((char)0x00bf));
			nameToEnc.put("questiondown", new Integer(191));
			encToName[191]="questiondown";

			unicodeToName.put(new Character((char)0x0022),"quotedbl");
			nameToUnicode.put("quotedbl",new Character((char)0x0022));
			nameToEnc.put("quotedbl", new Integer(34));
			encToName[34]="quotedbl";

			unicodeToName.put(new Character((char)0x201e),"quotedblbase");
			nameToUnicode.put("quotedblbase",new Character((char)0x201e));

			unicodeToName.put(new Character((char)0x201c),"quotedblleft");
			nameToUnicode.put("quotedblleft",new Character((char)0x201c));

			unicodeToName.put(new Character((char)0x201d),"quotedblright");
			nameToUnicode.put("quotedblright",new Character((char)0x201d));

			unicodeToName.put(new Character((char)0x0060),"quoteleft");
			nameToUnicode.put("quoteleft",new Character((char)0x0060));
			nameToEnc.put("quoteleft", new Integer(96));
			encToName[96]="quoteleft";

			unicodeToName.put(new Character((char)0x0027),"quoteright");
			nameToUnicode.put("quoteright",new Character((char)0x0027));
			nameToEnc.put("quoteright", new Integer(39));
			encToName[39]="quoteright";

			unicodeToName.put(new Character((char)0x201a),"quotesinglbase");
			nameToUnicode.put("quotesinglbase",new Character((char)0x201a));

			unicodeToName.put(new Character((char)0x0027),"quotesingle");
			nameToUnicode.put("quotesingle",new Character((char)0x0027));

			unicodeToName.put(new Character((char)0x0072),"r");
			nameToUnicode.put("r",new Character((char)0x0072));
			nameToEnc.put("r", new Integer(114));
			encToName[114]="r";

			unicodeToName.put(new Character((char)0x00ae),"registered");
			nameToUnicode.put("registered",new Character((char)0x00ae));
			nameToEnc.put("registered", new Integer(174));
			encToName[174]="registered";

			unicodeToName.put(new Character((char)0x02da),"ring");
			nameToUnicode.put("ring",new Character((char)0x02da));
			nameToEnc.put("ring", new Integer(154));
			encToName[154]="ring";

			unicodeToName.put(new Character((char)0x0073),"s");
			nameToUnicode.put("s",new Character((char)0x0073));
			nameToEnc.put("s", new Integer(115));
			encToName[115]="s";

			unicodeToName.put(new Character((char)0x0161),"scaron");
			nameToUnicode.put("scaron",new Character((char)0x0161));

			unicodeToName.put(new Character((char)0x00a7),"section");
			nameToUnicode.put("section",new Character((char)0x00a7));
			nameToEnc.put("section", new Integer(167));
			encToName[167]="section";

			unicodeToName.put(new Character((char)0x003b),"semicolon");
			nameToUnicode.put("semicolon",new Character((char)0x003b));
			nameToEnc.put("semicolon", new Integer(59));
			encToName[59]="semicolon";

			unicodeToName.put(new Character((char)0x0037),"seven");
			nameToUnicode.put("seven",new Character((char)0x0037));
			nameToEnc.put("seven", new Integer(55));
			encToName[55]="seven";

			unicodeToName.put(new Character((char)0x0036),"six");
			nameToUnicode.put("six",new Character((char)0x0036));
			nameToEnc.put("six", new Integer(54));
			encToName[54]="six";

			unicodeToName.put(new Character((char)0x002f),"slash");
			nameToUnicode.put("slash",new Character((char)0x002f));
			nameToEnc.put("slash", new Integer(47));
			encToName[47]="slash";

			unicodeToName.put(new Character((char)0x0020),"space");
			nameToUnicode.put("space", new Character((char)0x0020));
			nameToEnc.put("space", new Integer(32));
			encToName[32]="space";

			unicodeToName.put(new Character((char)0x00a3),"sterling");
			nameToUnicode.put("sterling",new Character((char)0x00a3));
			nameToEnc.put("sterling", new Integer(163));
			encToName[163]="sterling";

			unicodeToName.put(new Character((char)0x0074),"t");
			nameToUnicode.put("t",new Character((char)0x0074));
			nameToEnc.put("t", new Integer(116));
			encToName[116]="t";

			unicodeToName.put(new Character((char)0x00fe),"thorn");
			nameToUnicode.put("thorn",new Character((char)0x00fe));
			nameToEnc.put("thorn", new Integer(254));
			encToName[254]="thorn";

			unicodeToName.put(new Character((char)0x0033),"three");
			nameToUnicode.put("three",new Character((char)0x0033));
			nameToEnc.put("three", new Integer(51));
			encToName[51]="three";

			unicodeToName.put(new Character((char)0x00be),"threequarters");
			nameToUnicode.put("threequarters",new Character((char)0x00be));
			nameToEnc.put("threequarters", new Integer(190));
			encToName[190]="threequarters";

			unicodeToName.put(new Character((char)0x00b3),"threesuperior");
			nameToUnicode.put("threesuperior",new Character((char)0x00b3));
			nameToEnc.put("threesuperior", new Integer(179));
			encToName[179]="threesuperior";

			unicodeToName.put(new Character((char)0x02dc),"tilde");
			nameToUnicode.put("tilde",new Character((char)0x02dc));
			nameToEnc.put("tilde", new Integer(148));
			encToName[148]="tilde";

			unicodeToName.put(new Character((char)0x2122),"trademark");
			nameToUnicode.put("trademark",new Character((char)0x2122));

			unicodeToName.put(new Character((char)0x0032),"two");
			nameToUnicode.put("two",new Character((char)0x0032));
			nameToEnc.put("two", new Integer(50));
			encToName[50]="two";

			unicodeToName.put(new Character((char)0x00b2),"twosuperior");
			nameToUnicode.put("twosuperior",new Character((char)0x00b2));
			nameToEnc.put("twosuperior", new Integer(178));
			encToName[178]="twosuperior";

			unicodeToName.put(new Character((char)0x0075),"u");
			nameToUnicode.put("u",new Character((char)0x0075));
			nameToEnc.put("u", new Integer(117));
			encToName[117]="u";

			unicodeToName.put(new Character((char)0x00fa),"uacute");
			nameToUnicode.put("uacute",new Character((char)0x00fa));
			nameToEnc.put("uacute", new Integer(250));
			encToName[250]="uacute";

			unicodeToName.put(new Character((char)0x00fb),"ucircumflex");
			nameToUnicode.put("ucircumflex",new Character((char)0x00fb));
			nameToEnc.put("ucircumflex", new Integer(251));
			encToName[251]="ucircumflex";

			unicodeToName.put(new Character((char)0x00fc),"udieresis");
			nameToUnicode.put("udieresis",new Character((char)0x00fc));
			nameToEnc.put("udieresis", new Integer(252));
			encToName[252]="udieresis";

			unicodeToName.put(new Character((char)0x00f9),"ugrave");
			nameToUnicode.put("ugrave",new Character((char)0x00f9));
			nameToEnc.put("ugrave", new Integer(249));
			encToName[249]="ugrave";

			unicodeToName.put(new Character((char)0x005f),"underscore");
			nameToUnicode.put("underscore",new Character((char)0x005f));
			nameToEnc.put("underscore", new Integer(95));
			encToName[95]="underscore";

			unicodeToName.put(new Character((char)0x0076),"v");
			nameToUnicode.put("v",new Character((char)0x0076));
			nameToEnc.put("v", new Integer(118));
			encToName[118]="v";

			unicodeToName.put(new Character((char)0x0077),"w");
			nameToUnicode.put("w",new Character((char)0x0077));
			nameToEnc.put("w", new Integer(119));
			encToName[119]="w";

			unicodeToName.put(new Character((char)0x0078),"x");
			nameToUnicode.put("x",new Character((char)0x0078));
			nameToEnc.put("x", new Integer(120));
			encToName[120]="x";

			unicodeToName.put(new Character((char)0x0079),"y");
			nameToUnicode.put("y",new Character((char)0x0079));
			nameToEnc.put("y", new Integer(121));
			encToName[121]="y";

			unicodeToName.put(new Character((char)0x00fd),"yacute");
			nameToUnicode.put("yacute",new Character((char)0x00fd));
			nameToEnc.put("yacute", new Integer(253));
			encToName[253]="yacute";

			unicodeToName.put(new Character((char)0x00ff),"ydieresis");
			nameToUnicode.put("ydieresis",new Character((char)0x00ff));
			nameToEnc.put("ydieresis", new Integer(255));
			encToName[255]="ydieresis";

			unicodeToName.put(new Character((char)0x00a5),"yen");
			nameToUnicode.put("yen",new Character((char)0x00a5));
			nameToEnc.put("yen", new Integer(165));
			encToName[165]="yen";

			unicodeToName.put(new Character((char)0x007a),"z");
			nameToUnicode.put("z",new Character((char)0x007a));
			nameToEnc.put("z", new Integer(122));
			encToName[122]="z";

			unicodeToName.put(new Character((char)0x017e),"zcaron");
			nameToUnicode.put("zcaron",new Character((char)0x017e));

			unicodeToName.put(new Character((char)0x0030),"zero");
			nameToUnicode.put("zero",new Character((char)0x0030));
			nameToEnc.put("zero", new Integer(48));
			encToName[48]="zero";

		}

	public String toName(Character c){
		return((String)unicodeToName.get(c));
	}

	public String toName(int enc){
		if(enc!=0)
		    return(encToName[enc]);
		return(null);
	}

	public int toEncoding(String name){
		return(((Integer)(nameToEnc.get(name))).intValue());
	}

	public char toUnicode(String name){
		return(((Character)(nameToUnicode.get(name))).charValue());
	}

	public String getName(){
	return("Latin");
	}

	public String getEncoding(){
		return("ISO");
	}

}
