org.apache.fontbox.cmap
Class CMap

java.lang.Object
  extended by org.apache.fontbox.cmap.CMap

public class CMap
extends Object

This class represents a CMap file.

Version:
$Revision: 1.3 $
Author:
Ben Litchfield (ben@benlitchfield.com)

Constructor Summary
CMap()
          Creates a new instance of CMap.
 
Method Summary
 void addCodespaceRange(CodespaceRange range)
          This will add a codespace range.
 void addMapping(byte[] src, String dest)
          This will add a mapping.
 List<CodespaceRange> getCodeSpaceRanges()
          Getter for property codeSpaceRanges.
 boolean hasOneByteMappings()
          This will tell if this cmap has any one byte mappings.
 boolean hasTwoByteMappings()
          This will tell if this cmap has any two byte mappings.
 boolean isInCodeSpaceRanges(byte[] code)
          Check whether the given byte array is in codespace ranges or not.
 boolean isInCodeSpaceRanges(byte[] code, int offset, int length)
          Check whether the given byte array is in codespace ranges or not.
 String lookup(byte[] code, int offset, int length)
          This will perform a lookup into the map.
 void useCmap(CMap cmap)
          Implementation of the usecmap operator.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CMap

public CMap()
Creates a new instance of CMap.

Method Detail

hasOneByteMappings

public boolean hasOneByteMappings()
This will tell if this cmap has any one byte mappings.

Returns:
true If there are any one byte mappings, false otherwise.

hasTwoByteMappings

public boolean hasTwoByteMappings()
This will tell if this cmap has any two byte mappings.

Returns:
true If there are any two byte mappings, false otherwise.

lookup

public String lookup(byte[] code,
                     int offset,
                     int length)
This will perform a lookup into the map.

Parameters:
code - The code used to lookup.
offset - The offset into the byte array.
length - The length of the data we are getting.
Returns:
The string that matches the lookup.

addMapping

public void addMapping(byte[] src,
                       String dest)
                throws IOException
This will add a mapping.

Parameters:
src - The src to the mapping.
dest - The dest to the mapping.
Throws:
IOException - if the src is invalid.

addCodespaceRange

public void addCodespaceRange(CodespaceRange range)
This will add a codespace range.

Parameters:
range - A single codespace range.

getCodeSpaceRanges

public List<CodespaceRange> getCodeSpaceRanges()
Getter for property codeSpaceRanges.

Returns:
Value of property codeSpaceRanges.

useCmap

public void useCmap(CMap cmap)
Implementation of the usecmap operator. This will copy all of the mappings from one cmap to another.

Parameters:
cmap - The cmap to load mappings from.

isInCodeSpaceRanges

public boolean isInCodeSpaceRanges(byte[] code)
Check whether the given byte array is in codespace ranges or not.

Parameters:
code - The byte array to look for in the codespace range.
Returns:
true if the given byte array is in the codespace range.

isInCodeSpaceRanges

public boolean isInCodeSpaceRanges(byte[] code,
                                   int offset,
                                   int length)
Check whether the given byte array is in codespace ranges or not.

Parameters:
code - The byte array to look for in the codespace range.
offset - The starting offset within the byte array.
length - The length of the part of the array.
Returns:
true if the given byte array is in the codespace range.


Copyright © 2008-2011 Apache Software Foundation. All Rights Reserved.