我正在尝试混合搭配字体,使用同事推荐的测试版 OTF 字体。但是当我以默认大小加载字体时,它与 Computer Modern 不太匹配。我需要\normalsize
为 Carob 设置比 Computer Modern 更小的字体。
正如您在示例中看到的,文本Carob
太大了。我需要告诉 XeLaTeX 将其缩小,以便它看起来与ttfamily
那里的高度大致相同。我可以通过实验找到一个合适的高度,但我如何告诉 XeLaTeX 这\normalsize
应该意味着那个高度?
我想对\small
和做类似的事情\footnotesize
。
\documentclass{article}
\usepackage{fontspec}
\newfontfamily\carob{Carob Mono}
\begin{document}
\noindent
\thispagestyle{empty}
Primitives are standard.
This text is {\ttfamily ttfamily} and this is {\carob Carob}.
\end{document}
编辑以添加:我希望能够为命令提供某种缩放选项\newfontfamily
,但浏览手册fontspec
并没有发现这样的事情。
答案1
使用Scale
方法如下。您有两个选择:缩放以匹配主字体的大写字母或小写字母。
通常,第二种选择用于等宽字体。例如,Latin Modern Mono 的大写字母比 Latin Modern Roman 的要短,但小写字母却相同。
我使用了不同的字体,但其字体明显高于 Latin Modern。
\documentclass{article}
\usepackage{fontspec}
\newfontfamily\carobA{Lucida Sans Typewriter OT}
\newfontfamily\carobB{Lucida Sans Typewriter OT}[Scale=MatchUppercase]
\newfontfamily\carobC{Lucida Sans Typewriter OT}[Scale=MatchLowercase]
\begin{document}
This text is {\ttfamily ttfamily} and this is X{\carobA Carob}a.
This text is {\ttfamily ttfamily} and this is X{\carobB Carob}a.
This text is {\ttfamily ttfamily} and this is X{\carobC Carob}a.
\end{document}