在 LuaLaTeX 中禁用“Th”连字

在 LuaLaTeX 中禁用“Th”连字

喜欢纽约客,我希望我的 Adob​​e Caslon Pro 具有连字符ffl,ffi,等等,但不适用于钍。

使用 LuaLaTeX,我怎样才能简单地禁用结扎? 是否可以在不使用selnolig软件包的情况下执行此操作?如果不行,您能否告诉我应如何修改序言以使其正常selnolig工作?

\documentclass[fontsize=13.5pt,oneside,DIV=calc]{scrbook}
\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{Adobe Caslon Pro}
\usepackage[paperwidth=150mm,paperheight=225mm]{geometry}
\geometry{verbose,tmargin=0.55in,bmargin=0.5in,lmargin=0.6in,rmargin=0.6in}
\pagestyle{empty}
\usepackage{microtype}
\usepackage{csquotes}
\MakeOuterQuote{"}
\MakeInnerQuote{´}
\automatichyphenmode=1
\frenchspacing
\usepackage{polyglossia}\setdefaultlanguage[variant=american]{english}

答案1

注意:此答案中的解决方案比使用 selnolig 提供了更精细的控制来禁用/启用连字。据我所知,selnolig 会全局禁用所有字体的连字。原始问题并未提及要禁用文档中使用的所有字体的 Th 连字,相反,它指定了应禁用该连字的确切字体系列“Adobe Caslon Pro”。使用 fontspec 解决方案,您可以实现以下任一结果:全局禁用所有字体或基于每个字体禁用。

这个lualatex解决方案来自详细答案这里. 使用命令运行>> lualatex <filename>.tex。该命令的来源是 ConTEXt land,请参阅第 8.14 节Pragma ADE 的 Hans Hagen 撰写的“ConTEXt 之外的字体”

\usepackage{fontspec}
\directlua{
  fonts.handlers.otf.addfeature{
    name = "noth",
    type = "multiple",
    data = {
      ["T_h"] = { "T", "h" },
    },
  }
}

% Option-1 To disable the ligature for just Adobe Caslon Pro
\setmainfont[Ligatures=TeX,RawFeature=+noth]{Adobe Caslon Pro}

% OR

% Option-2 To disable the ligature globally for all fonts
\defaultfontfeatures{RawFeature=+noth}
\setmainfont[Ligatures=TeX]{Adobe Caslon Pro}

答案2

你问过,除其他问题外,

...您能告诉我具体该如何修改我的序言以使得selnolig [全局禁用“Th”连字符]吗?

干得好:

\usepackage{selnolig} % don't specify a language option
\nolig{Th}{T|h}

有关更多信息,请参阅该包的用户指南第 5.5 节“如何使用 selnolig 包抑制某些连字全球“。

相关内容