如何在特定字体上使用特定符号

如何在特定字体上使用特定符号

如何使用特定字体的特定字符?如何在数学模式下使用它?

我曾尝试使用我期望有效的方法:

\documentclass{report}
\usepackage{fontspec}
\newfontfamily\specialfont{mathb12}
\newcommand\myroundtarrow{\specialfont\symbol{"FC}}

\begin{document}
\myroundarrow
\end{document}

而且,令人惊奇的是,我确实得到了这个字符,但是部分错误很多Metafont,甚至有一个错误fontspec说它找不到字体:

! Package fontspec Error: The font "mathb12/B" cannot be found.

我知道这里但是那里的解决方案在 TeXLive 2020 xelatex 下产生了一些相同的错误。

答案1

您可以使用\newfontfamilyOpenType 或 TrueType 字体,但不能使用“传统”Metafont 字体。

您需要以“传统”的方式声明字体。

\documentclass{article}
\usepackage{fontspec}

\DeclareFontFamily{U}{mathb}{\hyphenchar\font45}
\DeclareFontShape{U}{mathb}{m}{n}{
  <-5.5> mathb5
  <5.5-6.5> mathb6
  <6.5-7.5> mathb7
  <7.5-8.5> mathb8
  <8.5-9.5> mathb9
  <9.5-10.5> mathb10
  <10.5-> mathb12
}{}
\DeclareSymbolFont{mathb}{U}{mathb}{m}{n}
\DeclareFontSubstitution{U}{mathb}{m}{n}

% \lefttorightarrow in mathabx
\DeclareMathSymbol{\myroundtarrow}{\mathrel}{mathb}{"FC}

\begin{document}

$\myroundtarrow$

\end{document}

在此处输入图片描述

相关内容