Class SVGFontFamily

java.lang.Object
org.apache.batik.bridge.SVGFontFamily
All Implemented Interfaces:
GVTFontFamily

public class SVGFontFamily extends Object implements GVTFontFamily
A font family class for SVG fonts.
  • Field Details

  • Constructor Details

    • SVGFontFamily

      public SVGFontFamily(GVTFontFace fontFace, Element fontElement, BridgeContext ctx)
      Constructs an SVGFontFamily.
      Parameters:
      fontFace - The font face object that describes this font family.
      fontElement - The element that contains the font data for this family.
      ctx - The bridge context. This is required for lazily loading the font data at render time.
  • Method Details

    • getFamilyName

      public String getFamilyName()
      Returns the family name of this font.
      Specified by:
      getFamilyName in interface GVTFontFamily
      Returns:
      The font family name.
    • getFontFace

      public GVTFontFace getFontFace()
      Returns the font-face associated with this font family.
      Specified by:
      getFontFace in interface GVTFontFamily
      Returns:
      The font face.
    • deriveFont

      public GVTFont deriveFont(float size, AttributedCharacterIterator aci)
      Derives a GVTFont object of the correct size.
      Specified by:
      deriveFont in interface GVTFontFamily
      Parameters:
      size - The required size of the derived font.
      aci - The character iterator containing the text to be rendered using the derived font.
      Returns:
      The derived font.
    • deriveFont

      public GVTFont deriveFont(float size, Map attrs)
      Derives a GVTFont object of the correct size from an attribute Map.
      Specified by:
      deriveFont in interface GVTFontFamily
      Parameters:
      size - The required size of the derived font.
      attrs - The Attribute Map to get Values from.
    • isComplex

      public boolean isComplex()
      This method looks at the SVG font and checks if any of the glyphs use renderable child elements. If so this is a complex font in that full CSS inheritance needs to be applied. Otherwise if it only uses the 'd' attribute it does not need CSS treatment.
      Specified by:
      isComplex in interface GVTFontFamily
    • isComplex

      public static boolean isComplex(Element fontElement, BridgeContext ctx)