Interface TeXFont

  • All Known Implementing Classes:
    DefaultTeXFont

    public interface TeXFont
    An interface representing a "TeXFont", which is responsible for all the necessary fonts and font information.
    Author:
    Kurt Vermeulen
    • Method Detail

      • deriveFont

        TeXFont deriveFont​(float pointSize)
        Derives a new TeXFont object with the given point size
        Parameters:
        pointSize - the new size (in points) of the derived TeXFont
        Returns:
        a copy of this TeXFont with the new size
      • scaleFont

        TeXFont scaleFont​(float factor)
      • getScaleFactor

        float getScaleFactor()
      • getAxisHeight

        float getAxisHeight​(int style)
      • getBigOpSpacing1

        float getBigOpSpacing1​(int style)
      • getBigOpSpacing2

        float getBigOpSpacing2​(int style)
      • getBigOpSpacing3

        float getBigOpSpacing3​(int style)
      • getBigOpSpacing4

        float getBigOpSpacing4​(int style)
      • getBigOpSpacing5

        float getBigOpSpacing5​(int style)
      • getChar

        Char getChar​(char c,
                     java.lang.String textStyle,
                     int style)
              throws TextStyleMappingNotFoundException
        Get a Char-object specifying the given character in the given text style with metric information depending on the given "style".
        Parameters:
        c - alphanumeric character
        textStyle - the text style in which the character should be drawn
        style - the style in which the atom should be drawn
        Returns:
        the Char-object specifying the given character in the given text style
        Throws:
        TextStyleMappingNotFoundException - if there's no text style defined with the given name
      • getChar

        Char getChar​(CharFont cf,
                     int style)
        Get a Char-object for this specific character containing the metric information
        Parameters:
        cf - CharFont-object determining a specific character of a specific font
        style - the style in which the atom should be drawn
        Returns:
        the Char-object for this character containing metric information
      • getChar

        Char getChar​(java.lang.String name,
                     int style)
              throws SymbolMappingNotFoundException
        Get a Char-object for the given symbol with metric information depending on "style".
        Parameters:
        name - the symbol name
        style - the style in which the atom should be drawn
        Returns:
        a Char-object for this symbol with metric information
        Throws:
        SymbolMappingNotFoundException - if there's no symbol defined with the given name
      • getDefaultChar

        Char getDefaultChar​(char c,
                            int style)
        Get a Char-object specifying the given character in the default text style with metric information depending on the given "style".
        Parameters:
        c - alphanumeric character
        style - the style in which the atom should be drawn
        Returns:
        the Char-object specifying the given character in the default text style
      • getDefaultRuleThickness

        float getDefaultRuleThickness​(int style)
      • getDenom1

        float getDenom1​(int style)
      • getDenom2

        float getDenom2​(int style)
      • getExtension

        Extension getExtension​(Char c,
                               int style)
        Get an Extension-object for the given Char containing the 4 possible parts to build an arbitrary large variant. This will only be called if isExtensionChar(Char) returns true.
        Parameters:
        c - a Char-object for a specific character
        style - the style in which the atom should be drawn
        Returns:
        an Extension object containing the 4 possible parts
      • getKern

        float getKern​(CharFont left,
                      CharFont right,
                      int style)
        Get the kern value to be inserted between the given characters in the given style.
        Parameters:
        left - left character
        right - right character
        style - the style in which the atom should be drawn
        Returns:
        the kern value between both characters (default 0)
      • getLigature

        CharFont getLigature​(CharFont left,
                             CharFont right)
        Get the ligature that replaces both characters (if any).
        Parameters:
        left - left character
        right - right character
        Returns:
        a ligature replacing both characters (or null: no ligature)
      • getMuFontId

        int getMuFontId()
      • getNextLarger

        Char getNextLarger​(Char c,
                           int style)
        Get the next larger version of the given character. This is only called if hasNextLarger(Char) returns true.
        Parameters:
        c - character
        style - the style in which the atom should be drawn
        Returns:
        the next larger version of this character
      • getNum1

        float getNum1​(int style)
      • getNum2

        float getNum2​(int style)
      • getNum3

        float getNum3​(int style)
      • getQuad

        float getQuad​(int style,
                      int fontCode)
      • getSize

        float getSize()
        Returns:
        the point size of this TeXFont
      • getSkew

        float getSkew​(CharFont cf,
                      int style)
        Get the kern amount of the character defined by the given CharFont followed by the "skewchar" of it's font. This is used in the algorithm for placing an accent above a single character.
        Parameters:
        cf - the character and it's font above which an accent has to be placed
        style - the render style
        Returns:
        the kern amount of the character defined by cf followed by the "skewchar" of it's font.
      • getSpace

        float getSpace​(int style)
      • getSub1

        float getSub1​(int style)
      • getSub2

        float getSub2​(int style)
      • getSubDrop

        float getSubDrop​(int style)
      • getSup1

        float getSup1​(int style)
      • getSup2

        float getSup2​(int style)
      • getSup3

        float getSup3​(int style)
      • getSupDrop

        float getSupDrop​(int style)
      • getXHeight

        float getXHeight​(int style,
                         int fontCode)
      • getEM

        float getEM​(int style)
      • hasNextLarger

        boolean hasNextLarger​(Char c)
        Parameters:
        c - a character
        Returns:
        true if the given character has a larger version, false otherwise
      • hasSpace

        boolean hasSpace​(int font)
      • setBold

        void setBold​(boolean bold)
      • getBold

        boolean getBold()
      • setRoman

        void setRoman​(boolean rm)
      • getRoman

        boolean getRoman()
      • setTt

        void setTt​(boolean tt)
      • getTt

        boolean getTt()
      • setIt

        void setIt​(boolean it)
      • getIt

        boolean getIt()
      • setSs

        void setSs​(boolean ss)
      • getSs

        boolean getSs()
      • isExtensionChar

        boolean isExtensionChar​(Char c)
        Parameters:
        c - a character
        Returns:
        true if the given character contains extension information to buid an arbitrary large version of this character.