jPod PDF library

de.intarsys.pdf.font
Class StreamBasedCMap

java.lang.Object
  extended by de.intarsys.pdf.cos.COSBasedObject
      extended by de.intarsys.pdf.font.CMap
          extended by de.intarsys.pdf.font.StreamBasedCMap
All Implemented Interfaces:
ICOSObjectListener, de.intarsys.tools.attribute.IAttributeSupport
Direct Known Subclasses:
InternalCMap, NamedCMap

public abstract class StreamBasedCMap
extends CMap

A stream based mapping from character codes to CID's.

The data in the stream defines the mapping from character codes to a font number and a character selector. The data must follow the syntax defined in Adobe Technical Note #5014, Adobe CMap and CIDFont Files Specification.


Nested Class Summary
static class StreamBasedCMap.MetaClass
          The meta class implementation
 
Field Summary
static COSName DK_CIDSystemInfo
           
static COSName DK_CMapName
           
static COSName DK_UseCMap
           
static COSName DK_WMode
           
static StreamBasedCMap.MetaClass META
          The meta class instance
 
Method Summary
 char[] getChars(int codepoint)
          Get the char[] for the codepoint or null if not available.
 int getDecoded(int codepoint)
          Get the character for the codepoint or -1 if not available.
 COSObject getDefinition(COSName key)
           
 int getEncoded(int character)
          Get the codepoint for the the character or -1 if invalid.
 int getNextDecoded(InputStream is)
          Get the next decoded character from the input stream.
 int getNextEncoded(InputStream is)
          The next codepoint from the input stream.
 void putNextDecoded(OutputStream os, int character)
          Put the next character onto the input stream after encoding.
 void putNextEncoded(OutputStream os, int codepoint)
          Put the next codepoint onto the input stream.
 
Methods inherited from class de.intarsys.pdf.font.CMap
toInt, toInt
 
Methods inherited from class de.intarsys.pdf.cos.COSBasedObject
changed, cosGetArray, cosGetDict, cosGetDoc, cosGetField, cosGetObject, cosGetStream, cosHasField, cosRemoveField, cosSetField, getAttribute, getFieldBoolean, getFieldDate, getFieldFixed, getFieldFixedArray, getFieldInt, getFieldMLString, getFieldString, invalidateCaches, removeAttribute, setAttribute, setFieldBoolean, setFieldFixed, setFieldInt, setFieldMLString, setFieldName, setFieldObject, setFieldString, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DK_CIDSystemInfo

public static final COSName DK_CIDSystemInfo

DK_CMapName

public static final COSName DK_CMapName

DK_UseCMap

public static final COSName DK_UseCMap

DK_WMode

public static final COSName DK_WMode

META

public static final StreamBasedCMap.MetaClass META
The meta class instance

Method Detail

getChars

public char[] getChars(int codepoint)
Description copied from class: CMap
Get the char[] for the codepoint or null if not available. This is used in /ToUnicode mappings where a codepoint may map to a string (as for example in ligatures).

Specified by:
getChars in class CMap
Parameters:
codepoint - The codepoint
Returns:
The corresponding char[] for the codepoint.

getDecoded

public int getDecoded(int codepoint)
Description copied from class: CMap
Get the character for the codepoint or -1 if not available.

Specified by:
getDecoded in class CMap
Parameters:
codepoint - The codepoint
Returns:
Get the character for the codepoint or -1 if not available.

getDefinition

public COSObject getDefinition(COSName key)

getEncoded

public int getEncoded(int character)
Description copied from class: CMap
Get the codepoint for the the character or -1 if invalid.

Specified by:
getEncoded in class CMap
Parameters:
character - The character to look up.
Returns:
Get the codepoint for the the character or -1 if invalid.

getNextDecoded

public int getNextDecoded(InputStream is)
                   throws IOException
Description copied from class: CMap
Get the next decoded character from the input stream. This method reads as much bytes as needed by the encoding and returns the decoded character.

Specified by:
getNextDecoded in class CMap
Parameters:
is - The input stream with encoded data.
Returns:
The next decoded character from the input stream.
Throws:
IOException

getNextEncoded

public int getNextEncoded(InputStream is)
                   throws IOException
Description copied from class: CMap
The next codepoint from the input stream. This method reads as much bytes as needed by the encoding and returns the complete multibyte codepoint.

Specified by:
getNextEncoded in class CMap
Parameters:
is - The input stream with encoded data.
Returns:
The next codepoint from the input stream.
Throws:
IOException

putNextDecoded

public void putNextDecoded(OutputStream os,
                           int character)
                    throws IOException
Description copied from class: CMap
Put the next character onto the input stream after encoding. This method writes as much bytes as needed by the encoding.

Specified by:
putNextDecoded in class CMap
Parameters:
os - The stream to write the bytes.
character - The character to be encoded.
Throws:
IOException

putNextEncoded

public void putNextEncoded(OutputStream os,
                           int codepoint)
                    throws IOException
Description copied from class: CMap
Put the next codepoint onto the input stream. This method writes as much bytes as needed by the encoding.

Specified by:
putNextEncoded in class CMap
Parameters:
os - The stream to write the bytes.
codepoint - The codepoint.
Throws:
IOException

jPod PDF library

Copyright © 2008 intarsys consulting GmbH. All Rights Reserved.