
Я использую lualatex только потому, что могу использовать текущие распространенные типы шрифтов. У моего проекта есть свои странности, поэтому для полной сборки требуется 5 запусков lualatex. Я заметил, что много времени сборки уходит на пересоздание базы данных шрифтов. Я всегда получаю одно и то же сообщение
luaotfload | db : Reload initiated (formats: otf,ttf,ttc,dfont); reason: "Font lmromancaps10-regular.otf not found.".
Однако это не специальный шрифт, а он существует вместе со всеми другими шрифтами LM в
/usr/share/texmf/fonts/opentype/public/lm
Просматривая свой документ, я заметил, что до использования этого шрифта есть две строки вывода с использованием разных шрифтов, которые, по-видимому, не отсутствуют. Так что, по-видимому, есть доступная база данных. Я вообще не понимаю, почему база данных перезагружается/перестраивается при каждом запуске lualatex. Это нормально? Не было бы разумнее повторно использовать базу данных?
Я бы очень хотел ускорить запуски lualatex, потому что они занимают смехотворно больше времени, чем запуски pdflatex. Сборка всего моего проекта с использованием pdflatex занимает примерно столько же времени, сколько один запуск lualatex... по крайней мере, раньше; я случайно нарушил совместимость со стилями цитирования, я думаю.
МВЭ:
\documentclass{standalone}
\usepackage{fontspec}
\usepackage[latin1]{luainputenc}
\setmainfont[%
SmallCapsFont = lmromancaps10-regular.otf,
]{lmroman12}
\begin{document}
Will never get here
\end{document}
решение1
Проблема была в том, что я указал шрифт по имени файла, вот так:
\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}
Это то, что запускает перезагрузку базы данных. Если я включаю шрифты по имени, например:
\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}
ошибка не возникает и БД не перезагружается. Я также заметил ускорение!
Обратите внимание, что названия шрифтов не чувствительны к регистру.
Это LuaTeX, версия beta-0.79.1 (TeX Live 2014/Debian) (рев. 4971)