[lltx] luaotfload refuses to load bold font of some font family

Philipp Gesang Philipp.Gesang at alumni.uni-heidelberg.de
Mon May 13 20:06:40 CEST 2013


Hi Stephan,

thanks for the report.

···<Datum: Monday, 13. May 2013>···<Von: Stephan Hennig>···

> > I've a similar problem using Latin Modern Mono (sorry, LaTeX only):
> > 
> > \listfiles
> > \documentclass{minimal}
> > \usepackage{fontspec}
> > \begin{document}
> > \ttfamily
> > \bfseries
> > \end{document}
> 
> The problem is still present after today's update of luaotfload.  New
> log file attached.
 
<snip />

> > luaotfload | load: auto-selecting default features for script: dflt
> > luaotfload | db: reload initiated; reason: “unresolved font name: ‘d’�
> > luaotfload | db: reload initiated; reason: “unresolved font name: ‘d’�
> > luaotfload | db: Font names database saved
> > fonts : font with asked name 'd' is not found using lookup 'anon'
> > fonts : unknown font 'd', loading aborted
> > ! Font \EU2/lmtt/b/n/10=d:/texlive/2013/texmf-dist/fonts/opentype/public/lm/lmmo
> > nolt10-bold.otf not loadable: metric data not found or bad.

Something defines a font by an absolute path, but uses the wrong
lookup for this. As absolute paths contain a “:” on Windows, this
confuses the parser which in turn tries to load the font “d”.

Could you apply below patch to luaotfload-features.lua and report
back?

Thanks
Philipp




diff --git a/luaotfload-features.lua b/luaotfload-features.lua
index e732ed9..af4ef67 100644
--- a/luaotfload-features.lua
+++ b/luaotfload-features.lua
@@ -980,9 +980,8 @@ local subfont           = P"(" * Cg((1 - S"()")^1, "sub") * P")"
 --- top-level rules ---------------------------------------------------
 --- \font\foo=<specification>:<features>
 local features          = Cg(feature_list, "features")
-local specification     = (prefixed + unprefixed)
-                        * subfont^-1
-                        * modifier_list^-1
+local specification     = prefixed * subfont^-1 * modifier_list^-1
+                        + unprefixed * modifier_list^-1 * P(-1)
 local font_request      = Ct(path_lookup   * (colon^-1 * features)^-1
                            + specification * (colon    * features)^-1)
 
@@ -1053,7 +1052,7 @@ local handle_request = function (specification)
             specification.specification)
         report("log", 0, "load", "use square bracket syntax or consult the documentation.")
         specification.name      = specification.specification
-        specification.lookup    = "file"
+        specification.lookup    = "path"
         return specification
     end
     local lookup, name = select_lookup(request)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://tug.org/pipermail/lualatex-dev/attachments/20130513/4d68cbe6/attachment.bin>


More information about the lualatex-dev mailing list