org.apache.poi.sl.draw

## Interface DrawFontManager

- All Known Implementing Classes:
    DrawFontManagerDefault

      public interface DrawFontManager

  Manages fonts when rendering slides. Use this class to handle unknown / missing fonts or to substitute fonts

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.awt.Font` | `createAWTFont(java.awt.Graphics2D graphics, FontInfo fontInfo, double size, boolean bold, boolean italic)` Create an AWT font object with the given attributes
    `FontInfo` | `getFallbackFont(java.awt.Graphics2D graphics, FontInfo fontInfo)` In case the original font doesn't contain a glyph, use the returned fallback font as an alternative
    `FontInfo` | `getMappedFont(java.awt.Graphics2D graphics, FontInfo fontInfo)` select a font to be used to paint text
    `java.lang.String` | `mapFontCharset(java.awt.Graphics2D graphics, FontInfo fontInfo, java.lang.String text)` Map text charset depending on font family.

- - ### Method Detail

    - #### getMappedFont

          FontInfo getMappedFont(java.awt.Graphics2D graphics,
                                 FontInfo fontInfo)

      select a font to be used to paint text
      Parameters:
        `graphics` - the graphics context to request additional rendering hints
        `fontInfo` - the font info object corresponding to the text run font
      Returns:
        the font to be used to paint text

    - #### getFallbackFont

          FontInfo getFallbackFont(java.awt.Graphics2D graphics,
                                   FontInfo fontInfo)

      In case the original font doesn't contain a glyph, use the returned fallback font as an alternative
      Parameters:
        `graphics` - the graphics context to request additional rendering hints
        `fontInfo` - the font info object corresponding to the text run font
      Returns:
        the font to be used as a fallback for the original typeface

    - #### mapFontCharset

          java.lang.String mapFontCharset(java.awt.Graphics2D graphics,
                                          FontInfo fontInfo,
                                          java.lang.String text)

      Map text charset depending on font family.

      Currently this only maps for wingdings font (into unicode private use area)

      Parameters:
        `graphics` - the graphics context to request additional rendering hints
        `fontInfo` - the font info object corresponding to the text run font
        `text` - the raw text
      Returns:
        String with mapped codepoints
      See Also:
        Drawing exotic fonts in a java applet, `StringUtil.mapMsCodepointString(String)`

    - #### createAWTFont

          java.awt.Font createAWTFont(java.awt.Graphics2D graphics,
                                      FontInfo fontInfo,
                                      double size,
                                      boolean bold,
                                      boolean italic)

      Create an AWT font object with the given attributes
      Parameters:
        `graphics` - the graphics context to request additional rendering hints
        `fontInfo` - the font info object corresponding to the text run font
        `size` - the font size in points
        `bold` - `true` if the font is bold
        `italic` - `true` if the font is italic
      Returns:
        the AWT font object

Copyright 2020 The Apache Software Foundation or its licensors, as applicable.