fop 2.1

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
protected  SingleByteEncoding mapping
           
protected  int[] width
           
 
Fields inherited from class org.apache.fop.fonts.CustomFont
cmap
 
Fields inherited from class org.apache.fop.fonts.Typeface
eventListener, NOT_FOUND
 
Constructor Summary
SingleByteFont(InternalResourceResolver resourceResolver)
           
SingleByteFont(InternalResourceResolver resourceResolver, EmbeddingMode embeddingMode)
           
 
Method Summary
 void addUnencodedCharacter(NamedCharacter ch, int width, java.awt.Rectangle bbox)
          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.
 java.awt.Rectangle getBoundingBox(int glyphIndex, int size)
          Returns the bounding box of the glyph at the given index, for the given font size.
 SingleByteEncoding getEncoding()
          Returns the code point mapping (encoding) of this font.
 java.lang.String getEncodingName()
          Get the encoding of the font.
 int getGIDFromChar(char ch)
           
 java.lang.String getGlyphName(int idx)
           
 OpenFont.PostScriptVersion getTrueTypePostScriptVersion()
          Returns the version of the PostScript table stored in the TrueType font represented by this instance.
 char getUnicodeFromGID(int glyphIndex)
          Returns the character from it's original glyph index in the font
 char getUnicodeFromSelector(int selector)
           
 java.util.Map<java.lang.Integer,java.lang.String> getUsedGlyphNames()
           
 java.util.Map<java.lang.Integer,java.lang.Integer> getUsedGlyphs()
          Returns a Map of used Glyphs.
 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 isSubsetEmbedded()
          Indicates whether this font is subset 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 mapUsedGlyphName(int gid, java.lang.String value)
           
 void setBoundingBox(int index, java.awt.Rectangle bbox)
           
 void setEncoding(CodePointMapping encoding)
          Sets the encoding of the font.
 void setEncoding(java.lang.String encoding)
          Sets the encoding of the font.
 void setTrueTypePostScriptVersion(OpenFont.PostScriptVersion version)
          Sets the version of the PostScript table stored in the TrueType font represented by this instance.
 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, getCMap, getDescender, getDescender, getEmbeddingMode, getEmbedFileURI, getEmbedFontName, getEmbedResourceName, getFamilyNames, getFirstChar, getFlags, getFontBBox, getFontName, getFontSubName, getFontType, getFontURI, getFullName, getInputStream, getItalicAngle, getKerningInfo, getLastChar, getMissingWidth, getStemV, getStrikeoutPosition, getStrikeoutThickness, getStrippedFontName, getUnderlinePosition, getUnderlineThickness, getWeight, getXHeight, hasKerningInfo, isAdvancedEnabled, isKerningEnabled, isSymbolicFont, putKerningEntry, replaceKerningMap, setAdvancedEnabled, setAscender, setCapHeight, setCMap, setDescender, setEmbeddingMode, setEmbedResourceName, setEmbedURI, setFamilyNames, setFirstChar, setFlags, setFontBBox, setFontName, setFontSubFamilyName, setFontType, setFontURI, setFullName, setItalicAngle, setKerningEnabled, setLastChar, setMissingWidth, setStemV, setStrikeoutPosition, setStrikeoutThickness, setUnderlinePosition, setUnderlineThickness, setWeight, setXHeight
 
Methods inherited from class org.apache.fop.fonts.Typeface
getMaxAscent, hadMappingOperations, hasFeature, 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, hasFeature, isMultiByte
 

Field Detail

mapping

protected SingleByteEncoding mapping

width

protected int[] width
Constructor Detail

SingleByteFont

public SingleByteFont(InternalResourceResolver resourceResolver)

SingleByteFont

public SingleByteFont(InternalResourceResolver resourceResolver,
                      EmbeddingMode embeddingMode)
Method Detail

isEmbeddable

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

Returns:
True, if embedding is possible/permitted

isSubsetEmbedded

public boolean isSubsetEmbedded()
Indicates whether this font is subset embedded.

Returns:
true if this font is subset embedded

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

getBoundingBox

public java.awt.Rectangle getBoundingBox(int glyphIndex,
                                         int size)
Description copied from interface: FontMetrics
Returns the bounding box of the glyph at the given index, for the given font size.

Parameters:
glyphIndex - glyph index
size - font size
Returns:
the scaled bounding box scaled in 1/1000ths of the given size

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

setBoundingBox

public void setBoundingBox(int index,
                           java.awt.Rectangle bbox)

addUnencodedCharacter

public void addUnencodedCharacter(NamedCharacter ch,
                                  int width,
                                  java.awt.Rectangle bbox)
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

setTrueTypePostScriptVersion

public void setTrueTypePostScriptVersion(OpenFont.PostScriptVersion version)
Sets the version of the PostScript table stored in the TrueType font represented by this instance.

Parameters:
version - version of the post table

getTrueTypePostScriptVersion

public OpenFont.PostScriptVersion getTrueTypePostScriptVersion()
Returns the version of the PostScript table stored in the TrueType font represented by this instance.

Returns:
the version of the post table

getUsedGlyphs

public java.util.Map<java.lang.Integer,java.lang.Integer> getUsedGlyphs()
Returns a Map of used Glyphs.

Specified by:
getUsedGlyphs in class CustomFont
Returns:
Map Map of used Glyphs

getUnicodeFromSelector

public char getUnicodeFromSelector(int selector)

getGIDFromChar

public int getGIDFromChar(char ch)

getUnicodeFromGID

public char getUnicodeFromGID(int glyphIndex)
Description copied from class: CustomFont
Returns the character from it's original glyph index in the font

Specified by:
getUnicodeFromGID in class CustomFont
Parameters:
glyphIndex - The original index of the character
Returns:
The character

mapUsedGlyphName

public void mapUsedGlyphName(int gid,
                             java.lang.String value)

getUsedGlyphNames

public java.util.Map<java.lang.Integer,java.lang.String> getUsedGlyphNames()

getGlyphName

public java.lang.String getGlyphName(int idx)

fop 2.1

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