Class AWTFontResolver

  • All Implemented Interfaces:
    FontResolver

    public class AWTFontResolver
    extends java.lang.Object
    implements FontResolver
    REsolves an AWT font instance from a list of CSS font families and characteristics.
    • Field Detail

      • instanceHash

        private final java.util.Map<java.lang.String,​java.awt.Font> instanceHash
        Map of concrete instances of fonts including size, weight, etc.
      • availableFontsHash

        private final java.util.Map<java.lang.String,​java.awt.Font> availableFontsHash
        Map of base fonts, from which we can derive a concrete instance at the correct size, weight, etc. Note: The value is initially null until we need the given base font.
    • Constructor Detail

      • AWTFontResolver

        public AWTFontResolver()
        Constructor
    • Method Detail

      • init

        private void init()
      • flushCache

        public void flushCache()
      • setFontMapping

        public void setFontMapping​(java.lang.String name,
                                   java.awt.Font font)
        Sets the fontMapping attribute of the FontResolver object
        Parameters:
        name - The new fontMapping value
        font - The new fontMapping value
      • createFont

        protected static java.awt.Font createFont​(SharedContext ctx,
                                                  java.awt.Font rootFont,
                                                  float size,
                                                  IdentValue weight,
                                                  IdentValue style,
                                                  IdentValue variant)
        Creates a concrete instance of a font at specified size, weight, style and variant.
      • resolveFont

        protected java.awt.Font resolveFont​(SharedContext ctx,
                                            java.lang.String font,
                                            float size,
                                            IdentValue weight,
                                            IdentValue style,
                                            IdentValue variant)
        Resolves a single font name. TODO: Make case insensitive.
      • getFontInstanceHashName

        protected static java.lang.String getFontInstanceHashName​(SharedContext ctx,
                                                                  java.lang.String name,
                                                                  float size,
                                                                  IdentValue weight,
                                                                  IdentValue style,
                                                                  IdentValue variant)
        Gets the hash key for a concrete instance of a font. This incorporates size, weight, etc.