Package org.apache.fontbox.cmap
Class CMap
- java.lang.Object
-
- org.apache.fontbox.cmap.CMap
-
public class CMap extends java.lang.Object
This class represents a CMap file.- Author:
- Ben Litchfield
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description byte[]
getCodesFromUnicode(java.lang.String unicode)
Get the code bytes for an unicode string.java.lang.String
getName()
Returns the name of the CMap.java.lang.String
getOrdering()
Returns the ordering of the CIDSystemInfo.java.lang.String
getRegistry()
Returns the registry of the CIDSystemInfo.int
getSpaceMapping()
Returns the mapping for the space character.int
getSupplement()
Returns the supplement of the CIDSystemInfo.int
getType()
Returns the type of the CMap.java.lang.String
getVersion()
Returns the version of the CMap.int
getWMode()
Returns the WMode of a CMap.boolean
hasCIDMappings()
This will tell if this cmap has any CID mappings.boolean
hasUnicodeMappings()
This will tell if this cmap has any Unicode mappings.int
readCode(java.io.InputStream in)
Reads a character code from a string in the content stream.void
setName(java.lang.String name)
Sets the name of the CMap.void
setOrdering(java.lang.String newOrdering)
Sets the ordering of the CIDSystemInfo.void
setRegistry(java.lang.String newRegistry)
Sets the registry of the CIDSystemInfo.void
setSupplement(int newSupplement)
Sets the supplement of the CIDSystemInfo.void
setType(int type)
Sets the type of the CMap.void
setVersion(java.lang.String version)
Sets the version of the CMap.void
setWMode(int newWMode)
Sets the WMode of a CMap.int
toCID(int code)
Returns the CID for the given character code.java.lang.String
toString()
java.lang.String
toUnicode(int code)
Returns the sequence of Unicode characters for the given character code.
-
-
-
Method Detail
-
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 java.lang.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(java.io.InputStream in) throws java.io.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:
java.io.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(java.lang.String unicode)
Get the code bytes for an unicode string.- Parameters:
unicode
-- 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 java.lang.String getName()
Returns the name of the CMap.- Returns:
- the CMap name.
-
setName
public void setName(java.lang.String name)
Sets the name of the CMap.- Parameters:
name
- the CMap name.
-
getVersion
public java.lang.String getVersion()
Returns the version of the CMap.- Returns:
- the CMap version.
-
setVersion
public void setVersion(java.lang.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 java.lang.String getRegistry()
Returns the registry of the CIDSystemInfo.- Returns:
- the registry.
-
setRegistry
public void setRegistry(java.lang.String newRegistry)
Sets the registry of the CIDSystemInfo.- Parameters:
newRegistry
- the registry.
-
getOrdering
public java.lang.String getOrdering()
Returns the ordering of the CIDSystemInfo.- Returns:
- the ordering.
-
setOrdering
public void setOrdering(java.lang.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 java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-