我喜欢 Adobe Source Serif Pro 字体,因为它在 sourceserifpro 软件包中可用,但它缺少斜体。我需要斜体,但对于某些文档(主要是书名)来说,只是偶尔需要。
我觉得 XCharter 和 Source Serif 有些相似。我可以将 XCharter 的斜体与 Source Serif 一起使用吗?如果需要,我想缩放 x 高度以匹配主字体的高度。
最好使用 pdflatex 的解决方案。
有人要求提供一个示例,但我无法提供,但这里有一个模板:
\documentclass{article}
\usepackage{sourceserifpro}
\usepackage[just-italics-please,scaled=?]{XCharter} % This line does not work
\begin{document}
This is some text in Source Serif Pro.
\textit{This is some text in XCharter italics.}
\end{document}
答案1
由于我没有最小的示例可供使用,因此您需要根据您的使用情况进行调整。
请注意,我绝对不建议您这样做。如果足够接近,请使用 XCharter。如果不接近,则不要使用斜体或寻找其他字体。
通过直接改变因子来调整缩放比例,或者使用相关的包选项来缩放主字体。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[proportional,lining]{sourceserifpro}
\makeatletter
\expandafter\ifx\csname XCharter@scale\endcsname\relax
\let\XCharter@@scale\@empty
\else
\edef\XCharter@@scale{s*[\csname XCharter@scale\endcsname]}%
\fi
\AtBeginDocument{%
\DeclareFontShape{T1}{SourceSerifPro-LF}{m}{it}{
<-> \XCharter@@scale XCharter-Italic-tlf-t1
}{}%
\DeclareFontShape{T1}{SourceSerifPro-LF}{b}{it}{
<-> \XCharter@@scale XCharter-BoldItalic-tlf-t1
}{}}
\makeatother
\begin{document}
some text \itshape some italic \bfseries in bold \upshape but not italic
\end{document}
编辑
您更新的问题包含 MWE,但没有您现在想要的旧式数字。这需要osf
在加载包时选择或类似选项,并调整 XCharter 的设置。根据评论和egreg 的回答,此版本现在使用半粗体和数字的替代版本1
。
代码:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[proportional,osf,semibold]{sourceserifpro}
\makeatletter
\expandafter\ifx\csname XCharter@scale\endcsname\relax
\let\XCharter@@scale\@empty
\else
\edef\XCharter@@scale{s*[\csname XCharter@scale\endcsname]}%
\fi
\AtBeginDocument{%
\DeclareFontShape{T1}{SourceSerifPro-OsF}{sb}{it}{
<-> \XCharter@@scale XCharter1-BoldItalic-tosf-t1
}{}%
\DeclareFontShape{T1}{SourceSerifPro-OsF}{m}{it}{
<-> \XCharter@@scale XCharter1-Italic-tosf-t1
}{}}
\makeatother
\begin{document}
some text 1234567890 \itshape some italic 1234567890 \bfseries in bold 1234567890 \upshape but not italic 1234567890
\itshape 1234567890
1111111111
9999999999
\end{document}
请注意,尽管 XCharter 使用的字体名称表明所有图形都是表格形式而不是比例形式,但这些图形显然是比例形式。字体和系列名称似乎不正确。因此,您可能proportional
也需要默认图形。
注意事项
这对于简单使用来说已经足够了。如果您想要更复杂的配置,则需要进行进一步的调整,例如,如果使用textcomp
和TS1
带有斜体的家庭。如果使用 的功能,您还需要进行额外的调整mweights
,该功能由 加载sourceserifpro
。
此外,这故意不改变数学的字体配置,因为这显然是另一个棘手的问题。
请注意,通过使用 Xe/LuaTeX 而不是 pdfTeX,可以消除或减轻其中一些问题(但不是全部)。
答案2
您应该考虑使用 XeLaTeX 或 LuaLaTeX。请注意,我为 Source Serif Pro 选择了半粗体,因为否则它会比 XCharter 粗斜体粗得多。
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Source Serif Pro}[
Numbers=OldStyle,
BoldFont={* Semibold},
ItalicFont={XCharter Italic},
ItalicFeatures={Scale=MatchUppercase,Numbers=OldStyle},
]
\newfontfamily{\charter}{XCharter}[Numbers=OldStyle]
\begin{document}
Normal text: Normal 1234567890\par
Italic text: {\itshape Italic 1234567890}\par
Boldface text: {\bfseries Bold 1234567890}\par
Boldface italic text: {\bfseries\itshape Bold Italic 1234567890}
\bigskip
\charter
Check: now everything is in Charter
Normal text: Normal 1234567890\par
Italic text: {\itshape Italic 1234567890}\par
Boldface text: {\bfseries Bold 1234567890}\par
Boldface italic text: {\bfseries\itshape Bold Italic 1234567890}
\end{document}