diff --git a/ui/text/text.cpp b/ui/text/text.cpp index d13b96810..badcd6e66 100644 --- a/ui/text/text.cpp +++ b/ui/text/text.cpp @@ -2011,8 +2011,11 @@ bool IsSpace(QChar ch) { || (ch == QChar::Tabulation); } -bool IsDiacritic(QChar ch) { // diacritic and variation selectors - return (ch.category() == QChar::Mark_NonSpacing) +bool IsDiacritic(QChar ch) { // diacritic, combining and variation selectors + const auto category = ch.category(); + return (category == QChar::Mark_NonSpacing) + || (category == QChar::Mark_Enclosing) + || (category == QChar::Mark_SpacingCombining) || (ch.unicode() == 1652) || (ch.unicode() >= 64606 && ch.unicode() <= 64611); }