# Suppress 'ae' and 'oe' ligatures in baskervaldx

I'm using Baskervaldx font with fontspec and LuaLaTeX, but I can't suppress 'ae' and 'oe' ligatures using either

\defaultfontfeatures{Ligatures={NoCommon,NoContextual,NoHistoric,NoDiscretionary}}


or microtype and \DisableLigatures[a]{encoding = *, family = * }

(Actually, I don't know if this is the right way.)

\usepackage{Baskervaldx} works, as does \usepackage{selnolig} \nolig{ae}{a|e} \nolig{oe}{o|e}.

Is there a way of suppressing these ligatures using either fontspec or microtype?

MWEs that don't work:

\documentclass{article}

\usepackage{fontspec}
\defaultfontfeatures{Ligatures={NoCommon,NoContextual, NoHistoric,NoDiscretionary},
Numbers={OldStyle,Proportional}}

\usepackage{polyglossia}
\setdefaultlanguage[variant=american]{english}

\begin{document}
Michael doesn’t finalize.
\end{document}


This one doesn't work either:

\documentclass{article}

\usepackage{fontspec}

\usepackage{microtype}
\DisableLigatures[a]{encoding = *, family = * }

\usepackage{polyglossia}
\setdefaultlanguage[variant=american]{english}

\begin{document}
Michael doesn’t finalize.
\end{document}


The next two MWEs do work:

\documentclass{article}
\usepackage{fontspec}

\usepackage{selnolig}
\nolig{ae}{a|e}
\nolig{oe}{o|e}

\usepackage{polyglossia}
\setdefaultlanguage[variant=american]{english}

\begin{document}
Michael doesn’t finalize.
\end{document}


\documentclass{article}

\usepackage{polyglossia}
\setdefaultlanguage[variant=american]{english}

\begin{document}
Michael doesn’t finalize.
\end{document}

• Is it a problem with the font? Does it have a feature which lets you access 'regular' ligatures without triggering things like ae becoming 'æ'? – cfr Dec 6 '17 at 23:57
• In general, you can locally suppress any ligature by interposing curly braces: a{}e. – user139954 Dec 7 '17 at 0:26
• Why do you want to suppress ligatures? – Bernard Dec 7 '17 at 0:43
• @Bernard The problem is that this font, by default, produces “Michæl” and other odditities. – Thérèse Dec 7 '17 at 0:46
• @Mico - OK, question edited. – ss1789 Dec 8 '17 at 19:42

As expected, Baskervaldx defines its f-ligatures in the liga feature, and its ‘ct,’ ‘sp,’ and ‘st’ ligatures in dlig; bizarrely, it puts ‘ae’ and ‘oe’ ligatures, both upper- and lowercase, in rlig, i.e., Required Ligatures, which are on by default. This is almost always a problem, even in languages where these ligatures are sometimes mandatory.

The solution, apart from finding a better Baskerville, is to turn off required ligatures. This will leave your f-ligatures in place, and when you need ‘æ’ or ‘œ,’ you can still get it by typing it (by whatever methods your text editor or operating system allows) or by using \ae, \oe, etc.:

\documentclass{article}
\usepackage{fontspec,polyglossia}

• Reading .sty files isn’t my forte, but it looks as if Baskervaldx.sty is designed to support pdftex rather than xetex or luatex. So it provides ways for pdftex to get f-ligatures, real superiors, lowercase figures, and other desirable glyphs, but doesn’t try to create an implementation of the counterproductive rlig. – Thérèse Dec 8 '17 at 19:58