fop 1.0

org.apache.fop.fonts
Class SingleByteFont

java.lang.Object
  extended by org.apache.fop.fonts.Typeface
      extended by org.apache.fop.fonts.CustomFont
          extended by org.apache.fop.fonts.SingleByteFont
All Implemented Interfaces:
FontDescriptor, FontMetrics, MutableFont

public class SingleByteFont
extends CustomFont

Generic SingleByte font


Field Summary
 
Fields inherited from class org.apache.fop.fonts.Typeface
eventListener, NOT_FOUND
 
Constructor Summary
SingleByteFont()
          Main constructor.
 
Method Summary
 void addUnencodedCharacter(NamedCharacter ch, int width)
          Adds an unencoded character (one that is not supported by the primary encoding).
 void encodeAllUnencodedCharacters()
          Makes all unencoded characters available through additional encodings.
 SimpleSingleByteEncoding getAdditionalEncoding(int index)
          Returns an additional encoding.
 int getAdditionalEncodingCount()
          Returns the number of additional encodings this single-byte font maintains.
 int[] getAdditionalWidths(int index)
          Returns an array with the widths for an additional encoding.
 SingleByteEncoding getEncoding()
          Returns the code point mapping (encoding) of this font.
 java.lang.String getEncodingName()
          Get the encoding of the font.
 int getWidth(int i, int size)
          Return the width (in 1/1000ths of point size) of the character at code point i.
 int[] getWidths()
          Return the array of widths.
 boolean hasAdditionalEncodings()
          Indicates whether the encoding has additional encodings besides the primary encoding.
 boolean hasChar(char c)
          Determines whether this font contains a particular character/glyph.
 boolean isEmbeddable()
          Indicates if this font may be embedded.
 boolean isUsingNativeEncoding()
          Indicates whether this font is configured to use its native encoding.
 char mapChar(char c)
          Map a Unicode character to a code point in the font.
 void setEncoding(CodePointMapping encoding)
          Sets the encoding of the font.
 void setEncoding(java.lang.String encoding)
          Sets the encoding of the font.
 void setUseNativeEncoding(boolean value)
          Controls whether the font is configured to use its native encoding or if it may need to be re-encoded for the target format.
 void setWidth(int index, int w)
          Sets a width for a character.
protected  void updateMapping(java.lang.String encoding)
          Updates the mapping variable based on the encoding.
 
Methods inherited from class org.apache.fop.fonts.CustomFont
getAscender, getAscender, getCapHeight, getCapHeight, getDescender, getDescender, getEmbedFileName, getEmbedFileSource, getEmbedFontName, getEmbedResourceName, getFamilyNames, getFirstChar, getFlags, getFontBBox, getFontName, getFontSubName, getFontType, getFullName, getItalicAngle, getKerningInfo, getLastChar, getMissingWidth, getStemV, getStrippedFontName, getWeight, getXHeight, hasKerningInfo, isKerningEnabled, isSymbolicFont, putKerningEntry, replaceKerningMap, setAscender, setCapHeight, setDescender, setEmbedFileName, setEmbedResourceName, setFamilyNames, setFirstChar, setFlags, setFontBBox, setFontName, setFontSubFamilyName, setFontType, setFullName, setItalicAngle, setKerningEnabled, setLastChar, setMissingWidth, setResolver, setStemV, setWeight, setXHeight
 
Methods inherited from class org.apache.fop.fonts.Typeface
getMaxAscent, hadMappingOperations, isMultiByte, notifyMapOperation, setEventListener, toString, warnMissingGlyph
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.fop.fonts.FontMetrics
getMaxAscent
 

Constructor Detail

SingleByteFont

public SingleByteFont()
Main constructor.

Method Detail

isEmbeddable

public boolean isEmbeddable()
Indicates if this font may be embedded.

Returns:
True, if embedding is possible/permitted

getEncodingName

public java.lang.String getEncodingName()
Get the encoding of the font.

Specified by:
getEncodingName in class Typeface
Returns:
the encoding

getEncoding

public SingleByteEncoding getEncoding()
Returns the code point mapping (encoding) of this font.

Returns:
the code point mapping

getWidth

public int getWidth(int i,
                    int size)
Return the width (in 1/1000ths of point size) of the character at code point i.

Parameters:
i - code point index
size - font size
Returns:
the width of the character

getWidths

public int[] getWidths()
Return the array of widths.

This is used to get an array for inserting in an output format. It should not be used for lookup.

Returns:
an array of widths

mapChar

public char mapChar(char c)
Map a Unicode character to a code point in the font.

Specified by:
mapChar in class Typeface
Parameters:
c - character to map
Returns:
the mapped character

hasChar

public boolean hasChar(char c)
Determines whether this font contains a particular character/glyph.

Specified by:
hasChar in class Typeface
Parameters:
c - character to check
Returns:
True if the character is supported, Falso otherwise

updateMapping

protected void updateMapping(java.lang.String encoding)
Updates the mapping variable based on the encoding.

Parameters:
encoding - the name of the encoding

setEncoding

public void setEncoding(java.lang.String encoding)
Sets the encoding of the font.

Parameters:
encoding - the encoding (ex. "WinAnsiEncoding" or "SymbolEncoding")

setEncoding

public void setEncoding(CodePointMapping encoding)
Sets the encoding of the font.

Parameters:
encoding - the encoding information

setUseNativeEncoding

public void setUseNativeEncoding(boolean value)
Controls whether the font is configured to use its native encoding or if it may need to be re-encoded for the target format.

Parameters:
value - true indicates that the configured encoding is the font's native encoding

isUsingNativeEncoding

public boolean isUsingNativeEncoding()
Indicates whether this font is configured to use its native encoding. This method is used to determine whether the font needs to be re-encoded.

Returns:
true if the font uses its native encoding.

setWidth

public void setWidth(int index,
                     int w)
Sets a width for a character.

Parameters:
index - index of the character
w - the width of the character

addUnencodedCharacter

public void addUnencodedCharacter(NamedCharacter ch,
                                  int width)
Adds an unencoded character (one that is not supported by the primary encoding).

Parameters:
ch - the named character
width - the width of the character

encodeAllUnencodedCharacters

public void encodeAllUnencodedCharacters()
Makes all unencoded characters available through additional encodings. This method is used in cases where the fonts need to be encoded in the target format before all text of the document is processed (for example in PostScript when resource optimization is disabled).


hasAdditionalEncodings

public boolean hasAdditionalEncodings()
Indicates whether the encoding has additional encodings besides the primary encoding.

Returns:
true if there are additional encodings.

getAdditionalEncodingCount

public int getAdditionalEncodingCount()
Returns the number of additional encodings this single-byte font maintains.

Returns:
the number of additional encodings

getAdditionalEncoding

public SimpleSingleByteEncoding getAdditionalEncoding(int index)
                                               throws java.lang.IndexOutOfBoundsException
Returns an additional encoding.

Parameters:
index - the index of the additional encoding
Returns:
the additional encoding
Throws:
java.lang.IndexOutOfBoundsException - if the index is out of bounds

getAdditionalWidths

public int[] getAdditionalWidths(int index)
Returns an array with the widths for an additional encoding.

Parameters:
index - the index of the additional encoding
Returns:
the width array

fop 1.0

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