更改数字字体(从不同字体导入)

更改数字字体(从不同字体导入)

我想使用\usepackage[sfdefault]{merriweather},但不使用旧式数字。我想将 Sans Serif 数字的字体更改为 Helvetica、Epigrafica 等,这样我就可以使用衬线数字了。

也许类似于这里这里,但我无法使这些解决方案适应我的问题。

另外,我不能使用 XeTeX 或 LuaTeX。

更新:似乎无法在文本模式下从其他字体导入某些字符,如@Davïd 和@Henri-Menke 所指定。:/

谢谢大家!

答案1

这个答案被无耻地从 Alan Munn 的答案中窃取而来在某些字体中行号不起作用,并修改为 Merriweather 字体。此处,数字被替换为 Helvetica。

请注意,这确实需要您使用宏\lining来设置字体。因此,它不会更改每个数字,我相信这正是您所要求的。在这里,您必须在节号和基本上所有地方使用宏。这只是局部更改。

正如其他人和我在本帖和其他帖子中指出的那样,从字体中切换某些符号通常看起来不太好。我要么切换到其他字体,要么接受字体中包含的旧式数字。

\documentclass[11pt]{article}
\usepackage{fontspec}
 \usepackage[sfdefault]{merriweather}
 \newfontface\lining[Numbers=Lining]{Helvetica}
\begin{document}
Foo\lining 1234567890
\end{document}

答案2

这符合您的需求吗?(大部分内容来自[菲舍尔(2010)])

\documentclass{article}
\usepackage[sfdefault]{merriweather}
\usepackage{mathastext}
\DeclareSymbolFont{numbers}{T1}{phv}{m}{n}
\SetSymbolFont{numbers}{bold}{T1}{phv}{bx}{n}
\DeclareMathSymbol{0}\mathalpha{numbers}{"30}
\DeclareMathSymbol{1}\mathalpha{numbers}{"31}
\DeclareMathSymbol{2}\mathalpha{numbers}{"32}
\DeclareMathSymbol{3}\mathalpha{numbers}{"33}
\DeclareMathSymbol{4}\mathalpha{numbers}{"34}
\DeclareMathSymbol{5}\mathalpha{numbers}{"35}
\DeclareMathSymbol{6}\mathalpha{numbers}{"36}
\DeclareMathSymbol{7}\mathalpha{numbers}{"37}
\DeclareMathSymbol{8}\mathalpha{numbers}{"38}
\DeclareMathSymbol{9}\mathalpha{numbers}{"39}
\begin{document}
Hello Text 1234

$Hello Math 1234$
\end{document}

在此处输入图片描述

相关内容