Class CMap

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

public class CMap extends Object
This class represents a CMap file.
Author:
Ben Litchfield
  • Method Details

    • hasCIDMappings

      public boolean hasCIDMappings()
      This will tell if this cmap has any CID mappings.
      Returns:
      true If there are any CID mappings, false otherwise.
    • hasUnicodeMappings

      public boolean hasUnicodeMappings()
      This will tell if this cmap has any Unicode mappings.
      Returns:
      true If there are any Unicode mappings, false otherwise.
    • toUnicode

      public String toUnicode(int code)
      Returns the sequence of Unicode characters for the given character code.
      Parameters:
      code - character code
      Returns:
      Unicode characters (may be more than one, e.g "fi" ligature)
    • readCode

      public int readCode(InputStream in) throws IOException
      Reads a character code from a string in the content stream.

      See "CMap Mapping" and "Handling Undefined Characters" in PDF32000 for more details.

      Parameters:
      in - string stream
      Returns:
      character code
      Throws:
      IOException - if there was an error reading the stream or CMap
    • toCID

      public int toCID(int code)
      Returns the CID for the given character code.
      Parameters:
      code - character code
      Returns:
      CID
    • getCodesFromUnicode

      public byte[] getCodesFromUnicode(String unicode)
      Get the code bytes for an unicode string.
      Parameters:
      unicode - The unicode string.
      Returns:
      the code bytes or null if there is none.
    • 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
    • toString

      public String toString()
      Overrides:
      toString in class Object