diff options
-rw-r--r-- | otfl-font-dum.lua | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/otfl-font-dum.lua b/otfl-font-dum.lua index 2bcc8ef..2cc8aeb 100644 --- a/otfl-font-dum.lua +++ b/otfl-font-dum.lua @@ -86,15 +86,14 @@ function fonts.names.resolve(specification) for _,v in ipairs(family) do local face = data.mappings[v] local subfamily = face.names.subfamily - local dsize = face.size[1] and face.size[1] / 10 - local ssize = specification.size and specification.size / 65536 - local osize = tonumber(specification.optsize) - local maxsize = face.design_range_bottom - local minsize = face.design_range_top + local rqssize = tonumber(specification.optsize) or specification.size and specification.size / 65536 + local dsnsize = face.size[1] and face.size[1] / 10 + local maxsize = face.size[2] and face.size[2] / 10 + local minsize = face.size[3] and face.size[3] / 10 local filename = face.filename if subfamily then if sanitize(subfamily) == style then - if not dsize or dsize == osize or dsize == ssize then + if not dsnsize or dsnsize == rqssize or (rqssize > minsize and rqssize <= maxsize) then found = filename break end @@ -102,7 +101,7 @@ function fonts.names.resolve(specification) if synonyms[style] then for _,v in ipairs(synonyms[style]) do if sanitize(subfamily) == v then - if not dsize or dsize == osize or dsize == ssize then + if not dsnsize or dsnsize == rqssize or (rqssize > minsize and rqssize <= maxsize) then found = filename break end |