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.

1 Answer 1

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
  • 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. May 10, 2013 at 20:07

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .