wc = '?';
/* Filter out the RIGHT-TO-LEFT and LEFT-TO-RIGHT bidi markers because
* they result in screen corruption. See ticket #3827.
+ * Filter soft-hypen. See ticket #3848.
*/
else if (Charset_is_utf8 &&
- ((wc == (wchar_t)0x200f) || (wc == (wchar_t)0x200e)))
+ ((wc == (wchar_t)0x200f) || (wc == (wchar_t)0x200e) ||
+ (wc == (wchar_t)0x00ad)))
continue;
k2 = wcrtomb (scratch, wc, &mbstate2);
scratch[k2] = '\0';
dprint (3, (debugfile, "skip zero-width character U+%04X\n", (unsigned short)wc));
continue;
}
- /* Filter bidi markers, see ticket #3827 */
- if (wc == (wchar_t)0x200f || wc == (wchar_t)0x200e)
+ /* Filter bidi markers, see ticket #3827
+ Filter soft hyphen, see ticket #3848 */
+ if (wc == (wchar_t)0x200f || wc == (wchar_t)0x200e || wc == (wchar_t)0x00ad)
{
- dprint (3, (debugfile, "skip bidi marker U+%04X\n", (unsigned short)wc));
+ dprint (3, (debugfile, "filtered U+%04X\n", (unsigned short)wc));
continue;
}
}