diff options
Diffstat (limited to 'src/luaotfload-database.lua')
-rw-r--r-- | src/luaotfload-database.lua | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/luaotfload-database.lua b/src/luaotfload-database.lua index 099c256..1831ca3 100644 --- a/src/luaotfload-database.lua +++ b/src/luaotfload-database.lua @@ -482,8 +482,8 @@ local fonts_reloaded = false --- limit output when approximate font matching (luaotfload-tool -F) local fuzzy_limit = 1 --- display closest only ---- bool? -> dbobj -load_names = function (dry_run) +--- bool? -> -> bool? -> dbobj option +load_names = function (dry_run, no_rebuild) local starttime = osgettimeofday () local foundname, data = load_lua_file (config.luaotfload.paths.index_path_lua) @@ -519,6 +519,11 @@ load_names = function (dry_run) end end else + if no_rebuild == true then + report ("both", 2, "db", + [[Database does not exist, skipping rebuild though.]]) + return false + end report ("both", 0, "db", [[Font names database not found, generating new one.]]) report ("both", 0, "db", @@ -545,8 +550,11 @@ access_font_index = function () end getmetadata = function () - if not name_index then name_index = load_names() end - return tablefastcopy (name_index.meta) + if not name_index then + name_index = load_names (false, true) + if name_index then return tablefastcopy (name_index.meta) end + end + return false end --- unit -> unit |