French punctuation spaces

Can any French typesetters (or of course English typesetters with extensive experience of French typesetting) give me the rules for which spaces should appear before and after the different punctuation marks?

I found this excerpt courtesy of Microsoft:

Note: When traditionally typesetting the French language a word space is inserted before or after several punctuation characters. These characters are colon, semi colon, question, exclamation, right guillemets, and left guillemets. Commonly the preferred word space used is a thin space of 1/8 the em. Some French typographers prefer to use a larger space character of 1/4 the em with the colon and some other punctuation characters. OpenType supports character substitution and language dependant variants.