Как предотвратить объединение персонажа?

Как предотвратить объединение персонажа?

Шрифт "EB Garamond" объединяет ʿсимвол и предшествующую букву. Рассмотрим следующий документ:

\documentclass{article}
\usepackage{fontspec}
\setmainfont{EB Garamond}
\begin{document}

   aʿ bʿ cʿ dʿ eʿ fʿ gʿ hʿ iʿ jʿ kʿ lʿ mʿ nʿ oʿ pʿ qʿ rʿ sʿ tʿ uʿ vʿ wʿ xʿ yʿ zʿ

\end{document}

введите описание изображения здесь

Как предотвратить расчесывание ʿ(БУКВА-МОДИФИКАТОР ЛЕВОЕ ПОЛУКОЛЬЦО) и предшествующую букву? (На изображениях выше только b,d,i,jони отображаются правильно.)

ОбновлятьПосле тестирования более тридцати, это единственный шрифт, у которого есть эта проблема. К сожалению, эта форма подходит только для бумаги, содержащей много глифов Unicode. ◕︵◕

решение1

В качестве временного локального исправления в случаях, когда это необходимо, вы можете поставить керн перед символом, чтобы скрыть его от предыдущей буквы.

  a\kern0ptʿ

не будут объединяться.

решение2

Извините, это была оплошность, и она была исправлена ​​в версии 0.015b, которую я только что загрузил наhttps://bitbucket.org/georgd/eb-garamond/downloads

решение3

Единственным «решением» для XeTeX было бы использование файлов карт, создание файла, half-ring.mapкоторый сообщает XeTeX о необходимости вставлять пробел перед любым полукольцом модификатора в наборах:

LHSName "Modifier Half Ring"
RHSName "UNICODE"
pass(Unicode)

U+02BF <> U+200A U+02BF;

Затем скомпилируйте его с помощью teckit_compile(должен быть включен в TeX Live) и измените команду шрифта на \setmainfont[Mapping=half-ring]{EB Garamond}.

Обратите внимание, что в настоящее время XeTeX может применять только один файл сопоставления для каждого шрифта, поэтому, если вы используете другие файлы сопоставления (или Ligature=TeXпараметр шрифта), вам придется скопировать это сопоставление в указанный выше файл.

решение4

Если вы согласны перейти на LuaLaTeX,Микопредстоящийselnoligpackage (на GitHub) — ваш друг. Он на самом деле предназначен для глобального избежания непреднамеренных лигатур, но может использоваться и для этого. Он ничего не изменит, если вы загрузите его без языковой опции:

\documentclass{article}
\usepackage{fontspec}
    \setmainfont{EB Garamond}

\usepackage{selnolig}
    \nolig{ʿ}{|ʿ}
\begin{document}

   aʿ bʿ cʿ dʿ eʿ fʿ gʿ hʿ iʿ jʿ kʿ lʿ mʿ nʿ oʿ pʿ qʿ rʿ sʿ tʿ uʿ vʿ wʿ xʿ yʿ zʿ

\end{document}

выход

Для получения дополнительной информации оselnolig , взгляните наНовый пакет selnolig, автоматизирующий подавление типографских лигатур.

Посмотрим на проблему с другой стороны: я ничего не знаю об этом конкретном символе Unicode, но если EB Garamond действительно делает что-то неправильно и это единственный шрифт, который это делает, вам следует отправить отчет об ошибке по адресуего сайт разработки.

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