Class JvmBugs

  • public class JvmBugs
    extends Object
    • Constructor Detail

      • JvmBugs

        public JvmBugs()
    • Method Detail

      • hasLineBreakMeasurerBug

        public static boolean hasLineBreakMeasurerBug()
        The LineBreakMeasurer is used for calculating text bounds. The last official JDK 6 version (1.6.0_45) and also JDK 7 (1.7.0_21) for Windows are affected. For JDK 7 - update to a more recent version. For JDK 6 - replace the fontmanager.dll with the previous release (1.6.0_43). For performance reasons, this method only checks for a windows jvm with version 1.6.0_45 and 1.7.0_21. Set system property "org.apache.poi.JvmBugs.LineBreakMeasurer.ignore" to "true" to bypass this check and use the normal fonts.
        true, if jvm is bugged, caller code should use Lucida Sans instead of Calibri and Lucida Bright instead of Cambria
        See Also:
        Workaround for XSLF, Workaround for XSSF and HSSF, POI Bug #54904, JDK Bug #6501991, JDK Bug #8013716, LineBreakMeasurerTest