![fontspec con LuaLaTeX usando Arial Narrow, mientras que XeLaTeX es correcto](https://rvso.com/image/335500/fontspec%20con%20LuaLaTeX%20usando%20Arial%20Narrow%2C%20mientras%20que%20XeLaTeX%20es%20correcto.png)
Actualmente estoy trabajando en un documento que edito desde varias máquinas, ambas con Windows 10. En ambos casos estoy usando Miktex (x64). Sin embargo, hay un problema en una máquina cuando intento compilar el siguiente MWE:
\documentclass{book}
\usepackage{fontspec}
\setmainfont{Arial}
\usepackage{lipsum}
\begin{document}
\lipsum[1-5]
\end{document}
Al utilizar XeLaTeX, el PDF tiene el aspecto esperado y Arial se muestra como fuente incrustada. Sin embargo, cuando intento usar Lualatex, el PDF en realidad usa la variante estrecha de la fuente.
El resultado de Xelatex es el siguiente:
.................................................
. fontspec info: "defining-font"
.
. Font family 'Arial(0)' created for font 'Arial' with options
. [Ligatures=TeX].
.
. This font family consists of the following NFSS series/shapes:
. - 'normal' (m/n) with NFSS spec.:
. <->"Arial/OT:script=latn;language=DFLT;mapping=tex-text;"
. - 'small caps' (m/sc) with NFSS spec.:
. <->"Arial/OT:script=latn;language=DFLT;mapping=tex-text;+smcp;"- 'bold'
. (bx/n) with NFSS spec.:
. <->"Arial/B/OT:script=latn;language=DFLT;mapping=tex-text;"
. - 'bold small caps' (bx/sc) with NFSS spec.:
. <->"Arial/B/OT:script=latn;language=DFLT;mapping=tex-text;+smcp;"- 'italic'
. (m/it) with NFSS spec.:
. <->"Arial/I/OT:script=latn;language=DFLT;mapping=tex-text;"
. - 'italic small caps' (m/itsc) with NFSS spec.:
. <->"Arial/I/OT:script=latn;language=DFLT;mapping=tex-text;+smcp;"- 'bold
. italic' (bx/it) with NFSS spec.:
. <->"Arial/BI/OT:script=latn;language=DFLT;mapping=tex-text;"
. - 'bold italic small caps' (bx/itsc) with NFSS spec.:
. <->"Arial/BI/OT:script=latn;language=DFLT;mapping=tex-text;+smcp;"
.................................................
La salida de Lualatex es:
.................................................
. fontspec info: "defining-font"
.
. Font family 'Arial(0)' created for font 'Arial' with options
. [Ligatures=TeX].
.
. This font family consists of the following NFSS series/shapes:
. - 'normal' (m/n) with NFSS spec.: <->"Arial:mode=node;+tlig;"
. - 'small caps' (m/sc) with NFSS spec.: - 'bold' (bx/n) with NFSS spec.:
. <->"Arial/B:mode=node;+tlig;"
. - 'bold small caps' (bx/sc) with NFSS spec.: - 'italic' (m/it) with NFSS
. spec.: <->"Arial/I:mode=node;+tlig;"
. - 'italic small caps' (m/itsc) with NFSS spec.: - 'bold italic' (bx/it)
. with NFSS spec.: <->"Arial/BI:mode=node;+tlig;"
. - 'bold italic small caps' (bx/itsc) with NFSS spec.:
.................................................
Sospeché que Lualatex en realidad utiliza de forma predeterminada la variante estrecha en lugar de la fuente normal. Ejecutar luaotfload-tool --find="Arial"
da el siguiente resultado
luaotfload | resolve : Font "Arial" found!
luaotfload | resolve : Resolved file name "c:/windows/fonts/arialn.ttf
Me parece que la búsqueda es realmente incorrecta. Intenté usar las cache=purge
opciones force
y flush-lookup
, pero fue en vano. ¿Hay alguna manera de modificar la búsqueda manualmente para que apunte al archivo correcto?
Respuesta1
Esto puede ayudar hasta que el problema se solucione y se cargue en distribuciones.
\documentclass{book}
\usepackage{fontspec}
\setmainfont{arial}[ %Need such long loading because of luaotfload issue
Extension = .ttf,
UprightFont = *,
BoldFont = *bd,
ItalicFont = *i,
BoldItalicFont = *bi]
\newfontfamily\cyrillicfont{arial}[ %for Cyrillic users
Extension = .ttf ,
UprightFont = *,
BoldFont = *bd,
ItalicFont = *i,
BoldItalicFont = *bi]
\usepackage{lipsum}
\begin{document}
\lipsum[1-5]
\end{document}
La idea se puede utilizar para las fuentes afectadas. uno puede comprobar
luaotfload-tool --find="Arial"
puntos a arialn.ttf
los cuales es Arial Estrecho y
luaotfload-tool --find="DejaVuSerif"
apunta a dejavuserifcondensed.ttf
que es DejaVuSerifCondensed.
El problema es al menosun mes de edad.