summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--luaotfload-database.lua16
-rwxr-xr-xluaotfload-tool.lua21
2 files changed, 26 insertions, 11 deletions
diff --git a/luaotfload-database.lua b/luaotfload-database.lua
index 939b6bb..8da0713 100644
--- a/luaotfload-database.lua
+++ b/luaotfload-database.lua
@@ -523,21 +523,21 @@ crude_file_lookup_verbose = function (filename)
--- look up in db first ...
found = verbose_lookup(filenames, "bare", filename)
if found then
- return found
+ return found, nil, true
end
found = verbose_lookup(filenames, "base", filename)
if found then
- return found
+ return found, nil, true
end
--- ofm and tfm, returns pair
for i=1, #type1_formats do
local format = type1_formats[i]
if resolvers.findfile(filename, format) then
- return file.addsuffix(filename, format), format
+ return file.addsuffix(filename, format), format, true
end
end
- return filename, nil
+ return filename, nil, false
end
--- string -> (string | string * string)
@@ -557,15 +557,17 @@ crude_file_lookup = function (filename)
if found == nil then
found = dummy_findfile(filename)
end
- return found or filename
+ return found or filename, nil, true
end
+
for i=1, #type1_formats do
local format = type1_formats[i]
if resolvers.findfile(filename, format) then
- return file.addsuffix(filename, format), format
+ return file.addsuffix(filename, format), format, true
end
end
- return filename, nil
+
+ return filename, nil, false
end
--[[doc--
diff --git a/luaotfload-tool.lua b/luaotfload-tool.lua
index a187e12..e8513be 100755
--- a/luaotfload-tool.lua
+++ b/luaotfload-tool.lua
@@ -554,7 +554,6 @@ local print_features = function (features)
for script, languages in next, data do
local field = stringformat(key_fmt, script).. fieldseparator .. " "
local wd_field = #field
- --inspect(languages.list)
local lines = reflow(languages.list, textwidth - wd_field)
local indent = stringrep(" ", wd_field)
texiowrite_nl(field)
@@ -817,8 +816,22 @@ actions.query = function (job)
tmpspec = names.handle_request (tmpspec)
- local foundname, subfont, success =
- names.resolve(nil, nil, tmpspec)
+ local foundname, subfont, success
+
+ if tmpspec.lookup == "name"
+ or tmpspec.lookup == "anon" --- not *exactly* as resolvers.anon
+ then
+ foundname, subfont = names.resolve (nil, nil, tmpspec)
+ if foundname then
+ foundname = names.crude_file_lookup (foundname)
+ if foundname then
+ success = true
+ end
+ end
+ elseif tmpspec.lookup == "file" then
+ foundname, subfont, success =
+ names.crude_file_lookup (tmpspec.name)
+ end
if success then
logs.names_report(false, 0,
@@ -841,7 +854,7 @@ actions.query = function (job)
if job.fuzzy == true then
logs.names_report(false, 0,
"resolve", "Looking for close matches, this may take a while ...")
- local success = names.find_closest(query, job.fuzzy_limit)
+ local _success = names.find_closest(query, job.fuzzy_limit)
end
end
return true, true