我正在 Windows 上使用 LuaLaTeX 编写文档,使用 Arial(请不要对此发表评论)作为其主要字体:
\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX}
\setmainfont[Renderer=Basic]{Arial}
为了保留我使用的通常的 TeX 替换Ligatures=TeX
,但除非另外使用,否则这不起作用Renderer=Basic
。
答案1
luaotfload
(在 LuaLaTeX 底层进行 OpenType 布局的软件包)有两种字体处理模式;base
一种是尝试将尽可能多的 OpenType 查找转换为传统的 TeX 连字和字距调整机制的模式(可以将其视为动态地从 OpenType 字体创建 TFM 文件),并且它受到 TeX 传统支持的限制;另一种是node
尝试完全在 Lua 中忠实地进行 OpenType 处理的模式。fontspec
映射Renderer=Basic
到前者,并Renderer=Full
映射到后者。
为什么Renderer=Basic
需要 才能Ligatures=TeX
使用某些字体,这是此功能在 中实现的人工产物luaotfload
,它实际上是一个错误,但 的开发luaotfload
停滞了……