How to reproduce: set the page view in backstage, add a page item and set its text to be very long Workaround: use the custom theme
This functionality will decrease the size of the exported document.
Currently, the document won't be imported due to an exception when decoding the base64 string image source. The expected behavior is the document to be imported and the image to be shown as a missing image.
How to reproduce: set the RadRichTextEditor.IsReadOnly property to true, focus the control, use the Ctrl + K shortcut. The InsertHyperlinkDialog will be opened. Workaround: handle the CommandExecuting event public partial class Form1 : Form { public Form1() { InitializeComponent(); this.radRichTextEditor1.IsReadOnly = true; this.radRichTextEditor1.CommandExecuting += RadRichTextEditor1_CommandExecuting; } private void RadRichTextEditor1_CommandExecuting(object sender, Telerik.WinForms.Documents.RichTextBoxCommands.CommandExecutingEventArgs e) { if (this.radRichTextEditor1.IsReadOnly && e.Command is ShowInsertHyperlinkDialogCommand) { e.Cancel = true; } } }
The new functionality should allow the developer to load custom fonts in the memory and then use them in RadRichTextEditor.
Workaround: To clear a given property, basing on some logic which determines if it should be cleared. For example this.radRichTextEditor1.CommandExecuting += (s, e) => { if (e.Command is ChangeStyleNameCommand) { var style = this.radRichTextEditor1.Document.StyleRepository.GetValueOrNull(e.CommandParameter.ToString()); if (style.Type == Telerik.WinForms.Documents.Model.Styles.StyleType.Paragraph) { Paragraph paragraph = this.radRichTextEditor1.Document.CaretPosition.GetCurrentParagraphBox().AssociatedParagraph; foreach (Span span in paragraph.EnumerateChildrenOfType<Span>()) { span.ClearValue(Span.FontFamilyProperty); span.ClearValue(Span.FontSizeProperty); } } } };
There is an issue with the way the editor decides what width to render a table. The example I have encountered is in an HTML email from Outlook that contained a table. Whatever way Outlook composes the HTML, it adds a width attribute and a style attribute to the table's opening tag: <table width="0" style="width: 500px;"> In this situation, the inline style should take precedence over the width attribute (the width attribute is actually deprecated as of HTML5). This is how all common browsers behave. You can see in the attached 1_browser.png that Chrome correctly renders the table at 500px; However the RadRichtextEditor component incorrectly renders the table at width 0 as shown in attached 2_RadRichtextEditor.png, ignoring the width specified in the style attribute. Curiously, other CSS rules in the style attribute are correctly interpreted. For example: <table width="0" style="width: 500px;font-weight:bold;"> will display a table of zero width with bold text in the RadRichTextEditor. Thanks guys!
In certain fonts the caret is drawn on part of the last inputted character
Add support for All Capitals (All caps) and Small Capitals (Small caps) run property. MS Word has such option in Home -> Font -> Dialog Launcher -> Font -> All Caps/Small Caps. All letters of such runs are visualized as capital letters. The corresponding elements in OOXML are <w:caps /> and <w:smallcaps />.
Pressing Tab/Shift+Tab when caret position is at the beginning of a paragraph should change current paragraph FirstLineIndent instead of LeftIndent. First line indent should be changed to Document.DefaultTabWidth step. Workaround: private void RadRichTextEditor1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyData != Keys.Tab) { return; } this.radRichTextEditor1.Insert("\t"); e.SuppressKeyPress = true; e.Handled = true; }
Workaround: Handle the CommandExecuted event and change the font family after executing the paste command: private void RadRichTextEditor1_CommandExecuted(object sender, Telerik.WinForms.Documents.RichTextBoxCommands.CommandExecutedEventArgs e) { if (e.Command is PasteCommand) { foreach (var p in this.radRichTextEditor1.Document.EnumerateChildrenOfType<Paragraph>()) { if (p.IsInList) { var list = this.radRichTextEditor1.Document.ListManager.GetDocumentListById(p.ListId); list.ActualStyle.Levels[0].FontFamily = new Telerik.WinControls.RichTextEditor.UI.FontFamily("Symbol"); } } } }
How to reproduce: check the attached gif file
When the content of an entire row is copied and the caret is inserted in the left most column of a row, then the content of each cell in that row should be overwritten with the contents in the clipboard when pasted. When such content is pasted just after a table, new row is added and filled with values. When such content is pasted in paragraph, new table is created.