答案1
由于您不想要旧式数字,这里有一个解决方案,将数字的高度缩放为当前字体的 x 高度,但保持宽度不变。这应该会导致笔画具有相同的粗细。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{cmbright}
\usepackage{xfp} % For \fpeval
\usepackage{graphicx} % For \scalebox
\providecommand\liningnums[1]{#1}
\newlength{\capsheight}
\newlength{\xheight}
\newcommand\smallnums[1]{%
\settoheight{\capsheight}{X}%
\settoheight{\xheight}{x}%
\scalebox{1.0}[\fpeval{\the\xheight / \the\capsheight}]{\liningnums{#1}}%
}
\begin{document}
\smallnums{12} Drummers Drumming *
\oldstylenums{11} Pipers Piping
10 Lords a-Leaping
\fontfamily{lmss}\itshape\selectfont
\smallnums{9} Ladies Dancing *
\oldstylenums{8} Maids a-Milking
7 Swans a-Swimming
\fontfamily{lmtt}\upshape\bfseries\selectfont
\smallnums{6} Geese a-Laying *
\oldstylenums{5} Golden Rings
4 Calling Birds
\normalfont\fontfamily{lmr}\selectfont
\smallnums{3} French Hens *
\oldstylenums{2} Turtledoves
And 1 Partridge in 1 Pear Tree
\end{document}