diff options
author | Philipp Gesang <phg@phi-gamma.net> | 2016-04-28 21:57:55 +0200 |
---|---|---|
committer | Philipp Gesang <phg@phi-gamma.net> | 2016-04-28 21:57:59 +0200 |
commit | 2db9e17e57e306bde452c5d97f976b47b0bf9d78 (patch) | |
tree | dcdc407fdbf635da72bc3d4e7d783deb29312b23 /src/luaotfload-resolvers.lua | |
parent | 2727f911e924b77af85c60aacff82517cf70ca84 (diff) | |
download | luaotfload-2db9e17e57e306bde452c5d97f976b47b0bf9d78.tar.gz |
[tool,resolvers,conf] switch --find lookups to the actual resolvers
The arguments to “--find” on the command line avoided calling the real
index API functions and used crude approximations instead. In order to
make “--find” obey the new “anon-sequence” configuration item, it needs
to access the normal resolvers instead. This requires certain
adaptations to allow for a fallback on the “file:” lookup.
Diffstat (limited to 'src/luaotfload-resolvers.lua')
-rw-r--r-- | src/luaotfload-resolvers.lua | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/src/luaotfload-resolvers.lua b/src/luaotfload-resolvers.lua index f911101..6fc6ffe 100644 --- a/src/luaotfload-resolvers.lua +++ b/src/luaotfload-resolvers.lua @@ -200,20 +200,26 @@ local resolve_methods = { tex = resolve_tex_format, path = resolve_path_if_exists, name = resolve_name, + file = resolve_file, } local resolve_sequence = function (seq, specification) for i = 1, #seq do local id = seq [i] local mth = resolve_methods [id] - logreport ("both", 3, "resolve", "step %d: apply method %q (%s)", i, id, mth) - if mth (specification) == true then - logreport ("both", 3, "resolve", - "%d: method %q resolved %q -> %s (%s).", - i, id, specification.specification, - specification.name, - specification.forcedname) - return true + if not mth then + logreport ("both", 0, "resolve", + "step %d: invalid lookup method %q", i, id) + else + logreport ("both", 3, "resolve", "step %d: apply method %q (%s)", i, id, mth) + if mth (specification) == true then + logreport ("both", 3, "resolve", + "%d: method %q resolved %q -> %s (%s).", + i, id, specification.specification, + specification.name, + specification.forcedname) + return true + end end end logreport ("both", 0, "resolve", |