有没有办法通过宏确定字体中是否存在某个字符?

有没有办法通过宏确定字体中是否存在某个字符?

我想\interrobang为我的个人实用宏包制作一个宏,用于打印该字符(也称为问号)。但是,有些字体没有这个字符,在这种情况下,我想默默地返回到简单地打印!?。有办法吗?

当我在宏中键入 Unicode 字符,然后在该字符不可用时在文档中使用该宏时,得到的结果如下:

! Undefined control sequence.
\u-default-8253 #1->\textinterrobang

答案1

您显示的特定错误与字体无关(tex 从未发展到那么远)只是命令未定义,您可以定义

\providecommand\textinterrobang{!?}

然后就会出现错误,并且如果任何其他字体包定义此命令来访问字体中的字符,那么\providecommand就不会执行任何操作。

相关内容