\ldots 产生一个正方形

\ldots 产生一个正方形

使用 XeLaTex 和 OpenType 字体 Goudy Bookletter 1911,命令\ldots{}生成 ❏(无阴影)。

我的问题是:为什么 XeLaTeX 没有自动找到替代品?

我猜想这个方块是用来替换字体中不存在的字符的。fontmatrix我可以验证该字符U+2026(省略号)不存在。

以下是测试用例:

\documentclass{article}
\usepackage{fontspec}
\usepackage{xunicode}
\setromanfont{Goudy Bookletter 1911}

\begin{document}

Trois petits points \ldots{}

\end{document}

现在(结语问题),我修改测试用例以使用该包babel

在第一行之后插入此行:

\usepackage[french]{babel}

并且三个点正确显示。希望这是预期的行为。但是,为什么会有这种差异呢?

答案1

不同之处在于(在最新的 TeX 发行版中,xunicode它由包加载,因此不需要明确加载)定义为fontspec\ldots

\char"2026

在文本模式下,而french模块将babel其定义为

\FBtextellipsis

它“手动”设置三个点,而不是依赖于特定的字形。

您可以通过以下方式解决缺少字符的问题

\renewcommand{\textellipsis}{.\kern\fontdimen3\font.\kern\fontdimen3\font.\@}

在文档序言中(这就是它的french作用)。然后

Three little dots~\ldots

会给予所要的东西。

相关内容