Textfield painted into bitmapdata bug?

If I create a simple Textfield and place it on the stage, it looks good.

If I take the same Textfield, and paint it into a BitmapData (first putting the Textfield into a Sprite so I can paint it), the resulting BitmapData is not the same, pixel for pixel, as the original textfield on the stage.

Please refer to the attached image for a zoomed in view on the differences in the aliasing.

Why is this? What can I do to keep the two pixel-for-pixel identical?

private static function doTest( stg:Stage ):void
	{
		var tf:TextField = new TextField();
		tf.text = "TESTING";
		tf.textColor = 0xFF0000;

		var sp:Sprite = new Sprite();
		sp.addChild( tf );

		stg.addChild( sp );

		var bmd:BitmapData = new BitmapData( tf.width, tf.height, true, 0 );
		bmd.draw( sp );
		var bm:Bitmap = new Bitmap( bmd );
		bm.x = 0;
		bm.y = 20;
		stg.addChild( bm );
	}