diff options
author | Philipp Gesang <phg42.2a@gmail.com> | 2013-11-05 18:17:58 +0100 |
---|---|---|
committer | Philipp Gesang <phg42.2a@gmail.com> | 2013-11-05 18:17:58 +0100 |
commit | 36129aa2413bf76f7d9663e8de505e00eee5065f (patch) | |
tree | 0efb17bd2a73a00e3699da134e53f8b5d861214c | |
parent | bbb62449eb4d64284ec6f9c70663b43cb4945939 (diff) | |
download | luaotfload-36129aa2413bf76f7d9663e8de505e00eee5065f.tar.gz |
[db] adapt fuzzy matcher
-rw-r--r-- | luaotfload-database.lua | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/luaotfload-database.lua b/luaotfload-database.lua index aaba68d..c3256f0 100644 --- a/luaotfload-database.lua +++ b/luaotfload-database.lua @@ -1421,12 +1421,13 @@ find_closest = function (name, limit) local by_distance = { } --- (int, string list) dict local distances = { } --- int list local cached = { } --- (string, int) dict - local mappings = data.mappings + local mappings = name_index.mappings local n_fonts = #mappings for n = 1, n_fonts do local current = mappings[n] - local cnames = current.sanitized + local names = current.names + local sanitized = names.sanitized --[[ This is simplistic but surpisingly fast. Matching is performed against the “fullname” field @@ -1436,10 +1437,13 @@ find_closest = function (name, limit) font name categories as well as whatever agrep does. --]] - if cnames then - local fullname, sfullname = current.fullname, cnames.fullname + if names then + local fullname = names.fullname + local sfullname = sanitized.info.fullname + or sanitized.english.fullname + or sanitized.metadata.fullname + local dist = cached[sfullname]--- maybe already calculated - local dist = cached[sfullname]--- maybe already calculated if not dist then dist = iterative_levenshtein(name, sfullname) cached[sfullname] = dist @@ -1589,10 +1593,6 @@ local organize_namedata = function (metadata, }, } --- print (fontnames.english.fullname, --- fontnames.metadata.fullname, --- fontnames.info.fullname) - if metadata.fontstyle_name then --- not present in all fonts, often differs from the preferred --- subfamily as well as subfamily fields, e.g. with LMSans10-BoldOblique: |