A character outside the Basic Multilingual Plane is written as two consecutive \u control words holding the halves of a surrogate pair, as in \uc1\u-10187 ?\u-9157 ?. Each half was converted on its own, and since Text cannot hold an unpaired surrogate it became U+FFFD, so 𝐻 came out as two replacement characters. Hold a high surrogate back until we know whether the low surrogate completing it follows, and combine the two. An unpaired surrogate denotes no character, so it is now dropped rather than replaced; any text other than the next \u ends the wait, so halves separated by text are not combined. Closes #11920.
12 lines
135 B
Plaintext
12 lines
135 B
Plaintext
{\rtf1\ansi
|
|
\pard
|
|
\'93hi\'94
|
|
\u8216\'93hi\u8217\'94
|
|
\u-3913?
|
|
\u945a
|
|
{\uc2\u228\'E8a}
|
|
\uc1\u-10187 ?\u-9157 ?
|
|
\u-10187 ?unpaired
|
|
\par
|
|
}
|