In the following lines there are some Unicode space characters wrapped in a span with red border to check them. They are included using their numeric character references.

[] hair space U+200A

[] thin space U+2009

[] non-breaking space U+00A0

[] punctuation space U+2008

[] en space U+2002

[] figure space U+2007

[] ideographic space U+3000

[] em space U+2003

[] six-per-em space U+2006

[] four-per-em space U+2005

[] three-per-em space U+2004

The same as before, but with the characters directly 'typed' in the source of this page (which is specified as 'charset=utf-8') instead of using their numeric character references.

[] hair space U+200A

[] thin space U+2009

[] non-breaking space U+00A0

[] punctuation space U+2008

[] en space U+2002

[] figure space U+2007

[] ideographic space U+3000

[] em space U+2003

[] six-per-em space U+2006

[] four-per-em space U+2005

[] three-per-em space U+2004

Now having specified the 'Arial Unicode MS' font family.

[] hair space U+200A

[] thin space U+2009

[] non-breaking space U+00A0

[] punctuation space U+2008

[] en space U+2002

[] figure space U+2007

[] ideographic space U+3000

[] em space U+2003

[] six-per-em space U+2006

[] four-per-em space U+2005

[] three-per-em space U+2004

Now having specified the 'Lucida Sans Unicode MS' font family.

[] hair space U+200A

[] thin space U+2009

[] non-breaking space U+00A0

[] punctuation space U+2008

[] en space U+2002

[] figure space U+2007

[] ideographic space U+3000

[] em space U+2003

[] six-per-em space U+2006

[] four-per-em space U+2005

[] three-per-em space U+2004

Now having specified the Code2000 font family.

[] hair space U+200A

[] thin space U+2009

[] non-breaking space U+00A0

[] punctuation space U+2008

[] en space U+2002

[] figure space U+2007

[] ideographic space U+3000

[] em space U+2003

[] six-per-em space U+2006

[] four-per-em space U+2005

[] three-per-em space U+2004

Now with white-space: pre declared for the spans containing the characters.

[] hair space U+200A

[] thin space U+2009

[] non-breaking space U+00A0

[] punctuation space U+2008

[] en space U+2002

[] figure space U+2007

[] ideographic space U+3000

[] em space U+2003

[] six-per-em space U+2006

[] four-per-em space U+2005

[] three-per-em space U+2004

With white-space: pre and Arial Unicode.

[] hair space U+200A

[] thin space U+2009

[] non-breaking space U+00A0

[] punctuation space U+2008

[] en space U+2002

[] figure space U+2007

[] ideographic space U+3000

[] em space U+2003

[] six-per-em space U+2006

[] four-per-em space U+2005

[] three-per-em space U+2004

In all the modern browsers the above works correctly (or better: 'as expected'), with small variations among them. Except in Opera where almost all spaces are converted to a normal space, except when white-space: pre is in effect (last two sets). In IE6 is necessary that an existing font containing the required characters is specified.