3

I just updated to MacTex 2020, and I get the following error, on a document that was compiling fine yesterday, and without having made any change to the document.

I compile with:

xelatex test.tex

and get:

This is XeTeX, Version 3.14159265-2.6-0.999992 (TeX Live 2020) (preloaded format=xelatex)
 restricted \write18 enabled.
entering extended mode
(./test2.tex
LaTeX2e <2020-02-02> patch level 5
L3 programming layer <2020-03-06>
(/usr/local/texlive/2020/texmf-dist/tex/latex/koma-script/scrartcl.cls
Document Class: scrartcl 2020/01/24 v3.29 KOMA-Script document class (article)
(/usr/local/texlive/2020/texmf-dist/tex/latex/koma-script/scrkbase.sty
(/usr/local/texlive/2020/texmf-dist/tex/latex/koma-script/scrbase.sty
(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics/keyval.sty)
(/usr/local/texlive/2020/texmf-dist/tex/latex/koma-script/scrlfile.sty)))
(/usr/local/texlive/2020/texmf-dist/tex/latex/koma-script/tocbasic.sty)
(/usr/local/texlive/2020/texmf-dist/tex/latex/koma-script/scrsize10pt.clo)
(/usr/local/texlive/2020/texmf-dist/tex/latex/koma-script/typearea.sty))
(/usr/local/texlive/2020/texmf-dist/tex/latex/fontspec/fontspec.sty
(/usr/local/texlive/2020/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
(/usr/local/texlive/2020/texmf-dist/tex/latex/l3kernel/expl3.sty
(/usr/local/texlive/2020/texmf-dist/tex/latex/l3backend/l3backend-xdvipdfmx.def
))) (/usr/local/texlive/2020/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
(/usr/local/texlive/2020/texmf-dist/tex/latex/base/fontenc.sty)
(/usr/local/texlive/2020/texmf-dist/tex/latex/fontspec/fontspec.cfg)))
(/usr/local/texlive/2020/texmf-dist/tex/xelatex/xltxtra/xltxtra.sty
(/usr/local/texlive/2020/texmf-dist/tex/generic/iftex/ifluatex.sty
(/usr/local/texlive/2020/texmf-dist/tex/generic/iftex/iftex.sty))
(/usr/local/texlive/2020/texmf-dist/tex/generic/iftex/ifxetex.sty)
(/usr/local/texlive/2020/texmf-dist/tex/latex/realscripts/realscripts.sty)
(/usr/local/texlive/2020/texmf-dist/tex/latex/metalogo/metalogo.sty
(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics/graphicx.sty
(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics/graphics.sty
(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics/trig.sty)
(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics-cfg/graphics.cfg)
(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics-def/xetex.def)))))

Package fontspec Warning: AAT feature
(fontspec)                'Ligatures=Common,Rare,Historic,Contextual' (1,2)
(fontspec)                not available in font 'Hoefler Text'.


Package fontspec Warning: AAT feature
(fontspec)                'Ligatures=Common,Rare,Historic,Contextual' (1,4)
(fontspec)                not available in font 'Hoefler Text'.


! LaTeX3 Error: Key 'fontspec-aat/Ligatures' accepts only a fixed set of
(LaTeX3)        choices.

For immediate help type H <return>.
 ...

l.7

?

where test.tex is:

\documentclass[10pt,a4paper]{scrartcl}
\usepackage{fontspec, xltxtra}
\setmainfont[Mapping=tex-text, ItalicFeatures={Alternate = 0}, 
Ligatures={Common,Rare,Historic,Contextual},Contextuals=Inner,Alternate=1]{Hoefler Text}

\begin{document}
ff fi ffi ct st
\end{document}

What should I do to fix this?

Addendum Adding Renderer=OpenType removes the error messages when compiling but the ct and st ligatures are lost.

Addendum 2 The .tex files on this (old) page don't compile anymore either, and when using Renderer=OpenType, do not show the ligatures and swashes it used to. So, something has been lost/is not backward compatible, apparently.

Addendum 3 This related post doesn't seem to help either.

Frank
  • 177
  • 1
    the first step is a small but complete document that can be used for a test. – Ulrike Fischer May 27 '20 at 19:10
  • @UlrikeFischer - changed document to be complete and small. – Frank May 27 '20 at 19:21
  • 1
    Hm, I don't have a mac and so also not your font. But ligatures Historic and Contextual are not defined as aat-features and as far as I can see never were. It looks as if fontspec is now using the aat renderer for your font but previously didn't. But I'm not sure why. Are you using xelatex? – Ulrike Fischer May 27 '20 at 19:48
  • Yes, I am using xelatex. I'm wondering if I should go back to LaTeX 2019. Following the fontspec doc and removing Historic and Contextual compiles, but there are no ligatures to be seen in the document either. – Frank May 27 '20 at 19:49
  • 1
    Try to force the opentype renderer with Renderer=OpenType. – Ulrike Fischer May 27 '20 at 19:52
  • Didn't work :-/ Same error. – Frank May 27 '20 at 20:04
  • what means didn't work? Did you still get the error about the ligatures? – Ulrike Fischer May 27 '20 at 20:05
  • Yes, same error. – Frank May 27 '20 at 20:06
  • What features can otfinfo -f on the font file detect? – Davislor May 27 '20 at 20:08
  • For now, I have only found an Apple provided system font file which is .ttc and not .otf. – Frank May 27 '20 at 20:15
  • I asked someone with a mac and she said the error did go away with Renderer=OpenType. – Ulrike Fischer May 27 '20 at 20:56
  • 1
    I used \setmainfont[Renderer=OpenType, Mapping=tex-text, ItalicFeatures={Alternate = 0}, Ligatures={Common,Rare,Historic,Contextual},Contextuals=Inner,Alternate=1]{Hoefler Text} and all went well. Fully updated TeX Live 2020, via MacTeX, under macOS Catalina 10.15.5. – Herb Schulz May 27 '20 at 21:02
  • @HerbSchulz - can you share the line you used to compile? And also, where is the Hoefler Text font on your machine? And also, you are seeing ligatures in the rendered document, right? – Frank May 27 '20 at 21:25
  • I'm re-installing TeX Live 2020 from scratch. – Frank May 27 '20 at 23:37
  • Just compiling with xelatex. What ligatures were you expecting? I added a word with an fi ligature and it appeared correctly. – Herb Schulz May 28 '20 at 00:16
  • I was also getting all the usual ligatures for "st", "ct" ... before running into these troubles. – Frank May 28 '20 at 01:14
  • Still no luck after re-installing MacTex/TeX Live 2020, Catalina 10.15.4. I'm updating the original post with the full trace from executing xelatex. – Frank May 28 '20 at 01:24
  • Oh - so with Renderer=OpenType, no more error message, but the "st" and "ct" ligatures are lost. That is not good. – Frank May 28 '20 at 01:53

1 Answers1

3

I don't think the AAT renderer works properly any more with XeTeX and/or the old AAT fonts distributed in macOS are no longer functional like they used to be.

On top of that I suspect Hoefler Text is not set up with proper OpenType font tables (it's not the same version as what you would buy from Hoefler).

Without being definitive about it, I think the best option is to look for a new font…

  • 1
    I've been analysing this a bit. The problem is that \XeTeXfeaturename etc. don't yield any string result anymore: \font\1="Hoefler Text" \1 ct st Qu \par \def\aatfeatures{\XeTeXfeaturename\1 1 =\XeTeXselectorname\1 1 4; \XeTeXfeaturename\1 17=\XeTeXselectorname\1 17 1} \aatfeatures\par \font\2="Hoefler Text/AAT:\aatfeatures" \2 ct st Qu \bye This works for me with TL18, but not with TL20 – Robert Jun 02 '20 at 14:22
  • 1
    ... Strangely, you can still select the features manually, if you know their names: \def\aatfeatures{Ligatures=Rare Ligatures;Character Alternates=Alternates} \font\3="Hoefler Text/AAT:\aatfeatures" \3 ct st Qu \bye (The feature names are font- and system-dependent, e.g. on a German Mac it's Ligaturen=Seltene Ligaturen; Zeichen-Varianten=Alternativen) – Robert Jun 02 '20 at 14:25
  • 1
    But apart from the warning in the fontspec doc (in the section "macOS’s AAT fonts") I couldn't find any official notice of depreciation. Would a bug report be worthwhile? – Robert Jun 02 '20 at 14:34
  • @Robert - what is the route for a bug report? – Frank Jun 03 '20 at 14:02
  • @Robert — perhaps. XeTeX is basically in maintenance mode now, however... I doubt there are any Mac developers that know enough about XeTeX to help out any more :( – Will Robertson Jun 03 '20 at 15:03
  • @Frank I've reported it here. Let's wait and see... – Robert Jun 03 '20 at 23:32
  • Thanks! Thanks for checking it out and for reporting it :-) – Frank Jun 04 '20 at 01:07
  • If XeTeX is in maintenance mode, is there anything replacing it? – Frank Jun 04 '20 at 01:07
  • 1
    @Frank you could try with lualatex + harfmode (Renderer=AAT). – Ulrike Fischer Jun 04 '20 at 08:57
  • @UlrikeFischer Curiously, if I load the font with \font\1={HoeflerText:mode=harf;shaper=coretext_aat} or \font\1={HoeflerText:mode=harf;shaper=graphite2} and compile with luahbtex, the pdf is completely empty, even though there is no error message and \show\1 shows the expected definition. Compiling with luatex succeeds, however, still no rare ligatures. – Robert Jun 04 '20 at 16:17
  • @Robert sorry as I don't have the font and a mac I'm out here. But you could add an issue to the luaotfload tracker, perhaps Marcel has an idea. – Ulrike Fischer Jun 04 '20 at 16:39
  • @UlrikeFischer Ok, it's here – Robert Jun 04 '20 at 17:25
  • As a side note, even Microsoft Word seems to be doing the rare ligatures correctly with the Hoefler Text provided by MacOS. – Frank Jun 06 '20 at 00:17
  • 1
    @Frank Exploiting the fact that you can still select the features by name, the following works for me (yielding ct and st ligatures as well as a Q with a swash): \setmainfont[RawFeature={Ligatures=Rare Ligatures;Character Alternates=Alternates}]{Hoefler Text} – Robert Jun 06 '20 at 03:07
  • @Robert - Thank you! I can confirm that indeed it does work with MacTex 2020, and the "native" Hoefler Text fonts, with xelatex. – Frank Jun 06 '20 at 16:52
  • Any suggestions how to do this with smallcaps? – Mark Porter Mar 16 '21 at 14:04
  • @MarkPorter \setmainfont[SmallCapsFont={Hoefler Text},SmallCapsFeatures={RawFeature={Letter Case=Small Caps}}]{Hoefler Text} works for me. – Robert Mar 18 '21 at 02:59