Multiple Character Sets
TRichView can display and edit documents containing text with different fonts.
All fonts have the specified Charset properties. By specifying different character sets, you can create documents consisting of text in different languages.
This mode is default for the old versions of Delphi and C++Builder (for RAD Studio 2007 and older).
Unicode is a modern worldwide character-encoding standard that uses 16-bit code values to represent all the characters used in modern computing, including technical symbols and special characters used in publishing.
You can insert separate Unicode characters or phrases in TRichView documents, or create documents completely in Unicode encoding.
TRichView can load, save, copy and paste Unicode text files, import Unicode text from RTF and export it to RTF, DocX and HTML.
In the new versions of Delphi and C++Builder (RAD Studio 2009 and newer), all text in TRichView is Unicode by default.
How to make Unicode editor in older versions of Delphi and C++Builder.
Bi-Directional Text (Arabic, Hebrew)
TRichView supports the Middle East languages where text is laid out in right-to-left reading order, as opposed to the default left-to-right order.
TRichView also supports contextual shaping* and combining characters**, common for Arabic.
In TRichView, you can specify left-to-right or right-to-left mode for the whole document, the paragraph, or the separate text fragment (document item).
* Contextual shaping occurs when a script's characters change shape depending on the characters that surround them.
** Combining characters or ligatures are characters that join into one character when placed together.
See the demo of bi-directional text:
TRichView can use Uniscribe to render bidirected text.
Support for bi-directional text is not turned on by default. In order to turn it on, change value of BiDiMode property of TRichView to rvbdLeftToRight or rvbdRightToLeft.
RichViewActions have commands for applying right-to-left and left-to-right text direction to the selected paragraphs and text.
Traditionally, many East Asian scripts are written vertically, from top to bottom. In TRichView, you can rotate text by 90° clockwise to provide a top-to-bottom text flow.
Support for Chinese, Japanese, Korean (text flow: top to bottom, columns are arranged from right to left)
To keep character orientation, one can use vertical fonts (containing characters rotated by 90° counterclockwise). Windows includes several vertical fonts having names prefixed with “@”, for example “@Arial Unicode MS”, “@Batang”, etc. In TRichView, table cells have an option to apply such fonts automatically to text rotated vertically.
Support for traditional Mongolian (text flow: top to bottom, columns are arranged from left to right)
In TRichView, table cells have an option to reverse a line order. For vertical text, it means reversing a column order. For example, for text rotated by 90° clockwise, this options arranges columns from left to right.
RichViewActions have commands for rotating text in table cells, applying vertical fonts and reversing order of lines/columns. They can be found in “Table | Cell Rotation” menu of the ActionTest demo.
* = DelphiUnicode, CBuilderUnicode, Delphi, CBuilder, depending on your Delphi/C++Builder version.