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 is an interface to a text encoder.
037: *
038: * @author <a href="mailto:ben@benlitchfield.com">Ben Litchfield</a>
039: * @version $Revision: 1.10 $
040: */
041: public class PdfDocEncoding extends Encoding {
042: /**
043: * Constructor.
044: */
045: public PdfDocEncoding() {
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(0240, 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(0225, COSName.getPDFName("Lslash"));
077: addCharacterEncoding(0115, COSName.getPDFName("M"));
078: addCharacterEncoding(0116, COSName.getPDFName("N"));
079: addCharacterEncoding(0321, COSName.getPDFName("Ntilde"));
080: addCharacterEncoding(0117, COSName.getPDFName("O"));
081: addCharacterEncoding(0226, COSName.getPDFName("OE"));
082: addCharacterEncoding(0323, COSName.getPDFName("Oacute"));
083: addCharacterEncoding(0324, COSName.getPDFName("Ocircumflex"));
084: addCharacterEncoding(0326, COSName.getPDFName("Odieresis"));
085: addCharacterEncoding(0322, COSName.getPDFName("Ograve"));
086: addCharacterEncoding(0330, COSName.getPDFName("Oslash"));
087: addCharacterEncoding(0325, COSName.getPDFName("Otilde"));
088: addCharacterEncoding(0120, COSName.getPDFName("P"));
089: addCharacterEncoding(0121, COSName.getPDFName("Q"));
090: addCharacterEncoding(0122, COSName.getPDFName("R"));
091: addCharacterEncoding(0123, COSName.getPDFName("S"));
092: addCharacterEncoding(0227, COSName.getPDFName("Scaron"));
093: addCharacterEncoding(0124, COSName.getPDFName("T"));
094: addCharacterEncoding(0336, COSName.getPDFName("Thorn"));
095: addCharacterEncoding(0125, COSName.getPDFName("U"));
096: addCharacterEncoding(0332, COSName.getPDFName("Uacute"));
097: addCharacterEncoding(0333, COSName.getPDFName("Ucircumflex"));
098: addCharacterEncoding(0334, COSName.getPDFName("Udieresis"));
099: addCharacterEncoding(0331, COSName.getPDFName("Ugrave"));
100: addCharacterEncoding(0126, COSName.getPDFName("V"));
101: addCharacterEncoding(0127, COSName.getPDFName("W"));
102: addCharacterEncoding(0130, COSName.getPDFName("X"));
103: addCharacterEncoding(0131, COSName.getPDFName("Y"));
104: addCharacterEncoding(0335, COSName.getPDFName("Yacute"));
105: addCharacterEncoding(0230, COSName.getPDFName("Ydieresis"));
106: addCharacterEncoding(0132, COSName.getPDFName("Z"));
107: addCharacterEncoding(0231, COSName.getPDFName("Zcaron"));
108: addCharacterEncoding(0141, COSName.getPDFName("a"));
109: addCharacterEncoding(0341, COSName.getPDFName("aacute"));
110: addCharacterEncoding(0342, COSName.getPDFName("acircumflex"));
111: addCharacterEncoding(0264, COSName.getPDFName("acute"));
112: addCharacterEncoding(0344, COSName.getPDFName("adieresis"));
113: addCharacterEncoding(0346, COSName.getPDFName("ae"));
114: addCharacterEncoding(0340, COSName.getPDFName("agrave"));
115: addCharacterEncoding(046, COSName.getPDFName("ampersand"));
116: addCharacterEncoding(0345, COSName.getPDFName("aring"));
117: addCharacterEncoding(0136, COSName.getPDFName("asciicircum"));
118: addCharacterEncoding(0176, COSName.getPDFName("asciitilde"));
119: addCharacterEncoding(052, COSName.getPDFName("asterisk"));
120: addCharacterEncoding(0100, COSName.getPDFName("at"));
121: addCharacterEncoding(0343, COSName.getPDFName("atilde"));
122: addCharacterEncoding(0142, COSName.getPDFName("b"));
123: addCharacterEncoding(0134, COSName.getPDFName("backslash"));
124: addCharacterEncoding(0174, COSName.getPDFName("bar"));
125: addCharacterEncoding(0173, COSName.getPDFName("braceleft"));
126: addCharacterEncoding(0175, COSName.getPDFName("braceright"));
127: addCharacterEncoding(0133, COSName.getPDFName("bracketleft"));
128: addCharacterEncoding(0135, COSName.getPDFName("bracketright"));
129: addCharacterEncoding(030, COSName.getPDFName("breve"));
130: addCharacterEncoding(0246, COSName.getPDFName("brokenbar"));
131: addCharacterEncoding(0200, COSName.getPDFName("bullet"));
132: addCharacterEncoding(0143, COSName.getPDFName("c"));
133: addCharacterEncoding(031, COSName.getPDFName("caron"));
134: addCharacterEncoding(0347, COSName.getPDFName("ccedilla"));
135: addCharacterEncoding(0270, COSName.getPDFName("cedilla"));
136: addCharacterEncoding(0242, COSName.getPDFName("cent"));
137: addCharacterEncoding(032, COSName.getPDFName("circumflex"));
138: addCharacterEncoding(072, COSName.getPDFName("colon"));
139: addCharacterEncoding(054, COSName.getPDFName("comma"));
140: addCharacterEncoding(0251, COSName.getPDFName("copyright"));
141: addCharacterEncoding(0244, COSName.getPDFName("currency1"));
142: addCharacterEncoding(0144, COSName.getPDFName("d"));
143: addCharacterEncoding(0201, COSName.getPDFName("dagger"));
144: addCharacterEncoding(0202, COSName.getPDFName("daggerdbl"));
145: addCharacterEncoding(0260, COSName.getPDFName("degree"));
146: addCharacterEncoding(0250, COSName.getPDFName("dieresis"));
147: addCharacterEncoding(0367, COSName.getPDFName("divide"));
148: addCharacterEncoding(044, COSName.getPDFName("dollar"));
149: addCharacterEncoding(033, COSName.getPDFName("dotaccent"));
150: addCharacterEncoding(0232, COSName.getPDFName("dotlessi"));
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(0203, COSName.getPDFName("ellipsis"));
158: addCharacterEncoding(0204, COSName.getPDFName("emdash"));
159: addCharacterEncoding(0205, 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(0223, COSName.getPDFName("fi"));
166: addCharacterEncoding(065, COSName.getPDFName("five"));
167: addCharacterEncoding(0224, COSName.getPDFName("fl"));
168: addCharacterEncoding(0206, COSName.getPDFName("florin"));
169: addCharacterEncoding(064, COSName.getPDFName("four"));
170: addCharacterEncoding(0207, COSName.getPDFName("fraction"));
171: addCharacterEncoding(0147, COSName.getPDFName("g"));
172: addCharacterEncoding(0337, COSName.getPDFName("germandbls"));
173: addCharacterEncoding(0140, COSName.getPDFName("grave"));
174: addCharacterEncoding(076, COSName.getPDFName("greater"));
175: addCharacterEncoding(0253, COSName.getPDFName("guillemotleft"));
176: addCharacterEncoding(0273, COSName.getPDFName("guillemotright"));
177: addCharacterEncoding(0210, COSName.getPDFName("guilsinglleft"));
178: addCharacterEncoding(0211, COSName.getPDFName("guilsinglright"));
179: addCharacterEncoding(0150, COSName.getPDFName("h"));
180: addCharacterEncoding(034, COSName.getPDFName("hungarumlaut"));
181: addCharacterEncoding(055, COSName.getPDFName("hyphen"));
182: addCharacterEncoding(0151, COSName.getPDFName("i"));
183: addCharacterEncoding(0355, COSName.getPDFName("iacute"));
184: addCharacterEncoding(0356, COSName.getPDFName("icircumflex"));
185: addCharacterEncoding(0357, COSName.getPDFName("idieresis"));
186: addCharacterEncoding(0354, COSName.getPDFName("igrave"));
187: addCharacterEncoding(0152, COSName.getPDFName("j"));
188: addCharacterEncoding(0153, COSName.getPDFName("k"));
189: addCharacterEncoding(0154, COSName.getPDFName("l"));
190: addCharacterEncoding(074, COSName.getPDFName("less"));
191: addCharacterEncoding(0254, COSName.getPDFName("logicalnot"));
192: addCharacterEncoding(0233, COSName.getPDFName("lslash"));
193: addCharacterEncoding(0155, COSName.getPDFName("m"));
194: addCharacterEncoding(0257, COSName.getPDFName("macron"));
195: addCharacterEncoding(0212, COSName.getPDFName("minus"));
196: addCharacterEncoding(0265, COSName.getPDFName("mu"));
197: addCharacterEncoding(0327, COSName.getPDFName("multiply"));
198: addCharacterEncoding(0156, COSName.getPDFName("n"));
199: addCharacterEncoding(071, COSName.getPDFName("nine"));
200: addCharacterEncoding(0361, COSName.getPDFName("ntilde"));
201: addCharacterEncoding(043, COSName.getPDFName("numbersign"));
202: addCharacterEncoding(0157, COSName.getPDFName("o"));
203: addCharacterEncoding(0363, COSName.getPDFName("oacute"));
204: addCharacterEncoding(0364, COSName.getPDFName("ocircumflex"));
205: addCharacterEncoding(0366, COSName.getPDFName("odieresis"));
206: addCharacterEncoding(0234, COSName.getPDFName("oe"));
207: addCharacterEncoding(035, COSName.getPDFName("ogonek"));
208: addCharacterEncoding(0362, COSName.getPDFName("ograve"));
209: addCharacterEncoding(061, COSName.getPDFName("one"));
210: addCharacterEncoding(0275, COSName.getPDFName("onehalf"));
211: addCharacterEncoding(0274, COSName.getPDFName("onequarter"));
212: addCharacterEncoding(0271, COSName.getPDFName("onesuperior"));
213: addCharacterEncoding(0252, COSName.getPDFName("ordfeminine"));
214: addCharacterEncoding(0272, COSName.getPDFName("ordmasculine"));
215: addCharacterEncoding(0370, COSName.getPDFName("oslash"));
216: addCharacterEncoding(0365, COSName.getPDFName("otilde"));
217: addCharacterEncoding(0160, COSName.getPDFName("p"));
218: addCharacterEncoding(0266, COSName.getPDFName("paragraph"));
219: addCharacterEncoding(050, COSName.getPDFName("parenleft"));
220: addCharacterEncoding(051, COSName.getPDFName("parenright"));
221: addCharacterEncoding(045, COSName.getPDFName("percent"));
222: addCharacterEncoding(056, COSName.getPDFName("period"));
223: addCharacterEncoding(0267, COSName.getPDFName("periodcentered"));
224: addCharacterEncoding(0213, COSName.getPDFName("perthousand"));
225: addCharacterEncoding(053, COSName.getPDFName("plus"));
226: addCharacterEncoding(0261, COSName.getPDFName("plusminus"));
227: addCharacterEncoding(0161, COSName.getPDFName("q"));
228: addCharacterEncoding(077, COSName.getPDFName("question"));
229: addCharacterEncoding(0277, COSName.getPDFName("questiondown"));
230: addCharacterEncoding(042, COSName.getPDFName("quotedbl"));
231: addCharacterEncoding(0214, COSName.getPDFName("quotedblbase"));
232: addCharacterEncoding(0215, COSName.getPDFName("quotedblleft"));
233: addCharacterEncoding(0216, COSName.getPDFName("quotedblright"));
234: addCharacterEncoding(0217, COSName.getPDFName("quoteleft"));
235: addCharacterEncoding(0220, COSName.getPDFName("quoteright"));
236: addCharacterEncoding(0221, COSName.getPDFName("quotesinglbase"));
237: addCharacterEncoding(047, COSName.getPDFName("quotesingle"));
238: addCharacterEncoding(0162, COSName.getPDFName("r"));
239: addCharacterEncoding(0256, COSName.getPDFName("registered"));
240: addCharacterEncoding(036, COSName.getPDFName("ring"));
241: addCharacterEncoding(0163, COSName.getPDFName("s"));
242: addCharacterEncoding(0235, COSName.getPDFName("scaron"));
243: addCharacterEncoding(0247, COSName.getPDFName("section"));
244: addCharacterEncoding(073, COSName.getPDFName("semicolon"));
245: addCharacterEncoding(067, COSName.getPDFName("seven"));
246: addCharacterEncoding(066, COSName.getPDFName("six"));
247: addCharacterEncoding(057, COSName.getPDFName("slash"));
248: addCharacterEncoding(040, COSName.getPDFName("space"));
249: addCharacterEncoding(0243, COSName.getPDFName("sterling"));
250: addCharacterEncoding(0164, COSName.getPDFName("t"));
251: addCharacterEncoding(0376, COSName.getPDFName("thorn"));
252: addCharacterEncoding(063, COSName.getPDFName("three"));
253: addCharacterEncoding(0276, COSName.getPDFName("threequarters"));
254: addCharacterEncoding(0263, COSName.getPDFName("threesuperior"));
255: addCharacterEncoding(037, COSName.getPDFName("tilde"));
256: addCharacterEncoding(0222, COSName.getPDFName("trademark"));
257: addCharacterEncoding(062, COSName.getPDFName("two"));
258: addCharacterEncoding(0262, COSName.getPDFName("twosuperior"));
259: addCharacterEncoding(0165, COSName.getPDFName("u"));
260: addCharacterEncoding(0372, COSName.getPDFName("uacute"));
261: addCharacterEncoding(0373, COSName.getPDFName("ucircumflex"));
262: addCharacterEncoding(0374, COSName.getPDFName("udieresis"));
263: addCharacterEncoding(0371, COSName.getPDFName("ugrave"));
264: addCharacterEncoding(0137, COSName.getPDFName("underscore"));
265: addCharacterEncoding(0166, COSName.getPDFName("v"));
266: addCharacterEncoding(0167, COSName.getPDFName("w"));
267: addCharacterEncoding(0170, COSName.getPDFName("x"));
268: addCharacterEncoding(0171, COSName.getPDFName("y"));
269: addCharacterEncoding(0375, COSName.getPDFName("yacute"));
270: addCharacterEncoding(0377, COSName.getPDFName("ydieresis"));
271: addCharacterEncoding(0245, COSName.getPDFName("yen"));
272: addCharacterEncoding(0172, COSName.getPDFName("z"));
273: addCharacterEncoding(0236, COSName.getPDFName("zcaron"));
274: addCharacterEncoding(060, COSName.getPDFName("zero"));
275: }
276:
277: /**
278: * Convert this standard java object to a COS object.
279: *
280: * @return The cos object that matches this Java object.
281: */
282: public COSBase getCOSObject() {
283: return COSName.PDF_DOC_ENCODING;
284: }
285: }
|