Похоже, действительно все сложно. Я, по крайней мере, нашел про юни-коды, которые обозначают диакритические знаки: каждый такой знак - отдельный код, и он считается единой литерой со следующим за ним кодом буквы. А также есть, например, код 25EF - кружок. Он, вроде, должен рисоваться поверх (вокруг?) следующей за ним литеры. Правда, под рукой нет ни одной программы, где бы это работало, хаха.

Но в приложении - документ с рожей, в которой какие-то накладывающиеся псевдолитеры есть. В Линуксе библиотека pango рисует их как надо (накладывает), а в ББ TextSetter считает их за отдельные литеры, из-за этого курсор "убегает". В Wine никакого наложения нет, некоторых символов в шрифтах нет, и рожи почти не видно.

С положительной стороны - это, видимо, касается редких (для нас) случаев. К счастью, в русском языке Е-Ё и И-Й - разные буквы; никому даже в голову не приходит, что это диакритики. (Впрочем, и вокруг Ё не утихают споры).