Using curly quotes and apostrophes in Dialog

As I poke through the implementation of the Dialog compiler, I’m pleasantly surprised to see it has special code to handle em-dashes, en-dashes, curly quotes, and curly apostrophes on the Z-machine. It automatically converts them to --, -, ", and ' when printing, instead of just leaving them as the usual unknown-unicode-character question mark.

So this is when I would go start prettifying all the quotes in my game, except—it doesn’t work in dictionary words. Which means the compiler will choke if there are quote marks or curly apostrophes in a (name $). This is a problem, because I have objects like “the Inspector’s overcoat”, and I think mixing curly and straight apostrophes will look worse than just using straight ones.

Is there a good workaround for this? I could add a special file only included in the Z-machine version that overrides all the apostrophized (name $) definitions, but that seems decidedly ugly.

What behaviour would you actually want from (name) the Inspector's overcoat with a curly apostrophe? Presumably you’d still want it to be recognised if the player entered it with a regular one? So it would be nice if the compiler would convert it to a plain apostrophe when targeting the Z-machine, but on targets that do support curly quotes, you would need some even more complex behaviour where it’s a curly quote for output but could be recognised as either for input?

Oh, I wouldn’t expect the game to do it automatically; I’d add a (dict) rule to recognize it with a straight apostrophe, as well as “Inspectors” for good measure.