Class FoUnitsConverter

java.lang.Object
org.apache.fop.render.rtf.FoUnitsConverter

final class FoUnitsConverter extends Object

Converts XSL-FO units to RTF units.

This work was originally developed by Bertrand Delacretaz (bdelacretaz@codeconsult.ch).

  • Field Details

    • INSTANCE

      private static final FoUnitsConverter INSTANCE
    • POINT_TO_TWIPS

      public static final float POINT_TO_TWIPS
      points to twips: 1 twip is 1/20 of a point
      See Also:
    • IN_TO_TWIPS

      public static final float IN_TO_TWIPS
      millimeters and centimeters to twips: , one point is 1/72 of an inch, one inch is 25.4 mm
      See Also:
    • MM_TO_TWIPS

      public static final float MM_TO_TWIPS
      See Also:
    • CM_TO_TWIPS

      public static final float CM_TO_TWIPS
      See Also:
    • TWIP_FACTORS

      private static final Map TWIP_FACTORS
      conversion factors keyed by xsl:fo units names
  • Constructor Details

    • FoUnitsConverter

      private FoUnitsConverter()
      singleton pattern
  • Method Details

    • getInstance

      static FoUnitsConverter getInstance()
      singleton pattern
    • convertToTwips

      float convertToTwips(String foValue) throws FOPException
      convert given value to RTF units
      Parameters:
      foValue - a value like "12mm" TODO: tested with "mm" units only, needs work to comply with FO spec Why does it search for period instead of simply breaking last two Characters into another units string? - Chris
      Throws:
      FOPException
    • numberToTwips

      private float numberToTwips(String number, String units) throws FOPException
      convert given value to twips according to given units
      Throws:
      FOPException
    • convertFontSize

      int convertFontSize(String size) throws FOPException
      convert a font size given in points like "12pt"
      Throws:
      FOPException
    • convertMptToTwips

      public float convertMptToTwips(int width)