Bug in 3.141592653-2.6-0.999995 (TeX Live 2023) with fontspec and tabularray?

Bruno Voisin bvoisin at icloud.com
Tue Jan 30 14:04:29 CET 2024


> On 30 Jan 2024, at 13:20, Ross Alexander <evilross at yahoo.co.uk> wrote:
> 
> I made an logic error on the second tabularray in that \setmainfont defaults to Ligatures=TeX while \newfontfamily doesn't.  Once I'd corrected for that I got the same results in both tables.

Good catch! I'd never thought of that. So it's not hyphenation, it's ligatures.

What fontspec's Ligatures=TeX do is to cause XeTeX to load fonts with mapping=tex-text.

What this means is that XeTeX, at the end of its run, uses the TECkit engine to apply the re-mapping defined in

https://sourceforge.net/p/xetex/code/ci/master/tree/source/libs/teckit/tex-text.map

namely

	; ligatures from Knuth's original CMR fonts
	U+002D U+002D			<>	U+2013	; -- -> en dash
	U+002D U+002D U+002D	<>	U+2014	; --- -> em dash

	U+0027			<>	U+2019	; ' -> right single quote
	U+0027 U+0027	<>	U+201D	; '' -> right double quote
	U+0022			 >	U+201D	; " -> right double quote

	U+0060			<>	U+2018	; ` -> left single quote
	U+0060 U+0060	<>	U+201C	; `` -> left double quote

	U+0021 U+0060	<>	U+00A1	; !` -> inverted exclam
	U+003F U+0060	<>	U+00BF	; ?` -> inverted question

	; additions supported in T1 encoding
	U+002C U+002C	<>	U+201E	; ,, -> DOUBLE LOW-9 QUOTATION MARK
	U+003C U+003C	<>	U+00AB	; << -> LEFT POINTING GUILLEMET
	U+003E U+003E	<>	U+00BB	; >> -> RIGHT POINTING GUILLEMET

This explains how your " got translated into ” upon typesetting.

There's nothing here, however, that makes - become a hyphenation character. But it does. Apparently a side effect of TECkit.

So this may be a XeTeX issue after all, and you were right from the beginning.

Bruno Voisin


More information about the tex-live mailing list.