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

    • EmptyCMapToUnicodeMap

      public static CMapToUnicode EmptyCMapToUnicodeMap
    • byteMappings

      private final Map<Integer,char[]> byteMappings
    • codeSpaceRanges

      private final List<byte[]> codeSpaceRanges
  • Constructor Details

    • CMapToUnicode

      private CMapToUnicode(boolean emptyCMap)
    • CMapToUnicode

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

    • getIdentity

      public static CMapToUnicode getIdentity()
    • 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)
    • lookup

      public char[] lookup(int code)
    • getCodes

      public Set<Integer> getCodes()
    • createDirectMapping

      public IntHashtable createDirectMapping()
    • createReverseMapping

      public Map<Integer,Integer> createReverseMapping()
    • getCodeSpaceRanges

      public List<byte[]> 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
    • addCodeSpaceRange

      void addCodeSpaceRange(byte[] low, byte[] high)
      Overrides:
      addCodeSpaceRange in class AbstractCMap
    • convertToInt

      private int convertToInt(char[] s)
    • addChar

      void addChar(int cid, char[] uni)
    • addChar

      void addChar(String mark, CMapObject code)
      Specified by:
      addChar in class AbstractCMap
    • createCharsFromSingleBytes

      private char[] createCharsFromSingleBytes(byte[] bytes)
    • createCharsFromDoubleBytes

      private char[] createCharsFromDoubleBytes(byte[] bytes)