字體互動有問題

字體互動有問題

在幾年前的一個(大)專案中,我使用 fourier 作為主要字體,並使用 roboto 壓縮為預設無襯線字體(主要用於(子)部分標題)。這很好用。

我今天嘗試重新編譯該項目,發現斜體和傾斜樣式等都被忽略了。這似乎是由於 roboto condensed 和 Fourier 之間的相互作用所致。

這是一個顯示我的問題的最小工作範例:

\documentclass{memoir}

\usepackage{fourier}
\usepackage[condensed]{roboto}

\begin{document}
    Test \textit{Test} \textsl{Test} \textbf{Test} \(Test\) \textsf{Test}
\end{document}

這是輸出:

在此輸入影像描述

如果我替換\usepackage[condensed]{roboto}\usepackage{roboto},那麼輸出將變為:

在此輸入影像描述

如您所見,後者工作正常,但前者則不然。我究竟做錯了什麼?

答案1

這非常類似於使用 roboto condensed 時其他字體的斜體問題但需要更多技巧才能消除惱人的假警告。我還為 Roboto 添加了縮放比例,否則它比 Fourier(實際上是 Utopia)更高。

\documentclass{memoir}
\usepackage[T1]{fontenc} % fourier does it, so it's best here

% avoid a spurious warning about cmr
\DeclareFontShape{T1}{cmr}{c}{n}{<->ssub*cmr/m/n}{} % avoid a spurious warning

% load roboto (but scaled because fourier is less tall)
\usepackage[scaled=0.9,condensed]{roboto}

% avoid a spurious warning about futs
\input{t1futs.fd}
\DeclareFontShape{T1}{futs}{c}{n}{<->ssub*futs/m/n}{} % avoid a spurious warning

% load fourier
\usepackage{fourier}

% fix the wrong setting by roboto
\renewcommand{\seriesdefault}{m}

\begin{document}

Test \textit{Test} \textsl{Test} \textbf{Test} \(Test\) \textsf{Test}

\end{document}

在此輸入影像描述

答案2

儘管您在評論中提到您正在使用 PDFTeX,但另一個解決方案是在 LuaLaTeX(或 XeLaTeX)中載入 OTF 版本的字體。您可以透過fourier-otf或載入 Erewhon Math 作為傅立葉替代品,unicode-math並使用 載入 OpenType 版本的 Roboto \setsansfont

我建議您盡可能使用現代工具鏈,並在必要時使用舊版 8 位元字體。升級將消除舊軟體包的大量技術債。

相關內容