使用 ConTeXt MkIV(即使用 LuaTeX 引擎)时,我注意到连字在某些 TrueType 字体中无法正常工作,即使它们在 LuaLaTeX 甚至 LibreOffice 中可以正常工作。据我所知,常见的链接是 Graphite,但这可能是一个转移注意力的借口。
作为示例,我将比较Charis SIL
(TrueType/Graphite)、DejaVu Serif
(plain? TrueType) 和Linux Libertine O
(OpenType)。
语境:
\usetypescript[charissil]
\usetypescript[dejavu]
\usetypescript[libertine]
\starttext
\title{\CONTEXT\ MkIV}
\tfd
\setupbodyfont[charissil]
Charis SIL: Difficult
\setupbodyfont[dejavu]
DejaVu Serif: Difficult
\setupbodyfont[libertine]
Linux Libertine O: Difficult
\stoptext
乳胶:
\documentclass{article}
\usepackage{fontspec}
\begin{document}
\section*{Lua\LaTeX}
\Huge
\fontspec{Charis SIL}
Charis SIL: Difficult
\fontspec{DejaVu Serif}
DejaVu Serif: Difficult
\fontspec{Linux Libertine O}
Linux Libertine O: Difficult
\end{document}
输出:
从中可以看出,ConTeXt 输出Charis SIL
缺少正确的连字。ffi
那么,如何Charis SIL
在 ConTeXt 中正确使用?我尝试了 ConTeXt 手册中列出的几个连字选项\definefontfeature
,但这些选项并没有什么区别,而且似乎仅适用于 OpenType。
答案1
Charis SIL 启用ffi
拉丁文连字。可以在本地激活此功能
\setupbodyfont[charissil]
{\feature[+][latn]Charis SIL: Difficult}
或全球
\definefontfeature [default] [default] [script=latn]