From e9a6ba1faeb7d7e943e386286aa76e9c6345ed62 Mon Sep 17 00:00:00 2001 From: Khaled Hosny Date: Fri, 15 Jan 2010 07:05:57 +0200 Subject: Try psname if familyname fails --- otfl-font-dum.lua | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/otfl-font-dum.lua b/otfl-font-dum.lua index e673331..d9fabfa 100644 --- a/otfl-font-dum.lua +++ b/otfl-font-dum.lua @@ -70,18 +70,30 @@ function fonts.names.resolve(name,sub,style) end if type(data) == "table" and data.version == fonts.names.version then local condensed = string.gsub(string.lower(name),"[^%a%d]","") - local found = data.mappings and data.mappings.families and data.mappings.families[condensed] - if found then - local style = style or "regular" - found = found[style] - local fontname, filename, subfont = found, found[1], found[2] - if subfont then - return filename, fontname + if data.mappings then + local psnames = data.mappings.psnames + local families = data.mappings.families + local family = families and families[condensed] + local psname = psnames and psnames[condensed] + if family then + local style = style or "regular" + family = family[style] + local fontname, filename, subfont = family, family[1], family[2] + if subfont then + return filename, fontname + else + return filename, false + end + elseif psname then + local fontname, filename, subfont = psname, psname[1], psname[2] + if subfont then + return filename, fontname + else + return filename, false + end else - return filename, false + return name, false -- fallback to filename end - else - return name, false -- fallback to filename end end end -- cgit v1.2.3