001: /*
002: * Copyright (c) 2007, intarsys consulting GmbH
003: *
004: * Redistribution and use in source and binary forms, with or without
005: * modification, are permitted provided that the following conditions are met:
006: *
007: * - Redistributions of source code must retain the above copyright notice,
008: * this list of conditions and the following disclaimer.
009: *
010: * - 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: *
014: * - Neither the name of intarsys nor the names of its contributors may be used
015: * to endorse or promote products derived from this software without specific
016: * prior written permission.
017: *
018: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
019: * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
020: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
021: * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
022: * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
023: * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
024: * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
025: * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
026: * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
027: * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
028: * POSSIBILITY OF SUCH DAMAGE.
029: */
030: package de.intarsys.pdf.encoding;
031:
032: import de.intarsys.pdf.cos.COSObject;
033:
034: /**
035: * An encoding that is defined externally in the font program itself.
036: *
037: * <p>
038: * There is no further information about how the mapping will be done and we
039: * will rely on some heuristics...
040: * </p>
041: */
042: public class FontSpecificEncoding extends Encoding {
043: public static FontSpecificEncoding UNIQUE = new FontSpecificEncoding();
044:
045: public FontSpecificEncoding() {
046: super ();
047: }
048:
049: /*
050: * (non-Javadoc)
051: *
052: * @see de.intarsys.pdf.encoding.Encoding#getByteCode(java.lang.String)
053: */
054: public int getByteCode(String name) {
055: return -1;
056: }
057:
058: /*
059: * (non-Javadoc)
060: *
061: * @see de.intarsys.pdf.encoding.Encoding#getByteCode(int)
062: */
063: public int getByteCode(int unicode) {
064: return -1;
065: }
066:
067: /*
068: * (non-Javadoc)
069: *
070: * @see de.intarsys.pdf.encoding.Encoding#getCosObject()
071: */
072: public COSObject getCosObject() {
073: return null;
074: }
075:
076: /*
077: * (non-Javadoc)
078: *
079: * @see de.intarsys.pdf.encoding.Encoding#isFontSpecificEncoding()
080: */
081: public boolean isFontSpecificEncoding() {
082: return true;
083: }
084:
085: /*
086: * (non-Javadoc)
087: *
088: * @see de.intarsys.pdf.encoding.Encoding#getGlyphName(int)
089: */
090: public String getGlyphName(int codePoint) {
091: return GlyphNameMap.GLYPH_NOTDEF;
092: }
093:
094: /*
095: * (non-Javadoc)
096: *
097: * @see de.intarsys.pdf.encoding.Encoding#getName()
098: */
099: public String getName() {
100: return "font specific";
101: }
102:
103: /*
104: * (non-Javadoc)
105: *
106: * @see de.intarsys.pdf.encoding.Encoding#getUnicode(int)
107: */
108: public int getUnicode(int byteCode) {
109: return -1;
110: }
111:
112: /*
113: * (non-Javadoc)
114: *
115: * @see de.intarsys.pdf.encoding.Encoding#getValidByteCode(java.lang.String)
116: */
117: public int getValidByteCode(String name) {
118: return (int) ' ';
119: }
120:
121: /*
122: * (non-Javadoc)
123: *
124: * @see de.intarsys.pdf.encoding.Encoding#getValidByteCode(int)
125: */
126: public int getValidByteCode(int unicode) {
127: return (int) ' ';
128: }
129: }
|