Multi-byte Unicode characters can be represented as multiple ANSI characters in the form \'xx, for example:
\'89\'ce can represent the character 火 if multi-byte encoding should be used. Using multi-byte encoding could be set explicitly using the \ucN tag, or implicitly using the \fcharset for the current font (e.g. \fcharset134 is double-byte).
When such text is imported (commonly CJK text [Chinese, Korean, Japanese] the characters are imported incorrectly (as two '?' or as two different characters for each character)
Such RTF documents are produced from Office 2010 (Word, Outlook), WordPad - on saving or on copying content from the applications.
Profiling results show bottleneck in the line-breaking logic within Paragraph MeasureOverride.
this.radRichTextBox.PreviewEditorKeyDown += (sender, args) =>
{
if (Keyboard.Modifiers.HasFlag(ModifierKeys.Alt) && Keyboard.Modifiers.HasFlag(ModifierKeys.Control) && args.Key == Key.E)
{
args.SuppressDefaultAction = true;
args.OriginalArgs.Handled = true;
this.radRichTextBox.Insert("€");
}
};
Add a way to convert between RadRichTextBox's RadDocument and RadWordsProcessing's RadFlowDocument. This will enable integration scenarios between the two products, including using RadWordsProcessing's format providers for import and export.
In some complex script languages, like Telugu and Thai language, some characters are grouped (e.g. consonants + vowels) in new grapheme. For example, type 'p' in Telugu - 'జ', followed by 'ో' - they are combined in new grapheme - 'జో', or paste the following Thai grapheme: ชื UI correctly visualizes this, but: - Text measuring assumes that the grapheme width is equal to the sum of the widths of its parts (characters), which is not correct. Selection and caret position are scrambled because of this. - There are document positions between the grapheme parts (characters), but shouldn't. - When the caret is before the grapheme, deleting with "Delete" key deletes the grapheme in multiple steps (character by character), but should delete it in single step. Deleting with "Backspace" works correctly. - There are some unsupported combinations in some languages. For example in Thai, typing 'z' then 'y' will produce grapheme, but typing 'w' then 'y' will not produce grapheme, and the 'y' should be ignored.