CONTENTS | PREV | NEXT Java 2D API


4.6 Creating Font Derivations

Using the Font.deriveFont methods, you can create a new Font object with different attributes from an existing Font object. Often, a transform is applied to the existing Font to create a new derived Font. To do this, you:

  1. Create a Font object.,
  2. Create the AffineTransform you want to apply to the Font.
  3. Call Font.deriveFont, passing in the AffineTransform.
In this way, you could easily create a Font in a custom size or a skewed version of an existing Font.

In the following code excerpt, an AffineTransform is applied to create a skewed version of the font Helvetica. The new derived font is then used to render a string.

    
    // Create a transformation for the font.
    AffineTransform fontAT = new AffineTransform();
    fontAT.setToShear(-1.2, 0.0);
    // Create a Font Object.
    Font theFont = new Font("Helvetica", Font.PLAIN, 1);
    // Derive a new font using the shear transform
    theDerivedFont = theFont.deriveFont(fontAT);
    // Add the derived font to the Graphics2D context
    g2.setFont(theDerivedFont);
    // Render a string using the derived font
    g2.drawString("Java", 0.0f, 0.0f);



CONTENTS | PREV | NEXT