Bug 129792 BIDI3.2: [HCG] HTML/Web/PDF viewers are not mirrored
This is very specific BiDi issue related to the ability of the product to mirror its interface (and sometimes alter other aspects of its behavior) when Eclipse is started with option "-dir rtl" 1. Start eclipse with "-dir rtl" option 2. Create any Report 3. Preview it using Web/HTML/PDF options Result: The layout of report as it appear in the Eclipse in the Layout tab and as it appears in HTML/PDF are different. While on Layout tab the report is mirrored on HTML/PDF it is not.
engine/org.eclipse.birt.report.engine.emitter.html/src/org/eclipse/birt/report/engine/emitter/html/HTMLReportEmitter.java
	{
		logger.log( Level.FINE, "[HTMLReportEmitter] End body." ); 
		 report != null )
		{
			List errors = report.getErrors( );
			 errors != null && !errors.isEmpty( ) )
			{
				outputErrors( errors );
			}
		}
		 !isEmbeddable )
		{
			writer.closeTag( HTMLTags.TAG_BODY );
			writer.closeTag( HTMLTags.TAG_HTML );
		}
		else
		{
			writer.closeTag( HTMLTags.TAG_DIV );
		}
		writer.endWriter( );
		writer.close( );
		 out != null )
		{
			try
			{
				out.close( );
			}
			catch ( IOException e )
			{
				logger.log( Level.WARNING, e.getMessage( ), e );
			}
		}
	}
	*** 
     * output the style of page headerfooterbody.
	 * In embedded HTML, we output the style as inline style, otherwise
     * use the style name as the "class"
	 * @param styleName name of the style
	 * @param style style object
	 *
	public void handlePageStyle( String styleName, IStyle style )
	{
		 isEmbeddable )
		{
			StringBuffer styleBuffer = new StringBuffer( );
			AttributeBuilder.buildStyle( styleBuffer, style, this );
			ttribute( HTMLTags.ATTR_STYLE, styleBuffer.toString( ) );
		}
		else
		{
			setStyleName( styleName );					
		}	
	}
	*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.birt.report.engine.emitter.IContentEmitter#startPage(org.eclipse.birt.report.engine.content.IPageContent)
	 *
	public void startPage( IPageContent page )
	{
		pageNo++;
		
		 pageNo > 1 && outputMasterPageContent == false )
		{
			writer.openTag( "hr" );
			writer.closeTag( "hr" );
		}
		
		writer.openTag( HTMLTags.TAG_DIV );
			 pageNo > 1 )
			{
			ttribute( HTMLTags.ATTR_STYLE, "page-break-before: always;" );
		}
		
		 page != null )
		{
			 outputMasterPageContent )
			{
				
				writer.openTag( HTMLTags.TAG_DIV );		
				handlePageStyle( page.getPageHeader().getStyleClass( ), page.getPageHeader().getStyle( ) );
				
				contentVisitor.visitList( page.getHeader( ), null );
				
				
				writer.closeTag( HTMLTags.TAG_DIV );
			}
			}
		
		 
		writer.openTag( HTMLTags.TAG_DIV );
		 page != null )
		{
			IContent 