diff options
author | Philipp Gesang <phg42.2a@gmail.com> | 2013-08-04 13:33:24 +0200 |
---|---|---|
committer | Philipp Gesang <phg42.2a@gmail.com> | 2013-08-04 13:33:24 +0200 |
commit | 98b8117843b91eea6d60a195f2905f249bfb7044 (patch) | |
tree | c66d2a11aeb6541252bb5abe7e09e3b005eff184 /luaotfload-database.lua | |
parent | ec5e064bf604d5984d3a85ba6f63943617111e51 (diff) | |
download | luaotfload-98b8117843b91eea6d60a195f2905f249bfb7044.tar.gz |
[db] improve handling of zero values in design sizes
Diffstat (limited to 'luaotfload-database.lua')
-rw-r--r-- | luaotfload-database.lua | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/luaotfload-database.lua b/luaotfload-database.lua index 31d3591..271e93c 100644 --- a/luaotfload-database.lua +++ b/luaotfload-database.lua @@ -102,7 +102,7 @@ if config.luaotfload.update_live ~= false then config.luaotfload.update_live = true end -names.version = 2.208 +names.version = 2.209 names.data = nil --- contains the loaded database names.lookups = nil --- contains the lookup cache @@ -259,6 +259,7 @@ This is a sketch of the luaotfload db: fullname : string; // <- metadata sanitized : { family : string; + fontstyle_name : string; // <- new in 2.4 fontname : string; // <- metadata fullname : string; // <- namedata.names metafamily : string; @@ -726,7 +727,7 @@ end local add_to_match = function (found, size, face) local optsize, dsnsize, maxsize, minsize - if #face.size > 0 then + if face.size ~= false then optsize = face.size dsnsize = optsize[1] and optsize[1] / 10 -- can be nil @@ -1197,11 +1198,21 @@ ot_fullinfo = function (filename, subfont, texmf, basename) namedata.units_per_em = metadata.units_per_em namedata.version = metadata.version -- don't waste the space with zero values - namedata.size = { - metadata.design_size ~= 0 and metadata.design_size or nil, - metadata.design_range_top ~= 0 and metadata.design_range_top or nil, - metadata.design_range_bottom ~= 0 and metadata.design_range_bottom or nil, - } + + local design_size = metadata.design_size + local design_range_top = metadata.design_range_top + local design_range_bottom = metadata.design_range_bottom + + if design_size ~= 0 + or design_range_top ~= 0 + or design_range_bottom ~= 0 + then + namedata.size = { + design_size, design_range_top, design_range_bottom, + } + else + namedata.size = false + end --- file location data (used to be filename field) namedata.filename = filename --> sys |