Class LayoutProcessor


  • public class LayoutProcessor
    extends Object
    Provides glyph layout e.g. for accented Latin letters.
    • Method Detail

      • enable

        public static void enable()
        Enables the processor. Kerning and ligatures are switched off. This method can only be called once.
      • enable

        public static void enable​(int flags)
        Enables the processor with the provided flags. Kerning and ligatures are switched off. This method can only be called once.
        Parameters:
        flags - see java.awt.Font.layoutGlyphVector
      • enableKernLiga

        public static void enableKernLiga()
        Enables the processor. Kerning and ligatures are switched on. This method can only be called once.
      • enableKernLiga

        public static void enableKernLiga​(int flags)
        Enables the processor with the provided flags. Kerning and ligatures are switched on. This method can only be called once.
        Parameters:
        flags - see java.awt.Font.layoutGlyphVector
      • isEnabled

        public static boolean isEnabled()
      • setLigatures

        public static void setLigatures()
        Add ligatures
      • setLigatures

        public static void setLigatures​(Font font)
        Set ligatures for one font
        Parameters:
        font - The font for which ligatures are to be turned on
      • setRunDirectionRtl

        public static void setRunDirectionRtl​(Font font)
        Set run direction for one font to RTL
        Parameters:
        font - The font for which the run direction is set
      • setRunDirectionLtr

        public static void setRunDirectionLtr​(Font font)
        Set run direction for one font to LTR
        Parameters:
        font - The font for which the run direction is set
      • getFlags

        public static int getFlags()
      • isSet

        public static boolean isSet​(int queryFlags)
      • supportsFont

        public static boolean supportsFont​(BaseFont baseFont)
      • loadFont

        public static void loadFont​(BaseFont baseFont,
                                    String filename)
        Loads the AWT font needed for layout
        Parameters:
        baseFont - OpenPdf base font
        filename - of the font file
        Throws:
        RuntimeException - if font can not be loaded
      • computeGlyphVector

        public static GlyphVector computeGlyphVector​(BaseFont baseFont,
                                                     float fontSize,
                                                     String text)
        Computes glyph positioning
        Parameters:
        baseFont - OpenPdf base font
        text - input text
        Returns:
        glyph vector containing reordered text, width and positioning info
      • showText

        public static Point2D showText​(PdfContentByte cb,
                                       BaseFont baseFont,
                                       float fontSize,
                                       String text)
        Shows a text using glyph positioning (if needed)
        Parameters:
        cb - object containing the content of the page
        baseFont - base font to use
        fontSize - font size to apply
        text - text to show
        Returns:
        layout position correction to correct the start of the next line