%3F.png)
Ich erstelle ein Dokument mit der Schriftart Minion Pro, in der eine Ligatur „oo“ fehlt (z. B. U+A74F: ꝏ). Ich möchte diese Ligatur daher künstlich erstellen, indem ich den Abstand zwischen allen Vorkommen des Buchstabenpaars „oo“ automatisch reduziere. Ich kann dies manuell tun und einen Befehl erstellen (z. B. \oo
), aber das wäre im Vergleich zur Einfachheit anderer Ligaturen ziemlich ärgerlich.
Unten sehen Sie den Effekt, den ich mir wünschen würde, allerdings mit viel Mühe erstellt:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Minion Pro}
\begin{document}
\Huge
Bo\hspace{-.15em}ok\par Book
\end{document}
Antwort1
Dabei mache ich gezielt o
Aktionen aktiv, die Du in der Regel nicht möchtest \myligON
und stelle somit sicher \myligOFF
, dass deren Nutzung eingeschränkt ist.
\documentclass{article}
\let\svO o
\newcommand\OOkern{\hspace{-.15em}}
\newcommand\myligON{\catcode`o=\active }
\newcommand\myligOFF{\catcode`o=11 }
{\catcode`o=\active \gdefo#1{\svO\ifxo#1\expandafter\OOkern\fi#1}}
\begin{document}
Book
\myligON Book hop \myligOFF
versus Book hop
\end{document}
Antwort2
Ich würde das nicht überall machen, nur für besondere Effekte in Titeln in Displaygröße. Aber die Methode des Kernings erklärt Ulrike Fischer unterWie passe ich Schriftfunktionen in LuaTeX an?macht den Job:
% compile with lualatex
\documentclass{article}
\usepackage{fontspec}
\directlua{
fonts.handlers.otf.addfeature{
name = "oooh",
type = "kern",
data =
{
["o"] = { ["o"] = -175 },
},
}
}
\setmainfont{Minion Pro}[RawFeature=+oooh]
\begin{document}
Look at the old book in the nook.
\end{document}
Antwort3
Eine XeTeX
Lösung als Ergänzung zur Antwort von @Therese LuaTeX
unter Verwendung der Interchartoks
folgenden Funktion:
\documentclass{article}
\XeTeXinterchartokenstate = 1
\newXeTeXintercharclass \mycharclasso
\XeTeXcharclass `\o \mycharclasso
% between "o" and "o":
\XeTeXinterchartoks\mycharclasso\mycharclasso={\kern-2.5pt }
\usepackage{fontspec}
\setmainfont{Minion Pro}
\begin{document}
\huge\centering Look at the old book in the nook.
\end{document}