6

I am using LuaLaTeX to typesetting documents with system fonts. Compiling needs much time to update the font database: luaotfload | Updating the font names database:. I think this update is not necessary, because I do not change the fonts every time. If my assumption is correct, is it possible to avoid this update?

A minimal example that shows the problem:

\documentclass[paper = a4]{scrartcl} 
\usepackage{blindtext, fontspec}

% Typewriter (\ttfamily)
\setmonofont[BoldFont = VeraMoBd, ItalicFont = VeraMoIt, Scale = MatchLowercase]{VeraMono}

\begin{document}
\blinddocument
\end{document}

I used different fonts set by \setmainfont and \setsansfont, but only the mono-spaced VeraMono hangs on updating the font names database.

The free font Bitstream Vera is available here.

  • There was a bug in one version which lead to constant recreation of the font database but imho it should be solved. Which TeX system do you use and which luaotfload version? – Ulrike Fischer May 27 '13 at 13:11
  • I think the first line of my log contains all information: This is LuaTeX, Version beta-0.70.2-2012080612 (TeX Live 2012/W32TeX) (format=lualatex 2013.4.6) 27 MAY 2013 15:11 – Dirk May 27 '13 at 13:15
  • It doesn't say anything about the luaotfload-version. But I don't think that TL12 was affected by the problem. Run mkluatexfontdb -vv on the command line and check if it hangs at some font. – Ulrike Fischer May 27 '13 at 13:27
  • 1
    Try this fontnames: \setmonofont[BoldFont = BitstreamVeraSans-Bold, ItalicFont = BitstreamVeraSans-Oblique]{BitstreamVeraSans} – Ulrike Fischer May 27 '13 at 16:17
  • 1
    Ah sorry, there is a mono missing, it should naturally be BitstreamVeraSansMono etc. – Ulrike Fischer May 27 '13 at 16:38
8

To sum up the discussion in the comments:

luaotfload updated the font name databases at each run because the font names where wrong and so luaotfload couldn't find the font by name in the database (it did find it in the end as VeraMono is the file name).

The correct call is:

\setmonofont[BoldFont = BitstreamVeraSansMono-Bold, ItalicFont = BitstreamVeraSansMono-Oblique]{BitstreamVeraSansMono}

The correct font name can be found e.g. in the font selection dialog of some other office application, or in the database created by luaotfload (otfl-names.lua with the older versions of luaotfload (TL2012/current miktex) and luaotfload-names.lua in TL2013).

A list of fonts can printed as described in https://tex.stackexchange.com/a/14171/14200 (the actual code depends on the luaotfload version).

  • With the current version you can simply luaotfload-tool --list=* to get a list of all font names (and more). Also the --find=<name> switch gets you feedback on whether the name you request actually matches a font. – Philipp Gesang May 28 '13 at 12:09

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.