编辑

编辑

我喜欢 Adob​​e 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也需要默认图形。

注意事项

这对于简单使用来说已经足够了。如果您想要更复杂的配置,则需要进行进一步的调整,例如,如果使用textcompTS1带有斜体的家庭。如果使用 的功能,您还需要进行额外的调整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}

在此处输入图片描述

相关内容