Сложный текстовый макет (CTL ) или рендеринг сложного текста - это верстка из систем письма, в которых форма или расположение графемы зависит от ее отношения к другие графемы. Этот термин используется в области программного обеспечения интернационализация, где каждая графема представляет собой символ ..
Скрипты, требующие CTL для правильного отображения, могут быть известны как сложные скрипты . Примеры включают арабский алфавит и шрифты брахмической семьи, такие как деванагари или тайский алфавит. Многие скрипты не требуют CTL. Например, символы латинского алфавита или китайские символы можно набирать, просто отображая каждый символ один за другим в прямых строках или столбцах. Однако даже у этих скриптов есть альтернативные формы или дополнительные функции (такие как курсивное письмо), которые требуют CTL для создания на компьютерах.
Основные характеристики CTL сложностью являются:
Не все проявления этих характеристик требуют CTL. Например, греческий алфавит имеет контекстно-зависимую форму буквы сигма, которая отображается как ς в конце слова и σ в другом месте. Однако эти две формы обычно хранятся как разные символы; например, Unicode имеет и U + 03C2 ς ГРЕЧЕСКАЯ СТРОЧНАЯ БУКВА ОКОНЧАТЕЛЬНАЯ СИГМА и U + 03C3 σ ГРЕЧЕСКАЯ СТРОЧНАЯ БУКВА СИГМА, и не обрабатывает их как эквивалент. В целях сопоставления и сравнения программное обеспечение должно рассматривать строку «δῖος Ἀχιλλεύς» как эквивалентную «δῖοσ Ἀχιλλεύσ», но для целей набора они различны, и CTL не требуется для выбора правильной формы.
Большая часть программного обеспечения для рендеринга текста, которое поддерживает CTL, будет включать информацию о конкретных сценариях, и поэтому сможет правильно их отображать без файлов шрифтов, требующих предоставьте инструкции о том, как раскладывать символы. Такое программное обеспечение обычно предоставляется в виде библиотеки ; Примеры включают:
. Однако такое программное обеспечение не может должным образом отображать любой скрипт, для которого ему не хватает инструкции, которые могут включать множество скриптов меньшинств. Альтернативный подход - включить инструкции по рендерингу в сам файл шрифта. Программное обеспечение для рендеринга по-прежнему должно уметь читать и следовать инструкциям, но это относительно просто.
Примеры этого последнего подхода включают Apple Advanced Typography (AAT) и Graphite. Оба эти названия охватывают как формат инструкции, так и поддерживающее его программное обеспечение; AAT включен в операционные системы Apple , а Graphite доступен для систем на базе Microsoft Windows и Linux.
Формат OpenType в первую очередь предназначен для систем, использующих первый подход (знание макета в рендерере, а не в шрифте), но он имеет несколько функций, которые помогают с CTL, например контекстный лигатуры. Инструкции AAT и Graphite могут быть встроены в файлы шрифтов OpenType.