Class CMap

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

public class CMap extends Object
This class represents a CMap file.
Author:
Ben Litchfield (ben@benlitchfield.com)
  • Constructor Details

    • CMap

      public CMap()
      Creates a new instance of CMap.
  • Method Details

    • 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.
    • hasCIDMappings

      public boolean hasCIDMappings()
      This will tell if this cmap has any CID mappings.
      Returns:
      true If there are any CID 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.
    • lookup

      public String lookup(int code, int length)
      This will perform a lookup into the map.
      Parameters:
      code - The code used to lookup.
      length - The length of the data we are getting.
      Returns:
      The string that matches the lookup.
    • lookupCID

      public String lookupCID(int cid)
      This will perform a lookup into the CID map.
      Parameters:
      cid - The CID used to lookup.
      Returns:
      The string that matches the lookup.
    • lookupCID

      public int lookupCID(byte[] code, int offset, int length)
      This will perform a lookup into the CID map.
      Parameters:
      code - The code used to lookup.
      offset - the offset into the array.
      length - the length of the subarray.
      Returns:
      The CID 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.
    • addCIDMapping

      public void addCIDMapping(int src, String dest) throws IOException
      This will add a CID mapping.
      Parameters:
      src - The CID to the mapping.
      dest - The dest to the mapping.
      Throws:
      IOException - if the src is invalid.
    • addCIDRange

      public void addCIDRange(char from, char to, int cid)
      This will add a CID Range.
      Parameters:
      from - starting charactor of the CID range.
      to - ending character of the CID range.
      cid - the cid to be started with.
    • 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.
    • getWMode

      public int getWMode()
      Returns the WMode of a CMap. 0 represents a horizontal and 1 represents a vertical orientation.
      Returns:
      the wmode
    • setWMode

      public void setWMode(int newWMode)
      Sets the WMode of a CMap.
      Parameters:
      newWMode - the new WMode.
    • getName

      public String getName()
      Returns the name of the CMap.
      Returns:
      the CMap name.
    • setName

      public void setName(String name)
      Sets the name of the CMap.
      Parameters:
      name - the CMap name.
    • getVersion

      public String getVersion()
      Returns the version of the CMap.
      Returns:
      the CMap version.
    • setVersion

      public void setVersion(String version)
      Sets the version of the CMap.
      Parameters:
      version - the CMap version.
    • getType

      public int getType()
      Returns the type of the CMap.
      Returns:
      the CMap type.
    • setType

      public void setType(int type)
      Sets the type of the CMap.
      Parameters:
      type - the CMap type.
    • getRegistry

      public String getRegistry()
      Returns the registry of the CIDSystemInfo.
      Returns:
      the registry.
    • setRegistry

      public void setRegistry(String newRegistry)
      Sets the registry of the CIDSystemInfo.
      Parameters:
      newRegistry - the registry.
    • getOrdering

      public String getOrdering()
      Returns the ordering of the CIDSystemInfo.
      Returns:
      the ordering.
    • setOrdering

      public void setOrdering(String newOrdering)
      Sets the ordering of the CIDSystemInfo.
      Parameters:
      newOrdering - the ordering.
    • getSupplement

      public int getSupplement()
      Returns the supplement of the CIDSystemInfo.
      Returns:
      the supplement.
    • setSupplement

      public void setSupplement(int newSupplement)
      Sets the supplement of the CIDSystemInfo.
      Parameters:
      newSupplement - the supplement.
    • getSpaceMapping

      public int getSpaceMapping()
      Returns the mapping for the space character.
      Returns:
      the mapped code for the space character