Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| fop 2.2
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.fop.afp.fonts
Class CharacterSetBuilder

    java.lang.Object
      org.apache.fop.afp.fonts.CharacterSetBuilder

    public abstract class CharacterSetBuilder

extends java.lang.Object

The CharacterSetBuilder is responsible building the a CharacterSet instance that holds the font metric data. The data is either read from disk and passed to a CharacterSet (*) or a FopCharacterSet is instantiated that is composed of a Typeface instance configured with this data.
-*- For referenced fonts CharacterSetBuilder is responsible for reading the font attributes from binary code page files and the character set metric files. In IBM font structure, a code page maps each character of text to the characters in a character set. Each character is translated into a code point. When the character is printed, each code point is matched to a character ID on the code page specified. The character ID is then matched to the image (raster pattern or outline pattern) of the character in the character set specified. The image in the character set is the image that is printed in the document. To be a valid code page for a particular character set, all character IDs in the code page must be included in that character set.
This class will read the font information from the binary code page files and character set metric files in order to determine the correct metrics to use when rendering the formatted object.

Field Summary
`protected static org.apache.commons.logging.Log` | `LOG` Static logging instance

Method Summary
`CharacterSet` | `build(java.lang.String characterSetName, java.lang.String codePageName, java.lang.String encoding, Typeface typeface, AFPEventProducer eventProducer)` Load the font details and metrics into the CharacterSetMetric object, this will use the actual afp code page and character set files to load the object with the necessary metrics.
`CharacterSet` | `build(java.lang.String characterSetName, java.lang.String codePageName, java.lang.String encoding, Typeface typeface, AFPResourceAccessor accessor, AFPEventProducer eventProducer)`
`CharacterSet` | `buildDBCS(java.lang.String characterSetName, java.lang.String codePageName, java.lang.String encoding, CharacterSetType charsetType, AFPResourceAccessor accessor, AFPEventProducer eventProducer)` Load the font details and metrics into the CharacterSetMetric object, this will use the actual afp code page and character set files to load the object with the necessary metrics.
`CharacterSet` | `buildSBCS(java.lang.String characterSetName, java.lang.String codePageName, java.lang.String encoding, AFPResourceAccessor accessor, AFPEventProducer eventProducer)` Load the font details and metrics into the CharacterSetMetric object, this will use the actual afp code page and character set files to load the object with the necessary metrics.
`static CharacterSetBuilder` | `getDoubleByteInstance()` Factory method for the double-byte (CID Keyed font (Type 0)) implementation of AFPFontReader.
`static CharacterSetBuilder` | `getSingleByteInstance()` Factory method for the single-byte implementation of AFPFontReader.
`protected java.util.Map<java.lang.String,java.lang.String>` | `loadCodePage(java.lang.String codePage, java.lang.String encoding, AFPResourceAccessor accessor, AFPEventProducer eventProducer)` Load the code page information from the appropriate file.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### LOG

    protected static final org.apache.commons.logging.Log LOG

  Static logging instance

Method Detail

### getSingleByteInstance

    public static CharacterSetBuilder getSingleByteInstance()

  Factory method for the single-byte implementation of AFPFontReader.

  Returns:
    AFPFontReader

### getDoubleByteInstance

    public static CharacterSetBuilder getDoubleByteInstance()

  Factory method for the double-byte (CID Keyed font (Type 0)) implementation of AFPFontReader.

  Returns:
    AFPFontReader

### buildSBCS

    public CharacterSet buildSBCS(java.lang.String characterSetName,
                                  java.lang.String codePageName,
                                  java.lang.String encoding,
                                  AFPResourceAccessor accessor,
                                  AFPEventProducer eventProducer)
                           throws java.io.IOException

  Load the font details and metrics into the CharacterSetMetric object, this will use the actual afp code page and character set files to load the object with the necessary metrics.

  Parameters:
    `characterSetName` - name of the characterset
    `codePageName` - name of the code page file
    `encoding` - encoding name
    `accessor` - used to load codepage and characterset
    `eventProducer` - for handling AFP related events
  Returns:
    CharacterSet object
  Throws:
    `java.io.IOException` - if an I/O error occurs

### buildDBCS

    public CharacterSet buildDBCS(java.lang.String characterSetName,
                                  java.lang.String codePageName,
                                  java.lang.String encoding,
                                  CharacterSetType charsetType,
                                  AFPResourceAccessor accessor,
                                  AFPEventProducer eventProducer)
                           throws java.io.IOException

  Load the font details and metrics into the CharacterSetMetric object, this will use the actual afp code page and character set files to load the object with the necessary metrics. This method is to be used for double byte character sets (DBCS).

  Parameters:
    `characterSetName` - name of the characterset
    `codePageName` - name of the code page file
    `encoding` - encoding name
    `charsetType` - the characterset type
    `accessor` - used to load codepage and characterset
    `eventProducer` - for handling AFP related events
  Returns:
    CharacterSet object
  Throws:
    `java.io.IOException` - if an I/O error occurs

### build

    public CharacterSet build(java.lang.String characterSetName,
                              java.lang.String codePageName,
                              java.lang.String encoding,
                              Typeface typeface,
                              AFPEventProducer eventProducer)
                       throws java.io.IOException

  Load the font details and metrics into the CharacterSetMetric object, this will use the actual afp code page and character set files to load the object with the necessary metrics.

  Parameters:
    `characterSetName` - the CharacterSetMetric object to populate
    `codePageName` - the name of the code page to use
    `encoding` - name of the encoding in use
    `typeface` - base14 font name
    `eventProducer` - for handling AFP related events
  Returns:
    CharacterSet object
  Throws:
    `java.io.IOException` - if an I/O error occurs

### build

    public CharacterSet build(java.lang.String characterSetName,
                              java.lang.String codePageName,
                              java.lang.String encoding,
                              Typeface typeface,
                              AFPResourceAccessor accessor,
                              AFPEventProducer eventProducer)
                       throws java.io.IOException

  Throws:
    `java.io.IOException`

### loadCodePage

    protected java.util.Map<java.lang.String,java.lang.String> loadCodePage(java.lang.String codePage,
                                                                            java.lang.String encoding,
                                                                            AFPResourceAccessor accessor,
                                                                            AFPEventProducer eventProducer)
                                                                     throws java.io.IOException

  Load the code page information from the appropriate file. The file name to load is determined by the code page name and the file extension 'CDP'.

  Parameters:
    `codePage` - the code page identifier
    `encoding` - the encoding to use for the character decoding
    `accessor` - the resource accessor
    `eventProducer` - for handling AFP related events
  Returns:
    a code page mapping (key: GCGID, value: Unicode character)
  Throws:
    `java.io.IOException` - if an I/O exception of some sort has occurred.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| fop 2.2
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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