When the document uses a font that cannot be found on the machine, it is substituted for another font. What should happen is to fall back to another font for the visualization, but to preserve the original font in the model. Partial workaround: for HTML import, the font can be preserved by subscribing to the FontSubstituting event: provider.ImportSettings.FontSubstituting += ImportSettings_FontSubstituting; private void ImportSettings_FontSubstituting(object sender, FontSubstitutingEventArgs e) { e.SubstitutionFontFamily = new FontFamily(e.OriginalFontName); }
If the empty run is defined with start-tag and end-tag the import is correct: <w:p> <w:r></w:r> </w:p> However, if it is defined with empty-element tag, its parent Paragraph is not imported: <w:p> <w:r/> </w:p> Fix available in R2 2018 SP1 release version.
Some of the methods in RadDocumentEditor/RadRichTextBox call RadDocument.EnsureDocumentMeasuredAndArranged(), but some don't, for example: - InsertAnnotationRange - InsertLine - ChangeAllFieldsDisplayMode This causes exceptions or incorrect behavior what layout is not performed on the document. Workaround: Call EnsureDocumentMeasuredAndArranged before the problematic methods.
The parent of an already removed span cannot be found and a NullReferenceException is thrown while performing Undo. Also, multiple asserts are failing in Debug mode. The stack trace is: UnhandledException: Object reference not set to an instance of an object. UnhandledException: at Telerik.Windows.Documents.Layout.LayoutElement.SetParent(LayoutElement newParent) at Telerik.Windows.Documents.Layout.LayoutBox.EnsureParent() at Telerik.Windows.Documents.Layout.LayoutBox.get_Parent() at Telerik.Windows.Documents.Layout.LayoutBox.get_ValidParent() at Telerik.Windows.Documents.WordPositionHandler.GetParentHandler() at Telerik.Windows.Documents.DocumentPosition.GetCurrentSectionBox() at Telerik.Windows.Documents.UI.DocumentPrintLayoutPresenter.GetCurrentPage() at Telerik.Windows.Documents.UI.DocumentPrintLayoutPresenter.MeasureOverride(Size availableSize) at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
When the users select a table using the thumb provided by the TableAdorner, the table is selected but the Table Tools contextual tab in RadRichTextBoxRibbonUI is not activated. Workaround: Attach to SelectionChanged and move the caret position to the first position of the table when the selection range is only one and is of type Table. Sample code is attached.
Implement built-in support for the Sogou Pinyin Input Method Editor. Sogou Pinyin is the most popular IME in China (above 80% of the users are using it). Currently RadRichTextBox doesn't support Sogou Pinyin IME out of the box, and the users have to manually implement it, as described in the "How to implement your own IME support?" ( https://docs.telerik.com/devtools/wpf/controls/radrichtextbox/ime-support#how-to-implement-your-own-ime-support ) help article and the CustomCaret (https://github.com/telerik/xaml-sdk/tree/master/RichTextBox/CustomCaret ) SDK example.
Currently unknown/unsupported elements are skipped, which potentially loses text content. Consider adding setting in HtmlImportOptions allowing the phrasing content (text) of these elements to be imported. Sample HTML: <html> <body> <test-test>test-test</test-test> <body/> </html> Browsers visualize it as "test-test", while RadRichTextBox doesn't import anything. MS Word imports such elements as inline elements (just like spans).
The field result shows the number of pages the current section contains.
When a span element's opening and closing tags are on different lines in the HTML and there is no content in the span, it should be imported as a single space. For example, the following HTML: test,<span> </span>test<span> should be imported as test, test Note: If there is content in the span that is split between the lines, it is correctly imported: test,<span>a </span>test<span> results in test,a test
<samp> HTML element could be imported as span with specific formatting. Currently it's just ommited.
When RadRichTextBox for WPF is hosted in a WinForms application (through ElementHost), typing with Japanese IME duplicates the typed letters, which makes the control unusable with the default behavior. Possible workaround: Create custom caret. There are some suggestions in this forum thread: https://www.telerik.com/forums/richtextbox-doesn't-support-japanese-ime-when-hosted-in-winforms
Switching between bulleted and numbered lists only affects current paragraph instead of changing the list for all paragraphs currently included in it. Steps to reproduce 1. Create a numbered list with several items 2. Click the bulleted list button Expected behavior: The entire list switches from numbered to bulleted Actual behavior: The current list item switches to bulleted but the rest of the list remains numbered. Workaround: When the ToggleBulletsCommand is executed, traverse the PreviousSiblings and NextSiblings of the current paragraph and change their list properties if they belong to the same list. Sample code attached. Note: the workaround will change the list properties only for the consecutive paragraphs of the same list and will create a selection to do so.
The content of the table cells seems to be rendered in the correct position while the borders are drawn above the continues section break.
Implement Auto Text gallery for inserting text. More information related to Auto Text can be found on the following post: https://support.office.com/en-us/article/automatically-insert-text-0bc40cab-f49c-4e06-bcb2-cd43c1674d1b
When copying the formatting using span to span selection, any formatting applied with a character style is lost.
When selection is applied quick after format painter is clicked formatting is not applied.
The Outline view shows the content of a document as bulleted points. It enables the user to easily move whole paragraphs within the document or to create headings.
Allow the customers to change the properties defined in the default stylesheet. They need to change properties like font size, font family, border-spacing, line-spacing, as in RadRichTextBox they might be different from the ones used by the browsers.
Loading large documents freezes the UI. Instead, the document could be imported and measured asynchronously in a background thread, and some progress indicator shown to the user.
Note: Image sources should be frozen when the document is loaded in a background thread.
Workaround: Following the steps:
- Import the document in a background thread using the specific format provider.
- Freeze all images in the document using the methods in the attached file.
- Set the document to RadRichTextBox in the main thread using a dispatcher: this.Dispatcher.Invoke(new Action(() => { this.radRichTextBox.Document = document; }));
Implement an option for the customers to split a document into two views, allowing them to edit and view different parts of the document at the same time.