summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--luaotfload-auxiliary.lua28
-rw-r--r--luaotfload-database.lua19
2 files changed, 29 insertions, 18 deletions
diff --git a/luaotfload-auxiliary.lua b/luaotfload-auxiliary.lua
index 999bc22..11af445 100644
--- a/luaotfload-auxiliary.lua
+++ b/luaotfload-auxiliary.lua
@@ -32,6 +32,7 @@ local stringformat = string.format
local stringgsub = string.gsub
local stringbyte = string.byte
local stringfind = string.find
+local tablecopy = table.copy
-----------------------------------------------------------------------
--- font patches
@@ -467,4 +468,31 @@ end
aux.sprint_math_dimension = sprint_math_dimension
+-----------------------------------------------------------------------
+--- extra database functions
+-----------------------------------------------------------------------
+
+--- migrated from luaotfload-database.lua
+--- https://github.com/lualatex/luaotfload/pull/61#issuecomment-17776975
+
+--- string -> (int, int)
+local scan_external_dir = function (dir)
+ local old_names, new_names = names.data
+ if not old_names then
+ old_names = load_names()
+ end
+ new_names = tablecopy(old_names)
+ local n_scanned, n_new = fonts.names.scan_dir(dir, old_names,
+ new_names)
+ --- FIXME
+ --- This doesn’t seem right. If a db update is triggered after this
+ --- point, then the added fonts will be saved along with it --
+ --- which is not as “temporarily” as it should be. (This should be
+ --- addressed during a refactoring of names_resolve().)
+ names.data = new_names
+ return n_scanned, n_new
+end
+
+aux.scan_external_dir = scan_external_dir
+
-- vim:tw=71:sw=2:ts=2:expandtab
diff --git a/luaotfload-database.lua b/luaotfload-database.lua
index 60a7977..f4c6fdc 100644
--- a/luaotfload-database.lua
+++ b/luaotfload-database.lua
@@ -249,7 +249,6 @@ local resolve
local resolve_cached
local save_names
local save_lookups
-local scan_external_dir
local update_names
--- state of the database
@@ -1652,31 +1651,15 @@ local show_cache = function ( )
return true
end
---- is this used anywhere? we decided to comment it for the
---- time being.
---- https://github.com/lualatex/luaotfload/pull/61
---scan_external_dir = function (dir)
--- local old_names, new_names
--- if fonts_loaded then
--- old_names = names.data
--- else
--- old_names = load_names()
--- end
--- new_names = tablecopy(old_names)
--- local n_scanned, n_new = scan_dir(dir, old_names, new_names)
--- names.data = new_names
--- return n_scanned, n_new
---end
-
-----------------------------------------------------------------------
--- export functionality to the namespace “fonts.names”
-----------------------------------------------------------------------
+names.scan_dir = scan_dir
names.flush_lookup_cache = flush_lookup_cache
names.save_lookups = save_lookups
names.load = load_names
names.save = save_names
------.scan = scan_external_dir
names.update = update_names
names.crude_file_lookup = crude_file_lookup
names.crude_file_lookup_verbose = crude_file_lookup_verbose