Spacing. Olde Chicago says:  3‐em between words. En after colon followed by minuscule and after semicolon. Two 3‐em after colon followed by majuscule. Em after sentence‐concluding periods and exclamation and interrogation points.

For set text, that’s all fine and dandy. What about those ugly constant‐width faces used for “plain text,” when not wanting to use Unicode spaces? Perhaps something like this:  One space between words. Two after all colons and semicolons. Three after all sentence‐concluding periods & Co. Though that would certainly be quite unusual, even more so than simply putting two spaces between sentences.

I hinted at it:  Unicode has a bunch of fancy spaces. The useful ones here are U+2002 EN SPACE, U+2003 EM SPACE, and U+2004 THREE-PER-EM SPACE.

There are problems, though. For one, adding your usual spaces or tabs and newlines to HTML text nodes is problematic:  They will introduce U+0020 SPACE spaces to the rendered text. Furthermore, the good spaces don’t behave like other spaces would:  The CSS word-spacing declaration won’t work, for example. It is like that because these nice “fixed‐width spaces’” primary purpose isn’t to separate words. (I wonder what, then, their primary purpose is.) And only word separators get special treatment in justification. That does have its perks, too:  It’d be bad if two consecutive three‐per‐em spaces were replaced by less space.