Class CMapToUnicode

java.lang.Object
com.itextpdf.io.font.cmap.AbstractCMap
com.itextpdf.io.font.cmap.CMapToUnicode

public class CMapToUnicode extends AbstractCMap
This class represents a CMap file.
  • Field Details

  • Constructor Details

    • CMapToUnicode

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

    • getIdentity

      public static CMapToUnicode getIdentity()
      Creates a two-byte identity ToUnicode CMap.
      Returns:
      a new map that maps character codes from 0 through 65536 to themselves
    • createToUnicodeCmap

      public static CMapToUnicode createToUnicodeCmap (FontEncoding fontEncoding)
      Creates a ToUnicode CMap from the given font encoding.
      Parameters:
      fontEncoding - the font encoding
      Returns:
      the ToUnicode CMap
    • hasByteMappings

      public boolean hasByteMappings()
      This will tell if this cmap has any two byte mappings.
      Returns:
      true If there are any two byte mappings, false otherwise
    • lookup

      public char[] 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 char[] lookup (byte[] code)
      Looks up a one- or two-byte character code.
      Parameters:
      code - the complete character-code byte sequence
      Returns:
      the retained Unicode character array, or null when no mapping exists
    • lookup

      public char[] lookup (int code)
      Looks up an integer character code.
      Parameters:
      code - the one- or two-byte character code represented as an integer
      Returns:
      the retained Unicode character array, or null when no mapping exists
    • getCodes

      public Set<Integer> getCodes()
      Returns the mapped character codes.
      Returns:
      a live view of this map's character-code keys
    • createDirectMapping

      public com.itextpdf.io.util.IntHashtable createDirectMapping()
      Creates a mapping for single-character Unicode entries.
      Returns:
      a new map from character code to Unicode scalar value
    • createReverseMapping

      public Map<Integer,Integer> createReverseMapping()
      Creates a reverse mapping for single-character Unicode entries.
      Returns:
      a new map from Unicode scalar value to character code
    • getCodeSpaceRanges

      public List getCodeSpaceRanges()
      Returns a list containing sequential pairs of code space beginning and endings: (begincodespacerange1, endcodespacerange1, begincodespacerange2, endcodespacerange1, ...)
      Returns:
      list of byte[] that contain code space ranges