# 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