if (textValue == null || textValue == "" ) { textValue = " "; }
	public void startText( ITextContent text )	{		IStyle mergedStyle = text.getStyle( );		if ( peek( mergedStyle ) )		{			return;		}		logger.log( Level.FINE, "[HTMLReportEmitter] Start text" ); //$NON-NLS-1$		//Resize if the text generated by TemplateDesign		resizeTemplateElement( text);		StringBuffer styleBuffer = new StringBuffer( );		DimensionType x = text.getX( );		DimensionType y = text.getY( );		DimensionType width = text.getWidth( );		DimensionType height = text.getHeight( );		String textValue = text.getText( );		int display;		// If the item is multi-line, we should check if it can be inline-block		if ( textValue != null && textValue.indexOf( '\n' ) >= 0 )		{			display = checkElementType( x, y, width, height, mergedStyle,					styleBuffer );		}		else		{			display = checkElementType( x, y, mergedStyle, styleBuffer );		}		// action		String tagName;		if ( handleAction( text.getHyperlinkAction( ) ) )		{			tagName = HTMLTags.TAG_A;			setDisplayProperty( display, DISPLAY_BLOCK | DISPLAY_INLINE_BLOCK,					styleBuffer );			AttributeBuilder.checkHyperlinkTextDecoration( mergedStyle,					styleBuffer );		}		else		{			tagName = openTagByType( display, DISPLAY_FLAG_ALL );			setDisplayProperty( display, DISPLAY_INLINE_BLOCK, styleBuffer );		}		setStyleName( text.getStyleClass( ) );		// bookmark		setBookmark( tagName, text.getBookmark( ) );				// If text is get from a label or template, add it to active id list, and output type & iid to html		setActiveIDTypeIID( text );				// title		writer.attribute( HTMLTags.ATTR_TITLE, text.getHelpText( ) ); //$NON-NLS-1$		// check 'can-shrink' property		handleShrink( display, mergedStyle, height, width, styleBuffer );		handleStyle( text, styleBuffer, false );				String verticalAlign = mergedStyle.getVerticalAlign( );		if ( !"baseline".equals( verticalAlign ) && height != null )		{			// implement vertical align.			writer.openTag( HTMLTags.TAG_TABLE );			writer.attribute( HTMLTags.ATTR_STYLE, " width:100%; height:100%;" );			writer.openTag( HTMLTags.TAG_TR );			writer.openTag( HTMLTags.TAG_TD );			StringBuffer textStyleBuffer = new StringBuffer( );			textStyleBuffer.append( " vertical-align:" );			textStyleBuffer.append( verticalAlign );			textStyleBuffer.append( ";" );			String textAlign = mergedStyle.getTextAlign( );			if ( textAlign != null )			{				textStyleBuffer.append( " text-align:" );				textStyleBuffer.append( textAlign );				textStyleBuffer.append( ";" );			}			writer.attribute( HTMLTags.ATTR_STYLE, textStyleBuffer );			writer.text( textValue );			writer.closeTag( HTMLTags.TAG_TD );			writer.closeTag( HTMLTags.TAG_TR );			writer.closeTag( HTMLTags.TAG_TABLE );		}		else		{			writer.text( textValue );		}				writer.closeTag( tagName );	}