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
LE_HEADER )
			{
				ttribute( tagName, "wrth" );
			}
			else  bandType == TableBandDesign.TABLE_FOOTER )
			{
				ttribute( tagName, "wrtf" );
			}
			else  bandType == TableBandDesign.GROUP_HEADER )
			{
				ttribute( tagName, "wrgh" + rowContent.getGroupLevel( ) );
			}
			else  bandType == TableBandDesign.GROUP_FOOTER )
			{
				ttribute( tagName, "wrgf" + rowContent.getGroupLevel( ) );
			}
		}
	}
	
	*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.birt.report.engine.emitter.IContentEmitter#endRow(org.eclipse.birt.report.engine.content.IRowContent)
	 *
	public void endRow( IRowContent row )
	{
		 pop( ) )
		{
			return;
		}
		 assert currentData != null;
		
		 currentData.adjustCols( );
		writer.closeTag( HTMLTags.TAG_TR );
	}
	*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.birt.report.engine.emitter.IContentEmitter#startCell(org.eclipse.birt.report.engine.content.ICellContent)
	 *
	public void startCell( ICellContent cell )
	{
		 isHidden( ) )
		{
			return;
		}
		 int span;
		 i
		logger.log( Level.FINE, "[HTMLTableEmitter] Start cell." ); 
		 cell != null )
		{
			 o
			writer.openTag( HTMLTags.TAG_TD ); 
			 s
			setStyleName( cell.getStyleClass( ) );
			 c
			 ( cell.getColSpan( ) ) > 1 )
			{
				ttribute( HTMLTags.ATTR_COLSPAN, cell.getColSpan( ) );
			}
			 r
			 ( cell.getRowSpan( ) ) > 1 )
			{
				ttribute( HTMLTags.ATTR_ROWSPAN, cell.getRowSpan( ) );
			}
			 v
			StringBuffer styleBuffer = new StringBuffer( );
			IStyle mergedStyle = cell.getStyle( );
			String vAlign = null;
			String textAlign = null;
			 mergedStyle != null )
			{
				vAlign = mergedStyle.getVerticalAlign( );
				textAlign = mergedStyle.getTextAlign( );
			}
			 vAlign == null )
			{
				IStyle cs = cell.getComputedStyle( );
				vAlign = cs.getVerticalAlign( );
				styleBuffer.append( "vertical-align: " );
				styleBuffer.append( vAlign );
				styleBuffer.append( ";" );
			}
			 textAlign == null )
			{
				IStyle cs = cell.getComputedStyle( );
				textAlign = cs.getTextAlign( );
	