# What's New in TX Text Control .NET for WPF 20.0

> TX Text Control .NET for WPF 20.0 (X10): right-to-left text and layout, Kashida justification, hyphenation, a language dialog and MailMerge.MergeObjects.

- **Product:** TX Text Control .NET for WPF
- **Section:** Documentation
- **Kind:** Topic
- **Path:** TX Text Control .NET for WPF > What's New > Older Versions > What's New in TX Text Control .NET for WPF 20.0
- **3849 words**
- **Web URL:** https://docs.textcontrol.com/tx-text-control-dotnet-wpf/whats-new/older-versions/2000/
- **LLMs URL:** https://docs.textcontrol.com/tx-text-control-dotnet-wpf/whats-new/older-versions/2000/llms.txt
- **LLMs-Full URL:** https://docs.textcontrol.com/tx-text-control-dotnet-wpf/whats-new/older-versions/2000/llms-full.txt

---

Right-to-left languages such as Arabic and Hebrew arrived in TX Text Control with version 20.0. The WPF controls followed with a right-to-left layout of their own. The version also formats text for a language, hyphenates it with TX Spell .NET and merges business objects and data relations in `MailMerge`.

Version 20.0 was released in November 2013 as TX Text Control X10, together with TX Spell .NET 4.0 and TX Barcode .NET 3.0. The press release [Press Release: TX Text Control X10 Released - Reporting and Right-to-Left Support](https://www.textcontrol.com/blog/2013/11/20/press-release-tx-text-control-x10-released-reporting-and-right-to-left-support/) also says that all components became fully compatible with multi-threading, which speeds up the creation of documents in batches.

### Version 20.0 at a Glance

| Area | What is new |
|---|---|
| Right-to-left text | Bidirectional lines, right-to-left paragraphs, Arabic Kashida justification |
| Right-to-left layout | Mirrored `TextControl`, ruler bar, button bar, status bar, dialog boxes and context menus |
| Languages | A language for each piece of text, a language dialog box, the language in the status bar |
| Hyphenation | Automatic hyphenation with TX Spell .NET 4.0 |
| Mail merge | Data relations in every `Merge` overload, `MergeObjects`, image merging by name, NEXT and NEXTIF fields, report data source configurations |
| Button bar | Buttons for more font attributes, font sizes, indents and the writing direction |
| Page images | Images of pages with the elements shown on screen |

### Right-to-Left Text

- **Bidirectional lines.** A line can contain text written from left to right and text written from right to left. Behind a left-to-right character, the input position is on its right side; behind a right-to-left character, it is on its left side.
- **Paragraph direction.** [ParagraphFormat.Direction](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/paragraphformat/direction-property/llms-full.txt) formats a paragraph from right to left with the [Direction](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/direction/enumeration/llms-full.txt) value `RightToLeft`, so that its blocks of bidirectional text are ordered from right to left. In such a paragraph, a tab position is measured from the right page margin, and the natural alignment and the natural tab kind are right-aligned.
- **Change the direction.** [Selection.ChangeDirection](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/selection/changedirection-method/llms-full.txt) changes the writing direction of the selected paragraphs. It swaps left and right alignment and left and right tabs; centered and justified paragraphs keep their alignment.
- **Kashida justification.** Justified Arabic text can be stretched with Kashida lines instead of, or in addition to, wider spaces. [ParagraphFormat.Justification](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/paragraphformat/justification-property/llms-full.txt) takes a [Justification](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/justification/enumeration/llms-full.txt) value: `Spaces`, `Kashida` or `SpacesAndKashida`.
- **Input format.** [InputFormat.LeftToRight](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/inputformat/lefttoright-property/llms-full.txt) and [InputFormat.RightToLeft](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/inputformat/righttoleft-property/llms-full.txt) tell the direction at the input position.

### Right-to-Left Layout

The controls of TX Text Control support a right-to-left design of the application:

- **TextControl.** The `TextControl` shows its vertical scroll bar on the left and zooms from its top right corner.
- **Dialog boxes and context menus.** All built-in dialog boxes and context menus have a right-to-left design.
- **Toolbars.** The ruler bar has a right-to-left ruler, and the button bar and the status bar show their buttons and parts from right to left. In a right-to-left paragraph, the horizontal ruler bar starts at the right page margin.
- **Paragraph dialog box.** The paragraph formatting dialog box lets users format a paragraph from right to left.

[Right-to-Left UI](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/document-editor/ribbon-ui/right-to-left/llms-full.txt) shows how a WPF application of the current version is mirrored.

### Languages and Hyphenation

- **Languages.** Any piece of text can be formatted for a language with [Selection.Culture](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/selection/culture-property/llms-full.txt), so that one document can contain several languages. The language is used for spell checking and hyphenation, and all text filters keep it when they load and save documents in other formats. [MisspelledWord.Culture](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/misspelledword/culture-property/llms-full.txt) and [SpellCheckTextEventArgs.Culture](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/spellchecktexteventargs/culture-property/llms-full.txt) give the language of a misspelled word and of the text to check.
- **Language in the user interface.** [WPF.TextControl.LanguageDialog](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/textcontrol/languagedialog-method/llms-full.txt) opens a dialog box that gets or sets the language of the selected text or of the input position, and [WPF.StatusBar.ShowLanguage](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/statusbar/showlanguage-property/llms-full.txt) shows that language in the status bar.
- **Hyphenation.** With TX Spell .NET 4.0 connected through the [SpellChecker](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/textcontrol/spellchecker-property/llms-full.txt) property and [WPF.TextControl.IsHyphenationEnabled](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/textcontrol/ishyphenationenabled-property/llms-full.txt) set to `true`, words that don't fit on a line are hyphenated. For each word, the spell checker calculates where to divide it, and the [HyphenateWord](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/textcontrol/hyphenateword-event/llms-full.txt) event passes that position in its [HyphenateWordEventArgs](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/hyphenatewordeventargs/llms-full.txt). A handler can change [DividePos](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/hyphenatewordeventargs/dividepos-property/llms-full.txt), up to [MaxDividePos](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/hyphenatewordeventargs/maxdividepos-property/llms-full.txt), for the [Word](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/hyphenatewordeventargs/word-property/llms-full.txt) in its [Culture](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/hyphenatewordeventargs/culture-property/llms-full.txt). `ServerTextControl` received the same [IsHyphenationEnabled](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/servertextcontrol/ishyphenationenabled-property/llms-full.txt) property and [HyphenateWord](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/servertextcontrol/hyphenateword-event/llms-full.txt) event.

[Spell Checking and Hyphenation](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/document-editor/spell-checking/llms-full.txt) covers spell checking and hyphenation in the current version.

### Mail Merge

[MailMerge](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/llms-full.txt) creates documents from a template and data. Version 20.0 extended it considerably:

- **Data relations in every overload.** All overloads of [Merge](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/merge-method/llms-full.txt) process the relations between the tables of the data, which makes master-detail templates such as invoices with line items easier to merge. [MergeBlocks](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/mergeblocks-method/llms-full.txt) is obsolete: it needed an extra merge block around the whole document for the same result.
- **Business objects.** [MergeObjects](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/mergeobjects-method/llms-full.txt) merges any collection of objects, a `System.Collections.IEnumerable`, into the template. Collections of `Dictionary` objects with string keys followed in [Version 24.0](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/whats-new/older-versions/2400/llms-full.txt). See [Data Sources](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/mail-merge/data-sources/llms-full.txt).
- **Images.** Images in the template are replaced by name with the image data of the column of the same name and scaled to the width of the placeholder image. The column holds a byte array, `System.Drawing.Image` objects, file names or hexadecimal strings that start with `X'`. The [ImageMerged](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/imagemerged-event/llms-full.txt) event passes an [ImageMergedEventArgs](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge-imagemergedeventargs/llms-full.txt) object. Column names of image merge fields no longer need the prefix `image:`, which still works. See [Images and Barcodes](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/mail-merge/images-barcodes/llms-full.txt).
- **Formats of merge fields.** [MergeField.DateTimeFormat](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver-fields/mergefield/datetimeformat-property/llms-full.txt) and [MergeField.NumericFormat](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver-fields/mergefield/numericformat-property/llms-full.txt) hold the date and time format and the numeric format of a MERGEFIELD, which its field dialog box can now set.
- **NEXT and NEXTIF fields.** The adapters [NextField](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver-fields/nextfield/llms-full.txt) and [NextIfField](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver-fields/nextiffield/llms-full.txt) implement the MS Word fields NEXT and NEXTIF. See [Conditional Content](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/mail-merge/conditional-content/llms-full.txt).
- **Report data source configurations.** [ReportDataSourceConfigFile](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/reportdatasourceconfigfile-property/llms-full.txt) takes the path of a report data source configuration file (*.rdsc*) created with TX Text Control Words, and [ReportDataSourceConfig](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/reportdatasourceconfig-property/llms-full.txt) takes the same content as an XML string.
- **Template file.** [TemplateFile](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/templatefile-property/llms-full.txt) sets the path of the template, instead of calling `LoadTemplate`. The format is taken from the file extension.

### Button Bar

New buttons of `WPF.ButtonBar` set strikeout, subscript and superscript, grow and shrink all font sizes of the selection, increase and decrease the paragraph indents and switch the writing direction between left-to-right and right-to-left.

### Pages and Input Position

- **Screen elements in page images.** The [PageContent](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/pagecontent/enumeration/llms-full.txt) value `ScreenElements` makes [Page.GetImage](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/page/getimage-method/llms-full.txt) include what a screen shows in addition to the text, such as the selection, control characters and helper lines.
- **Caret size.** [InputPosition.CaretSize](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/inputposition/caretsize-property/llms-full.txt) gets the size of the caret at the input position, in pixels.

### Upgrade to Version 20.0

- **MergeBlocks.** `MailMerge.MergeBlocks` is obsolete. Merge templates with `Merge` and pass the data with its relations. [Deprecated APIs](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/whats-new/deprecated-apis/llms-full.txt) describes the replacement.
- **PageContent.** The [PageContent](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/pagecontent/enumeration/llms-full.txt) enumeration has the new value `ScreenElements`.

### New Classes, Properties, Methods and Events

The classes and members below are the ones that the What's New documentation of version 20.0 lists for TX Text Control .NET for WPF. Names are relative to the `TXTextControl` namespace, each name links to its current reference page, and "(obsolete)" marks a member that is obsolete today.

#### New Classes

- [DocumentServer.Fields.NextField](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver-fields/nextfield/llms-full.txt)
- [DocumentServer.Fields.NextIfField](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver-fields/nextiffield/llms-full.txt)
- [DocumentServer.MailMerge.ImageMergedEventArgs](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge-imagemergedeventargs/llms-full.txt)
- [HyphenateWordEventArgs](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/hyphenatewordeventargs/llms-full.txt)

#### Members by Class

| Class | Properties | Methods | Events |
|---|---|---|---|
| [DocumentServer.Fields.MergeField](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver-fields/mergefield/llms-full.txt) | [DateTimeFormat](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver-fields/mergefield/datetimeformat-property/llms-full.txt), [NumericFormat](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver-fields/mergefield/numericformat-property/llms-full.txt) |  |  |
| [DocumentServer.Fields.NextIfField](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver-fields/nextiffield/llms-full.txt) | [Expression1](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver-fields/nextiffield/expression1-property/llms-full.txt), [Expression2](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver-fields/nextiffield/expression2-property/llms-full.txt), [FieldValue](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver-fields/nextiffield/fieldvalue-property/llms-full.txt), [Operator](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver-fields/nextiffield/operator-property/llms-full.txt), [Result](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver-fields/nextiffield/result-property/llms-full.txt) |  |  |
| [DocumentServer.MailMerge](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/llms-full.txt) | [ReportDataSourceConfig](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/reportdatasourceconfig-property/llms-full.txt), [ReportDataSourceConfigFile](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/reportdatasourceconfigfile-property/llms-full.txt), [TemplateFile](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/templatefile-property/llms-full.txt) | [MergeObjects](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/mergeobjects-method/llms-full.txt) | [ImageMerged](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/imagemerged-event/llms-full.txt) |
| [DocumentServer.MailMerge.ImageMergedEventArgs](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge-imagemergedeventargs/llms-full.txt) | [ID](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge-imagemergedeventargs/id-property/llms-full.txt), [Image](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge-imagemergedeventargs/image-property/llms-full.txt), [Name](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge-imagemergedeventargs/name-property/llms-full.txt) |  |  |
| [HyphenateWordEventArgs](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/hyphenatewordeventargs/llms-full.txt) | [Culture](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/hyphenatewordeventargs/culture-property/llms-full.txt), [DividePos](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/hyphenatewordeventargs/dividepos-property/llms-full.txt), [MaxDividePos](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/hyphenatewordeventargs/maxdividepos-property/llms-full.txt), [Word](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/hyphenatewordeventargs/word-property/llms-full.txt) |  |  |
| [InputFormat](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/inputformat/llms-full.txt) | [LeftToRight](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/inputformat/lefttoright-property/llms-full.txt), [RightToLeft](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/inputformat/righttoleft-property/llms-full.txt) |  |  |
| [InputPosition](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/inputposition/llms-full.txt) | [CaretSize](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/inputposition/caretsize-property/llms-full.txt) |  |  |
| [MisspelledWord](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/misspelledword/llms-full.txt) | [Culture](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/misspelledword/culture-property/llms-full.txt) |  |  |
| [ParagraphFormat](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/paragraphformat/llms-full.txt) | [Direction](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/paragraphformat/direction-property/llms-full.txt), [Justification](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/paragraphformat/justification-property/llms-full.txt) |  |  |
| [Selection](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/selection/llms-full.txt) | [Culture](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/selection/culture-property/llms-full.txt) | [ChangeDirection](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/selection/changedirection-method/llms-full.txt) |  |
| [ServerTextControl](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/servertextcontrol/llms-full.txt) | [IsHyphenationEnabled](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/servertextcontrol/ishyphenationenabled-property/llms-full.txt) | [OnHyphenateWord](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/servertextcontrol/onhyphenateword-method/llms-full.txt) | [HyphenateWord](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/servertextcontrol/hyphenateword-event/llms-full.txt) |
| [SpellCheckTextEventArgs](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/spellchecktexteventargs/llms-full.txt) | [Culture](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/spellchecktexteventargs/culture-property/llms-full.txt) |  |  |
| [WPF.StatusBar](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/statusbar/llms-full.txt) | [ShowLanguage](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/statusbar/showlanguage-property/llms-full.txt) |  |  |
| [WPF.TextControl](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/textcontrol/llms-full.txt) | [IsHyphenationEnabled](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/textcontrol/ishyphenationenabled-property/llms-full.txt) | [LanguageDialog](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/textcontrol/languagedialog-method/llms-full.txt), [OnHyphenateWord](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/textcontrol/onhyphenateword-method/llms-full.txt) | [HyphenateWord](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/textcontrol/hyphenateword-event/llms-full.txt) |

### Next Steps

- [Version 21.0](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/whats-new/older-versions/2100/llms-full.txt): the features of the next version.
- [Version 19.0](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/whats-new/older-versions/1900/llms-full.txt): barcodes, even and odd headers and footers and page numbering.
- [Right-to-Left UI](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/document-editor/ribbon-ui/right-to-left/llms-full.txt): right-to-left text and a mirrored window in the current version.

---

## Nearby

- **Previous:** [What's New in TX Text Control .NET for WPF 21.0](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/whats-new/older-versions/2100/llms-full.txt)
- **Next:** [What's New in TX Text Control .NET for WPF 19.0](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/whats-new/older-versions/1900/llms-full.txt)
