問題 Libertine セミボールド ライニング数字付き

問題 Libertine セミボールド ライニング数字付き

Libertine フォントのセミボールドバージョンが使用できれば良いのですが。

デフォルトでは、エルゼビア数字を使用しますが、問題なく、エルゼビア数字を半太字で表示できます。

場合によっては、セミボールドのライニング数字を使用する必要があります。

しかし、半太字であるはずの裏地の数字は、実際には通常の太さになっています。

ここに画像の説明を入力してください

MWE は次のとおりです:

\documentclass{article}

\RequirePackage[oldstyle,proportional]{libertine}
\DeclareRobustCommand\textsb[1]{{\libertineSB#1}}

\begin{document}
\LARGE

\noindent
Some "default" text with old style nums : 1234567890\\
\textsb{Some semi-bold text with old style nums : 1234567890}\\
\textbf{Some bold text with old style nums : 1234567890}\\

\noindent
Some text with lining nums : \liningnums{1234567890}\\
\textsb{Some semi-bold text with lining nums : \liningnums{1234567890}}\\
\textbf{Some bold text with lining nums : \liningnums{1234567890}}\\
\end{document}

この問題を解決する方法を知っていますか?

ありがとう。

答え1

これは では動作しますが、を実行するときに必要な機能を追加する代わりにフォント ファミリをリセットする のpdflatexバグにより、(Lua|Xe)LaTeX では動作しません。libertine.sty\liningnums

\documentclass{article}
\usepackage{iftex}

\usepackage[oldstyle,proportional]{libertine}

\DeclareTextFontCommand\textsb{\libertineSB}

\iftutex % XeLaTeX or LuaLaTeX
  \RenewDocumentCommand{\liningnums}{m}{%
    {\addfontfeatures{Numbers=Lining}#1}%
  }
\fi

\begin{document}

\noindent
Some "default" text with old style nums: 1234567890\\
\textsb{Some semi-bold text with old style nums: 1234567890}\\
\textbf{Some bold text with old style nums: 1234567890}

\noindent
Some text with lining nums: \liningnums{1234567890}\\
\textsb{Some semi-bold text with lining nums: \liningnums{1234567890}}\\
\textbf{Some bold text with lining nums: \liningnums{1234567890}}

\end{document}

ここに画像の説明を入力してください

関連情報