考虑以下 MWE:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Junicode}
\setsansfont[Scale=MatchLowercase]{HelveticaNeue}
\setmonofont[Scale=MatchLowercase]{Consolas}
\begin{document}
\noindent
some ordinary text\newline
{\sffamily some sans-serif text}\newline
{\ttfamily some monospaced text}
\end{document}
在运行 MacTeX2012 和 MacOSX 10.7.5 的 MacBook 上,此 MWE 在 LuaLaTeX 下运行时产生以下输出:
但在 XeLaTeX 下运行时输出以下(更令人满意的):
显然,LuaLaTeX 下有些东西不太对劲。我的问题是:这个错误是 (a) 由实现Scale=MatchLowercase
fontspec/luatex 选项时出错导致的,(b) 由字体文件中指定不当的参数导致的Junicode
,还是 (c) 有两个单独的错误在起作用?
一种解决方法是指定和[Scale=0.83]
。当然,我想采用一种更自动化的方法来调整 sans 和 mono 字体的缩放比例以适应文本字体的大小HelveticaNeue
。[Scale=0.88]
Consolas
答案1
FontForge 显然在导出具有“正确” x 高度设置的字体以供使用时存在一些困难luaotfload
。所以我认为这是 FontForge 和 中的一个错误,luaotfload
并且应该在这两个版本中修复它。
答案2
今天(2012-11-17)发布的 Junicode 0.7.7 版本修复了这个问题。转到http://junicode.sf.net。