001: /**
002: * Copyright (c) 2003, www.pdfbox.org
003: * All rights reserved.
004: *
005: * Redistribution and use in source and binary forms, with or without
006: * modification, are permitted provided that the following conditions are met:
007: *
008: * 1. Redistributions of source code must retain the above copyright notice,
009: * this list of conditions and the following disclaimer.
010: * 2. Redistributions in binary form must reproduce the above copyright notice,
011: * this list of conditions and the following disclaimer in the documentation
012: * and/or other materials provided with the distribution.
013: * 3. Neither the name of pdfbox; nor the names of its
014: * contributors may be used to endorse or promote products derived from this
015: * software without specific prior written permission.
016: *
017: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
018: * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
019: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
020: * DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
021: * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
022: * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
023: * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
024: * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
025: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
026: * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
027: *
028: * http://www.pdfbox.org
029: *
030: */package org.pdfbox.encoding;
031:
032: import org.pdfbox.cos.COSBase;
033: import org.pdfbox.cos.COSName;
034:
035: /**
036: * This the win ansi encoding.
037: *
038: * @author <a href="mailto:ben@benlitchfield.com">Ben Litchfield</a>
039: * @version $Revision: 1.10 $
040: */
041: public class WinAnsiEncoding extends Encoding {
042: /**
043: * Constructor.
044: */
045: public WinAnsiEncoding() {
046: addCharacterEncoding(0101, COSName.getPDFName("A"));
047: addCharacterEncoding(0306, COSName.getPDFName("AE"));
048: addCharacterEncoding(0301, COSName.getPDFName("Aacute"));
049: addCharacterEncoding(0302, COSName.getPDFName("Acircumflex"));
050: addCharacterEncoding(0304, COSName.getPDFName("Adieresis"));
051: addCharacterEncoding(0300, COSName.getPDFName("Agrave"));
052: addCharacterEncoding(0305, COSName.getPDFName("Aring"));
053: addCharacterEncoding(0303, COSName.getPDFName("Atilde"));
054: addCharacterEncoding(0102, COSName.getPDFName("B"));
055: addCharacterEncoding(0103, COSName.getPDFName("C"));
056: addCharacterEncoding(0307, COSName.getPDFName("Ccedilla"));
057: addCharacterEncoding(0104, COSName.getPDFName("D"));
058: addCharacterEncoding(0105, COSName.getPDFName("E"));
059: addCharacterEncoding(0311, COSName.getPDFName("Eacute"));
060: addCharacterEncoding(0312, COSName.getPDFName("Ecircumflex"));
061: addCharacterEncoding(0313, COSName.getPDFName("Edieresis"));
062: addCharacterEncoding(0310, COSName.getPDFName("Egrave"));
063: addCharacterEncoding(0320, COSName.getPDFName("Eth"));
064: addCharacterEncoding(0200, COSName.getPDFName("Euro"));
065: addCharacterEncoding(0106, COSName.getPDFName("F"));
066: addCharacterEncoding(0107, COSName.getPDFName("G"));
067: addCharacterEncoding(0110, COSName.getPDFName("H"));
068: addCharacterEncoding(0111, COSName.getPDFName("I"));
069: addCharacterEncoding(0315, COSName.getPDFName("Iacute"));
070: addCharacterEncoding(0316, COSName.getPDFName("Icircumflex"));
071: addCharacterEncoding(0317, COSName.getPDFName("Idieresis"));
072: addCharacterEncoding(0314, COSName.getPDFName("Igrave"));
073: addCharacterEncoding(0112, COSName.getPDFName("J"));
074: addCharacterEncoding(0113, COSName.getPDFName("K"));
075: addCharacterEncoding(0114, COSName.getPDFName("L"));
076: addCharacterEncoding(0115, COSName.getPDFName("M"));
077: addCharacterEncoding(0116, COSName.getPDFName("N"));
078: addCharacterEncoding(0321, COSName.getPDFName("Ntilde"));
079: addCharacterEncoding(0117, COSName.getPDFName("O"));
080: addCharacterEncoding(0214, COSName.getPDFName("OE"));
081: addCharacterEncoding(0323, COSName.getPDFName("Oacute"));
082: addCharacterEncoding(0324, COSName.getPDFName("Ocircumflex"));
083: addCharacterEncoding(0326, COSName.getPDFName("Odieresis"));
084: addCharacterEncoding(0322, COSName.getPDFName("Ograve"));
085: addCharacterEncoding(0330, COSName.getPDFName("Oslash"));
086: addCharacterEncoding(0325, COSName.getPDFName("Otilde"));
087: addCharacterEncoding(0120, COSName.getPDFName("P"));
088: addCharacterEncoding(0121, COSName.getPDFName("Q"));
089: addCharacterEncoding(0122, COSName.getPDFName("R"));
090: addCharacterEncoding(0123, COSName.getPDFName("S"));
091: addCharacterEncoding(0212, COSName.getPDFName("Scaron"));
092: addCharacterEncoding(0124, COSName.getPDFName("T"));
093: addCharacterEncoding(0336, COSName.getPDFName("Thorn"));
094: addCharacterEncoding(0125, COSName.getPDFName("U"));
095: addCharacterEncoding(0332, COSName.getPDFName("Uacute"));
096: addCharacterEncoding(0333, COSName.getPDFName("Ucircumflex"));
097: addCharacterEncoding(0334, COSName.getPDFName("Udieresis"));
098: addCharacterEncoding(0331, COSName.getPDFName("Ugrave"));
099: addCharacterEncoding(0126, COSName.getPDFName("V"));
100: addCharacterEncoding(0127, COSName.getPDFName("W"));
101: addCharacterEncoding(0130, COSName.getPDFName("X"));
102: addCharacterEncoding(0131, COSName.getPDFName("Y"));
103: addCharacterEncoding(0335, COSName.getPDFName("Yacute"));
104: addCharacterEncoding(0237, COSName.getPDFName("Ydieresis"));
105: addCharacterEncoding(0132, COSName.getPDFName("Z"));
106: addCharacterEncoding(0216, COSName.getPDFName("Zcaron"));
107: addCharacterEncoding(0141, COSName.getPDFName("a"));
108: addCharacterEncoding(0341, COSName.getPDFName("aacute"));
109: addCharacterEncoding(0342, COSName.getPDFName("acircumflex"));
110: addCharacterEncoding(0264, COSName.getPDFName("acute"));
111: addCharacterEncoding(0344, COSName.getPDFName("adieresis"));
112: addCharacterEncoding(0346, COSName.getPDFName("ae"));
113: addCharacterEncoding(0340, COSName.getPDFName("agrave"));
114: addCharacterEncoding(046, COSName.getPDFName("ampersand"));
115: addCharacterEncoding(0345, COSName.getPDFName("aring"));
116: addCharacterEncoding(0136, COSName.getPDFName("asciicircum"));
117: addCharacterEncoding(0176, COSName.getPDFName("asciitilde"));
118: addCharacterEncoding(052, COSName.getPDFName("asterisk"));
119: addCharacterEncoding(0100, COSName.getPDFName("at"));
120: addCharacterEncoding(0343, COSName.getPDFName("atilde"));
121: addCharacterEncoding(0142, COSName.getPDFName("b"));
122: addCharacterEncoding(0134, COSName.getPDFName("backslash"));
123: addCharacterEncoding(0174, COSName.getPDFName("bar"));
124: addCharacterEncoding(0173, COSName.getPDFName("braceleft"));
125: addCharacterEncoding(0175, COSName.getPDFName("braceright"));
126: addCharacterEncoding(0133, COSName.getPDFName("bracketleft"));
127: addCharacterEncoding(0135, COSName.getPDFName("bracketright"));
128: addCharacterEncoding(0246, COSName.getPDFName("brokenbar"));
129: addCharacterEncoding(0225, COSName.getPDFName("bullet"));
130: addCharacterEncoding(0143, COSName.getPDFName("c"));
131: addCharacterEncoding(0347, COSName.getPDFName("ccedilla"));
132: addCharacterEncoding(0270, COSName.getPDFName("cedilla"));
133: addCharacterEncoding(0242, COSName.getPDFName("cent"));
134: addCharacterEncoding(0210, COSName.getPDFName("circumflex"));
135: addCharacterEncoding(072, COSName.getPDFName("colon"));
136: addCharacterEncoding(054, COSName.getPDFName("comma"));
137: addCharacterEncoding(0251, COSName.getPDFName("copyright"));
138:
139: /**
140: * Added because cweb.pdf uses circlecopyrt
141: */
142: addCharacterEncoding(0251, COSName.getPDFName("circlecopyrt"));
143: addCharacterEncoding(0244, COSName.getPDFName("currency"));
144: addCharacterEncoding(0144, COSName.getPDFName("d"));
145: addCharacterEncoding(0206, COSName.getPDFName("dagger"));
146: addCharacterEncoding(0207, COSName.getPDFName("daggerdbl"));
147: addCharacterEncoding(0260, COSName.getPDFName("degree"));
148: addCharacterEncoding(0250, COSName.getPDFName("dieresis"));
149: addCharacterEncoding(0367, COSName.getPDFName("divide"));
150: addCharacterEncoding(044, COSName.getPDFName("dollar"));
151: addCharacterEncoding(0145, COSName.getPDFName("e"));
152: addCharacterEncoding(0351, COSName.getPDFName("eacute"));
153: addCharacterEncoding(0352, COSName.getPDFName("ecircumflex"));
154: addCharacterEncoding(0353, COSName.getPDFName("edieresis"));
155: addCharacterEncoding(0350, COSName.getPDFName("egrave"));
156: addCharacterEncoding(070, COSName.getPDFName("eight"));
157: addCharacterEncoding(0205, COSName.getPDFName("ellipsis"));
158: addCharacterEncoding(0227, COSName.getPDFName("emdash"));
159: addCharacterEncoding(0226, COSName.getPDFName("endash"));
160: addCharacterEncoding(075, COSName.getPDFName("equal"));
161: addCharacterEncoding(0360, COSName.getPDFName("eth"));
162: addCharacterEncoding(041, COSName.getPDFName("exclam"));
163: addCharacterEncoding(0241, COSName.getPDFName("exclamdown"));
164: addCharacterEncoding(0146, COSName.getPDFName("f"));
165: addCharacterEncoding(065, COSName.getPDFName("five"));
166: addCharacterEncoding(0203, COSName.getPDFName("florin"));
167: addCharacterEncoding(064, COSName.getPDFName("four"));
168: addCharacterEncoding(0147, COSName.getPDFName("g"));
169: addCharacterEncoding(0337, COSName.getPDFName("germandbls"));
170: addCharacterEncoding(0140, COSName.getPDFName("grave"));
171: addCharacterEncoding(076, COSName.getPDFName("greater"));
172: addCharacterEncoding(0253, COSName.getPDFName("guillemotleft"));
173: addCharacterEncoding(0273, COSName.getPDFName("guillemotright"));
174: addCharacterEncoding(0213, COSName.getPDFName("guilsinglleft"));
175: addCharacterEncoding(0233, COSName.getPDFName("guilsinglright"));
176: addCharacterEncoding(0150, COSName.getPDFName("h"));
177: addCharacterEncoding(055, COSName.getPDFName("hyphen"));
178: addCharacterEncoding(0151, COSName.getPDFName("i"));
179: addCharacterEncoding(0355, COSName.getPDFName("iacute"));
180: addCharacterEncoding(0356, COSName.getPDFName("icircumflex"));
181: addCharacterEncoding(0357, COSName.getPDFName("idieresis"));
182: addCharacterEncoding(0354, COSName.getPDFName("igrave"));
183: addCharacterEncoding(0152, COSName.getPDFName("j"));
184: addCharacterEncoding(0153, COSName.getPDFName("k"));
185: addCharacterEncoding(0154, COSName.getPDFName("l"));
186: addCharacterEncoding(074, COSName.getPDFName("less"));
187: addCharacterEncoding(0254, COSName.getPDFName("logicalnot"));
188: addCharacterEncoding(0155, COSName.getPDFName("m"));
189: addCharacterEncoding(0257, COSName.getPDFName("macron"));
190: addCharacterEncoding(0265, COSName.getPDFName("mu"));
191: addCharacterEncoding(0327, COSName.getPDFName("multiply"));
192: addCharacterEncoding(0156, COSName.getPDFName("n"));
193: addCharacterEncoding(071, COSName.getPDFName("nine"));
194: addCharacterEncoding(0361, COSName.getPDFName("ntilde"));
195: addCharacterEncoding(043, COSName.getPDFName("numbersign"));
196: addCharacterEncoding(0157, COSName.getPDFName("o"));
197: addCharacterEncoding(0363, COSName.getPDFName("oacute"));
198: addCharacterEncoding(0364, COSName.getPDFName("ocircumflex"));
199: addCharacterEncoding(0366, COSName.getPDFName("odieresis"));
200: addCharacterEncoding(0234, COSName.getPDFName("oe"));
201: addCharacterEncoding(0362, COSName.getPDFName("ograve"));
202: addCharacterEncoding(061, COSName.getPDFName("one"));
203: addCharacterEncoding(0275, COSName.getPDFName("onehalf"));
204: addCharacterEncoding(0274, COSName.getPDFName("onequarter"));
205: addCharacterEncoding(0271, COSName.getPDFName("onesuperior"));
206: addCharacterEncoding(0252, COSName.getPDFName("ordfeminine"));
207: addCharacterEncoding(0272, COSName.getPDFName("ordmasculine"));
208: addCharacterEncoding(0370, COSName.getPDFName("oslash"));
209: addCharacterEncoding(0365, COSName.getPDFName("otilde"));
210: addCharacterEncoding(0160, COSName.getPDFName("p"));
211: addCharacterEncoding(0266, COSName.getPDFName("paragraph"));
212: addCharacterEncoding(050, COSName.getPDFName("parenleft"));
213: addCharacterEncoding(051, COSName.getPDFName("parenright"));
214: addCharacterEncoding(045, COSName.getPDFName("percent"));
215: addCharacterEncoding(056, COSName.getPDFName("period"));
216: addCharacterEncoding(0267, COSName.getPDFName("periodcentered"));
217: addCharacterEncoding(0211, COSName.getPDFName("perthousand"));
218: addCharacterEncoding(053, COSName.getPDFName("plus"));
219: addCharacterEncoding(0261, COSName.getPDFName("plusminus"));
220: addCharacterEncoding(0161, COSName.getPDFName("q"));
221: addCharacterEncoding(077, COSName.getPDFName("question"));
222: addCharacterEncoding(0277, COSName.getPDFName("questiondown"));
223: addCharacterEncoding(042, COSName.getPDFName("quotedbl"));
224: addCharacterEncoding(0204, COSName.getPDFName("quotedblbase"));
225: addCharacterEncoding(0223, COSName.getPDFName("quotedblleft"));
226: addCharacterEncoding(0224, COSName.getPDFName("quotedblright"));
227: addCharacterEncoding(0221, COSName.getPDFName("quoteleft"));
228: addCharacterEncoding(0222, COSName.getPDFName("quoteright"));
229: addCharacterEncoding(0202, COSName.getPDFName("quotesinglbase"));
230: addCharacterEncoding(047, COSName.getPDFName("quotesingle"));
231: addCharacterEncoding(0162, COSName.getPDFName("r"));
232: addCharacterEncoding(0256, COSName.getPDFName("registered"));
233: addCharacterEncoding(0163, COSName.getPDFName("s"));
234: addCharacterEncoding(0232, COSName.getPDFName("scaron"));
235: addCharacterEncoding(0247, COSName.getPDFName("section"));
236: addCharacterEncoding(073, COSName.getPDFName("semicolon"));
237: addCharacterEncoding(067, COSName.getPDFName("seven"));
238: addCharacterEncoding(066, COSName.getPDFName("six"));
239: addCharacterEncoding(057, COSName.getPDFName("slash"));
240: addCharacterEncoding(040, COSName.getPDFName("space"));
241: addCharacterEncoding(0243, COSName.getPDFName("sterling"));
242: addCharacterEncoding(0164, COSName.getPDFName("t"));
243: addCharacterEncoding(0376, COSName.getPDFName("thorn"));
244: addCharacterEncoding(063, COSName.getPDFName("three"));
245: addCharacterEncoding(0276, COSName.getPDFName("threequarters"));
246: addCharacterEncoding(0263, COSName.getPDFName("threesuperior"));
247: addCharacterEncoding(0230, COSName.getPDFName("tilde"));
248: addCharacterEncoding(0231, COSName.getPDFName("trademark"));
249: addCharacterEncoding(062, COSName.getPDFName("two"));
250: addCharacterEncoding(0262, COSName.getPDFName("twosuperior"));
251: addCharacterEncoding(0165, COSName.getPDFName("u"));
252: addCharacterEncoding(0372, COSName.getPDFName("uacute"));
253: addCharacterEncoding(0373, COSName.getPDFName("ucircumflex"));
254: addCharacterEncoding(0374, COSName.getPDFName("udieresis"));
255: addCharacterEncoding(0371, COSName.getPDFName("ugrave"));
256: addCharacterEncoding(0137, COSName.getPDFName("underscore"));
257: addCharacterEncoding(0166, COSName.getPDFName("v"));
258: addCharacterEncoding(0167, COSName.getPDFName("w"));
259: addCharacterEncoding(0170, COSName.getPDFName("x"));
260: addCharacterEncoding(0171, COSName.getPDFName("y"));
261: addCharacterEncoding(0375, COSName.getPDFName("yacute"));
262: addCharacterEncoding(0377, COSName.getPDFName("ydieresis"));
263: addCharacterEncoding(0245, COSName.getPDFName("yen"));
264: addCharacterEncoding(0172, COSName.getPDFName("z"));
265: addCharacterEncoding(0236, COSName.getPDFName("zcaron"));
266: addCharacterEncoding(060, COSName.getPDFName("zero"));
267: }
268:
269: /**
270: * Convert this standard java object to a COS object.
271: *
272: * @return The cos object that matches this Java object.
273: */
274: public COSBase getCOSObject() {
275: return COSName.WIN_ANSI_ENCODING;
276: }
277: }
|