8

When using ConTeXt MkIV (i.e. with the LuaTeX engine), I’ve noticed that ligatures don’t work properly for some TrueType fonts, even though they do work in LuaLaTeX or even LibreOffice. As far as I can tell, the common link is Graphite, but that might be a red herring.

As an example, I’ll compare Charis SIL (TrueType/Graphite), DejaVu Serif (plain? TrueType), and Linux Libertine O (OpenType).

ConTeXt:

\usetypescript[charissil]
\usetypescript[dejavu]
\usetypescript[libertine]

\starttext

\title{\CONTEXT\ MkIV}
\tfd

\setupbodyfont[charissil]
Charis SIL: Difficult

\setupbodyfont[dejavu]
DejaVu Serif: Difficult

\setupbodyfont[libertine]
Linux Libertine O: Difficult

\stoptext

LaTeX:

\documentclass{article}
\usepackage{fontspec}
\begin{document}

\section*{Lua\LaTeX}
\Huge

\fontspec{Charis SIL}
Charis SIL: Difficult

\fontspec{DejaVu Serif}
DejaVu Serif: Difficult

\fontspec{Linux Libertine O}
Linux Libertine O: Difficult

\end{document}

Output:

enter image description here

As can be seen, Charis SIL lacks the proper ffi ligature in the ConTeXt output.

So, how can I use Charis SIL properly in ConTeXt? I’ve tried a few ligature options to \definefontfeature, as listed in the ConTeXt manual, but these make no difference and seem to OpenType-only.

9

The Charis SIL enables the ffi ligature for latin scripts. Either activate this feature locally

\setupbodyfont[charissil]
{\feature[+][latn]Charis SIL: Difficult}

or globally

\definefontfeature [default] [default] [script=latn]
  • 1
    @Marko: Thanks, that works! Unless someone has a reason why I shouldn’t add that feature to my default environment template (I only write English documents), I’ll flag that as the accepted answer. – Gareth Jones May 10 '13 at 20:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.