khaledhosny / luaotfload

Moved to https://github.com/latex3/luaotfload
23 stars 15 forks source link

Messed up font names. #54

Open simifilm opened 11 years ago

simifilm commented 11 years ago

I'm not sure whether this is a duplicate or not. If it is sorry, for the noise.

While playing around with lualatexon TL 13 I encountered a strange problem. Certain font shapes would produce an error without any visible reason. The following example is with Stempel Garamond LT Std from Adobe's Font Folio 11, but I've encountered this with other fonts as well.


\usepackage{fontspec}
\setmainfont[Ligatures=TeX,ItalicFont={Stempel Garamond LT Std Italic},BoldFont={Stempel Garamond LT Std Bold},BoldItalicFont={Stempel Garamond LT Std Bold Italic}]{Stempel Garamond LT Std Roman} 
\begin{document}

Regular \textbf{bold}  \emph{italics \textbf{bold italics}}  

\end{document}

This leads to the following error message:

LaTeX Font Info:    Font shape `EU2/StempelGaramondLTStdRoman(0)/m/sl' in size <10.95> not available
(Font)              Font shape `EU2/StempelGaramondLTStdRoman(0)/m/it' tried instead on input line 10.
luaotfload | load: auto-selecting default features for script: latn
luaotfload | load: no defaults for script “latn”, falling back to “dflt”
luaotfload | load: invalid request “/Users/simi/FontExplorerX/S/Stempel” of type anon
luaotfload | load: use square bracket syntax or consult the documentation.
luaotfload | load: path lookup of “/Users/simi/FontExplorerX/S/Stempel” unsuccessful, falling back to file: ! Font \EU2/StempelGaramondLTStdRoman(0)/m/it/10.95=/Users/simi/FontExplorerX/S/
Stempel not loadable: metric data not found or bad.
<to be read again> 
G

According to the answer given on tex.stackexchange.com the problem is the following:

This seems to be a bug in luaotfload and/or luatex with \fontname. It is triggered here because fontspec declares the italic font as a substitute for the (non-existent) slanted font. This will call latex's \do@subst@correction, which uses \fontname\font to load the substitute font. But with luatex (and luaotfload), \fontname\font wrongly returns the full path of the font (in your case /Users/simi/FontExplorerX/S/Stempel Garamond LT Std Italic/StempelGaramondLTStdItalic.otf) instead of its "name" ("StempelGaramondLTStdItalic:mode=node;script=latn;language=DFLT;+tlig;+trep;" at 10.95pt). This in turn will make \font explode.

You can prevent this from happening by specifying the slanted font explicitly, thus circumventing the substitution mess:

     ItalicFont={Stempel Garamond LT Std Italic},
     SlantedFont={Stempel Garamond LT Std Italic},
     BoldFont={Stempel Garamond LT Std Bold},
     BoldItalicFont={Stempel Garamond LT Std Bold Italic},
     BoldSlantedFont={Stempel Garamond LT Std Bold Italic}]
   {Stempel Garamond LT Std Roman}

This solution does indeed work.

eroux commented 11 years ago

Dear Simifilm,

There is now a centralized issue tracker here : https://github.com/lualatex/luaotfload/, can you report your issue here too?

Thank you!

simifilm commented 11 years ago

Done.