Cuando una fuente se usa por primera vez con lualatex
, luaotfload
hace algo de magia para producir archivos de caché de fuentes.
Para fuentes grandes (p. ej.,Noto Sans CJK) esto puede llevar mucho tiempo y mucha memoria.
Tengo una computadora vieja (MacBook air de 5 años con 4 GB de RAM) que ejecuta Linux con una partición de intercambio de 4 GB. La generación inicial de caché de esta fuente puede tardar más de 15 minutos y dejar mi computadora inutilizable. A veces simplemente me quedo sin memoria y el proceso se cancela.
Digamos que quiero usar la fuente como tal:
\documentclass{article}
\usepackage{fontspec}
\setmainfont[Script=CJK,Language=Chinese Simplified]{Noto Sans CJK SC}
\begin{document}
中文
\end{document}
¿Cuál es la forma que requiere menos recursos y/o la forma más rápida de generar los archivos de caché necesarios?
Por el momento, dejé todo (incluso X11) y lo ejecuto lualatex
desde la consola, pero todavía lleva mucho tiempo y salir de todo es un poco molesto.
Respuesta1
Puede hacer lo propuesto en la sección 9.2.1 "Recortar fuentes" enFuentes fuera de ConTeXty elimine todos los nombres de glifos en la fuente.
Adaptado a LaTeX y su ejemplo:
\documentclass{article}
\usepackage{fontspec,luacode}
\begin{luacode*}
fonts.handlers.otf.readers.registerextender {
name = "remove names from Noto Sans CJK SC",
action = function(fontdata)
if string.match(fontdata.metadata.fullname, "Noto Sans CJK SC") then
texio.write_nl("Trimming font " .. fontdata.metadata.fullname)
for k, v in next, fontdata.descriptions do
v.name = nil
end
end
end
}
\end{luacode*}
\setmainfont[Script=CJK,Language=Chinese Simplified]{Noto Sans CJK SC}
\begin{document}
中文
\end{document}