2

I cannot find where and how \textthreequartersemdash is defined for xelatex and lualtex. Its definition is absent from TU encoding but \textthreequartersemdash prints always dash of same width independently of the font selected. This is demonstrated by the following not very short WE:

\documentclass{article}
\usepackage{ifxetex,ifluatex}
\ifnum 0\ifxetex 1\fi\ifluatex 1\fi>0
    \usepackage{fontspec}
    \defaultfontfeatures{Renderer=Basic,Ligatures={TeX}}
    \newfontfamily{\Cambria}[Scale=MatchLowercase]{Cambria}
    \newfontfamily{\Bodoni}[Scale=MatchLowercase]{Bodoni MT}
    \newfontfamily{\Stix}[Scale=MatchLowercase]{STIX Two Text}
\else
    \usepackage[utf8]{inputenc}
\fi
\newlength{\len}

\begin{document}

\ifxetex
    This is Xe\LaTeX
\else\ifluatex
    This is Lua\LaTeX
\else
    This is pdf\LaTeX
\fi\fi

\bigskip

\textemdash\ \verb|\textemdash| = \settowidth{\len}{\textemdash} \the\len\\
\textthreequartersemdash\ \verb|\textthreequartersemdash| = \settowidth{\len}{{{\textthreequartersemdash}}} \the\len \\
\textendash\ \verb|\textendash| = \settowidth{\len}{\textendash} \the\len \\
\verb|\meaning\textemdash|=\meaning\textemdash\\
\verb|\meaning\textthreequartersemdash|=\meaning\textthreequartersemdash\\

\medskip
{\Bodoni
\textemdash\ \verb|\textemdash| = \settowidth{\len}{\textemdash} \the\len\\
\textthreequartersemdash\ \verb|\textthreequartersemdash| = \settowidth{\len}{{{\textthreequartersemdash}}} \the\len \\
\textendash\ \verb|\textendash| = \settowidth{\len}{\textendash} \the\len \\
\verb|\meaning\textemdash|=\meaning\textemdash\\
\verb|\meaning\textthreequartersemdash|=\meaning\textthreequartersemdash\\
}

\medskip
{\Stix
\textemdash\ \verb|\textemdash| = \settowidth{\len}{\textemdash} \the\len\\
\textthreequartersemdash\ \verb|\textthreequartersemdash| = \settowidth{\len}{{{\textthreequartersemdash}}} \the\len \\
\textendash\ \verb|\textendash| = \settowidth{\len}{\textendash} \the\len \\
\verb|\meaning\textemdash|=\meaning\textemdash\\
\verb|\meaning\textthreequartersemdash|=\meaning\textthreequartersemdash\\
}

\end{document}

My guess is that 3/4-emdash is taken from CM fonts but my search in TEX folder of MikTeX tree reveals no reasonable file with definition of \textthreequartersemdash.

1 Answer 1

3

It is defined in the LaTeX kernel, line 6834 (release 2020-10-01)

\DeclareTextCommandDefault{\textthreequartersemdash}{\tc@check@symbol{9}\textthreequartersemdash}

and comes from the formerly external textcomp package.

Using lualatex and \showoutput we get

....\TS1/lmr/m/n/10 ^^V

and we can also see, from showing the meaning of the font command,

\TS1/lmr/m/n/10=select font ts1-lmr10

Thus the glyph is taken from the legacy Type1 font.

There is actually a line

%\DeclareTextSymbol{\textthreequartersemdash}{TS1}{22}

in the “Unicode” part, but as the status of the symbol is uncertain as far as Unicode is concerned, this is essentially a reminder.

2
  • Such definition of \textthreequateresemdash is inconsistent because it prints a dash which has width different from 3/4 of emdash in current TTF font. Wouldn't it be better to define \textthreequateresemdash as \scalebox{0.75}[1]{\textemdash}? Dec 31, 2020 at 10:38
  • @IgorKotelnikov As I said, the symbol has a dubious status (in Unicode, but also generally). You are essentially free to redefine it as you like.
    – egreg
    Dec 31, 2020 at 10:41

This site is temporarily in read-only mode and not accepting new answers.

Not the answer you're looking for? Browse other questions tagged .