Localized quotes
This is an old discussion that has not been active in a long time. Before commenting here, you should strongly consider starting a new discussion instead. If you think the content of this discussion is still relevant, you can link to it from your new discussion.
For field content, I assume that it would make more sense to code the correct Unicode values into the field (perhaps with a "Localize" context menu item, as a companion to the other transforms).
For user-supplied affix fields, it would be preferable to rely on the client (eventually tinyMCE or something like that) to handle this kind of thing, but if there is need, I suppose the processor could handle it as well.
If you don't want to add it to the proc (you did it for apostrophes), I'd prefer an option à la LibreOffice, i.e. a checkbox which would automatically change "space?" by "nbsp?".
Hum... No, I think that's a csl issue: styles are localized and that's part of the localization. Indeed, the downside of an option in the client (checkbox à la LibreOffice) is that the user would have to change all fields when writing in English. That sounds crazy.
FrenchApostrophe
FrenchOrthography
The FrenchApostrophe test is placing non-breaking space between the guillemet and the text they enclose, which seems to be correct. In the FrenchOrthography test, they are ordinary spaces. If these are converted to non-breaking spaces (for guillemet and for the other punctuation marks flagged in the other thread), this will address the fault?
I was fooled at first because the character is visibly indistinguishable from a plain space in my editor (Emacs). But it's definitely returning thin no-break spaces in the FrenchOrthography test. If that's not correct behavior, or if it's not behaving as a no-break space when it hits one of the rendering engines (Word, LibreOffice, various browsers) let me know; but as far as I can tell the processor is already trying to do the right thing here.
As Rintze said, I think we might add these exceptions somewhere in the CSL specs (how?).
(and by the way, am I right that the behaviour you're describing above (automatic replacement of space by thin no-break space) is applied whatever the Zotero language field or the locale defined in a style?)
Anyway, I didn't realized that it is controlled by the delimiter.
<layout suffix="." delimiter="; ">
So changing it to:
<layout suffix="." delimiter="&#8239;; ">
should work.It might be useful to localize that but probably tricky.