fop 0.95

org.apache.fop.pdf
Class PDFCMap

java.lang.Object
  extended by org.apache.fop.pdf.PDFObject
      extended by org.apache.fop.pdf.PDFDictionary
          extended by org.apache.fop.pdf.AbstractPDFStream
              extended by org.apache.fop.pdf.PDFStream
                  extended by 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
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 1
static 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
static java.lang.String ENC_90MS_RKSJ_V
          90ms-RKSJ-V Vertical version of 90ms-RKSJ-H
static java.lang.String ENC_90MSP_RKSJ_H
          90msp-RKSJ-H Same as 90ms-RKSJ-H, but replaces half-width Latin characters with proportional forms
static java.lang.String ENC_90MSP_RKSJ_V
          90msp-RKSJ-V Vertical version of 90msp-RKSJ-H
static 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
static java.lang.String ENC_ADD_RKSJ_H
          Add-RKSJ-H JIS X 0208 character set with Fujitsu FMR extensions, Shift-JIS encoding
static java.lang.String ENC_ADD_RKSJ_V
          Add-RKSJ-V Vertical version of Add-RKSJ-H
static java.lang.String ENC_B5PC_H
          B5pc-H Mac OS, Big Five character set, Big Five encoding, Script Manager code 2
static java.lang.String ENC_B5PC_V
          B5pc-V Vertical version of B5pc-H
static java.lang.String ENC_CNS_EUC_H
          CNS-EUC-H CNS 11643-1992 character set, EUC-TW encoding
static java.lang.String ENC_CNS_EUC_V
          CNS-EUC-V Vertical version of CNS-EUC-H
static java.lang.String ENC_ETEN_B5_H
          ETen-B5-H Microsoft Code Page 950 (lfCharSet 0x88), Big Five character set with ETen extensions
static java.lang.String ENC_ETEN_B5_V
          ETen-B5-V Vertical version of ETen-B5-H
static java.lang.String ENC_ETENMS_B5_H
          ETenms-B5-H Same as ETen-B5-H, but replaces half-width Latin characters with proportional forms
static java.lang.String ENC_ETENMS_B5_V
          ETenms-B5-V Vertical version of ETenms-B5-H
static java.lang.String ENC_EUC_H
          EUC-H JIS X 0208 character set, EUC-JP encoding
static java.lang.String ENC_EUC_V
          EUC-V Vertical version of EUC-H
static java.lang.String ENC_EXT_RKSJ_H
          Ext-RKSJ-H JIS C 6226 (JIS78) character set with NEC extensions, Shift-JIS encoding
static java.lang.String ENC_EXT_RKSJ_V
          Ext-RKSJ-V Vertical version of Ext-RKSJ-H
static java.lang.String ENC_GB_EUC_H
          GB-EUC-H Microsoft Code Page 936 (lfCharSet 0x86), GB 2312-80 character set, EUC-CN encoding
static java.lang.String ENC_GB_EUC_V
          GB-EUC-V Vertical version of GB-EUC-H
static java.lang.String ENC_GBK_EUC_H
          GBK-EUC-H Microsoft Code Page 936 (lfCharSet 0x86), GBK character set, GBK encoding
static java.lang.String ENC_GBK_EUC_V
          GBK-EUC-V Vertical version of GBK-EUC-H
static java.lang.String ENC_GBK2K_H
          GBK2K-H GB 18030-2000 character set, mixed 1-, 2-, and 4-byte encoding
static java.lang.String ENC_GBK2K_V
          GBK2K-V Vertical version of GBK2K-H
static 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
static java.lang.String ENC_GBKP_EUC_V
          GBKp-EUC-V Vertical version of GBKp-EUC-H
static java.lang.String ENC_GBPC_EUC_H
          GBpc-EUC-H Mac OS, GB 2312-80 character set, EUC-CN encoding, Script Manager code 19
static java.lang.String ENC_GBPC_EUC_V
          GBpc-EUC-V Vertical version of GBpc-EUC-H
static java.lang.String ENC_H
          H JIS X 0208 character set, ISO-2022-JP encoding
static java.lang.String ENC_HKSCS_B5_H
          HKscs-B5-H Hong Kong SCS, an extension to the Big Five character set and encoding
static java.lang.String ENC_HKSCS_B5_V
          HKscs-B5-V Vertical version of HKscs-B5-H
static 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 encoding
static java.lang.String ENC_KSC_EUC_V
          KSC-EUC-V Vertical version of KSC-EUC-H
static 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
static 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
static java.lang.String ENC_KSCMS_UHC_HW_V
          KSCms-UHC-HW-V Vertical version of KSCms-UHC-HW-H
static java.lang.String ENC_KSCMS_UHC_V
          KSCms-UHC-V Vertical version of KSCms-UHC-H
static 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
static java.lang.String ENC_UNICNS_UCS2_H
          UniCNS-UCS2-H Unicode (UCS-2) encoding for the Adobe-CNS1 character collection
static java.lang.String ENC_UNICNS_UCS2_V
          UniCNS-UCS2-V Vertical version of UniCNS-UCS2-H
static java.lang.String ENC_UNIGB_UCS2_H
          UniGB-UCS2-H Unicode (UCS-2) encoding for the Adobe-GB1 character collection
static java.lang.String ENC_UNIGB_UCS2_V
          UniGB-UCS2-V Vertical version of UniGB-UCS2-H
static java.lang.String ENC_UNIJIS_UCS2_H
          UniJIS-UCS2-H Unicode (UCS-2) encoding for the Adobe-Japan1 character collection
static 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
static java.lang.String ENC_UNIJIS_UCS2_HW_V
          UniJIS-UCS2-HW-V Vertical version of UniJIS-UCS2-HW-H
static java.lang.String ENC_UNIJIS_UCS2_V
          UniJIS-UCS2-V Vertical version of UniJIS-UCS2-H
static java.lang.String ENC_UNIKSC_UCS2_H
          UniKS-UCS2-H Unicode (UCS-2) encoding for the Adobe-Korea1 character collection
static java.lang.String ENC_UNIKSC_UCS2_V
          UniKS-UCS2-V Vertical version of UniKS-UCS2-H
static java.lang.String ENC_V
          V Vertical version of H
protected  java.lang.String name
          /CMapName attribute, one of the predefined constants
protected  PDFCIDSystemInfo sysInfo
          /CIDSystemInfo attribute
protected  byte wMode
          font's writing direction
static byte WMODE_HORIZONTAL
          horizontal writing direction
static byte WMODE_VERTICAL
          vertical writing direction
 
Fields inherited from class org.apache.fop.pdf.PDFStream
data
 
Fields inherited from class org.apache.fop.pdf.PDFDictionary
entries, order
 
Fields inherited from class org.apache.fop.pdf.PDFObject
DATE_FORMAT, log
 
Constructor Summary
PDFCMap(java.lang.String name, PDFCIDSystemInfo sysInfo)
          create the /CMap object
 
Method Summary
protected  CMapBuilder createCMapBuilder(java.io.Writer writer)
          Creates the CMapBuilder that will build the CMap's content.
protected  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 object
 void setUseCMap(PDFStream base)
          set the base CMap
 void setUseCMap(java.lang.String base)
          set the base CMap
 void setWMode(byte mode)
          set the writing direction
 
Methods inherited from class org.apache.fop.pdf.PDFStream
add, getBufferOutputStream, getDataLength, getSizeHint, outputRawStreamData, setData
 
Methods inherited from class org.apache.fop.pdf.AbstractPDFStream
encodeAndWriteStream, encodeStream, getFilterList, outputStreamData, populateStreamDict, prepareImplicitFilters, setupFilterList
 
Methods inherited from class org.apache.fop.pdf.PDFDictionary
get, put, put, writeDictionary
 
Methods inherited from class org.apache.fop.pdf.PDFObject
encode, encodeBinaryToHexString, encodeString, encodeText, formatDateTime, formatDateTime, formatObject, getDocument, getDocumentSafely, getGeneration, getObjectID, getObjectNumber, getParent, hasObjectNumber, makeReference, outputInline, referencePDF, setDocument, setObjectNumber, setParent, toPDF, toPDFString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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 either WMODE_HORIZONTAL or WMODE_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

protected 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

Overrides:
output in class PDFStream
Parameters:
stream - the stream to write the PDF to
Returns:
the number of bytes written
Throws:
java.io.IOException - if there is an error writing to the stream

fop 0.95

Copyright 1999-2008 The Apache Software Foundation. All Rights Reserved.