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
 uri in style image
	 * @return
	 *
	public String handleStyleImage( String uri )
	{
		String id = null;
		 FileUtil.isLocalResource( uri ) && FileUtil.isRelativePath( uri ) )
		{
			File path = null;
			String base = (String) runnable
					.getProperty( IReportRunnable.BASE_PROP );
			 base != null && !"".equals( base ) ) 
			{
				path = new File( base, uri );
			}
			else
			{
				String reportName = runnable.getReportName( );
				 reportName != null )
				{
					String parent = new File( new File( reportName )
							.getAbsolutePath( ) ).getParent( );
					path = new File( parent, uri );
				}
				else
				{
					 TO FIXME
				}
			}
			 path == null || !path.exists( ) )
			{
				logger
						.log(
								Level.SEVERE,
								"file {0} not found", path == null ? null : path.getAbsoluteFile( ) ); 
				return null;
			}
			id = path.getAbsolutePath( );
		}
		else
		{
			id = uri;
		}
		Image image = new Image( id );
		image.setReportRunnable( runnable );
		image.setRenderOption( renderOption );
		String imgUri = null;
		 imageHandler != null )
		{
			switch ( image.getSource( ) )
			{
				case IImage.URL_IMAGE :
					imgUri = imageHandler.onURLImage( image, renderContext );
					break;
				case IImage.FILE_IMAGE :
					imgUri = imageHandler.onFileImage( image, renderContext );
					break;
				case IImage.INVALID_IMAGE :
					break;
				default :
					assert ( false );
			}
			 imgUri = imgUri.replace( File.separatorChar, '' );
		}
		return imgUri;
	}
	**
	 * Handles the style of the styled element content
	 * 
	 * @param element
	 *            the styled element content
	 * @param styleBuffer
	 *            the StringBuffer instance
	 *
	protected void handleStyle( IContent element, StringBuffer styleBuffer,
			boolean bContainer )
	{
		IStyle style;
		 isEmbeddable )
		{
			style = element.getStyle( );
		}
		else
		{
			style = element.getInlineStyle( );
		}
		AttributeBuilder.buildStyle( styleBuffer, style, this, bContainer );
		 !bContainer )
		{
			Attribut