Class Java2DUtil

java.lang.Object
org.apache.fop.render.java2d.Java2DUtil

public final class Java2DUtil extends Object
Rendering-related utilities for Java2D.
  • Constructor Details

    • Java2DUtil

      private Java2DUtil()
  • Method Details

    • buildDefaultJava2DBasedFontInfo

      public static FontInfo buildDefaultJava2DBasedFontInfo(FontInfo fontInfo, FOUserAgent userAgent)
      Builds a default FontInfo object for use with output formats using the Java2D font setup.
      Parameters:
      fontInfo - the font info object to populate
      userAgent - the user agent
      Returns:
      the populated font information object
    • createGlyphVector

      public static GlyphVector createGlyphVector(String text, Graphics2D g2d, Font font, FontInfo fontInfo)
      Creates an instance of GlyphVector that correctly handle surrogate pairs and advanced font features such as GSUB/GPOS/GDEF.
      Parameters:
      text - Text to render
      g2d - the target Graphics2D instance
      font - the font instance
      fontInfo - the font information
      Returns:
      an instance of GlyphVector
    • createGlyphVector

      private static GlyphVector createGlyphVector(String text, Graphics2D g2d)
      Creates a GlyphVector using characters. Filters out non-bmp characters.
    • createGlyphVectorMultiByteFont

      private static GlyphVector createGlyphVectorMultiByteFont(String text, Graphics2D g2d, MultiByteFont multiByteFont)
      Creates a GlyphVector using glyph indexes instead of characters. To correctly support the advanced font features we have to build the GlyphVector passing the glyph indexes instead of the characters. This because some of the chars in text might have been replaced by an internal font representation during GlyphMapping.processWordMapping. Eg 'fi' replaced with the corresponding character in the font ligatures table (GSUB).
    • getMultiByteFont

      private static MultiByteFont getMultiByteFont(String fontName, FontInfo fontInfo)
      Returns an instance of MultiByteFont for the given font name. This method will try to unwrap containers such as CustomFontMetricsMapper and LazyFont
      Parameters:
      fontName - font key
      fontInfo - font information
      Returns:
      An instance of MultiByteFont or null if it