4

Using XeLaTex and OpenType font Goudy Bookletter 1911, the command \ldots{} produces ❏ (without shadow).

My question is: why XeLaTeX does not find automatically a substitute ?

I guess that this square is meant to replace a character not present in font. With fontmatrix I can verify that the character U+2026 (ellipsis) is not present.

Here is the test case:

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

\begin{document}

Trois petits points \ldots{}

\end{document}

Now (epilogue question), I modify the test case to use the package babel.

Insert this line after the first:

\usepackage[french]{babel}

and the three dots are produced correctly. Hopefully this is the behavior expected. But, why this difference ?

3

The difference is that xunicode (that's loaded by the fontspec package, in the up-to-date TeX distributions, so it doesn't need to be loaded explicitly) defines \ldots to be

\char"2026

in text mode, while the french module for babel defines it to give

\FBtextellipsis

which sets the three dots "by hand", rather than relying on a particular glyph.

You can solve the problem of the missing character by saying

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

in the document preamble (which is what french does). Then

Three little dots~\ldots

will give what's wanted.

| improve this answer | |
  • Thank you for this info. Your workaround works well when [french]{babel} is not used. For any font. – Couannette Dec 7 '12 at 10:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.