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
andler
	 *
	protected IHTMLActionHandler actionHandler;
	**
	 * emitter services
	 *
	protected IEmitterServices services;
	**
	 * The <code>tagStack<code> that stores the tag names to be closed in
	 * <code>endContainer()<code>.
	 *
	private Stack tagStack = new Stack( );
	**
	 * display type of Block
	 *
	protected static final int DISPLAY_BLOCK = 1;
	**
	 * display type of Inline
	 *
	protected static final int DISPLAY_INLINE = 2;
	**
	 * display type of Inline-Block
	 *
	protected static final int DISPLAY_INLINE_BLOCK = 4;
	**
	 * display type of none
	 *
	protected static final int DISPLAY_NONE = 8;
	**
	 * display flag which contains all display types
	 *
	protected static final int DISPLAY_FLAG_ALL = 0xffff;
	**
	 * content visitor that is used to handle page headerfooter
	 *
	protected ContentEmitterVisitor contentVisitor;
	**
	 * the constructor
	 *
	public HTMLReportEmitter( )
	{
		contentVisitor = new ContentEmitterVisitor( this );
	}
	*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.birt.report.engine.emitter.IContentEmitter#initialize(org.eclipse.birt.report.engine.emitter.IEmitterServices)
	 *
	public void initialize( IEmitterServices services )
	{
		this.services = services;
		Object fd = services.getOption( RenderOptionBase.OUTPUT_FILE_NAME );
		File file = null;
		try
		{
			 fd != null )
			{
				file = new File( fd.toString( ) );
				File parent = file.getParentFile( );
				 parent != null && !parent.exists( ) )
				{
					parent.mkdirs( );
				}
				out = new BufferedOutputStream( new FileOutputStream( file ) );
			}
		}
		catch ( FileNotFoundException e )
		{
			logger.log( Level.WARNING, e.getMessage( ), e );
		}
		 out == null )
		{
			Object value = services.getOption( RenderOptionBase.OUTPUT_STREAM );
			 value != null && value instanceof OutputStream )
			{
				out = (OutputStream) value;
			}
			else
			{
				try
				{
					
					file = new File( REPORT_FILE );
					out = new BufferedOutputStream( new FileOutputStream( file ) );
				}
				cat