Package org.apache.fop.pdf
Class PDFCMap
- java.lang.Object
-
- org.apache.fop.pdf.PDFObject
-
- org.apache.fop.pdf.AbstractPDFStream
-
- org.apache.fop.pdf.PDFStream
-
- org.apache.fop.pdf.PDFCMap
-
- All Implemented Interfaces:
PDFWritable
- Direct Known Subclasses:
PDFToUnicodeCMap
public class PDFCMap extends PDFStream
Class representing the CMap encodings. CMaps are defined in the "Predefined CJK CMap names" table. In section 5.6.4 of PDF reference 1.4.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.Object
base
base CMap (String or PDFStream)static java.lang.String
ENC_83PV_RKSJ_H
83pv-RKSJ-H Mac OS, JIS X 0208 character set with KanjiTalk6 extensions, Shift-JIS encoding, Script Manager code 1static java.lang.String
ENC_90MS_RKSJ_H
90ms-RKSJ-H Microsoft Code Page 932 (lfCharSet 0x80), JIS X 0208 character set with NEC and IBM extensionsstatic java.lang.String
ENC_90MS_RKSJ_V
90ms-RKSJ-V Vertical version of 90ms-RKSJ-Hstatic java.lang.String
ENC_90MSP_RKSJ_H
90msp-RKSJ-H Same as 90ms-RKSJ-H, but replaces half-width Latin characters with proportional formsstatic java.lang.String
ENC_90MSP_RKSJ_V
90msp-RKSJ-V Vertical version of 90msp-RKSJ-Hstatic java.lang.String
ENC_90PV_RKSJ_H
90pv-RKSJ-H Mac OS, JIS X 0208 character set with KanjiTalk7 extensions, Shift-JIS encoding, Script Manager code 1static java.lang.String
ENC_ADD_RKSJ_H
Add-RKSJ-H JIS X 0208 character set with Fujitsu FMR extensions, Shift-JIS encodingstatic java.lang.String
ENC_ADD_RKSJ_V
Add-RKSJ-V Vertical version of Add-RKSJ-Hstatic java.lang.String
ENC_B5PC_H
B5pc-H Mac OS, Big Five character set, Big Five encoding, Script Manager code 2static java.lang.String
ENC_B5PC_V
B5pc-V Vertical version of B5pc-Hstatic java.lang.String
ENC_CNS_EUC_H
CNS-EUC-H CNS 11643-1992 character set, EUC-TW encodingstatic java.lang.String
ENC_CNS_EUC_V
CNS-EUC-V Vertical version of CNS-EUC-Hstatic java.lang.String
ENC_ETEN_B5_H
ETen-B5-H Microsoft Code Page 950 (lfCharSet 0x88), Big Five character set with ETen extensionsstatic java.lang.String
ENC_ETEN_B5_V
ETen-B5-V Vertical version of ETen-B5-Hstatic java.lang.String
ENC_ETENMS_B5_H
ETenms-B5-H Same as ETen-B5-H, but replaces half-width Latin characters with proportional formsstatic java.lang.String
ENC_ETENMS_B5_V
ETenms-B5-V Vertical version of ETenms-B5-Hstatic java.lang.String
ENC_EUC_H
EUC-H JIS X 0208 character set, EUC-JP encodingstatic java.lang.String
ENC_EUC_V
EUC-V Vertical version of EUC-Hstatic java.lang.String
ENC_EXT_RKSJ_H
Ext-RKSJ-H JIS C 6226 (JIS78) character set with NEC extensions, Shift-JIS encodingstatic java.lang.String
ENC_EXT_RKSJ_V
Ext-RKSJ-V Vertical version of Ext-RKSJ-Hstatic java.lang.String
ENC_GB_EUC_H
GB-EUC-H Microsoft Code Page 936 (lfCharSet 0x86), GB 2312-80 character set, EUC-CN encodingstatic java.lang.String
ENC_GB_EUC_V
GB-EUC-V Vertical version of GB-EUC-Hstatic java.lang.String
ENC_GBK_EUC_H
GBK-EUC-H Microsoft Code Page 936 (lfCharSet 0x86), GBK character set, GBK encodingstatic java.lang.String
ENC_GBK_EUC_V
GBK-EUC-V Vertical version of GBK-EUC-Hstatic java.lang.String
ENC_GBK2K_H
GBK2K-H GB 18030-2000 character set, mixed 1-, 2-, and 4-byte encodingstatic java.lang.String
ENC_GBK2K_V
GBK2K-V Vertical version of GBK2K-Hstatic java.lang.String
ENC_GBKP_EUC_H
GBKp-EUC-H Same as GBK-EUC-H, but replaces half-width Latin characters with proportional forms and maps character code 0x24 to a dollar sign ($) instead of a yuan symbolstatic java.lang.String
ENC_GBKP_EUC_V
GBKp-EUC-V Vertical version of GBKp-EUC-Hstatic java.lang.String
ENC_GBPC_EUC_H
GBpc-EUC-H Mac OS, GB 2312-80 character set, EUC-CN encoding, Script Manager code 19static java.lang.String
ENC_GBPC_EUC_V
GBpc-EUC-V Vertical version of GBpc-EUC-Hstatic java.lang.String
ENC_H
H JIS X 0208 character set, ISO-2022-JP encodingstatic java.lang.String
ENC_HKSCS_B5_H
HKscs-B5-H Hong Kong SCS, an extension to the Big Five character set and encodingstatic java.lang.String
ENC_HKSCS_B5_V
HKscs-B5-V Vertical version of HKscs-B5-Hstatic java.lang.String
ENC_IDENTITY_H
Identity-H The horizontal identity mapping for 2-byte CIDs; may be used with CIDFonts using any Registry, Ordering, and Supplement values.static java.lang.String
ENC_IDENTTITY_V
Identity-V Vertical version of Identity-H.static java.lang.String
ENC_KSC_EUC_H
KSC-EUC-H KS X 1001:1992 character set, EUC-KR encodingstatic java.lang.String
ENC_KSC_EUC_V
KSC-EUC-V Vertical version of KSC-EUC-Hstatic java.lang.String
ENC_KSCMS_UHC_H
KSCms-UHC-H Microsoft Code Page 949 (lfCharSet 0x81), KS X 1001:1992 character set plus 8822 additional hangul, Unified Hangul Code (UHC) encodingstatic java.lang.String
ENC_KSCMS_UHC_HW_H
KSCms-UHC-HW-H Same as KSCms-UHC-H, but replaces proportional Latin characters with half-width formsstatic java.lang.String
ENC_KSCMS_UHC_HW_V
KSCms-UHC-HW-V Vertical version of KSCms-UHC-HW-Hstatic java.lang.String
ENC_KSCMS_UHC_V
KSCms-UHC-V Vertical version of KSCms-UHC-Hstatic java.lang.String
ENC_KSCPC_EUC_H
KSCpc-EUC-H Mac OS, KS X 1001:1992 character set with Mac OS KH extensions, Script Manager Code 3static java.lang.String
ENC_UNICNS_UCS2_H
UniCNS-UCS2-H Unicode (UCS-2) encoding for the Adobe-CNS1 character collectionstatic java.lang.String
ENC_UNICNS_UCS2_V
UniCNS-UCS2-V Vertical version of UniCNS-UCS2-Hstatic java.lang.String
ENC_UNIGB_UCS2_H
UniGB-UCS2-H Unicode (UCS-2) encoding for the Adobe-GB1 character collectionstatic java.lang.String
ENC_UNIGB_UCS2_V
UniGB-UCS2-V Vertical version of UniGB-UCS2-Hstatic java.lang.String
ENC_UNIJIS_UCS2_H
UniJIS-UCS2-H Unicode (UCS-2) encoding for the Adobe-Japan1 character collectionstatic java.lang.String
ENC_UNIJIS_UCS2_HW_H
UniJIS-UCS2-HW-H Same as UniJIS-UCS2-H, but replaces proportional Latin characters with half-width formsstatic java.lang.String
ENC_UNIJIS_UCS2_HW_V
UniJIS-UCS2-HW-V Vertical version of UniJIS-UCS2-HW-Hstatic java.lang.String
ENC_UNIJIS_UCS2_V
UniJIS-UCS2-V Vertical version of UniJIS-UCS2-Hstatic java.lang.String
ENC_UNIKSC_UCS2_H
UniKS-UCS2-H Unicode (UCS-2) encoding for the Adobe-Korea1 character collectionstatic java.lang.String
ENC_UNIKSC_UCS2_V
UniKS-UCS2-V Vertical version of UniKS-UCS2-Hstatic java.lang.String
ENC_V
V Vertical version of Hprotected java.lang.String
name
/CMapName attribute, one of the predefined constantsprotected PDFCIDSystemInfo
sysInfo
/CIDSystemInfo attributeprotected byte
wMode
font's writing directionstatic byte
WMODE_HORIZONTAL
horizontal writing directionstatic byte
WMODE_VERTICAL
vertical writing direction
-
Constructor Summary
Constructors Constructor Description PDFCMap(java.lang.String name, PDFCIDSystemInfo sysInfo)
create the /CMap object
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected CMapBuilder
createCMapBuilder(java.io.Writer writer)
Creates the CMapBuilder that will build the CMap's content.int
output(java.io.OutputStream stream)
Overload the base object method so we don't have to copy byte arrays around so much Write the PDF represention of this objectvoid
setUseCMap(java.lang.String base)
set the base CMapvoid
setUseCMap(PDFStream base)
set the base CMapvoid
setWMode(byte mode)
set the writing direction-
Methods inherited from class org.apache.fop.pdf.PDFStream
add, add, getBufferOutputStream, getBufferWriter, getDataLength, getSizeHint, outputRawStreamData, setData, streamHashCode
-
Methods inherited from class org.apache.fop.pdf.AbstractPDFStream
encodeAndWriteStream, encodeStream, get, getChildren, getDefaultFilterName, getDictionary, getFilterList, multipleFiltersAllowed, outputStreamData, populateStreamDict, prepareImplicitFilters, put, registerChildren, setDocument, setupFilterList
-
Methods inherited from class org.apache.fop.pdf.PDFObject
contentEquals, encode, encodeBinaryToHexString, encodeString, encodeText, formatObject, getDocument, getDocumentSafely, getGeneration, getObjectID, getObjectNumber, getParent, hasObjectNumber, makeReference, outputInline, referencePDF, setObjectNumber, setObjectNumber, setObjectNumber, setParent, toPDF, toPDFString
-
-
-
-
Field Detail
-
ENC_GB_EUC_H
public static final java.lang.String ENC_GB_EUC_H
GB-EUC-H Microsoft Code Page 936 (lfCharSet 0x86), GB 2312-80 character set, EUC-CN encoding- See Also:
- Constant Field Values
-
ENC_GB_EUC_V
public static final java.lang.String ENC_GB_EUC_V
GB-EUC-V Vertical version of GB-EUC-H- See Also:
- Constant Field Values
-
ENC_GBPC_EUC_H
public static final java.lang.String ENC_GBPC_EUC_H
GBpc-EUC-H Mac OS, GB 2312-80 character set, EUC-CN encoding, Script Manager code 19- See Also:
- Constant Field Values
-
ENC_GBPC_EUC_V
public static final java.lang.String ENC_GBPC_EUC_V
GBpc-EUC-V Vertical version of GBpc-EUC-H- See Also:
- Constant Field Values
-
ENC_GBK_EUC_H
public static final java.lang.String ENC_GBK_EUC_H
GBK-EUC-H Microsoft Code Page 936 (lfCharSet 0x86), GBK character set, GBK encoding- See Also:
- Constant Field Values
-
ENC_GBK_EUC_V
public static final java.lang.String ENC_GBK_EUC_V
GBK-EUC-V Vertical version of GBK-EUC-H- See Also:
- Constant Field Values
-
ENC_GBKP_EUC_H
public static final java.lang.String ENC_GBKP_EUC_H
GBKp-EUC-H Same as GBK-EUC-H, but replaces half-width Latin characters with proportional forms and maps character code 0x24 to a dollar sign ($) instead of a yuan symbol- See Also:
- Constant Field Values
-
ENC_GBKP_EUC_V
public static final java.lang.String ENC_GBKP_EUC_V
GBKp-EUC-V Vertical version of GBKp-EUC-H- See Also:
- Constant Field Values
-
ENC_GBK2K_H
public static final java.lang.String ENC_GBK2K_H
GBK2K-H GB 18030-2000 character set, mixed 1-, 2-, and 4-byte encoding- See Also:
- Constant Field Values
-
ENC_GBK2K_V
public static final java.lang.String ENC_GBK2K_V
GBK2K-V Vertical version of GBK2K-H- See Also:
- Constant Field Values
-
ENC_UNIGB_UCS2_H
public static final java.lang.String ENC_UNIGB_UCS2_H
UniGB-UCS2-H Unicode (UCS-2) encoding for the Adobe-GB1 character collection- See Also:
- Constant Field Values
-
ENC_UNIGB_UCS2_V
public static final java.lang.String ENC_UNIGB_UCS2_V
UniGB-UCS2-V Vertical version of UniGB-UCS2-H- See Also:
- Constant Field Values
-
ENC_B5PC_H
public static final java.lang.String ENC_B5PC_H
B5pc-H Mac OS, Big Five character set, Big Five encoding, Script Manager code 2- See Also:
- Constant Field Values
-
ENC_B5PC_V
public static final java.lang.String ENC_B5PC_V
B5pc-V Vertical version of B5pc-H- See Also:
- Constant Field Values
-
ENC_HKSCS_B5_H
public static final java.lang.String ENC_HKSCS_B5_H
HKscs-B5-H Hong Kong SCS, an extension to the Big Five character set and encoding- See Also:
- Constant Field Values
-
ENC_HKSCS_B5_V
public static final java.lang.String ENC_HKSCS_B5_V
HKscs-B5-V Vertical version of HKscs-B5-H- See Also:
- Constant Field Values
-
ENC_ETEN_B5_H
public static final java.lang.String ENC_ETEN_B5_H
ETen-B5-H Microsoft Code Page 950 (lfCharSet 0x88), Big Five character set with ETen extensions- See Also:
- Constant Field Values
-
ENC_ETEN_B5_V
public static final java.lang.String ENC_ETEN_B5_V
ETen-B5-V Vertical version of ETen-B5-H- See Also:
- Constant Field Values
-
ENC_ETENMS_B5_H
public static final java.lang.String ENC_ETENMS_B5_H
ETenms-B5-H Same as ETen-B5-H, but replaces half-width Latin characters with proportional forms- See Also:
- Constant Field Values
-
ENC_ETENMS_B5_V
public static final java.lang.String ENC_ETENMS_B5_V
ETenms-B5-V Vertical version of ETenms-B5-H- See Also:
- Constant Field Values
-
ENC_CNS_EUC_H
public static final java.lang.String ENC_CNS_EUC_H
CNS-EUC-H CNS 11643-1992 character set, EUC-TW encoding- See Also:
- Constant Field Values
-
ENC_CNS_EUC_V
public static final java.lang.String ENC_CNS_EUC_V
CNS-EUC-V Vertical version of CNS-EUC-H- See Also:
- Constant Field Values
-
ENC_UNICNS_UCS2_H
public static final java.lang.String ENC_UNICNS_UCS2_H
UniCNS-UCS2-H Unicode (UCS-2) encoding for the Adobe-CNS1 character collection- See Also:
- Constant Field Values
-
ENC_UNICNS_UCS2_V
public static final java.lang.String ENC_UNICNS_UCS2_V
UniCNS-UCS2-V Vertical version of UniCNS-UCS2-H- See Also:
- Constant Field Values
-
ENC_83PV_RKSJ_H
public static final java.lang.String ENC_83PV_RKSJ_H
83pv-RKSJ-H Mac OS, JIS X 0208 character set with KanjiTalk6 extensions, Shift-JIS encoding, Script Manager code 1- See Also:
- Constant Field Values
-
ENC_90MS_RKSJ_H
public static final java.lang.String ENC_90MS_RKSJ_H
90ms-RKSJ-H Microsoft Code Page 932 (lfCharSet 0x80), JIS X 0208 character set with NEC and IBM extensions- See Also:
- Constant Field Values
-
ENC_90MS_RKSJ_V
public static final java.lang.String ENC_90MS_RKSJ_V
90ms-RKSJ-V Vertical version of 90ms-RKSJ-H- See Also:
- Constant Field Values
-
ENC_90MSP_RKSJ_H
public static final java.lang.String ENC_90MSP_RKSJ_H
90msp-RKSJ-H Same as 90ms-RKSJ-H, but replaces half-width Latin characters with proportional forms- See Also:
- Constant Field Values
-
ENC_90MSP_RKSJ_V
public static final java.lang.String ENC_90MSP_RKSJ_V
90msp-RKSJ-V Vertical version of 90msp-RKSJ-H- See Also:
- Constant Field Values
-
ENC_90PV_RKSJ_H
public static final java.lang.String ENC_90PV_RKSJ_H
90pv-RKSJ-H Mac OS, JIS X 0208 character set with KanjiTalk7 extensions, Shift-JIS encoding, Script Manager code 1- See Also:
- Constant Field Values
-
ENC_ADD_RKSJ_H
public static final java.lang.String ENC_ADD_RKSJ_H
Add-RKSJ-H JIS X 0208 character set with Fujitsu FMR extensions, Shift-JIS encoding- See Also:
- Constant Field Values
-
ENC_ADD_RKSJ_V
public static final java.lang.String ENC_ADD_RKSJ_V
Add-RKSJ-V Vertical version of Add-RKSJ-H- See Also:
- Constant Field Values
-
ENC_EUC_H
public static final java.lang.String ENC_EUC_H
EUC-H JIS X 0208 character set, EUC-JP encoding- See Also:
- Constant Field Values
-
ENC_EUC_V
public static final java.lang.String ENC_EUC_V
EUC-V Vertical version of EUC-H- See Also:
- Constant Field Values
-
ENC_EXT_RKSJ_H
public static final java.lang.String ENC_EXT_RKSJ_H
Ext-RKSJ-H JIS C 6226 (JIS78) character set with NEC extensions, Shift-JIS encoding- See Also:
- Constant Field Values
-
ENC_EXT_RKSJ_V
public static final java.lang.String ENC_EXT_RKSJ_V
Ext-RKSJ-V Vertical version of Ext-RKSJ-H- See Also:
- Constant Field Values
-
ENC_H
public static final java.lang.String ENC_H
H JIS X 0208 character set, ISO-2022-JP encoding- See Also:
- Constant Field Values
-
ENC_V
public static final java.lang.String ENC_V
V Vertical version of H- See Also:
- Constant Field Values
-
ENC_UNIJIS_UCS2_H
public static final java.lang.String ENC_UNIJIS_UCS2_H
UniJIS-UCS2-H Unicode (UCS-2) encoding for the Adobe-Japan1 character collection- See Also:
- Constant Field Values
-
ENC_UNIJIS_UCS2_V
public static final java.lang.String ENC_UNIJIS_UCS2_V
UniJIS-UCS2-V Vertical version of UniJIS-UCS2-H- See Also:
- Constant Field Values
-
ENC_UNIJIS_UCS2_HW_H
public static final java.lang.String ENC_UNIJIS_UCS2_HW_H
UniJIS-UCS2-HW-H Same as UniJIS-UCS2-H, but replaces proportional Latin characters with half-width forms- See Also:
- Constant Field Values
-
ENC_UNIJIS_UCS2_HW_V
public static final java.lang.String ENC_UNIJIS_UCS2_HW_V
UniJIS-UCS2-HW-V Vertical version of UniJIS-UCS2-HW-H- See Also:
- Constant Field Values
-
ENC_KSC_EUC_H
public static final java.lang.String ENC_KSC_EUC_H
KSC-EUC-H KS X 1001:1992 character set, EUC-KR encoding- See Also:
- Constant Field Values
-
ENC_KSC_EUC_V
public static final java.lang.String ENC_KSC_EUC_V
KSC-EUC-V Vertical version of KSC-EUC-H- See Also:
- Constant Field Values
-
ENC_KSCMS_UHC_H
public static final java.lang.String ENC_KSCMS_UHC_H
KSCms-UHC-H Microsoft Code Page 949 (lfCharSet 0x81), KS X 1001:1992 character set plus 8822 additional hangul, Unified Hangul Code (UHC) encoding- See Also:
- Constant Field Values
-
ENC_KSCMS_UHC_V
public static final java.lang.String ENC_KSCMS_UHC_V
KSCms-UHC-V Vertical version of KSCms-UHC-H- See Also:
- Constant Field Values
-
ENC_KSCMS_UHC_HW_H
public static final java.lang.String ENC_KSCMS_UHC_HW_H
KSCms-UHC-HW-H Same as KSCms-UHC-H, but replaces proportional Latin characters with half-width forms- See Also:
- Constant Field Values
-
ENC_KSCMS_UHC_HW_V
public static final java.lang.String ENC_KSCMS_UHC_HW_V
KSCms-UHC-HW-V Vertical version of KSCms-UHC-HW-H- See Also:
- Constant Field Values
-
ENC_KSCPC_EUC_H
public static final java.lang.String ENC_KSCPC_EUC_H
KSCpc-EUC-H Mac OS, KS X 1001:1992 character set with Mac OS KH extensions, Script Manager Code 3- See Also:
- Constant Field Values
-
ENC_UNIKSC_UCS2_H
public static final java.lang.String ENC_UNIKSC_UCS2_H
UniKS-UCS2-H Unicode (UCS-2) encoding for the Adobe-Korea1 character collection- See Also:
- Constant Field Values
-
ENC_UNIKSC_UCS2_V
public static final java.lang.String ENC_UNIKSC_UCS2_V
UniKS-UCS2-V Vertical version of UniKS-UCS2-H- See Also:
- Constant Field Values
-
ENC_IDENTITY_H
public static final java.lang.String ENC_IDENTITY_H
Identity-H The horizontal identity mapping for 2-byte CIDs; may be used with CIDFonts using any Registry, Ordering, and Supplement values. It maps 2-byte character codes ranging from 0 to 65,535 to the same 2-byte CID value, interpreted high-order byte first.- See Also:
- Constant Field Values
-
ENC_IDENTTITY_V
public static final java.lang.String ENC_IDENTTITY_V
Identity-V Vertical version of Identity-H. The mapping is the same as for Identity-H.- See Also:
- Constant Field Values
-
name
protected java.lang.String name
/CMapName attribute, one of the predefined constants
-
sysInfo
protected PDFCIDSystemInfo sysInfo
/CIDSystemInfo attribute
-
WMODE_HORIZONTAL
public static final byte WMODE_HORIZONTAL
horizontal writing direction- See Also:
- Constant Field Values
-
WMODE_VERTICAL
public static final byte WMODE_VERTICAL
vertical writing direction- See Also:
- Constant Field Values
-
wMode
protected byte wMode
font's writing direction
-
base
protected java.lang.Object base
base CMap (String or PDFStream)
-
-
Constructor Detail
-
PDFCMap
public PDFCMap(java.lang.String name, PDFCIDSystemInfo sysInfo)
create the /CMap object- Parameters:
name
- one the registered names (see Table 7.20 on p 215)sysInfo
- the attributes of the character collection of the CIDFont
-
-
Method Detail
-
setWMode
public void setWMode(byte mode)
set the writing direction- Parameters:
mode
- is eitherWMODE_HORIZONTAL
orWMODE_VERTICAL
-
setUseCMap
public void setUseCMap(java.lang.String base)
set the base CMap- Parameters:
base
- the name of the base CMap
-
setUseCMap
public void setUseCMap(PDFStream base)
set the base CMap- Parameters:
base
- the stream to be used as base CMap
-
createCMapBuilder
protected CMapBuilder createCMapBuilder(java.io.Writer writer)
Creates the CMapBuilder that will build the CMap's content.- Parameters:
writer
- a Writer to write the CMap's contents to- Returns:
- the newly created CMapBuilder
-
output
public int output(java.io.OutputStream stream) throws java.io.IOException
Overload the base object method so we don't have to copy byte arrays around so much Write the PDF represention of this object
-
-