Новое в версии 16

<< Нажмите, чтобы показать Содержание >>

Новое в версии 16

Совместимость

Начиная с этой версии, измерение и рисование текста выполняются с помощью Uniscribe; поэтому размер текста может отличаться (например, Uniscribe всегда использует кернинг текста); обычно форматирование текста с помощью Uniscribe происходит медленнее (по сравнению с использованием Windows API без поддержки двунаправленного текста); вы можете вернуться к Windows API, см. раздел «Uniscribe» ниже.

Вывод текста Uniscribe (а иногда и вывод текста Windows) несовместим с метафайлами; см. раздел «Uniscribe» ниже.

ParaStyle.Alignment = rvaJustify реализовано путём изменения ширины пробелов при рисовании текста, в то время как в более старых версиях компонентов каждое слово рисовалось отдельно. Новый метод усложняет нестандартное рисование текста; вы можете вернуть старый метод выравнивания, активировав RVOLDJUSTIFY в RV_Defs.inc; однако эта директива отключает ParaStyle.Alignment = rvaDistribute (он начинает работать как rvaJustify).

TRVStyle.OnDrawStyleText имеет новые параметры.

Константа RichViewSafeFormatting удалена (заменена на RichViewStringFormatMethod).

Приложения, скомпилированные с более старыми версиями ТРВ-Редактора, не могут читать RVF-файлы, содержащие таблицы с изменёнными значениями прозрачности (Opacity<>100000).

Начиная с этой версии, все проекты для C++Builder 6, использующие ТРВ-Редактор, должны включать $(BCB)\Lib\Psdk\msimg32.lib. В противном случае компоновка (линковка) завершается ошибкой о неразрешённой внешней функции "AlphaBlend". Для Delphi и более новых версий C++Builder никаких изменений не требуется.

Изменён алгоритм расчёта ширины столбцов таблицы.

Uniscribe

Начиная с этой версии, компоненты используют Uniscribe для рисования и измерения текста.

Вы можете вернуться к Windows API, используя свойство TRVStyle.TextEngine.

По умолчанию вывод текста Uniscribe несовместим с метафайлами. Вы можете включить совместимость с метафайлами для компонентов TRVReportHelper и TRVPrint, используя свойство MetafileCompatibility.

Новые свойства абзаца

Новое значение для свойства Alignment​​rvaDistribute. Оно выравнивает содержимое абзаца по левому и правому краям, расширяя межсимвольные интервалы.

Новое свойство LastLineAlignment задаёт выравнивание последней строки выровненных по ширине абзацев.

Улучшенные атрибуты двунаправленного текста

Следующая функциональность ранее была отключена для двунаправленного текста; теперь она работает:

TextStyle.CharSpacing

ParaStyle.Alignment = rvaJustifyrvaDistribute)

TRVPrint.PreviewCorrection

нестандартное рисование выделенного текста (хотя теперь реализовать нестандартное рисование стало сложнее)

Вся эта функциональность реализована как для Windows, так и для Uniscribe.

Вертикальный текст

Для вертикального текста в ячейках таблиц реализованы специальные настройки (options).

Помимо поворота на 90°, компонент может автоматически применять вертикальные версии шрифтов (полезно для китайского, японского, корейского языков) и обратный порядок строк (полезно для традиционного монгольского языка).

Форматирование

Компоненты требуют меньше памяти для документов, содержащих текст, выровненный по ширине.

Улучшения:

документы, содержащие длинные строки в текстовых элементах, форматируются значительно быстрее, чем раньше; улучшенный метод быстрого форматирования текста теперь может использоваться не только в TRichViewEdit, но и в TRVPrint и ScaleRichView;

текст, выровненный по ширине, форматируется значительно быстрее, чем раньше.

Улучшен алгоритм определения размера таблицы, он гораздо лучше обрабатывает ячейки, занимающие несколько столбцов.

Стили

Новая опция для RVFOption: rvfoSaveStyleTemplatesOnlyNames. Она позволяет создать несколько документов RVF, использующих общую коллекцию шаблонов стилей (StyleTemplates).

Прозрачность

Фон абзацев, таблиц, ячеек таблиц, сносок в рамке и текстовых полей может быть полупрозрачным: к этим объектам добавлено новое свойство Opacity.

Новое свойство TRVReportHelper.AllowTransparentDrawing позволяет использовать методы для полупрозрачного рисования. Это полезно для рисования поверх других изображений.

См. раздел справки о полупрозрачных объектах.

Поддержка режимов экрана с высокой плотностью пикселей (High DPI)

Размер маркеров выделения на сенсорном экране изменяется пропорционально плотности пикселей экрана.

Размеры маркеров списка хранятся в файлах DFM и RVF как свойство Size (вместо Height), поэтому они больше не зависят от плотности пикселей экрана.

Установка и структура каталогов

Начиная с этого обновления, ТРВ-Редактор автоматически устанавливается в среду разработки Delphi и C++Builder.

Новый установщик устанавливает компоненты в Delphi и C++Builder, как для 32-битных, так и для 64-битных (если таковая имеются) платформ. Установщик добавляет все необходимые пути к библиотеке RAD Studio.

Исходный код перемещен в папку «Source», inc-файл перемещен в папку «Source\Include».

Для RAD Studio XE8+ этот файл справки интегрирован в среду разработки (как справка по клавише  F1 , так и в меню «Help | Third-Party Help»).

Другие изменения

TRichViewEdit.RemoveCurrentPageBreak удаляет разрыв страницы из текущего абзаца (а не из текущего элемента документа, как раньше).

Новая глобальная переменная RichViewSaveHyperlinksInDocXAsFields.

 Ctrl + Delete  удаляет слово справа от позиции каретки.