Class Encoding

java.lang.Object
org.apache.pdfbox.encoding.Encoding
All Implemented Interfaces:
COSObjectable
Direct Known Subclasses:
AFMEncoding, DictionaryEncoding, MacRomanEncoding, PdfDocEncoding, StandardEncoding, Type1Encoding, WinAnsiEncoding

public abstract class Encoding extends Object implements COSObjectable
This is an interface to a text encoder.
Version:
$Revision: 1.15 $
Author:
Ben Litchfield
  • Field Details

    • NOTDEF

      public static final String NOTDEF
      Identifies a non-mapped character.
      See Also:
    • codeToName

      protected final Map<Integer,String> codeToName
      This is a mapping from a character code to a character name.
    • nameToCode

      protected final Map<String,Integer> nameToCode
      This is a mapping from a character name to a character code.
  • Constructor Details

    • Encoding

      public Encoding()
  • Method Details

    • getCodeToNameMap

      public Map<Integer,String> getCodeToNameMap()
      Returns an unmodifiable view of the Code2Name mapping.
      Returns:
      the Code2Name map
    • getNameToCodeMap

      public Map<String,Integer> getNameToCodeMap()
      Returns an unmodifiable view of the Name2Code mapping.
      Returns:
      the Name2Code map
    • addCharacterEncoding

      public void addCharacterEncoding(int code, String name)
      This will add a character encoding.
      Parameters:
      code - The character code that matches the character.
      name - The name of the character.
    • hasCodeForName

      public boolean hasCodeForName(String name)
      Determines if the encoding has a mapping for the given name value.
      Parameters:
      name - the source value for the mapping
      Returns:
      the mapped value
    • hasNameForCode

      public boolean hasNameForCode(int code)
      Determines if the encoding has a mapping for the given code value.
      Parameters:
      code - the source value for the mapping
      Returns:
      the mapped value
    • getCode

      public int getCode(String name) throws IOException
      This will get the character code for the name.
      Parameters:
      name - The name of the character.
      Returns:
      The code for the character.
      Throws:
      IOException - If there is no character code for the name.
    • getName

      public String getName(int code) throws IOException
      This will take a character code and get the name from the code.
      Parameters:
      code - The character code.
      Returns:
      The name of the character.
      Throws:
      IOException - If there is no name for the code.
    • getCharacterForName

      public static String getCharacterForName(String name)
      This will take a name and get the character code for that name.
      Parameters:
      name - The name.
      Returns:
      The name of the character.
    • getNameFromCharacter

      public String getNameFromCharacter(char c) throws IOException
      This will take a character code and get the name from the code.
      Parameters:
      c - The character.
      Returns:
      The name of the character.
      Throws:
      IOException - If there is no name for the character.
    • getCharacter

      public String getCharacter(int code) throws IOException
      This will get the character from the code.
      Parameters:
      code - The character code.
      Returns:
      The printable character for the code.
      Throws:
      IOException - If there is not name for the character.
    • getCharacter

      public String getCharacter(String name)
      This will get the character from the name.
      Parameters:
      name - The name of the character.
      Returns:
      The printable character for the code.