Class Java2DFontResolver

  • All Implemented Interfaces:
    com.openhtmltopdf.extend.FontResolver

    public class Java2DFontResolver
    extends Object
    implements com.openhtmltopdf.extend.FontResolver
    REsolves an AWT font instance from a list of CSS font families and characteristics.
    Author:
    Joshua Marinacci
    • Constructor Summary

      Constructors 
      Constructor Description
      Java2DFontResolver​(com.openhtmltopdf.layout.SharedContext sharedCtx, boolean useEnvironmentFonts)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      void addFontFile​(File fontFile, String fontFamilyNameOverride, Integer fontWeightOverride, com.openhtmltopdf.css.constants.IdentValue fontStyleOverride)
      Add a font using a existing file.
      void addInputStreamFont​(com.openhtmltopdf.extend.FSSupplier<InputStream> fontSupplier, String fontFamilyNameOverride, Integer fontWeightOverride, com.openhtmltopdf.css.constants.IdentValue fontStyleOverride)  
      protected static Font createFont​(com.openhtmltopdf.layout.SharedContext ctx, Font rootFont, float size, com.openhtmltopdf.css.constants.IdentValue weight, com.openhtmltopdf.css.constants.IdentValue style, com.openhtmltopdf.css.constants.IdentValue variant)
      Creates a concrete instance of a font at specified size, weight, style and variant.
      void flushCache()
      Deprecated.
      protected static String getFontInstanceHashName​(com.openhtmltopdf.layout.SharedContext ctx, String name, float size, com.openhtmltopdf.css.constants.IdentValue weight, com.openhtmltopdf.css.constants.IdentValue style, com.openhtmltopdf.css.constants.IdentValue variant)
      Gets the hash key for a concrete instance of a font.
      void importFontFaces​(List<com.openhtmltopdf.css.sheet.FontFaceRule> fontFaces)  
      com.openhtmltopdf.render.FSFont resolveFont​(com.openhtmltopdf.layout.SharedContext renderingContext, com.openhtmltopdf.css.value.FontSpecification spec)  
      com.openhtmltopdf.render.FSFont resolveFont​(com.openhtmltopdf.layout.SharedContext ctx, String[] families, float size, com.openhtmltopdf.css.constants.IdentValue weight, com.openhtmltopdf.css.constants.IdentValue style, com.openhtmltopdf.css.constants.IdentValue variant)
      Resolves a list of font families.
      void setFontMapping​(String name, Font font)
      Sets the fontMapping attribute of the FontResolver object
    • Constructor Detail

      • Java2DFontResolver

        public Java2DFontResolver​(com.openhtmltopdf.layout.SharedContext sharedCtx,
                                  boolean useEnvironmentFonts)
    • Method Detail

      • flushCache

        @Deprecated
        public void flushCache()
        Deprecated.
      • importFontFaces

        public void importFontFaces​(List<com.openhtmltopdf.css.sheet.FontFaceRule> fontFaces)
      • addInputStreamFont

        public void addInputStreamFont​(com.openhtmltopdf.extend.FSSupplier<InputStream> fontSupplier,
                                       String fontFamilyNameOverride,
                                       Integer fontWeightOverride,
                                       com.openhtmltopdf.css.constants.IdentValue fontStyleOverride)
      • addFontFile

        public void addFontFile​(File fontFile,
                                String fontFamilyNameOverride,
                                Integer fontWeightOverride,
                                com.openhtmltopdf.css.constants.IdentValue fontStyleOverride)
        Add a font using a existing file. Does not handle true type collections.
      • resolveFont

        public com.openhtmltopdf.render.FSFont resolveFont​(com.openhtmltopdf.layout.SharedContext ctx,
                                                           String[] families,
                                                           float size,
                                                           com.openhtmltopdf.css.constants.IdentValue weight,
                                                           com.openhtmltopdf.css.constants.IdentValue style,
                                                           com.openhtmltopdf.css.constants.IdentValue variant)
        Resolves a list of font families. Search order for each family is: 1. Concrete fonts with correct size that have already been used. 2. Font face fonts. 3. System fonts.
      • setFontMapping

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

        protected static Font createFont​(com.openhtmltopdf.layout.SharedContext ctx,
                                         Font rootFont,
                                         float size,
                                         com.openhtmltopdf.css.constants.IdentValue weight,
                                         com.openhtmltopdf.css.constants.IdentValue style,
                                         com.openhtmltopdf.css.constants.IdentValue variant)
        Creates a concrete instance of a font at specified size, weight, style and variant.
      • getFontInstanceHashName

        protected static String getFontInstanceHashName​(com.openhtmltopdf.layout.SharedContext ctx,
                                                        String name,
                                                        float size,
                                                        com.openhtmltopdf.css.constants.IdentValue weight,
                                                        com.openhtmltopdf.css.constants.IdentValue style,
                                                        com.openhtmltopdf.css.constants.IdentValue variant)
        Gets the hash key for a concrete instance of a font. This incorporates size, weight, etc.
      • resolveFont

        public com.openhtmltopdf.render.FSFont resolveFont​(com.openhtmltopdf.layout.SharedContext renderingContext,
                                                           com.openhtmltopdf.css.value.FontSpecification spec)
        Specified by:
        resolveFont in interface com.openhtmltopdf.extend.FontResolver