java.lang.Object
org.loboevolution.pdfview.font.ttf.CMap
Direct Known Subclasses:
CMapFormat0, CMapFormat4, CMapFormat6

public abstract class CMap extends Object

Abstract CMap class.

Author jkaplan

  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    CMap(short format, short language)
    Creates a new instance of CMap Don't use this directly, use CMap.createMap()
  • Method Summary

    Modifier and Type
    Method
    Description
    static CMap
    createMap(short format, short language)
    Create a map for the given format and language
    abstract ByteBuffer
    Get the data in this map as a byte buffer
    abstract short
    Get the length of this map
    static CMap
    Get a map from the given data
    abstract byte
    map(byte src)
    Map an 8 bit value to another 8 bit value
    abstract char
    map(char src)
    Map a 16 bit value to another 16 but value
    abstract char
    reverseMap(short glyphID)
    Get the src code which maps to the given glyphID
    abstract void
    setData(int length, ByteBuffer data)
    Set the data for this map

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • CMap

      protected CMap(short format, short language)
      Creates a new instance of CMap Don't use this directly, use CMap.createMap()
      Parameters:
      format - a short.
      language - a short.
  • Method Details

    • createMap

      public static CMap createMap(short format, short language)
      Create a map for the given format and language

      The Macintosh standard character to glyph mapping is supported by format 0.

      Format 2 supports a mixed 8/16 bit mapping useful for Japanese, Chinese and Korean.

      Format 4 is used for 16 bit mappings.

      Format 6 is used for dense 16 bit mappings.

      Formats 8, 10, and 12 (properly 8.0, 10.0, and 12.0) are used for mixed 16/32-bit and pure 32-bit mappings.
      This supports text encoded with surrogates in Unicode 2.0 and later.

      Reference:
      ...

      Parameters:
      format - a short.
      language - a short.
      Returns:
      a CMap object.
    • getMap

      public static CMap getMap(ByteBuffer data)
      Get a map from the given data

      This method reads the format, data and length variables of the map.

      Parameters:
      data - a ByteBuffer object.
      Returns:
      a CMap object.
    • setData

      public abstract void setData(int length, ByteBuffer data)
      Set the data for this map
      Parameters:
      length - a Integer object.
      data - a ByteBuffer object.
    • getData

      public abstract ByteBuffer getData()
      Get the data in this map as a byte buffer
      Returns:
      a ByteBuffer object.
    • getLength

      public abstract short getLength()
      Get the length of this map
      Returns:
      a short.
    • map

      public abstract byte map(byte src)
      Map an 8 bit value to another 8 bit value
      Parameters:
      src - a byte.
      Returns:
      a byte.
    • map

      public abstract char map(char src)
      Map a 16 bit value to another 16 but value
      Parameters:
      src - a char.
      Returns:
      a char.
    • reverseMap

      public abstract char reverseMap(short glyphID)
      Get the src code which maps to the given glyphID
      Parameters:
      glyphID - a short.
      Returns:
      a char.
    • toString

      public String toString()

      Print a pretty string

      Overrides:
      toString in class Object