This should be similar to the one in HtmlFormatProvider and RtfFormatProvider: Html/RtfImportSettings.FontSubstituting event.
When exporting RadDocument to HTML comments are omitted. MS Word, for example, adds comments as end notes using JavaScript.
If nested comments are present in the document, the end users cannot delete the nested one. If they put the caret inside the inner comment, or even inside the balloon associated with the inner comment, and press "Delete Comment", the most outermost comment is deleted instead of the current one.
In Word, slashes, dots, etc. are treated as separate words when moving the caret with Ctrl + Key.Right and Ctrl + Key.Left.
Exporting document containing Hebrew text to PDF results in correct text (letter-by-letter), but with wrong text flow: letters in the words are inverted and flow left-to-right instead of right-to-left.
Implement Mirror margins similar to the option in MS Word. In MS Word, this is controlled using Page Setup dialog -> Margins -> Pages -> Multiple pages: -> Mirror margins. Another possible options are 2 pages per sheet and Book fold.
The CSS styling for the "p" selector is not imported as a "NormalWeb" style. For example the following: <style type="text/css">p {margin-top:0; margin-bottom:0;}</style> should be imported as SpacingBefore and SpacingAfter set to 0 in Normal (Web) style.
When HTML is imported it may contain invalid images. In such case show the alternative text if there is such text.
Left indent and hanging indent of paragraph in a list are changed when the document is exported to HTML and then imported. Steps to reproduce: - Add text. - Apply list over the text. - Export the document to HTML - Import the exported HTML Expected: The paragraph in the list preserves its left indent (18 px) and hanging indent (18 px). Actual: The paragraph in the list is with left indent 18 px and hanging indent 0 px.
RadRichTextBox's behavior is to reject/accept the whole revision where the caret or selection is. Modify the behavior so only the selected region is rejected/accepted and the rest is split into two revisions. Consider multiple selection ranges as well.
When ignoring incorrect words through the Spelling dialog and you reach the last word in the document which is incorrect, only one more word from the beginning of the document is checked prior showing a message that the check is complete. Instead, all incorrect words starting from the beginning of the document should be spellchecked. The issue is reproduced when adding the incorrect words to the dictionary. In order to reproduce the issue, only "Ignore" or "Add to Dictionary" action should be applied. When the actions are mixed, the issue is not reproduced. Workaround: before opening the spellchecking dialog, move caret at the beginning of the document this.radRichTextBox.Document.CaretPosition.MoveToFirstPositionInDocument();
Add possibility to import files from MHTML format.
Add possibility to export files in MHTML format.
Current implementation of Text UI automation pattern doesn't support obtaining the attributes of the selection, e.g. bold, italic, etc. The API allows returning custom ITextRangeProvider where the behavior could be implemented , but this requires a lot of work. If this is built-in, the API will allow getting the attributes as follows: var automationPeer = (RadRichTextBoxAutomationPeer)FrameworkElementAutomationPeer.FromElement(this.radRichTextBox); TextPattern textPattern = (TextPattern)automationPeer.GetPattern(PatternInterface.Text); object isItalic = textPattern.GetSelection()[0].GetAttributeValue(TextPattern.IsItalicAttribute); if (isItalic == TextPattern.MixedAttributeValue) { // mixed } else { bool italic = (bool)isItalic; } Currently, AutomationElement.NotSupported is always returned.
When the caret position is inside Table and a page break is inserted, the table should be split into two tables with a page break between.
When a table is on a page different than the first one and user clicks on the thumb for resizing the table row height, wrong value is calculated and passed to the setter of the TableRow's Height property. This leads to wrong table layout when the document is exported using RtfFormatProvider.
When document fragment containing consecutive spans with same style is inserted with RadRichTextBox.InsertFragment method, and the document is with specific structure (which is not exactly known), NullReferenceException in HierarchicalIndex.GetBoxByHierarchicalIndex could be thrown when text is typed in specific places in the document. Workaround: Ensure that such spans are merged before creating the fragment: var document = xamlProvider.Import(xaml); document.MergeSpansWithSameStyles(); var fragment = new DocumentFragment(document); rtb.InsertFragment(fragment); --------------------------------------- Sample call stack: System.NullReferenceException at Telerik.Windows.Documents.HierarchicalIndex.GetBoxByHierarchicalIndex(DocumentLayoutBox documentBox, HierarchicalIndex hierarchicalIndex) at Telerik.Windows.Documents.DocumentPosition.RestorePositionFromBoxIndex(Nullable`1 raiseEvent) at Telerik.Windows.Documents.Model.RadDocumentEditor.InsertTextInternal(String text, Span currentSpanStyle, Boolean explicitAcceptsReturn) at Telerik.Windows.Documents.Model.RadDocumentEditor.InsertFromUI(String text, Span currentSpanStyle, Boolean acceptsReturn) at Telerik.Windows.Controls.RadRichTextBox.Telerik.Windows.Documents.UI.ITextInputCommandsHandler.InsertText(String text) at Telerik.Windows.Documents.UI.CaretTextInputHandler.InsertText(String text) at Telerik.Windows.Documents.UI.CaretTextInputHandler.HandleTextInsertedWithoutIme(RadDocument document, String text) at Telerik.Windows.Documents.UI.CaretTextInputHandler.CaretUI_TextInserted(Object sender, TextInsertedEventArgs e) at Telerik.Windows.Documents.UI.Caret.OnTextInserted(Object sender, TextInsertedEventArgs e) at Telerik.Windows.Documents.UI.Caret.OnTextChanged() at Telerik.Windows.Documents.UI.Caret.Caret_TextChanged(Object sender, TextChangedEventArgs e) ... Fix available in LIB Version 2018.2.813.
Consider introducing a property in the XAML that allows the user to set whether the gallery should be loaded asynchronously or not in order to handle scenarios in which the TableStylesGallery is not in a contextual tab.
Each time the Styles Gallery becomes visible it triggers an update of each style which leads to increased CPU usage. Significant performance delay is not experienced as the update is executed in dispatcher and with delayed execution. However, a blink of the styles could be noticed.