gnu.awt.xlib

Class XFontPeer

Implemented Interfaces:
FontPeer

public class XFontPeer
extends ClasspathFontPeer

Classpath-compatible peer for a font

Field Summary

Fields inherited from class gnu.java.awt.peer.ClasspathFontPeer

faceName, familyName, logicalName, size, style, transform

Constructor Summary

XFontPeer(String name, int style)
XFontPeer(String name, int style, float size)

Method Summary

boolean
canDisplay(Font font, int c)
Implementation of Font.canDisplay(char)
int
canDisplayUpTo(Font font, CharacterIterator i, int start, int limit)
Implementation of Font.canDisplay(String), Font.canDisplay(char [], int, int), and Font.canDisplay(CharacterIterator, int, int).
GlyphVector
createGlyphVector(Font font, FontRenderContext ctx, int[] glyphCodes)
Implementation of Font.createGlyphVector(FontRenderContext,int[]).
GlyphVector
createGlyphVector(Font font, FontRenderContext frc, CharacterIterator ci)
Implementation of Font.createGlyphVector(FontRenderContext,String), Font.createGlyphVector(FontRenderContext,char[]), and Font.createGlyphVector(FontRenderContext,CharacterIterator).
byte
getBaselineFor(Font font, char c)
Implementation of Font.getBaselineFor(char)
FontMetrics
getFontMetrics(Font font)
Implementation of Font.getFontMetrics()
String
getGlyphName(Font font, int glyphIndex)
Returns a name for the specified glyph.
LineMetrics
getLineMetrics(Font font, CharacterIterator ci, int begin, int limit, FontRenderContext rc)
Implementation of Font.getLineMetrics(CharacterIterator,int,int,FontRenderContext)
Rectangle2D
getMaxCharBounds(Font font, FontRenderContext rc)
Implementation of Font.getMaxCharBounds(FontRenderContext)
int
getMissingGlyphCode(Font font)
Implementation of Font.getMissingGlyphCode()
int
getNumGlyphs(Font font)
Implementation of Font.getNumGlyphs()
String
getPostScriptName(Font font)
Implementation of Font.getPSName()
Rectangle2D
getStringBounds(Font font, CharacterIterator ci, int begin, int limit, FontRenderContext frc)
Implementation of Font.getStringBounds(CharacterIterator,int,int,FontRenderContext)
String
getSubFamilyName(Font font, Locale locale)
Returns the name of this font face inside the family, for example “Light”.
boolean
hasUniformLineMetrics(Font font)
Implementation of Font.hasUniformLineMetrics()
GlyphVector
layoutGlyphVector(Font font, FontRenderContext frc, char[] chars, int start, int limit, int flags)
Implementation of Font.layoutGlyphVector(FontRenderContext,char[],int,int,int).

Methods inherited from class gnu.java.awt.peer.ClasspathFontPeer

canDisplay, canDisplayUpTo, copyFamilyToAttrs, copySizeToAttrs, copyStyleToAttrs, copyTransformToAttrs, createGlyphVector, createGlyphVector, deriveFont, deriveFont, deriveFont, deriveFont, deriveFont, deriveFont, faceNameToFamilyName, getAttributes, getAvailableAttributes, getBaselineFor, getFamily, getFamily, getFontMetrics, getFontName, getFontName, getGlyphName, getItalicAngle, getLineMetrics, getMaxCharBounds, getMissingGlyphCode, getName, getNumGlyphs, getPostScriptName, getSize, getStandardAttributes, getStyle, getSubFamilyName, getTransform, hasUniformLineMetrics, isBold, isItalic, isLogicalFontName, isPlain, isTransformed, layoutGlyphVector, logicalFontNameToFaceName, setStandardAttributes, setStandardAttributes, tk

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

XFontPeer

public XFontPeer(String name,
                 int style)

XFontPeer

public XFontPeer(String name,
                 int style,
                 float size)

Method Details

canDisplay

public boolean canDisplay(Font font,
                          int c)
Implementation of Font.canDisplay(char)
Overrides:
canDisplay in interface ClasspathFontPeer
Parameters:
font - the font this peer is being called from. This may be useful if you are sharing peers between Font objects. Otherwise it may be ignored.

canDisplayUpTo

public int canDisplayUpTo(Font font,
                          CharacterIterator i,
                          int start,
                          int limit)
Implementation of Font.canDisplay(String), Font.canDisplay(char [], int, int), and Font.canDisplay(CharacterIterator, int, int).
Overrides:
canDisplayUpTo in interface ClasspathFontPeer
Parameters:
font - the font this peer is being called from. This may be useful if you are sharing peers between Font objects. Otherwise it may be ignored.

createGlyphVector

public GlyphVector createGlyphVector(Font font,
                                     FontRenderContext ctx,
                                     int[] glyphCodes)
Overrides:
createGlyphVector in interface ClasspathFontPeer
Parameters:
font - the font object that the created GlyphVector will return when it gets asked for its font. This argument is needed because the public API of GlyphVector works with Font, not with font peers.

createGlyphVector

public GlyphVector createGlyphVector(Font font,
                                     FontRenderContext frc,
                                     CharacterIterator ci)
Overrides:
createGlyphVector in interface ClasspathFontPeer
Parameters:
font - the font object that the created GlyphVector will return when it gets asked for its font. This argument is needed because the public API of GlyphVector works with Font, not with font peers.

getBaselineFor

public byte getBaselineFor(Font font,
                           char c)
Implementation of Font.getBaselineFor(char)
Overrides:
getBaselineFor in interface ClasspathFontPeer
Parameters:
font - the font this peer is being called from. This may be useful if you are sharing peers between Font objects. Otherwise it may be ignored.

getFontMetrics

public FontMetrics getFontMetrics(Font font)
Implementation of Font.getFontMetrics()
Overrides:
getFontMetrics in interface ClasspathFontPeer
Parameters:
font - the font this peer is being called from. This may be useful if you are sharing peers between Font objects. Otherwise it may be ignored.

getGlyphName

public String getGlyphName(Font font,
                           int glyphIndex)
Returns a name for the specified glyph. This is useful for generating PostScript or PDF files that embed some glyphs of a font. If the implementation follows glyph naming conventions specified by Adobe, search engines can extract the original text from the generated PostScript and PDF files.

This method is currently not used by GNU Classpath. However, it would be very useful for someone wishing to write a good PostScript or PDF stream provider for the javax.print package.

Names are not unique: Under some rare circumstances, the same name can be returned for different glyphs. It is therefore recommended that printer drivers check whether the same name has already been returned for antoher glyph, and make the name unique by adding the string ".alt" followed by the glyph index.

This situation would occur for an OpenType or TrueType font that has a post table of format 3 and provides a mapping from glyph IDs to Unicode sequences through a Zapf table. If the same sequence of Unicode codepoints leads to different glyphs (depending on contextual position, for example, or on typographic sophistication level), the same name would get synthesized for those glyphs. To avoid this, the font peer would have to go through the names of all glyphs, which would make this operation very inefficient with large fonts.

Overrides:
getGlyphName in interface ClasspathFontPeer
Parameters:
font - the font containing the glyph whose name is requested.
glyphIndex - the glyph whose name the caller wants to retrieve.
Returns:
the glyph name, or null if a font does not provide glyph names.

getLineMetrics

public LineMetrics getLineMetrics(Font font,
                                  CharacterIterator ci,
                                  int begin,
                                  int limit,
                                  FontRenderContext rc)
Overrides:
getLineMetrics in interface ClasspathFontPeer
Parameters:
font - the font this peer is being called from. This may be useful if you are sharing peers between Font objects. Otherwise it may be ignored.

getMaxCharBounds

public Rectangle2D getMaxCharBounds(Font font,
                                    FontRenderContext rc)
Overrides:
getMaxCharBounds in interface ClasspathFontPeer
Parameters:
font - the font this peer is being called from. This may be useful if you are sharing peers between Font objects. Otherwise it may be ignored.

getMissingGlyphCode

public int getMissingGlyphCode(Font font)
Implementation of Font.getMissingGlyphCode()
Overrides:
getMissingGlyphCode in interface ClasspathFontPeer
Parameters:
font - the font this peer is being called from. This may be useful if you are sharing peers between Font objects. Otherwise it may be ignored.

getNumGlyphs

public int getNumGlyphs(Font font)
Implementation of Font.getNumGlyphs()
Overrides:
getNumGlyphs in interface ClasspathFontPeer
Parameters:
font - the font this peer is being called from. This may be useful if you are sharing peers between Font objects. Otherwise it may be ignored.

getPostScriptName

public String getPostScriptName(Font font)
Implementation of Font.getPSName()
Overrides:
getPostScriptName in interface ClasspathFontPeer
Parameters:
font - the font this peer is being called from. This may be useful if you are sharing peers between Font objects. Otherwise it may be ignored.

getStringBounds

public Rectangle2D getStringBounds(Font font,
                                   CharacterIterator ci,
                                   int begin,
                                   int limit,
                                   FontRenderContext frc)
Parameters:
font - the font this peer is being called from. This may be useful if you are sharing peers between Font objects. Otherwise it may be ignored.

getSubFamilyName

public String getSubFamilyName(Font font,
                               Locale locale)
Returns the name of this font face inside the family, for example “Light”.

This method is currently not used by Font. However, this name would be needed by any serious desktop publishing application.

Overrides:
getSubFamilyName in interface ClasspathFontPeer
Parameters:
font - the font whose sub-family name is requested.
locale - the locale for which to localize the name. If locale is null, the returned name is localized to the user’s default locale.
Returns:
the name of the face inside its family, or null if the font does not provide a sub-family name.

hasUniformLineMetrics

public boolean hasUniformLineMetrics(Font font)
Implementation of Font.hasUniformLineMetrics()
Overrides:
hasUniformLineMetrics in interface ClasspathFontPeer
Parameters:
font - the font this peer is being called from. This may be useful if you are sharing peers between Font objects. Otherwise it may be ignored.

layoutGlyphVector

public GlyphVector layoutGlyphVector(Font font,
                                     FontRenderContext frc,
                                     char[] chars,
                                     int start,
                                     int limit,
                                     int flags)
Overrides:
layoutGlyphVector in interface ClasspathFontPeer
Parameters:
font - the font object that the created GlyphVector will return when it gets asked for its font. This argument is needed because the public API of GlyphVector works with Font, not with font peers.

Copyright (C) 2000, 2002, 2003 Free Software Foundation This file is part of libgcj. This software is copyrighted work licensed under the terms of the Libgcj License. Please consult the file "LIBGCJ_LICENSE" for details.