I had an idea about the smart quotes. The smartquote problem is algorithmically identical to the shaping of Arabic glyphs. Consequently the internal shaper (in HEAD) could be used to shape quotes on the fly for the screen/printer without changing the actual character in the document. Further, with very little extra effort, the quote translation could be locale- specific, so that, for instance, in Czech the opening quote would placed below the base line.
There are only two small problems with this: (a) the exporters to formats in which smart quotes make sense would need to use the shaping engine to get the correct version into the document; this would be very simple. (b) mechanism is needed for allowing the user to force the basic quote shape. If the user never wanted this behaviour, they would just turn smart quotes off, there is preference of that. The way I though it could be handled in isolated cases is to tie a zero-width-non-breaking space to some key, say alt+spacebar, and the user could surround such a quote with these spaces, thus making it into stand alone one (== the basic form). I think that this is entirely adequate, for the need to do this will be extremely rare (remember, we do not change the quote code in the document). Any comments? Tomas
