v / 12.0f * 1000.0f );
v * 12.0f * 1000.0f );
	public Value computeValue( CSSStylableElement elt, CSSEngine engine,			int idx, Value value )	{		if ( value.getCssValueType( ) == CSSValue.CSS_PRIMITIVE_VALUE )		{			switch ( value.getPrimitiveType( ) )			{				case CSSPrimitiveValue.CSS_NUMBER :					return value;				case CSSPrimitiveValue.CSS_PX :					float v = value.getFloatValue( );					CSSContext cx = engine.getCSSContext( );					float ratio = cx.getPixelUnitToMillimeter( );					return new FloatValue( CSSPrimitiveValue.CSS_NUMBER, v							* ratio / 25.4f * 72000.0f );				case CSSPrimitiveValue.CSS_MM :					v = value.getFloatValue( );					return new FloatValue( CSSPrimitiveValue.CSS_NUMBER,							v / 25.4f * 72000.0f );				case CSSPrimitiveValue.CSS_CM :					v = value.getFloatValue( );					return new FloatValue( CSSPrimitiveValue.CSS_NUMBER,							v / 2.54f * 72000.0f );				case CSSPrimitiveValue.CSS_IN :					v = value.getFloatValue( );					return new FloatValue( CSSPrimitiveValue.CSS_NUMBER,							v * 72000.0f );				case CSSPrimitiveValue.CSS_PT :					v = value.getFloatValue( );					return new FloatValue( CSSPrimitiveValue.CSS_NUMBER,							v * 1000.0f );				case CSSPrimitiveValue.CSS_PC :					v = value.getFloatValue( );					return new FloatValue( CSSPrimitiveValue.CSS_NUMBER,							v / 12.0f * 1000.0f );				case CSSPrimitiveValue.CSS_EMS :					v = value.getFloatValue( );					Value fontSize = (Value) elt.getComputedStyle( )							.getProperty( IStyle.STYLE_FONT_SIZE );					float fs = fontSize.getFloatValue( );					return new FloatValue( CSSPrimitiveValue.CSS_NUMBER, v * fs );				case CSSPrimitiveValue.CSS_EXS :					v = value.getFloatValue( );					fontSize = (Value) elt.getComputedStyle( ).getProperty(							IStyle.STYLE_FONT_SIZE );					fs = fontSize.getFloatValue( );					return new FloatValue( CSSPrimitiveValue.CSS_NUMBER, v * fs							* 0.5f );			}		}		return value;	}