TRichView.ru
English | Deutsch | Español | Português | Русский

      Описание 

Многоязыковая поддержка

Различные наборы символов (character sets)

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

Такой режим обеспечения многоязычности используется компонентом по умолчанию в старых версиях Delphi и C++Builder (в RAD Studio 2007 и более ранних версиях).

Этот метод имеет некоторые минусы. Во-первых, для некоторых «экзотических» языков charset не определён. Во-вторых, пользователю сложнее редактировать такой многоязыковый документ, так как это требует правильного указания набора символов для добавляемого текста, иначе он будет отображён неверно.


Юникод

Юникод — это современный стандарт кодировки знаков, позволяющий представить буквы практически всех письменных языков, включая некоторые технические значки и специальные символы, используемые в типографике. При этом используется 16-битное представление символов.
Возможно как вставлять отдельные юникодные символы и фразы, так и создавать полностью юникодные документы. TRichView загружает и сохраняет юникодный текст в файлах, копирует и вставляет его из буфера обмена Windows, импортирует из RTF и сохраняет в DocX, RTF и HTML.

В новых версиях Delphi и C++Builder (в RAD Studio 2009 и новее), весь текст в TRichView юникодный по умолчанию.

Как сделать юникодный редактор (англ.).

Юникод в RichViewEdit


Двунаправленный текст (поддержка арабских языков и иврита)

TRichView поддерживает ближневосточные языки, в которых текст читается справа налево, в отличие от привычного нам чтения слева направо. Кроме того, арабская письменность имеет ту особенность, что символы должны отображаться по-разному в зависимости от соседних символов; для него также характерны лигатуры (объединение нескольких соседних символов в один знак). Всё это поддерживается в компоненте.
Вы можете задать направление текста слева направо и справа налево для всего документа, для абзаца, для фрагмента текста (в большинстве случаев направление определяется автоматически исходя из содержимого).

Арабский текст RichViewEdit

TRichView может использовать библиотеку Uniscribe для работы с двунаправленным текстом.

Поддержка двунаправленного текста выключена в установках компонента по умолчанию. Для включения измените значение свойства BiDiMode на rvbdLeftToRight или rvbdRightToLeft.

См. демо поддержки двунаправленного текста: Demos\*\Assorted\International\RTL\

RichViewActions включают команды для изменения направления текста в выделенном фрагменте текста и абзацах.


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

Древние восточноазиатские тексты записывались в вертикальные колонки, в которых буквы располагаются сверху вниз. Хотя в настоящее время большинство языков, под влиянием европейских, переходят на горизонтальную запись, вертикальное письмо ещё в ходу, а для записи старинных текстов может быть необходимо. В TRichView, для задания направления текста сверху вниз, можно повернуть содержимое ячейки таблицы на 90° по часовой стрелке.

Поддержка китайского, японского, корейского языков (направление текста: сверху вниз, столбцы справа налево)

Для сохранения ориентации символов следует использовать вертикальные шрифты (содержащие символы, повёрнутые на 90° против часовой стрелки). Windows включает несколько вертикальных шрифтов с названиями, начинающимися с символа «@», такие как «@Arial Unicode MS», «@Batang» и др. В TRichView, ячейки таблицы имеют опцию автоматического применения таких шрифтов к тексту, повёрнутому вертикально.

Вертикальное китайское письмо в RichViewEdit

Поддержка традиционного монгольского и родственных языков (направление текста: сверху вниз, столбцы слева направо)

В TRichView, ячейки таблицы имеют опцию обращения порядка строк. Для вертикального текста, это означает обратный порядок столбцов. Например, для текста, повёрнутого на 90°, эта опция устанавливает порядок столбцов слева направо.

Традиционный монгольский текст в  RichViewEdit

RichViewActions включают команды, задающие использование вертикальных шрифтов и обращение порядка строк в выделенных ячейках таблицы. Эти команды находятся в меню «Таблица | Вращение ячейки» демонстрационного примера ActionTest.



* = DelphiUnicode, CBuilderUnicode, Delphi, CBuilder, в зависимости от версии Delphi/C++Builder, которую вы используете.