New in version 16

<< Click to display table of contents >>

New in version 16

Compatibility issues

Since this version, text measuring and drawing is performed using Uniscribe; so text size may be different (for example, Uniscribe always uses text kerning); usually, text formatting is slower with Uniscribe (if you do not need support of bidirectional text); you can switch back to Windows API, see "Uniscribe" below

Uniscribe text output (and sometimes Windows text output) is not compatible with metafiles; see "Uniscribe" below;

ParaStyle.Alignment = rvaJustify is implemented by modifying space character widths when drawing text, while older versions of the components drew each word separately. The new method complicates custom drawing of text; you can return the old justification method by activating RVOLDJUSTIFY in RV_Defs.inc; however, this directive disables ParaStyle.Alignment = rvaDistribute (it works like rvaJustify)

TRVStyle.OnDrawStyleText has new parameters.

RichViewSafeFormatting constant is removed (replaced with RichViewStringFormatMethod)

applications compiled with older versions of TRichView cannot read RVF files containing tables having changed values of Opacity (Opacity<>100000).

starting from this version, all projects for C++Builder 6 that use TRichView must include $(BCB)\Lib\Psdk\msimg32.lib. Otherwise, linking ends with an error about unresolved external "AlphaBlend". No changes are required for Delphi and newer versions of C++Builder

the algorithm for calculation of width of table columns is improved and may produce different results.

Uniscribe

Since this version, the components use Uniscribe for text drawing and measuring.

You can switch back to Windows API using TRVStyle.TextEngine property.

By default, Uniscribe text output is not compatible with metafiles. You can turn on metafile compatibility for TRVReportHelper and TRVPrint components using MetafileCompatibility property.

New paragraph properties

New value for Alignment rvaDistribute. It aligns paragraph content to the both left and right sides by adding space between all characters.

New property LastLineAlignment defines alignment for the last line of justified and distributed paragraphs.

Improved attributes in bi-directed text

The following features were previously disabled for bi-directed text; they work now:

TextStyle.CharSpacing

ParaStyle.Alignment = rvaJustify (and rvaDistribute)

TRVPrint.PreviewCorrection

custom drawing of selection (although, custom drawing is more complicated now)

All these functions are implemented both for Windows and Uniscribe API.

Vertical text

Special options are implemented for vertical text in table cells.

In addition to rotation by 90°, the component can automatically apply vertical versions of fonts (useful for Chinese, Japanese, Korean) and reverse line order (useful for traditional Mongolian)

Formatting

The components need less memory for documents containing justified text.

Improvements

documents containing long strings in text items are formatted much faster than before; improved fast text formatting method now can be used not only in TRichViewEdit, but in TRVPrint and in ScaleRichView;

justified text is formatted much faster than before.

Table sizing algorithm is improved, it processes wide spanned cells much better.

Styles

New RVFOption: rvfoSaveStyleTemplatesOnlyNames. It allows creating multiple RVF documents using the same collection of StyleTemplates.

Transparency

Background of paragraphs, tables, table cells, sidenotes and text boxes can be semitransparent: a new Opacity property is added to these objects.

New property TRVReportHelper.AllowTransparentDrawing allows using methods for semitransparent drawing. It is useful for drawing over other images.

See the topic about semitransparent objects.

Support of high DPI screen modes

Size of touch screen selection handles is changed proportionally to the screen resolution. Sizes of list markers are stored as Size (instead of Height) property in DFM and RVF files, so they do not depend on screen resolution any more.

Installation and directory structure

Starting from this update, TRichView is installed automatically in Delphi and C++Builder IDE.

The new installer installs the components in Delphi and C++Builder, both for 32-bit and 64-bit platforms (if available). The installer adds all necessary paths to RAD Studio library.

Source code is moved to "Source" folder, inc-file is moved to "Source\Include" folder.

For RAD Studio XE8+, this help file is integrated in IDE (both F1 help, and menu "Help | Third-Party Help")

Other changes

TRichViewEdit.RemoveCurrentPageBreak deletes a page break from the current paragraph (not from the current item as before)

New RichViewSaveHyperlinksInDocXAsFields global variable.

 Ctrl + Delete  deletes a word to the right of the caret.