diff options
| author | Khaled Hosny <khaledhosny@eglug.org> | 2010-01-15 07:05:57 +0200 | 
|---|---|---|
| committer | Khaled Hosny <khaledhosny@eglug.org> | 2010-01-15 08:28:18 +0200 | 
| commit | e9a6ba1faeb7d7e943e386286aa76e9c6345ed62 (patch) | |
| tree | 206349975c8ba1ecbc76d37db75f1d552ee71800 | |
| parent | ab822b50f8ee435e705ee0d510c5c7af8f99cb65 (diff) | |
| download | luaotfload-e9a6ba1faeb7d7e943e386286aa76e9c6345ed62.tar.gz | |
Try psname if familyname fails
| -rw-r--r-- | otfl-font-dum.lua | 32 | 
1 files 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 | 
