如何使用 otf 字体和 XeLaTeX 获取字体表?

如何使用 otf 字体和 XeLaTeX 获取字体表?

我想查看拉丁现代数学中的所有字符。运行xelatex以下命令会出现错误“运行 mktexmf Latin...我找不到文件‘Latin’”。

\documentclass{article}
\usepackage{fontspec}
\usepackage{unicode-math}
\usepackage{fonttable}

\begin{document}
\fonttable{Latin Modern Math}
\end{document}

使用lm-math而不是Latin Modern Math会产生相同类型的错误。

如何做呢?

答案1

使用 XeLaTeX 编译:

\documentclass{article}
\usepackage[
  a4paper,
  left=1.5cm,
  right=1.5cm,
  top=2cm,
  bottom=2cm,
  heightrounded,
]{geometry}
\usepackage{fontspec}
\usepackage{multicol}

\ExplSyntaxOn

\NewDocumentCommand{\Ufonttable}{mO{}}
 {
  \begin{multicols}{8}[\section*{#1}]
  \setlength{\parindent}{0pt}
  \newfontface\test{#1}[#2]
  \test
  \int_step_inline:nnn { \xetex_firstfontchar:D \font } { \xetex_lastfontchar:D \font }
  {
   \iffontchar\font##1\scan_stop:
    \makebox[32pt][l]{ \scriptsize \ttfamily U+\ufonttable_number:n { ##1 } }
    \symbol{##1}\par
   \fi
  }
  \end{multicols}
 }

\cs_new:Nn \ufonttable_number:n
 {
  \prg_replicate:nn { \int_max:nn { 0 } { 4 - \tl_count:e { \int_to_Hex:n { #1 } } } } { 0 }
  \int_to_Hex:n { #1 }
 }
\cs_generate_variant:Nn \tl_count:n { e }

\ExplSyntaxOff

\begin{document}

\Ufonttable{Latin Modern Roman}

\end{document}

在此处输入图片描述

答案2

将字体名称括在双引号中:

\documentclass{article}
\usepackage{fontspec}
\usepackage{unicode-math}
\usepackage{fonttable}

\begin{document}
\fonttable{"Latin Modern Math"}
\end{document}

相关内容