diff options
| author | Philipp Gesang <megas.kapaneus@gmail.com> | 2013-04-10 14:53:57 +0200 | 
|---|---|---|
| committer | Philipp Gesang <megas.kapaneus@gmail.com> | 2013-04-10 14:53:57 +0200 | 
| commit | 3918e104cc75385e87b23707b2669c32eb112bea (patch) | |
| tree | f9cc0c3d642856c2b3130c2235ebd6679f1ae49e | |
| parent | 3b03067cbc7811eb2c537dff7f40fcfa2e2222a2 (diff) | |
| download | luaotfload-3918e104cc75385e87b23707b2669c32eb112bea.tar.gz | |
choose less generic identifiers in font-ltx
| -rw-r--r-- | otfl-font-ltx.lua | 86 | 
1 files changed, 44 insertions, 42 deletions
| diff --git a/otfl-font-ltx.lua b/otfl-font-ltx.lua index 2025db5..4a86593 100644 --- a/otfl-font-ltx.lua +++ b/otfl-font-ltx.lua @@ -5,6 +5,7 @@ if not modules then modules = { } end modules ['font-ltx'] = {      copyright = "PRAGMA ADE / ConTeXt Development Team",      license   = "see context related readme files"  } +--- where have all the comments gone?  local fonts = fonts @@ -21,23 +22,24 @@ end  -- the generic name parser (different from context!) -local list = { } +local feature_list = { } +--- ugh TODO use lpeg instead  local function isstyle(s)      local style  = string.lower(s):split("/")      for _,v in next, style do          if v == "b" then -            list.style = "bold" +            feature_list.style = "bold"          elseif v == "i" then -            list.style = "italic" +            feature_list.style = "italic"          elseif v == "bi" or v == "ib" then -            list.style = "bolditalic" +            feature_list.style = "bolditalic"          elseif v:find("^s=") then -            list.optsize = v:split("=")[2] +            feature_list.optsize = v:split("=")[2]          elseif v == "aat" or v == "icu" or v == "gr" then              logs.report("load font", "unsupported font option: %s", v)          elseif not v:is_empty() then -            list.style = v:gsub("[^%a%d]", "") +            feature_list.style = v:gsub("[^%a%d]", "")          end      end  end @@ -103,20 +105,20 @@ local function set_default_features(script)          features = defaults["dflt"]      end      for _,v in next, features do -        if list[v] ~= false then -            list[v] = true +        if feature_list[v] ~= false then +            feature_list[v] = true          end      end  end -local function issome ()    list.lookup = 'name' end -local function isfile ()    list.lookup = 'file' end -local function isname ()    list.lookup = 'name' end -local function thename(s)   list.name   = s end -local function issub  (v)   list.sub    = v end -local function istrue (s)   list[s]     = true end -local function isfalse(s)   list[s]     = false end -local function iskey  (k,v) list[k]     = v end +local function issome ()    feature_list.lookup = 'name' end +local function isfile ()    feature_list.lookup = 'file' end +local function isname ()    feature_list.lookup = 'name' end +local function thename(s)   feature_list.name   = s end +local function issub  (v)   feature_list.sub    = v end +local function istrue (s)   feature_list[s]     = true end +local function isfalse(s)   feature_list[s]     = false end +local function iskey  (k,v) feature_list[k]     = v end  local P, S, R, C = lpeg.P, lpeg.S, lpeg.R, lpeg.C @@ -137,42 +139,42 @@ local options    = P(":") * spaces * (P(";")^0  * option)^0  local pattern    = (filename + fontname) * subvalue^0 * stylespec^0 * options^0  local function colonized(specification) -- xetex mode -    list = { } +    feature_list = { }      lpeg.match(pattern,specification.specification) -    set_default_features(list.script) -    if list.style then -        specification.style = list.style -        list.style = nil +    set_default_features(feature_list.script) +    if feature_list.style then +        specification.style = feature_list.style +        feature_list.style = nil      end -    if list.optsize then -        specification.optsize = list.optsize -        list.optsize = nil +    if feature_list.optsize then +        specification.optsize = feature_list.optsize +        feature_list.optsize = nil      end -    if list.name then -        if resolvers.findfile(list.name, "tfm") then -            list.lookup = "file" -            list.name   = file.addsuffix(list.name, "tfm") -        elseif resolvers.findfile(list.name, "ofm") then -            list.lookup = "file" -            list.name   = file.addsuffix(list.name, "ofm") +    if feature_list.name then +        if resolvers.findfile(feature_list.name, "tfm") then +            feature_list.lookup = "file" +            feature_list.name   = file.addsuffix(feature_list.name, "tfm") +        elseif resolvers.findfile(feature_list.name, "ofm") then +            feature_list.lookup = "file" +            feature_list.name   = file.addsuffix(feature_list.name, "ofm")          end -        specification.name = list.name -        list.name = nil +        specification.name = feature_list.name +        feature_list.name = nil      end -    if list.lookup then -        specification.lookup = list.lookup -        list.lookup = nil +    if feature_list.lookup then +        specification.lookup = feature_list.lookup +        feature_list.lookup = nil      end -    if list.sub then -        specification.sub = list.sub -        list.sub = nil +    if feature_list.sub then +        specification.sub = feature_list.sub +        feature_list.sub = nil      end -    if not list.mode then +    if not feature_list.mode then          -- if no mode is set, use our default -        list.mode = fonts.mode +        feature_list.mode = fonts.mode      end -    specification.features.normal = fonts.handlers.otf.features.normalize(list) +    specification.features.normal = fonts.handlers.otf.features.normalize(feature_list)      return specification  end | 
