luaotfload
(the package doing OpenType layout under the hood for LuaLaTeX) has two font processing modes; base
mode which tries to made as much of OpenType lookups to traditional TeX ligaturing and kerning mechanisms (think of it like creating TFM files from OpenType fonts on the fly) and it is limited by what TeX can traditionally support, and node
mode which tries to do faithful OpenType processing entirely in Lua. fontspec
’s Renderer=Basic
maps to the former, and Renderer=Full
maps to the later.
Why Renderer=Basic
is needed for Ligatures=TeX
to work with some fonts, is an artefact of how this feature is implemented in luaotfload
, it is a bug actually, but the development of luaotfload
is stalled…