From 5868b9d15ebca57f7ead09140e139dbec798e1ce Mon Sep 17 00:00:00 2001 From: Khaled Hosny Date: Fri, 12 Nov 2010 07:05:22 +0200 Subject: Remove --database-dir and --sys options * --database-dir is useless anyway since we don't support loading names database from arbitrary path. * --sys (and mkluatexfontdb-sys) are dangerous since we will load user specific fonts (in ~/.fonts for example) which can not be loaded by other users (can be security concern as well). If there is real need, we should then implement it properly. + some clean up and less code duplication in mkluatexfontdb. --- otfl-font-nms.lua | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) (limited to 'otfl-font-nms.lua') diff --git a/otfl-font-nms.lua b/otfl-font-nms.lua index 938b6bd..b565aac 100644 --- a/otfl-font-nms.lua +++ b/otfl-font-nms.lua @@ -47,7 +47,7 @@ local function fontnames_init() } end -function names.load() +local function load_names() local localpath = file.join(names.path.localdir, names.path.basename) local systempath = file.join(names.path.systemdir, names.path.basename) local kpsefound = kpse.find_file(names.path.basename) @@ -238,7 +238,7 @@ end local lastislog = 0 -function log(fmt, ...) +local function log(fmt, ...) lastislog = 1 texio.write_nl(format("luaotfload | %s", format(fmt,...))) io.flush() @@ -248,8 +248,6 @@ logs = logs or { } logs.report = logs.report or log logs.info = logs.info or log -local log = names.log - local function font_fullinfo(filename, subfont, texmf) local t = { } local f = fontloader.open(filename, subfont) @@ -635,9 +633,10 @@ local function update_names(fontnames, force) if force then fontnames = fontnames_init() else - if not fontnames - or not fontnames.version - or fontnames.version ~= names.version then + if not fontnames then + fontnames = names.load() + end + if fontnames.version ~= names.version then fontnames = fontnames_init() if trace_search then logs.report("No font names database or old one found; " @@ -659,7 +658,15 @@ local function save_names(fontnames) if not lfs.isdir(savepath) then dir.mkdirs(savepath) end - table.tofile(file.join(savepath, names.path.basename), fontnames, true) + savepath = file.join(savepath, names.path.basename) + if file.iswritable(savepath) then + table.tofile(savepath, fontnames, true) + logs.info("Font names database saved: %s \n", savepath) + return savepath + else + logs.info("Failed to save names database\n") + return nil + end end local function scan_external_dir(dir) @@ -676,5 +683,6 @@ local function scan_external_dir(dir) end names.scan = scan_external_dir +names.load = load_names names.update = update_names names.save = save_names -- cgit v1.2.3 From 5a0f9c788ce3acc6bb0bfcc79c39e060e0168136 Mon Sep 17 00:00:00 2001 From: Khaled Hosny Date: Fri, 4 Feb 2011 16:05:09 +0200 Subject: Fix a typo in fonts.names.scan() This was a debugging leftover that went unnoticed. --- otfl-font-nms.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'otfl-font-nms.lua') diff --git a/otfl-font-nms.lua b/otfl-font-nms.lua index b565aac..828359b 100644 --- a/otfl-font-nms.lua +++ b/otfl-font-nms.lua @@ -678,7 +678,7 @@ local function scan_external_dir(dir) loaded = true end new_names = table.copy(old_names) - scan_dir("zapfino", old_names, new_names) + scan_dir(dir, old_names, new_names) names.data = new_names end -- cgit v1.2.3 From 9a6fb44bd9e80bc41d78c58eb6d7bb38cd692672 Mon Sep 17 00:00:00 2001 From: Khaled Hosny Date: Sat, 5 Feb 2011 23:49:30 +0200 Subject: Fix infinite loop names.load() calls names.update() without an argument if no font database is found, but the later will call the former if invoked without an argument. Now calling names.update() with an empty names database. fixes #23 --- otfl-font-nms.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'otfl-font-nms.lua') diff --git a/otfl-font-nms.lua b/otfl-font-nms.lua index 828359b..d32f22f 100644 --- a/otfl-font-nms.lua +++ b/otfl-font-nms.lua @@ -68,7 +68,7 @@ local function load_names() else logs.info([[Font names database not found, generating new one. This can take several minutes; please be patient.]]) - data = names.update() + data = names.update(fontnames_init()) names.save(data) end return data -- cgit v1.2.3 From 6d3e20989335d2d6e3db6a85cc7f9a64b95e45a5 Mon Sep 17 00:00:00 2001 From: Khaled Hosny Date: Tue, 1 Mar 2011 18:44:00 +0200 Subject: A hack to get libertine's bold recognised --- otfl-font-nms.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'otfl-font-nms.lua') diff --git a/otfl-font-nms.lua b/otfl-font-nms.lua index d32f22f..0e4bbda 100644 --- a/otfl-font-nms.lua +++ b/otfl-font-nms.lua @@ -74,8 +74,9 @@ local function load_names() return data end -local synonyms = { +local synonyms = { regular = { "normal", "roman", "plain", "book", "medium" }, + bold = { "boldregular" }, italic = { "regularitalic", "normalitalic", "oblique", "slant" }, bolditalic = { "boldoblique", "boldslat" }, } -- cgit v1.2.3