From what I read, the fullwidth glyphs in Unicode are provided solely for backward compatibility and lossless roundtrip with legacy standards such as Shift-JIS. The rationale seems to be that Unicode views it as a presentational issue that is better dealt with by the renderer based on linguistic context, and use of such characters is generally discouraged. In some cases, no compatibility character is provided at all, such as fullwidth left/right single/double quotation marks, because there is no legacy encoding that contains both forms.
Unicode recommends in the same document,
Ambiguous quotation marks are generally resolved to wide when they enclose and are adjacent to a wide character, and to narrow otherwise.
However, there are cases where the width gets tricky to resolve, which sometimes yields incorrect results across current fonts and implementations,
他们一致认为,目前最大的敌人无疑是“N问题”,即Nostalgia,思乡病。 “Make a wish! Make a wish!”琳琳和盼盼喊。 The term “char kway teow” is a transliteration of the Chinese characters “炒粿條”. 教授昨天讲了:“Hamlet的原文其实是Polonius (II.ii.) ‘Though this be madness, yet there is method in‘t.’“。 It seems that the recommended algorithm fails in such cases (some quotation marks are rendered with wrong/inconsistent width), and such cases may just be too complex for an algorithm to render without intricate and fragile rulesets for the language itself.
My question is thus, is there a common way to provide a hint in plaintext for the width of an ambiguous width character, maybe as a Unicode variation selector or something like RLM?