Package org.apache.fontbox.cmap
Class CMap
- java.lang.Object
-
- org.apache.fontbox.cmap.CMap
-
public class CMap extends java.lang.ObjectThis class represents a CMap file.- Author:
- Ben Litchfield (ben@benlitchfield.com)
-
-
Constructor Summary
Constructors Constructor Description CMap()Creates a new instance of CMap.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddCIDMapping(int src, java.lang.String dest)This will add a CID mapping.voidaddCIDRange(char from, char to, int cid)This will add a CID Range.voidaddCodespaceRange(CodespaceRange range)This will add a codespace range.voidaddMapping(byte[] src, java.lang.String dest)This will add a mapping.java.util.List<CodespaceRange>getCodeSpaceRanges()Getter for property codeSpaceRanges.java.lang.StringgetName()Returns the name of the CMap.java.lang.StringgetOrdering()Returns the ordering of the CIDSystemInfo.java.lang.StringgetRegistry()Returns the registry of the CIDSystemInfo.intgetSpaceMapping()Returns the mapping for the space character.intgetSupplement()Returns the supplement of the CIDSystemInfo.intgetType()Returns the type of the CMap.java.lang.StringgetVersion()Returns the version of the CMap.intgetWMode()Returns the WMode of a CMap.booleanhasCIDMappings()This will tell if this cmap has any CID mappings.booleanhasOneByteMappings()This will tell if this cmap has any one byte mappings.booleanhasTwoByteMappings()This will tell if this cmap has any two byte mappings.booleanisInCodeSpaceRanges(byte[] code)Check whether the given byte array is in codespace ranges or not.booleanisInCodeSpaceRanges(byte[] code, int offset, int length)Check whether the given byte array is in codespace ranges or not.java.lang.Stringlookup(byte[] code, int offset, int length)This will perform a lookup into the map.java.lang.Stringlookup(int code, int length)This will perform a lookup into the map.intlookupCID(byte[] code, int offset, int length)This will perform a lookup into the CID map.java.lang.StringlookupCID(int cid)This will perform a lookup into the CID map.voidsetName(java.lang.String name)Sets the name of the CMap.voidsetOrdering(java.lang.String newOrdering)Sets the ordering of the CIDSystemInfo.voidsetRegistry(java.lang.String newRegistry)Sets the registry of the CIDSystemInfo.voidsetSupplement(int newSupplement)Sets the supplement of the CIDSystemInfo.voidsetType(int type)Sets the type of the CMap.voidsetVersion(java.lang.String version)Sets the version of the CMap.voidsetWMode(int newWMode)Sets the WMode of a CMap.voiduseCmap(CMap cmap)Implementation of the usecmap operator.
-
-
-
Method Detail
-
hasOneByteMappings
public boolean hasOneByteMappings()
This will tell if this cmap has any one byte mappings.- Returns:
- true If there are any one byte mappings, false otherwise.
-
hasTwoByteMappings
public boolean hasTwoByteMappings()
This will tell if this cmap has any two byte mappings.- Returns:
- true If there are any two byte mappings, false otherwise.
-
hasCIDMappings
public boolean hasCIDMappings()
This will tell if this cmap has any CID mappings.- Returns:
- true If there are any CID mappings, false otherwise.
-
lookup
public java.lang.String 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 java.lang.String lookup(int code, int length)This will perform a lookup into the map.- Parameters:
code- The code used to lookup.length- The length of the data we are getting.- Returns:
- The string that matches the lookup.
-
lookupCID
public java.lang.String lookupCID(int cid)
This will perform a lookup into the CID map.- Parameters:
cid- The CID used to lookup.- Returns:
- The string that matches the lookup.
-
lookupCID
public int lookupCID(byte[] code, int offset, int length)This will perform a lookup into the CID map.- Parameters:
code- The code used to lookup.offset- the offset into the array.length- the length of the subarray.- Returns:
- The CID that matches the lookup.
-
addMapping
public void addMapping(byte[] src, java.lang.String dest) throws java.io.IOExceptionThis will add a mapping.- Parameters:
src- The src to the mapping.dest- The dest to the mapping.- Throws:
java.io.IOException- if the src is invalid.
-
addCIDMapping
public void addCIDMapping(int src, java.lang.String dest) throws java.io.IOExceptionThis will add a CID mapping.- Parameters:
src- The CID to the mapping.dest- The dest to the mapping.- Throws:
java.io.IOException- if the src is invalid.
-
addCIDRange
public void addCIDRange(char from, char to, int cid)This will add a CID Range.- Parameters:
from- starting charactor of the CID range.to- ending character of the CID range.cid- the cid to be started with.
-
addCodespaceRange
public void addCodespaceRange(CodespaceRange range)
This will add a codespace range.- Parameters:
range- A single codespace range.
-
getCodeSpaceRanges
public java.util.List<CodespaceRange> getCodeSpaceRanges()
Getter for property codeSpaceRanges.- Returns:
- Value of property codeSpaceRanges.
-
useCmap
public void useCmap(CMap cmap)
Implementation of the usecmap operator. This will copy all of the mappings from one cmap to another.- Parameters:
cmap- The cmap to load mappings from.
-
isInCodeSpaceRanges
public boolean isInCodeSpaceRanges(byte[] code)
Check whether the given byte array is in codespace ranges or not.- Parameters:
code- The byte array to look for in the codespace range.- Returns:
- true if the given byte array is in the codespace range.
-
isInCodeSpaceRanges
public boolean isInCodeSpaceRanges(byte[] code, int offset, int length)Check whether the given byte array is in codespace ranges or not.- Parameters:
code- The byte array to look for in the codespace range.offset- The starting offset within the byte array.length- The length of the part of the array.- Returns:
- true if the given byte array is in the codespace range.
-
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
-
-