Gnu-Freefont fonts and XeLaTeX

(This is a repost with permission from Cikitsā, Dominik Wujastyk’s blog with a few additions.)

There’s been a long-standing issue about using the Gnu-Freefont fonts with XeLaTeX. The fonts are “Free Serif”, “Free Sans” “Free Mono”, and each has normal, italic, bold and bold-italic versions.


These fonts are maintained by Stevan White, who has done a lot of support and maintenance work on them. These fonts are of special interest to people who type Indian languages because they include nice, and rather complete Devanāgarī character sets in addition to glyphs for

  • Bengali
  • Gujarati
  • Gurmukhi
  • Oriya
  • Sinhala
  • Tamil
  • Malayalam

The Gnu Freefonts are excellent for an exceptionally wide range of scripts and languages, as well as symbols. See the coverage chart.

At the time of writing this blog, December 2014, the release version of the fonts is 4-beta, dated May 2012. This is the release that’s distributed with TeXLive 2014, and is generally available with other programs that include or require the FreeFonts.

But the 2012 release of the FreeFonts causes problems with the current versions of XeTeX. Basically, the Devanagari conjunct consonants in the 2012 fonts are incompatible with the current XeTeX compositing engine. (For the technical: Up to TL 2012 XeTeX used ICU; since TL 2013 it’s used HarfBuzz.)

In the last couple of years, Steven has done a great deal of work on the Devanagari parts of the FreeFonts, and he has solved these problems. But his improvements and developments are only available in the Subversion repository. For technically-able users, it’s not hard to download and compile this pre-release version of the fonts. But then to make sure that XeTeX calls the right version of the FreeFonts, it’s also necessary to weed out the 2012 version of the fonts that’s distributed with TeXLive 2014. And that’s a bit hard. In short, things get fiddly.

Now, Norbert Preining has created a special TeX Live repository for the Subversion version of the FreeFonts. TeX Live 2014 users can now just invoke that repo and sit back and enjoy the correct Devanagari typesetting.

WARNING be warned that the version distributed here is a development version, not meant for production. Expect severe breakage. You need to know what you are doing! END WARNING

Here are the instructions (state of Dec 2014):

Please do:

    tlmgr repository add tlptexlive
    tlmgr pinning add tlptexlive gnu-freefont
    tlmgr install --reinstall gnu-freefont

You should see something like:

    [~] tlmgr install --reinstall gnu-freefont
    [1/1, ??:??/??:??] reinstall: gnu-freefont @tlptexlive [12311k]

Note the


After that you can do

    tlmgr info gnu-freefont

and should see:

    package:     gnu-freefont
    category:    Package
    installed:   Yes
    revision:    3007
    sizes:       src: 27157k, doc: 961k, run: 19769k
    relocatable: No
    collection:  collection-fontsextra

Note the revision: 3007 which correspondends to the freefont subversion revision!!!

From now on, after the pinning action, updates for gnu-freefont will always be pulled from tlptexlive (see man page of tlmgr).

In case you ever want to return to the versions as distributed in TeX Live, please do

  tlmgr pinning remove tlptexlive gnu-freefont
  tlmgr install --reinstall gun-freefont

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>