001: /**
002: * Copyright (c) 2003-2004, 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 StandardEncoding extends Encoding {
042: /**
043: * Constructor.
044: */
045: public StandardEncoding() {
046: addCharacterEncoding(0101, COSName.getPDFName("A"));
047: addCharacterEncoding(0341, COSName.getPDFName("AE"));
048: addCharacterEncoding(0102, COSName.getPDFName("B"));
049: addCharacterEncoding(0103, COSName.getPDFName("C"));
050: addCharacterEncoding(0104, COSName.getPDFName("D"));
051: addCharacterEncoding(0105, COSName.getPDFName("E"));
052: addCharacterEncoding(0106, COSName.getPDFName("F"));
053: addCharacterEncoding(0107, COSName.getPDFName("G"));
054: addCharacterEncoding(0110, COSName.getPDFName("H"));
055: addCharacterEncoding(0111, COSName.getPDFName("I"));
056: addCharacterEncoding(0112, COSName.getPDFName("J"));
057: addCharacterEncoding(0113, COSName.getPDFName("K"));
058: addCharacterEncoding(0114, COSName.getPDFName("L"));
059: addCharacterEncoding(0350, COSName.getPDFName("Lslash"));
060: addCharacterEncoding(0115, COSName.getPDFName("M"));
061: addCharacterEncoding(0116, COSName.getPDFName("N"));
062: addCharacterEncoding(0117, COSName.getPDFName("O"));
063: addCharacterEncoding(0352, COSName.getPDFName("OE"));
064: addCharacterEncoding(0351, COSName.getPDFName("Oslash"));
065: addCharacterEncoding(0120, COSName.getPDFName("P"));
066: addCharacterEncoding(0121, COSName.getPDFName("Q"));
067: addCharacterEncoding(0122, COSName.getPDFName("R"));
068: addCharacterEncoding(0123, COSName.getPDFName("S"));
069: addCharacterEncoding(0124, COSName.getPDFName("T"));
070: addCharacterEncoding(0125, COSName.getPDFName("U"));
071: addCharacterEncoding(0126, COSName.getPDFName("V"));
072: addCharacterEncoding(0127, COSName.getPDFName("W"));
073: addCharacterEncoding(0130, COSName.getPDFName("X"));
074: addCharacterEncoding(0131, COSName.getPDFName("Y"));
075: addCharacterEncoding(0132, COSName.getPDFName("Z"));
076: addCharacterEncoding(0141, COSName.getPDFName("a"));
077: addCharacterEncoding(0302, COSName.getPDFName("acute"));
078: addCharacterEncoding(0361, COSName.getPDFName("ae"));
079: addCharacterEncoding(0046, COSName.getPDFName("ampersand"));
080: addCharacterEncoding(0136, COSName.getPDFName("asciicircum"));
081: addCharacterEncoding(0176, COSName.getPDFName("asciitilde"));
082: addCharacterEncoding(0052, COSName.getPDFName("asterisk"));
083: addCharacterEncoding(0100, COSName.getPDFName("at"));
084: addCharacterEncoding(0142, COSName.getPDFName("b"));
085: addCharacterEncoding(0134, COSName.getPDFName("backslash"));
086: addCharacterEncoding(0174, COSName.getPDFName("bar"));
087: addCharacterEncoding(0173, COSName.getPDFName("braceleft"));
088: addCharacterEncoding(0175, COSName.getPDFName("braceright"));
089: addCharacterEncoding(0133, COSName.getPDFName("bracketleft"));
090: addCharacterEncoding(0135, COSName.getPDFName("bracketright"));
091: addCharacterEncoding(0306, COSName.getPDFName("breve"));
092: addCharacterEncoding(0267, COSName.getPDFName("bullet"));
093: addCharacterEncoding(0143, COSName.getPDFName("c"));
094: addCharacterEncoding(0317, COSName.getPDFName("caron"));
095: addCharacterEncoding(0313, COSName.getPDFName("cedilla"));
096: addCharacterEncoding(0242, COSName.getPDFName("cent"));
097: addCharacterEncoding(0303, COSName.getPDFName("circumflex"));
098: addCharacterEncoding(0072, COSName.getPDFName("colon"));
099: addCharacterEncoding(0054, COSName.getPDFName("comma"));
100: addCharacterEncoding(0250, COSName.getPDFName("currency1"));
101: addCharacterEncoding(0144, COSName.getPDFName("d"));
102: addCharacterEncoding(0262, COSName.getPDFName("dagger"));
103: addCharacterEncoding(0263, COSName.getPDFName("daggerdbl"));
104: addCharacterEncoding(0310, COSName.getPDFName("dieresis"));
105: addCharacterEncoding(0044, COSName.getPDFName("dollar"));
106: addCharacterEncoding(0307, COSName.getPDFName("dotaccent"));
107: addCharacterEncoding(0365, COSName.getPDFName("dotlessi"));
108: addCharacterEncoding(0145, COSName.getPDFName("e"));
109: addCharacterEncoding(0070, COSName.getPDFName("eight"));
110: addCharacterEncoding(0274, COSName.getPDFName("ellipsis"));
111: addCharacterEncoding(0320, COSName.getPDFName("emdash"));
112: addCharacterEncoding(0261, COSName.getPDFName("endash"));
113: addCharacterEncoding(0075, COSName.getPDFName("equal"));
114: addCharacterEncoding(0041, COSName.getPDFName("exclam"));
115: addCharacterEncoding(0241, COSName.getPDFName("exclamdown"));
116: addCharacterEncoding(0146, COSName.getPDFName("f"));
117: addCharacterEncoding(0256, COSName.getPDFName("fi"));
118: addCharacterEncoding(0065, COSName.getPDFName("five"));
119: addCharacterEncoding(0257, COSName.getPDFName("fl"));
120: addCharacterEncoding(0246, COSName.getPDFName("florin"));
121: addCharacterEncoding(0064, COSName.getPDFName("four"));
122: addCharacterEncoding(0244, COSName.getPDFName("fraction"));
123: addCharacterEncoding(0147, COSName.getPDFName("g"));
124: addCharacterEncoding(0373, COSName.getPDFName("germandbls"));
125: addCharacterEncoding(0301, COSName.getPDFName("grave"));
126: addCharacterEncoding(0076, COSName.getPDFName("greater"));
127: addCharacterEncoding(0253, COSName.getPDFName("guillemotleft"));
128: addCharacterEncoding(0273, COSName.getPDFName("guillemotright"));
129: addCharacterEncoding(0254, COSName.getPDFName("guilsinglleft"));
130: addCharacterEncoding(0255, COSName.getPDFName("guilsinglright"));
131: addCharacterEncoding(0150, COSName.getPDFName("h"));
132: addCharacterEncoding(0315, COSName.getPDFName("hungarumlaut"));
133: addCharacterEncoding(0055, COSName.getPDFName("hyphen"));
134: addCharacterEncoding(0151, COSName.getPDFName("i"));
135: addCharacterEncoding(0152, COSName.getPDFName("j"));
136: addCharacterEncoding(0153, COSName.getPDFName("k"));
137: addCharacterEncoding(0154, COSName.getPDFName("l"));
138: addCharacterEncoding(0074, COSName.getPDFName("less"));
139: addCharacterEncoding(0370, COSName.getPDFName("lslash"));
140: addCharacterEncoding(0155, COSName.getPDFName("m"));
141: addCharacterEncoding(0305, COSName.getPDFName("macron"));
142: addCharacterEncoding(0156, COSName.getPDFName("n"));
143: addCharacterEncoding(0071, COSName.getPDFName("nine"));
144: addCharacterEncoding(0043, COSName.getPDFName("numbersign"));
145: addCharacterEncoding(0157, COSName.getPDFName("o"));
146: addCharacterEncoding(0372, COSName.getPDFName("oe"));
147: addCharacterEncoding(0316, COSName.getPDFName("ogonek"));
148: addCharacterEncoding(0061, COSName.getPDFName("one"));
149: addCharacterEncoding(0343, COSName.getPDFName("ordfeminine"));
150: addCharacterEncoding(0353, COSName.getPDFName("ordmasculine"));
151: addCharacterEncoding(0371, COSName.getPDFName("oslash"));
152: addCharacterEncoding(0160, COSName.getPDFName("p"));
153: addCharacterEncoding(0266, COSName.getPDFName("paragraph"));
154: addCharacterEncoding(0050, COSName.getPDFName("parenleft"));
155: addCharacterEncoding(0051, COSName.getPDFName("parenright"));
156: addCharacterEncoding(0045, COSName.getPDFName("percent"));
157: addCharacterEncoding(0056, COSName.getPDFName("period"));
158: addCharacterEncoding(0264, COSName.getPDFName("periodcentered"));
159: addCharacterEncoding(0275, COSName.getPDFName("perthousand"));
160: addCharacterEncoding(0053, COSName.getPDFName("plus"));
161: addCharacterEncoding(0161, COSName.getPDFName("q"));
162: addCharacterEncoding(0077, COSName.getPDFName("question"));
163: addCharacterEncoding(0277, COSName.getPDFName("questiondown"));
164: addCharacterEncoding(0042, COSName.getPDFName("quotedbl"));
165: addCharacterEncoding(0271, COSName.getPDFName("quotedblbase"));
166: addCharacterEncoding(0252, COSName.getPDFName("quotedblleft"));
167: addCharacterEncoding(0272, COSName.getPDFName("quotedblright"));
168: addCharacterEncoding(0140, COSName.getPDFName("quoteleft"));
169: addCharacterEncoding(0047, COSName.getPDFName("quoteright"));
170: addCharacterEncoding(0270, COSName.getPDFName("quotesinglbase"));
171: addCharacterEncoding(0251, COSName.getPDFName("quotesingle"));
172: addCharacterEncoding(0162, COSName.getPDFName("r"));
173: addCharacterEncoding(0312, COSName.getPDFName("ring"));
174: addCharacterEncoding(0163, COSName.getPDFName("s"));
175: addCharacterEncoding(0247, COSName.getPDFName("section"));
176: addCharacterEncoding(0073, COSName.getPDFName("semicolon"));
177: addCharacterEncoding(0067, COSName.getPDFName("seven"));
178: addCharacterEncoding(0066, COSName.getPDFName("six"));
179: addCharacterEncoding(0057, COSName.getPDFName("slash"));
180: addCharacterEncoding(0040, COSName.getPDFName("space"));
181: addCharacterEncoding(0243, COSName.getPDFName("sterling"));
182: addCharacterEncoding(0164, COSName.getPDFName("t"));
183: addCharacterEncoding(0063, COSName.getPDFName("three"));
184: addCharacterEncoding(0304, COSName.getPDFName("tilde"));
185: addCharacterEncoding(0062, COSName.getPDFName("two"));
186: addCharacterEncoding(0165, COSName.getPDFName("u"));
187: addCharacterEncoding(0137, COSName.getPDFName("underscore"));
188: addCharacterEncoding(0166, COSName.getPDFName("v"));
189: addCharacterEncoding(0167, COSName.getPDFName("w"));
190: addCharacterEncoding(0170, COSName.getPDFName("x"));
191: addCharacterEncoding(0171, COSName.getPDFName("y"));
192: addCharacterEncoding(0245, COSName.getPDFName("yen"));
193: addCharacterEncoding(0172, COSName.getPDFName("z"));
194: addCharacterEncoding(0060, COSName.getPDFName("zero"));
195: }
196:
197: /**
198: * Convert this standard java object to a COS object.
199: *
200: * @return The cos object that matches this Java object.
201: */
202: public COSBase getCOSObject() {
203: return COSName.STANDARD_ENCODING;
204: }
205: }
|