XeLaTeX 和字体粗细

XeLaTeX 和字体粗细

我使用字体杂技演员

\setsansfont{Akrobat} 

它有 8 种粗细,从细到黑。这只是粗细,不是斜体。我如何使用所有(或部分)这种样式?

  1. 默认情况下我想使用浅色风格(不是常规风格)
  2. 通过 /bfseries 我想要使用 SemiBold(而不是 Bold)。(或者为这种样式创建附加命令)。
  3. 为 ExtraLight 样式创建附加命令。

答案1

您可以在声明中定义各种系列\setsansfont,然后定义非标准字体选择的命令。

\documentclass{article}
\usepackage{fontspec}

\setsansfont{Akrobat}[
  FontFace={ul}{n}{Font=* Thin},
  FontFace={el}{n}{Font=* ExtraLight},
  FontFace={l}{n}{Font=* Light},
  FontFace={sb}{n}{Font=* SemiBold},
  FontFace={eb}{n}{Font=* ExtraBold},
  FontFace={xb}{n}{Font=* Black},
]

\DeclareRobustCommand{\ulseries}{\fontseries{ul}\selectfont}
\DeclareRobustCommand{\elseries}{\fontseries{el}\selectfont}
\DeclareRobustCommand{\lseries}{\fontseries{l}\selectfont}
\DeclareRobustCommand{\sbseries}{\fontseries{sb}\selectfont}
\DeclareRobustCommand{\ebseries}{\fontseries{eb}\selectfont}
\DeclareRobustCommand{\xbseries}{\fontseries{xb}\selectfont}
\DeclareTextFontCommand{\textul}{\ulseries}
\DeclareTextFontCommand{\textel}{\elseries}
\DeclareTextFontCommand{\textl}{\lseries}
\DeclareTextFontCommand{\textsb}{\sbseries}
\DeclareTextFontCommand{\texteb}{\ebseries}
\DeclareTextFontCommand{\textxb}{\xbseries}

\begin{document}

\sffamily
\textul{Abc Thin} {\ulseries Thin}

\textel{Abc ExtraLight} {\elseries ExtraLight}

\textl{Abc Light} {\lseries Light}

Abc Regular

\textsb{Abc SemiBold} {\sbseries SemiBold}

\textbf{Abc Bold} {\bfseries Bold}

\texteb{Abc ExtraBold} {\ebseries ExtraBold}

\textxb{Abc Black} {\xbseries Black}

\end{document}

在此处输入图片描述

相关内容