{
throw new NullPointerException();
}
this.configuration = configuration;
final ExtendedConfiguration extendedConfig = new ExtendedConfigurationWrapper(configuration);
final double defaultFontSize = extendedConfig.getIntProperty(
"org.pentaho.reporting.engine.classic.core.layout.defaults.FontSize", 12);
setNumericFeatureValue(OutputProcessorFeature.DEFAULT_FONT_SIZE, defaultFontSize);
final double fontSmoothThreshold = extendedConfig.getIntProperty
("org.pentaho.reporting.engine.classic.core.layout.defaults.FontSmoothThreshold", 8);
setNumericFeatureValue(OutputProcessorFeature.FONT_SMOOTH_THRESHOLD, fontSmoothThreshold);
if (extendedConfig.getBoolProperty
("org.pentaho.reporting.engine.classic.core.layout.fontrenderer.UseMaxCharBounds", true) == false)
{
addFeature(OutputProcessorFeature.LEGACY_LINEHEIGHT_CALC);
}
if (extendedConfig.getBoolProperty(ClassicEngineCoreModule.COMPLEX_TEXT_CONFIG_OVERRIDE_KEY, false) == true)
{
addFeature(OutputProcessorFeature.COMPLEX_TEXT);
}
if (extendedConfig.getBoolProperty("org.pentaho.reporting.engine.classic.core.FixImageResolutionMapping", true))
{
addFeature(OutputProcessorFeature.IMAGE_RESOLUTION_MAPPING);
}
if (extendedConfig.getBoolProperty("org.pentaho.reporting.engine.classic.core.UseNativeScaling", true))
{
addFeature(OutputProcessorFeature.PREFER_NATIVE_SCALING);
}
if (extendedConfig.getBoolProperty("org.pentaho.reporting.engine.classic.core.DetectExtraContent", true))
{
addFeature(OutputProcessorFeature.DETECT_EXTRA_CONTENT);
}
if (extendedConfig.getBoolProperty
("org.pentaho.reporting.engine.classic.core.legacy.StrictCompatibility", false))
{
addFeature(OutputProcessorFeature.STRICT_COMPATIBILITY);
addFeature(OutputProcessorFeature.PRD_3750);
}
final double deviceResolution = extendedConfig.getIntProperty(
"org.pentaho.reporting.engine.classic.core.layout.DeviceResolution", 72);
if (deviceResolution > 0)
{
setNumericFeatureValue(OutputProcessorFeature.DEVICE_RESOLUTION, deviceResolution);
}