# fontspec: what does Renderer=Basic do?

I'm writing a document using LuaLaTeX on Windows, using Arial (please do not comment on that) as its main font with:

\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX}
\setmainfont[Renderer=Basic]{Arial}


To keep the usual TeX substitutions I used Ligatures=TeX, but this does not work unless using Renderer=Basic additionally.

-

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…
Interesting! I wasn't aware that luaotfload's development is stalled, that's a bummer! To me, this seems to be the part of LuaTeX that needs improvement the most urgently. –  doncherry Nov 16 '12 at 19:30