Обработка шрифтов в XeTeX

Обработка шрифтов в XeTeX

Оригинальная реализация Tex Кнута использует файлы TFM для использования информации о шрифтах для набора текста. Поскольку XeTeX поддерживает шрифты TrueType и OpenType через fontspecпакет, как он использует эти типы шрифтов? Создает ли он информацию на уровне файла TFM на лету во время набора текста? Кроме того, достаточно ли формата TFM для представления всей необходимой информации, требуемой для набора документов с использованием шрифтов OpenType или TrueType? В качестве побочного вопроса, если файлы TFM генерируются на лету, означает ли это, что если шрифт не доступен и в Linux, и в Mac, я не могу скомпилировать файл .dviв Linux и увидеть его в Mac?

решение1

Создает ли он информацию на уровне файла TFM «на лету» во время набора текста?

Нет, XeTeX считывает метрики шрифта непосредственно во время набора текста (с поддержкой сторонних библиотек), никакой «внутренний» TFM не генерируется для того, что XeTeX называет собственными шрифтами.

Достаточно ли формата TFM для представления всей необходимой информации, требуемой для набора документов с использованием шрифтов OpenType или TrueType?

Нет, помимо ограничения на количество глифов, представленных в файлах TFM (которое можно более или менее устранить, например, в файлах OFM компании Omega), OpenType предоставляет более продвинутые типографские возможности, выходящие далеко за рамки механизмов лигатуры, поддерживаемых форматом TFM.

… означает ли это, что если шрифт не доступен и в Linux, и в Mac, я не смогу скомпилировать файл .dvi в Linux и увидеть его на Mac?

Это правда, если у вас нет одного и того же файла шрифта в одном и том же месте на обеих системах, сгенерированный XeTeX XDV (eXtended DVI) не может быть обработан на другой системе. Однако конечный вывод XeTeX — это файлы PDF, которые являются переносимыми, файлы XDV считаются промежуточным представлением, просто деталью реализации. Обратите внимание также, что это верно для обычных файлов DVI; если у вас нет одинаковых файлов метрик и шрифтов на обеих системах, файлы DVI не могут быть обработаны, DVI независим от устройства, но непереносим.

решение2

Когда вы загружаете шрифт в TeX с помощью примитивной команды

\font\foo=bar

к которому в конечном итоге сводятся все макросы высокого уровня (например, LaTeX), TeX прочитает файл bar.tfmи сохранит в памяти содержащуюся в нем информацию.

В XeTeX нет необходимости в файлах TFM для шрифтов OpenType и TrueType, поскольку необходимая информация уже есть в таблицах шрифтов, которые XeTeX может изучить.

На самом деле XeTeX хранит гораздо больше метрической информации, чем обычный шрифт в TeX, который обычно имеет только семь параметров.

\font\foo="Linux Libertine O"

XeTeX знает значения до \fontdimen65для этого шрифта. Однако ограничение в семь \fontdimenпараметров не запрограммировано в формате TFM, и шрифт может иметь любое их количество (хотя для текстового шрифта семь — это минимум).

Выходной формат XeTeX — XDV, расширение формата DVI, для которогонетПредварительный просмотр доступен. Невозможно просмотреть файл XDV с помощью Xdvi или других предварительных просмотрщиков DVI. Действительно, файл XDV передается xdvipdfmxво время обработки для создания файла PDF, который содержит всю необходимую информацию для чтения на любой платформе.

Связанный контент