Support of Compound Diacriticals In Unicode RVE's

General TRichView support forum. Please post your questions here
Post Reply
DickBryant
Posts: 148
Joined: Wed Dec 07, 2005 2:02 pm
Contact:

Support of Compound Diacriticals In Unicode RVE's

Post by DickBryant »

This is a bit over my head but sent in by one of my users. Are TRVE's supposed to support this capability? If so, what do I need to do in my application for them to be supported?

<QUOTE>
Yet Unicode contains another notable breed of characters: combining characters such as the U+0308 COMBINING DIAERESIS, generally depicted as a diaeresis floating over a dotted circle representing the character it combines with. Unicode can separate base characters from their diacritics. Our precomposed character U+00FC LATIN SMALL LETTER U WITH DIAERESIS may also equivalently be encoded as decomposed character sequence U+0075 LATIN SMALL LETTER U followed by U+0308 COMBINING DIAERESIS. The combining character is supposed to change the shape of the preceding character.
<QUOTE>
Sergey Tkachenko
Site Admin
Posts: 17559
Joined: Sat Aug 27, 2005 10:28 am
Contact:

Post by Sergey Tkachenko »

Yes, they are supported, at least they must be displayed properly in Unicode text.
(unfortunately, WinXP's API has bug in CharPrevW function disallowing to treat these two character as one in some cases; for example, TRichViewEdit these characters as one in Win2k, but not in WinXP, when user presses Delete key; but it should not be a big problem)
DickBryant
Posts: 148
Joined: Wed Dec 07, 2005 2:02 pm
Contact:

Post by DickBryant »

How can I enter a compound character like the one above to try this. It doesn't seem to work when I attempt to do it using the InsertSymbol rvAction and sequentially input a character followed by a diacritical.
Sergey Tkachenko
Site Admin
Posts: 17559
Joined: Sat Aug 27, 2005 10:28 am
Contact:

Post by Sergey Tkachenko »

The action inserts a protected symbol, so, if you type a diacritic character after it, it has different text style; so these characters are in different text items and cannot be combined.
This behavior can be changed only by modifying RichViewActions source code.
In RichViewActions.pas, remove the line:
fi.Protection := fi.Protection+[rvprDoNotAutoSwitch];
Post Reply