Personnaly, I’m using space bar in all the cases you’ve mentioned. Except sometimes before the percent sign.
I use a non-breaking space (that would be option+space on my OS). It unfortunately is often wider than it should be, but I don’t know of any convenient way to type a narrow non-breaking space.
A bunch of questions on this site already address the usage of spaces around punctuation in French. For instance:
- Which space should one use before punctuation ? Does it depends on the technology?
- Pourquoi place-t-on une espace avant les ponctuations fortes ? — Why is there a space before certain punctuation marks?
More can be found browsing the typographie tag.
Usage varies among countries. In France at least your observations are correct; all “high punctuation marks” are preceded by spaces (some are thin spaces) according to standard typographic conventions.
(I’m not sure about
%, which is not punctuation. I can only say that it is not commonly preceded by a space on electronic support. Some thin space might be found print, though I’m not sure; this needs to be confirmed.)
A large majority of French speakers from France use a space before a question mark, exclamation mark, colon or semi-colon, both in handwriting and typewriting. On a keyboard or on a phone most would use straight English quote marks (without spaces) because only those are available on a traditional keyboard. However, whenever one chooses to use proper French quotation marks, inner spacing is added, — let me say it once more — in France.
To sum it up, and now I think this statement is compatible with Switzerland, Belgium
and Quebec usages as well, whenever a thin space would be expected in print, it is commonly replaced by a normal space when typed on a keyboard. Software is sometimes able to transform this normal space into a thin unbreakable space when appropriate.