如何使用 cmbright 包设置无衬线字体?

如何使用 cmbright 包设置无衬线字体?

我开始使用 XeLaTeX。作为示例,我尝试使用cmbright。但我没有获得无衬线输出。我需要在序言中说明其他内容吗?

\documentclass[10pt,a4paper]{article}

\usepackage{fontspec}
\usepackage{cmbright}
\usepackage{polyglossia}
\setmainlanguage{french}


\author{Plop}
\title{Test fonts xelatex}

\usepackage{lipsum}

\begin{document}

\maketitle

\lipsum[1-4]

\end{document}

在此处输入图片描述

答案1

该包cmbright与 XeLaTeX/ 不兼容fontspec,因为它会加载旧式字体。

您可以使用 CMBright 的 CM-Unicode 版本。

\documentclass[10pt,a4paper]{article}

\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage{french}

\setmainfont{cmunb}[
  Extension=.otf,
  UprightFont=*mr,
  ItalicFont=*mo,
  BoldFont=*bx,
  BoldItalicFont=*xo,
]

\author{Plop}
\title{Test fonts xelatex}

\usepackage{lipsum}

\begin{document}

\maketitle

Abc \textbf{Abc} \textit{Abc} \textbf{\textit{Abc}}

\lipsum[1-4]

\end{document}

在此处输入图片描述

您可能需要使用半粗体,在这种情况下将声明更改为

\setmainfont{cmunb}[
  Extension=.otf,
  UprightFont=*mr,
  ItalicFont=*mo,
  BoldFont=*so,       % semibold
  BoldItalicFont=*sr, % semibold oblique
]

在此处输入图片描述

如果 CM-Unicode 字体也作为系统字体安装,您可以更轻松地通过名称声明它们

\setmainfont{CMU Bright}

这将选择半粗体变体。要获取粗体变体,请使用

\setmainfont{CMU Bright}[
  BoldFont=* Bold Extended,
  BoldItalicFont=* Bold Extended Oblique,
]

相关内容