Bug 180249 BPS39 - Centralized Chart Engine API
Centralized and clearer Engine API -Create one single entry point class ChartEngine in an api package so it's easy to find (with access to IGenerator, Serializer, Device Renderers) -Create a new IGenerator interface instead of exposing the Generator class.
chart/org.eclipse.birt.chart.engine/src/org/eclipse/birt/chart/factory/Generator.java
if ( newStyle != null )
		{
			if ( currentStyle.getFont( ) == null )
			{
				if ( newStyle.getFont( ) != null )
				{
					currentStyle.setFont( FontDefinitionImpl.copyInstance( newStyle.getFont( ) ) );
				}
			}
			else if ( newStyle.getFont( ) != null )
			{
				FontDefinition fd = currentStyle.getFont( );
				FontDefinition newFd = FontDefinitionImpl.copyInstance( newStyle.getFont( ) );
				ChartUtil.mergeFont( fd, newFd );
			}
			if ( currentStyle.getColor( ) == null
					&& newStyle.getColor( ) != null )
			{
				currentStyle.setColor( ColorDefinitionImpl.copyInstance( newStyle.getColor( ) ) );
			}
		}
		
		FontDefinition fd = currentStyle.getFont( );
		if ( fd != null
				&& fd.getName( ) != null
				&& fd.isSetSize( )
				&& fd.isSetBold( )
				&& fd.isSetItalic( )
				&& fd.isSetRotation( )
				&& fd.isSetWordWrap( )