summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Gesang <phg@phi-gamma.net>2016-06-15 20:51:12 +0200
committerGitHub <noreply@github.com>2016-06-15 20:51:12 +0200
commitb43ad03773991d9e227956bc55383e0b2bf0af36 (patch)
treef42d2df70f00fc0b7ae5753069ad645079c07f21
parent36cc5c9c567e24916f254203fc362bf124e26d02 (diff)
parentfdd5fb7042e29050341dd8462a69c13387d4e67b (diff)
downloadluaotfload-b43ad03773991d9e227956bc55383e0b2bf0af36.tar.gz
Merge pull request #365 from phi-gamma/master
fix dynamic db initialization
-rw-r--r--doc/luaotfload.conf.rst3
-rw-r--r--src/luaotfload-database.lua9
2 files changed, 6 insertions, 6 deletions
diff --git a/doc/luaotfload.conf.rst b/doc/luaotfload.conf.rst
index 16f055b..660177e 100644
--- a/doc/luaotfload.conf.rst
+++ b/doc/luaotfload.conf.rst
@@ -186,7 +186,8 @@ effect on the runtime behavior.
If ``update-live`` is set, Luaotfload will reload the database if it
cannot find a requested font. Those who prefer to update manually using
-**luaotfload-tool** should unset this flag.
+**luaotfload-tool** should unset this flag. This option does not affect
+rebuilds due to version mismatch.
The option ``use-fontforge`` had a meaning during the transition to the
Lua-only Opentype reader. At present it is ignored.
diff --git a/src/luaotfload-database.lua b/src/luaotfload-database.lua
index 7495ff2..3688c3a 100644
--- a/src/luaotfload-database.lua
+++ b/src/luaotfload-database.lua
@@ -416,10 +416,8 @@ mtx-fonts has in names.tma:
local initialize_namedata = function (formats, created)
local now = os.date "%Y-%m-%d %H:%M:%S" --- i. e. "%F %T" on POSIX systems
return {
- --families = { },
status = { }, -- was: status; map abspath -> mapping
mappings = { }, -- TODO: check if still necessary after rewrite
- names = { },
files = { }, -- created later
meta = {
created = created or now,
@@ -526,7 +524,8 @@ load_names = function (dry_run, no_rebuild)
names_version, db_version)
if not fonts_reloaded then
logreport ("both", 0, "db", [[Force rebuild.]])
- data = update_names ({ }, true, false)
+ data = update_names (initialize_namedata (get_font_filter ()),
+ true, false)
if not data then
logreport ("both", 0, "db",
"Database creation unsuccessful.")
@@ -3193,7 +3192,7 @@ update_names = function (currentnames, force, dry_run)
if force then
currentnames = initialize_namedata (get_font_filter ())
else
- if not currentnames then
+ if not currentnames or not next (currentnames) then
currentnames = load_names (dry_run)
end
if currentnames.meta.version ~= names.version then
@@ -3553,7 +3552,7 @@ return {
fonts.definers = fonts.definers or { resolvers = { } }
names.blacklist = blacklist
- names.version = 2.8
+ names.version = 2.9
names.data = nil --- contains the loaded database
names.lookups = nil --- contains the lookup cache