使用与文档主字体不同的字体打印 • 字符

使用与文档主字体不同的字体打印 • 字符

我正在使用不包含项目符号 • (Unicode 中的 U+2022) 的字体输入文档。

为了用字体替换它,我尝试了以下方法:

\newfontfamily{\listitemi}{Arial}
\catcode`•=\active
\protected\def •{{\listitemi\char`\•}}

但我猜那里一定有什么事情非常不对劲。

此代码块基于newunicodechar手册第 2 页,其中显示了类似的欧元符号 (€):

\newfontfamily{\eurofont}{⟨some font⟩}
\catcode‘€=\active
\protected\def €{{\eurofont\char‘\€}}

我知道我可以简单地使用这个newunicodechar包,但是我想不用它来做。

答案1

这完美地工作:

\documentclass{article}
\usepackage{fontspec}

\newfontfamily{\bulletfont}{Arial}
\catcode`•=\active
\protected\def •{{\bulletfont\char`\•}}

\begin{document}

\pagestyle{empty} % so nothing is added


\end{document}

如果我调用pdffonts生成的 PDF 文件,我会得到

name                                 type              encoding         emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
NVYNAY+ArialMT                       CID TrueType      Identity-H       yes yes yes      4  0

另一方面,itemize不直接使用,而是\textbullet。因此只需添加一行:

\documentclass{article}
\usepackage{fontspec}

\newfontfamily{\bulletfont}{Arial}
\catcode`•=\active
\protected\def •{{\bulletfont\char`\•}}
\let\textbullet=•

\begin{document}

\pagestyle{empty} % so nothing is added


\begin{itemize}
\item
\end{itemize}

\end{document}

相关内容