Why is the first footnotemark symbol (asterisk) missing?

With the current TU default encoding, \textasteriskcentered is mapped to U+2217 ASTERISK OPERATOR which Times New Roman happens to miss.

The old EU1/EU2 encodings are based on xunicode that mapped \textasteriskcentered to U+002A ASTERISK, which was the wrong thing to do, since the output when used as a footnote marker is definitely bad:

enter image description here

Compare with the output we get with TeX Gyre Termes

enter image description here

If I add

\UndeclareTextCommand{\textasteriskcentered}{TU}
\DeclareRobustCommand{\textasteriskcentered}{%
  \iffontchar\font"2217 \char"2217 \else\loweredasterisk\fi
}
\newcommand\loweredasterisk{\raisebox{-.5ex}{*}}

to the preamble, I get, with Times New Roman,

enter image description here

which is still not very good, but definitely better than the previous output.

An altogether different solution: use TeX Gyre Termes for the symbol. You could also add code for coping with different font families.

\documentclass{book}

\usepackage{fontspec}
\usepackage{etoolbox}

\usepackage[
    main=english,
]{babel}

\setmainfont{Times New Roman}
\newfontfamily{\termes}{TeX Gyre Termes}% for the asterisk

\makeatletter
\patchcmd{\@fnsymbol}
  {\textasteriskcentered}
  {{\termes\textasteriskcentered}}
  {}{\ddt}
\makeatother

\begin{document}
\renewcommand*{\thefootnote}{\fnsymbol{footnote}}

\chapter{Symbolic footnotes and Times New Roman or Arial}

First footnote\footnote{Hello World!}\\
Second footnote\footnote{Hello Again!}\\
Third footnote\footnote{Heeeeello Agaiiiiiinn!}

\bigskip

Question(s):

When I use TNR or Arial font for example, the first footnotemark symbol (asterisk) is missing. Why?
(Note: Using Latin Modern, the output is fine.)

\end{document}

enter image description here


Update

In the 2017/01/01 Patch Level 2 release of LaTeX (which is today's texlive update) The document as posted in the question works without missing footnotes.


Original Answer

You will have a warning in the log

Missing character: There is no ∗ (U+2217) in font TimesNewRoman:mode=node;scri
pt=latn;language=DFLT;+tlig;!

or if you have an earlier version of tuenc.def (U+294E)

You could use * (U+002A) which is available in all fonts but is a superscript asterisk.

so one of these:

\DeclareTextSymbol{\textasteriskcentered}{TU}{"204E} [⁎] [LOW ASTERISK]

\DeclareTextSymbol{\textasteriskcentered}{TU}{"2217}%  [∗] [ASTERISK OPERATOR]

\DeclareTextSymbol{\textasteriskcentered}{TU}{"002A}% [*] [ASTERISK]

The tricky thing is to find a setup that works in all fonts, and gives a low asterisk.

Possibly as a default we will use

\DeclareTextCommand{\textasteriskcentered}{TU}{%
  \iffontchar\font"2217 \char"2217 \else\raisebox{-.5ex}{*}\fi}

Current plan (in svn sources for the next release) is as below, but may adjust it a bit more before release.

%    \end{macrocode}
% Not all fonts have U+2217 but using U+002A requires some adjustment.
%    \begin{macrocode}
\DeclareTextCommand{\textasteriskcentered}\UnicodeEncodingName{%
  \iffontchar\font"2217 \char"2217 \else
    \begingroup
      \fontsize
       {\the\dimexpr1.2\dimexpr\f@size pt\relax}%
       {\f@baselineskip}%
      \selectfont 
      \raisebox{-0.6ex}[\dimexpr\height-0.6ex][0pt]{*}%
    \endgroup
  \fi
}
%    \end{macrocode}

Tags:

Footnotes