Class MaxLeadingAndSize

java.lang.Object
com.itextpdf.tool.xml.css.apply.MaxLeadingAndSize

public final class MaxLeadingAndSize extends Object
Serves as a container class for the largest font size and/or largest leading found in a tag and all its siblings.
  • Field Details

    • utils

      private final CssUtils utils
    • fontSizeTranslator

      private final FontSizeTranslator fontSizeTranslator
    • largestLeading

      private float largestLeading
    • largestFont

      private float largestFont
  • Constructor Details

    • MaxLeadingAndSize

      public MaxLeadingAndSize()
  • Method Details

    • getLargestLeading

      public float getLargestLeading()
      Returns:
      largest leading
    • getLargestFont

      public float getLargestFont()
      Returns:
      largest font size
    • setVariablesBasedOnChildren

      public void setVariablesBasedOnChildren(Tag t)
      Sets largest font size and largest leading based on the css styles "font-size" and "line-height" of a given tag and its children.
      Parameters:
      t - tag of which the variables need to be set.
    • setLeading

      public void setLeading(Tag tag)
      Set the largest leading based on calculateLeading only. (Children not taken into account)
      Parameters:
      tag - the tag
    • getLargestFontFromChildren

      public float getLargestFontFromChildren(List<Tag> children)
      Iterates over all children in a List and returns the largest font size found.
      Parameters:
      children - List containing a list of children.
      Returns:
      float largest font size.
    • getLargestLeadingFromChildren

      private float getLargestLeadingFromChildren(List<Tag> children)
      Iterates over all children in a List and returns the largest leading found.
      Parameters:
      children - List containing a list of children.
      Returns:
      float largest leading.
    • calculateLeading

      public Float calculateLeading(Tag t)
      Calculates the leading of the given tag.
      First checks which line-height string is present in the css of the tag, if any. Following strings are allowed;
      • a constant (containing px, in, cm, mm, pc, em, ex or pt),
      • percentage (containing %),
      • multiplier (only digits),
      Then this methods calculates the leading based on the font-size and the line-height.

      If no line-height was given or if the line-height:normal was given, leading = font-size * 1.5f.
      Parameters:
      t - tag of which the leading has to be calculated.
      Returns:
      float containing the leading of the tag.