这是我的代码:
\starttext
\starttyping
-- comment
\stoptyping
\stoptext
它可以很好地编译:
但是,如果我改变字体:
\usemodule[simplefonts][size=12pt]
\setmonofont[Source Code Pro]
\starttext
\starttyping
-- comment
\stoptyping
\stoptext
其中一个破折号消失:
为什么会发生这种情况?
答案1
如果你加载等宽字体而没有任何进一步的信息,它将自动启用tlig
包含--
和的 TeX 连字 ( ) ---
。为了防止这种情况,请使用 加载字体features=none
。
此外,该simplefonts
模块已被我下面展示的方法取代\definefontfamily
。为了匹配所有字体的大小,我们应用了一些缩放。
\definefontfamily [source] [rm] [Source Serif Pro] [scale=0.9]
\definefontfamily [source] [ss] [Source Sans Pro]
\definefontfamily [source] [tt] [Source Code Pro] [features=none]
\definefontfamily [source] [mm] [TeX Gyre DejaVu Math] [scale=0.9]
\setupbodyfont[source,12pt]
\starttext
\starttyping
-- comment
\stoptyping
\stoptext
答案2
好吧,我不知道除了字体本身提供的连字之外,还有 TeX 连字。这解决了这个问题:
\setmonofont[Source Code Pro][features=none]