In bug 399941, I chose to take whitespace into account when determining whether there was punctuation preceding or following a first-letter. This was probably the wrong decision: as pointed out in http://lists.w3.org/Archives/Public/www-style/2010Oct/0030.html, French typographical practice always puts a space between text and double angle quotation marks (guillemets).
Created attachment 481458 [details] Testcase The testcase uses ASCII space, non-breaking space, and thin space (U+2009) between the text and the guillemets.
Would this mean allowing line breaks inside the ::first-letter? That seems dangerous. (I'd also like to move first-letter handling to frame construction.)
I agree about line breaks, and the same goes for tab characters.