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 MacRomanEncoding extends Encoding {
042: /**
043: * Constructor.
044: */
045: public MacRomanEncoding() {
046: addCharacterEncoding(0101, COSName.getPDFName("A"));
047: addCharacterEncoding(0256, COSName.getPDFName("AE"));
048: addCharacterEncoding(0347, COSName.getPDFName("Aacute"));
049: addCharacterEncoding(0345, COSName.getPDFName("Acircumflex"));
050: addCharacterEncoding(0200, COSName.getPDFName("Adieresis"));
051: addCharacterEncoding(0313, COSName.getPDFName("Agrave"));
052: addCharacterEncoding(0201, COSName.getPDFName("Aring"));
053: addCharacterEncoding(0314, COSName.getPDFName("Atilde"));
054: addCharacterEncoding(0102, COSName.getPDFName("B"));
055: addCharacterEncoding(0103, COSName.getPDFName("C"));
056: addCharacterEncoding(0202, COSName.getPDFName("Ccedilla"));
057: addCharacterEncoding(0104, COSName.getPDFName("D"));
058: addCharacterEncoding(0105, COSName.getPDFName("E"));
059: addCharacterEncoding(0203, COSName.getPDFName("Eacute"));
060: addCharacterEncoding(0346, COSName.getPDFName("Ecircumflex"));
061: addCharacterEncoding(0350, COSName.getPDFName("Edieresis"));
062: addCharacterEncoding(0351, COSName.getPDFName("Egrave"));
063: addCharacterEncoding(0106, COSName.getPDFName("F"));
064: addCharacterEncoding(0107, COSName.getPDFName("G"));
065: addCharacterEncoding(0110, COSName.getPDFName("H"));
066: addCharacterEncoding(0111, COSName.getPDFName("I"));
067: addCharacterEncoding(0352, COSName.getPDFName("Iacute"));
068: addCharacterEncoding(0353, COSName.getPDFName("Icircumflex"));
069: addCharacterEncoding(0354, COSName.getPDFName("Idieresis"));
070: addCharacterEncoding(0355, COSName.getPDFName("Igrave"));
071: addCharacterEncoding(0112, COSName.getPDFName("J"));
072: addCharacterEncoding(0113, COSName.getPDFName("K"));
073: addCharacterEncoding(0114, COSName.getPDFName("L"));
074: addCharacterEncoding(0115, COSName.getPDFName("M"));
075: addCharacterEncoding(0116, COSName.getPDFName("N"));
076: addCharacterEncoding(0204, COSName.getPDFName("Ntilde"));
077: addCharacterEncoding(0117, COSName.getPDFName("O"));
078: addCharacterEncoding(0316, COSName.getPDFName("OE"));
079: addCharacterEncoding(0356, COSName.getPDFName("Oacute"));
080: addCharacterEncoding(0357, COSName.getPDFName("Ocircumflex"));
081: addCharacterEncoding(0205, COSName.getPDFName("Odieresis"));
082: addCharacterEncoding(0361, COSName.getPDFName("Ograve"));
083: addCharacterEncoding(0257, COSName.getPDFName("Oslash"));
084: addCharacterEncoding(0315, COSName.getPDFName("Otilde"));
085: addCharacterEncoding(0120, COSName.getPDFName("P"));
086: addCharacterEncoding(0121, COSName.getPDFName("Q"));
087: addCharacterEncoding(0122, COSName.getPDFName("R"));
088: addCharacterEncoding(0123, COSName.getPDFName("S"));
089: addCharacterEncoding(0124, COSName.getPDFName("T"));
090: addCharacterEncoding(0125, COSName.getPDFName("U"));
091: addCharacterEncoding(0362, COSName.getPDFName("Uacute"));
092: addCharacterEncoding(0363, COSName.getPDFName("Ucircumflex"));
093: addCharacterEncoding(0206, COSName.getPDFName("Udieresis"));
094: addCharacterEncoding(0364, COSName.getPDFName("Ugrave"));
095: addCharacterEncoding(0126, COSName.getPDFName("V"));
096: addCharacterEncoding(0127, COSName.getPDFName("W"));
097: addCharacterEncoding(0130, COSName.getPDFName("X"));
098: addCharacterEncoding(0131, COSName.getPDFName("Y"));
099: addCharacterEncoding(0331, COSName.getPDFName("Ydieresis"));
100: addCharacterEncoding(0132, COSName.getPDFName("Z"));
101: addCharacterEncoding(0141, COSName.getPDFName("a"));
102: addCharacterEncoding(0207, COSName.getPDFName("aacute"));
103: addCharacterEncoding(0211, COSName.getPDFName("acircumflex"));
104: addCharacterEncoding(0253, COSName.getPDFName("acute"));
105: addCharacterEncoding(0212, COSName.getPDFName("adieresis"));
106: addCharacterEncoding(0276, COSName.getPDFName("ae"));
107: addCharacterEncoding(0210, COSName.getPDFName("agrave"));
108: addCharacterEncoding(046, COSName.getPDFName("ampersand"));
109: addCharacterEncoding(0214, COSName.getPDFName("aring"));
110: addCharacterEncoding(0136, COSName.getPDFName("asciicircum"));
111: addCharacterEncoding(0176, COSName.getPDFName("asciitilde"));
112: addCharacterEncoding(052, COSName.getPDFName("asterisk"));
113: addCharacterEncoding(0100, COSName.getPDFName("at"));
114: addCharacterEncoding(0213, COSName.getPDFName("atilde"));
115: addCharacterEncoding(0142, COSName.getPDFName("b"));
116: addCharacterEncoding(0134, COSName.getPDFName("backslash"));
117: addCharacterEncoding(0174, COSName.getPDFName("bar"));
118: addCharacterEncoding(0173, COSName.getPDFName("braceleft"));
119: addCharacterEncoding(0175, COSName.getPDFName("braceright"));
120: addCharacterEncoding(0133, COSName.getPDFName("bracketleft"));
121: addCharacterEncoding(0135, COSName.getPDFName("bracketright"));
122: addCharacterEncoding(0371, COSName.getPDFName("breve"));
123: addCharacterEncoding(0245, COSName.getPDFName("bullet"));
124: addCharacterEncoding(0143, COSName.getPDFName("c"));
125: addCharacterEncoding(0377, COSName.getPDFName("caron"));
126: addCharacterEncoding(0215, COSName.getPDFName("ccedilla"));
127: addCharacterEncoding(0374, COSName.getPDFName("cedilla"));
128: addCharacterEncoding(0242, COSName.getPDFName("cent"));
129: addCharacterEncoding(0366, COSName.getPDFName("circumflex"));
130: addCharacterEncoding(072, COSName.getPDFName("colon"));
131: addCharacterEncoding(054, COSName.getPDFName("comma"));
132: addCharacterEncoding(0251, COSName.getPDFName("copyright"));
133: addCharacterEncoding(0333, COSName.getPDFName("currency1"));
134: addCharacterEncoding(0144, COSName.getPDFName("d"));
135: addCharacterEncoding(0240, COSName.getPDFName("dagger"));
136: addCharacterEncoding(0340, COSName.getPDFName("daggerdbl"));
137: addCharacterEncoding(0241, COSName.getPDFName("degree"));
138: addCharacterEncoding(0254, COSName.getPDFName("dieresis"));
139: addCharacterEncoding(0326, COSName.getPDFName("divide"));
140: addCharacterEncoding(044, COSName.getPDFName("dollar"));
141: addCharacterEncoding(0372, COSName.getPDFName("dotaccent"));
142: addCharacterEncoding(0365, COSName.getPDFName("dotlessi"));
143: addCharacterEncoding(0145, COSName.getPDFName("e"));
144: addCharacterEncoding(0216, COSName.getPDFName("eacute"));
145: addCharacterEncoding(0220, COSName.getPDFName("ecircumflex"));
146: addCharacterEncoding(0221, COSName.getPDFName("edieresis"));
147: addCharacterEncoding(0217, COSName.getPDFName("egrave"));
148: addCharacterEncoding(070, COSName.getPDFName("eight"));
149: addCharacterEncoding(0311, COSName.getPDFName("ellipsis"));
150: addCharacterEncoding(0321, COSName.getPDFName("emdash"));
151: addCharacterEncoding(0320, COSName.getPDFName("endash"));
152: addCharacterEncoding(075, COSName.getPDFName("equal"));
153: addCharacterEncoding(041, COSName.getPDFName("exclam"));
154: addCharacterEncoding(0301, COSName.getPDFName("exclamdown"));
155: addCharacterEncoding(0146, COSName.getPDFName("f"));
156: addCharacterEncoding(0336, COSName.getPDFName("fi"));
157: addCharacterEncoding(065, COSName.getPDFName("five"));
158: addCharacterEncoding(0337, COSName.getPDFName("fl"));
159: addCharacterEncoding(0304, COSName.getPDFName("florin"));
160: addCharacterEncoding(064, COSName.getPDFName("four"));
161: addCharacterEncoding(0332, COSName.getPDFName("fraction"));
162: addCharacterEncoding(0147, COSName.getPDFName("g"));
163: addCharacterEncoding(0247, COSName.getPDFName("germandbls"));
164: addCharacterEncoding(0140, COSName.getPDFName("grave"));
165: addCharacterEncoding(076, COSName.getPDFName("greater"));
166: addCharacterEncoding(0307, COSName.getPDFName("guillemotleft"));
167: addCharacterEncoding(0310, COSName.getPDFName("guillemotright"));
168: addCharacterEncoding(0334, COSName.getPDFName("guilsinglleft"));
169: addCharacterEncoding(0335, COSName.getPDFName("guilsinglright"));
170: addCharacterEncoding(0150, COSName.getPDFName("h"));
171: addCharacterEncoding(0375, COSName.getPDFName("hungarumlaut"));
172: addCharacterEncoding(055, COSName.getPDFName("hyphen"));
173: addCharacterEncoding(0151, COSName.getPDFName("i"));
174: addCharacterEncoding(0222, COSName.getPDFName("iacute"));
175: addCharacterEncoding(0224, COSName.getPDFName("icircumflex"));
176: addCharacterEncoding(0225, COSName.getPDFName("idieresis"));
177: addCharacterEncoding(0223, COSName.getPDFName("igrave"));
178: addCharacterEncoding(0152, COSName.getPDFName("j"));
179: addCharacterEncoding(0153, COSName.getPDFName("k"));
180: addCharacterEncoding(0154, COSName.getPDFName("l"));
181: addCharacterEncoding(074, COSName.getPDFName("less"));
182: addCharacterEncoding(0302, COSName.getPDFName("logicalnot"));
183: addCharacterEncoding(0155, COSName.getPDFName("m"));
184: addCharacterEncoding(0370, COSName.getPDFName("macron"));
185: addCharacterEncoding(0265, COSName.getPDFName("mu"));
186: addCharacterEncoding(0156, COSName.getPDFName("n"));
187: addCharacterEncoding(071, COSName.getPDFName("nine"));
188: addCharacterEncoding(0226, COSName.getPDFName("ntilde"));
189: addCharacterEncoding(043, COSName.getPDFName("numbersign"));
190: addCharacterEncoding(0157, COSName.getPDFName("o"));
191: addCharacterEncoding(0227, COSName.getPDFName("oacute"));
192: addCharacterEncoding(0231, COSName.getPDFName("ocircumflex"));
193: addCharacterEncoding(0232, COSName.getPDFName("odieresis"));
194: addCharacterEncoding(0317, COSName.getPDFName("oe"));
195: addCharacterEncoding(0376, COSName.getPDFName("ogonek"));
196: addCharacterEncoding(0230, COSName.getPDFName("ograve"));
197: addCharacterEncoding(061, COSName.getPDFName("one"));
198: addCharacterEncoding(0273, COSName.getPDFName("ordfeminine"));
199: addCharacterEncoding(0274, COSName.getPDFName("ordmasculine"));
200: addCharacterEncoding(0277, COSName.getPDFName("oslash"));
201: addCharacterEncoding(0233, COSName.getPDFName("otilde"));
202: addCharacterEncoding(0160, COSName.getPDFName("p"));
203: addCharacterEncoding(0246, COSName.getPDFName("paragraph"));
204: addCharacterEncoding(050, COSName.getPDFName("parenleft"));
205: addCharacterEncoding(051, COSName.getPDFName("parenright"));
206: addCharacterEncoding(045, COSName.getPDFName("percent"));
207: addCharacterEncoding(056, COSName.getPDFName("period"));
208: addCharacterEncoding(0341, COSName.getPDFName("periodcentered"));
209: addCharacterEncoding(0344, COSName.getPDFName("perthousand"));
210: addCharacterEncoding(053, COSName.getPDFName("plus"));
211: addCharacterEncoding(0261, COSName.getPDFName("plusminus"));
212: addCharacterEncoding(0161, COSName.getPDFName("q"));
213: addCharacterEncoding(077, COSName.getPDFName("question"));
214: addCharacterEncoding(0300, COSName.getPDFName("questiondown"));
215: addCharacterEncoding(042, COSName.getPDFName("quotedbl"));
216: addCharacterEncoding(0343, COSName.getPDFName("quotedblbase"));
217: addCharacterEncoding(0322, COSName.getPDFName("quotedblleft"));
218: addCharacterEncoding(0323, COSName.getPDFName("quotedblright"));
219: addCharacterEncoding(0324, COSName.getPDFName("quoteleft"));
220: addCharacterEncoding(0325, COSName.getPDFName("quoteright"));
221: addCharacterEncoding(0342, COSName.getPDFName("quotesinglbase"));
222: addCharacterEncoding(047, COSName.getPDFName("quotesingle"));
223: addCharacterEncoding(0162, COSName.getPDFName("r"));
224: addCharacterEncoding(0250, COSName.getPDFName("registered"));
225: addCharacterEncoding(0373, COSName.getPDFName("ring"));
226: addCharacterEncoding(0163, COSName.getPDFName("s"));
227: addCharacterEncoding(0244, COSName.getPDFName("section"));
228: addCharacterEncoding(073, COSName.getPDFName("semicolon"));
229: addCharacterEncoding(067, COSName.getPDFName("seven"));
230: addCharacterEncoding(066, COSName.getPDFName("six"));
231: addCharacterEncoding(057, COSName.getPDFName("slash"));
232: addCharacterEncoding(040, COSName.getPDFName("space"));
233: addCharacterEncoding(0243, COSName.getPDFName("sterling"));
234: addCharacterEncoding(0164, COSName.getPDFName("t"));
235: addCharacterEncoding(063, COSName.getPDFName("three"));
236: addCharacterEncoding(0367, COSName.getPDFName("tilde"));
237: addCharacterEncoding(0252, COSName.getPDFName("trademark"));
238: addCharacterEncoding(062, COSName.getPDFName("two"));
239: addCharacterEncoding(0165, COSName.getPDFName("u"));
240: addCharacterEncoding(0234, COSName.getPDFName("uacute"));
241: addCharacterEncoding(0236, COSName.getPDFName("ucircumflex"));
242: addCharacterEncoding(0237, COSName.getPDFName("udieresis"));
243: addCharacterEncoding(0235, COSName.getPDFName("ugrave"));
244: addCharacterEncoding(0137, COSName.getPDFName("underscore"));
245: addCharacterEncoding(0166, COSName.getPDFName("v"));
246: addCharacterEncoding(0167, COSName.getPDFName("w"));
247: addCharacterEncoding(0170, COSName.getPDFName("x"));
248: addCharacterEncoding(0171, COSName.getPDFName("y"));
249: addCharacterEncoding(0330, COSName.getPDFName("ydieresis"));
250: addCharacterEncoding(0264, COSName.getPDFName("yen"));
251: addCharacterEncoding(0172, COSName.getPDFName("z"));
252: addCharacterEncoding(060, COSName.getPDFName("zero"));
253: }
254:
255: /**
256: * Convert this standard java object to a COS object.
257: *
258: * @return The cos object that matches this Java object.
259: */
260: public COSBase getCOSObject() {
261: return COSName.MAC_ROMAN_ENCODING;
262: }
263: }
|