XeLaTeX 不会使用 OTF 的上标表

XeLaTeX 不会使用 OTF 的上标表

下面MWE会向大家展示我今天遇到的问题。

正如所问,我发现的问题是,在数学模式下,数字不像第一行那样显示。David Carlisle 表示,这是由于使用 Computer Modern 作为数学字体造成的。

\documentclass{standalone}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX,Numbers=OldStyle}% ,Scale=MatchLowercase} bug in current Biolinum
\setromanfont[Mapping=tex-text]{Linux Libertine O}
\setsansfont[Mapping=tex-text]{Linux Biolinum O}
\setmonofont[Mapping=tex-text]{Linux Libertine Mono O}

\begin{document}
    \begin{minipage}{6cm}
        {\addfontfeature{VerticalPosition=Superior}1234567890 Libertine}\newline
        $1^{1234567890 Libertine}$\\
        \textsuperscript{1234567890}\\
        \begin{equation}
            1^{1234567890}
        \end{equation}
        Test -- {\bfseries Test}\\
        \textit{Test} -- \textit{\bfseries Test}\\
        \texttt{Test} -- \texttt{\bfseries Test}\\
        \textsc{Test} -- \textsc{\bfseries Test}\\
        \textsf{Test} -- \textsf{\bfseries Test}\\
        0123456789 -- {\bfseries 0123456789}\\
        \textit{0123456789} -- \textit{\bfseries 0123456789}\\
        \texttt{0123456789} -- \texttt{\bfseries 0123456789}\\
        \textsc{0123456789} -- \textsc{\bfseries 0123456789}\\
        \textsf{0123456789} -- \textsf{\bfseries 0123456789}
    \end{minipage}
\end{document}

正如您在下图中看到的,上标在与 一起使用时在数学模式下无法正确使用addfontfeature

Linux Libertine 中的 XeLaTeX

答案1

您想要使用newtxmath以下libertine选项:

\documentclass{standalone}
\usepackage[libertine]{newtxmath}
\usepackage[no-math]{fontspec}
%\defaultfontfeatures{Numbers=OldStyle}
\setmainfont{Linux Libertine O}
\setsansfont{Linux Biolinum O}
\setmonofont{Linux Libertine Mono O}


\begin{document}
    \begin{minipage}{6cm}
        {\addfontfeature{VerticalPosition=Superior}1234567890 Libertine}\newline
        $1^{1234567890 Libertine}$\\
        \textsuperscript{1234567890}\\
        \begin{equation}
            1^{1234567890}
        \end{equation}
        Test -- {\bfseries Test}\\
        \textit{Test} -- \textit{\bfseries Test}\\
        \texttt{Test} -- \texttt{\bfseries Test}\\
        \textsc{Test} -- \textsc{\bfseries Test}\\
        \textsf{Test} -- \textsf{\bfseries Test}\\
        0123456789 -- {\bfseries 0123456789}\\
        \textit{0123456789} -- \textit{\bfseries 0123456789}\\
        \texttt{0123456789} -- \texttt{\bfseries 0123456789}\\
        \textsc{0123456789} -- \textsc{\bfseries 0123456789}\\
        \textsf{0123456789} -- \textsf{\bfseries 0123456789}
    \end{minipage}
\end{document}

Numbers=OldStyle为了更好地进行比较,我删除了该选项。

上标的大小不匹配,因为 OTF 字体中的上标字形不适用于数学。

在此处输入图片描述

相关内容