lualatex fontdb wird ständig neu aufgebaut

lualatex fontdb wird ständig neu aufgebaut

Ich verwende lualatex nur, weil ich die aktuell gängigen Schriftarten verwenden kann. Mein Projekt hat seine Eigenheiten, sodass für einen vollständigen Build 5 lualatex-Durchläufe erforderlich sind. Mir ist aufgefallen, dass ein Großteil der Build-Zeit für den Neuaufbau der Schriftartendatenbank aufgewendet wird. Ich erhalte immer die gleiche Meldung

luaotfload | db : Reload initiated (formats: otf,ttf,ttc,dfont); reason: "Font lmromancaps10-regular.otf not found.".

Dies ist jedoch keine spezielle Schriftart, sondern existiert mit allen anderen LM-Schriftarten in

/usr/share/texmf/fonts/opentype/public/lm

Beim Durchsehen meines Dokuments fiel mir auf, dass vor der Verwendung dieser Schriftart zwei Ausgabezeilen mit unterschiedlichen Schriftarten vorhanden waren, die anscheinend nicht fehlen. Es ist also anscheinend eine Datenbank verfügbar. Ich verstehe überhaupt nicht, warum die Datenbank bei jedem Durchlauf von lualatex neu geladen/neu erstellt wird. Ist das normal? Wäre es nicht sinnvoller, eine Datenbank wiederzuverwenden?

Ich würde meine Lualatex-Läufe wirklich gerne beschleunigen, da sie lächerlich viel länger dauern als PDFlatex-Läufe. Das Erstellen meines gesamten Projekts mit PDFlatex dauert ungefähr so ​​lange wie ein einzelner Lualatex-Lauf ... zumindest dauerte das früher so; ich glaube, ich habe versehentlich die Kompatibilität mit Anführungszeichenstilen gebrochen.

MWE:

\documentclass{standalone}

\usepackage{fontspec}
\usepackage[latin1]{luainputenc}

\setmainfont[%
          SmallCapsFont = lmromancaps10-regular.otf,
    ]{lmroman12}
\begin{document}
Will never get here
\end{document}

Antwort1

Das Problem bestand darin, dass ich die Schriftart per Dateinamen angegeben hatte, und zwar folgendermaßen:

 \setmainfont[%
      UprightFont = *-regular,
      BoldFont    = *-bold,
      ItalicFont  = *-italic,
      BoldItalicFont  = lmroman10-bolditalic.otf,
      SmallCapsFont = lmromancaps10-regular.otf,
      SmallCapsFeatures = {Scale=MatchUppercase},
      SlantedFont = lmromanslant12-regular.otf,
      BoldSlantedFont = lmromanslant10-bold.otf,
      Renderer=Basic
 ]{lmroman12}

Dies löst das Neuladen der Datenbank aus. Wenn ich die Schriftarten nach Namen einschließe, etwa so:

 \setmainfont[%
      UprightFont = *-regular,
      BoldFont    = *-bold,
      ItalicFont  = *-italic,
      BoldItalicFont  = lmroman10-bolditalic,
      SmallCapsFont = lmromancaps10-regular,
      SmallCapsFeatures = {Scale=MatchUppercase},
      SlantedFont = lmromanslant12-regular,
      BoldSlantedFont = lmromanslant10-bold,
      Renderer=Basic
 ]{lmroman12}

der Fehler tritt nicht auf und die Datenbank wird nicht neu geladen. Ich merke auch die Beschleunigung!

Beachten Sie, dass bei den Schriftnamen die Groß-/Kleinschreibung nicht beachtet wird.

Dies ist LuaTeX, Version beta-0.79.1 (TeX Live 2014/Debian) (rev 4971)

verwandte Informationen