
私は Minion Pro フォントを使用して文書を作成していますが、このフォントには 'oo' 合字がありません (つまり、U+A74F: ꝏ)。そのため、文字ペア 'oo' の出現間の間隔を自動的に狭めて、この合字を人工的に作成したいと思います。これを手動で実行してコマンド (例\oo
) を作成することもできますが、他の合字の容易さに比べるとかなり面倒です。
以下は、面倒ではありますが、私が望む効果です。
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Minion Pro}
\begin{document}
\Huge
Bo\hspace{-.15em}ok\par Book
\end{document}
答え1
o
ここでは、一般的には望ましくないアクティブ化を行うため、その使用を制限するため\myligON
に提供します\myligOFF
。
\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}
答え2
私はこれをどこでも行うつもりはありません。ディスプレイサイズのタイトルに特別な効果を与えるためだけに行うつもりです。しかし、カーニングの方法は、Ulrike Fischerが次のように説明しています。LuaTeX でフォント機能を調整するにはどうすればいいですか?仕事はうまくいく:
% 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}
答え3
機能を利用して、XeTeX
@Therese の回答を補完するソリューション:LuaTeX
Interchartoks
\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}