diff options
| author | Philipp Gesang <phg@phi-gamma.net> | 2015-12-21 06:19:24 +0100 | 
|---|---|---|
| committer | Philipp Gesang <phg@phi-gamma.net> | 2015-12-21 06:19:33 +0100 | 
| commit | e7347ebd913a5f080946f3d4d9e9ccbf060cacc5 (patch) | |
| tree | 47b31fd2ab623dc663435375bc228bdcb06359d0 | |
| parent | 92b6110cfde6deb63e328d47965bfa6ea26d35a1 (diff) | |
| download | luaotfload-e7347ebd913a5f080946f3d4d9e9ccbf060cacc5.tar.gz | |
[features] pull in upstream fixes
Fixes the crash but apparently not the feature.
| -rw-r--r-- | src/luaotfload-features.lua | 16 | 
1 files changed, 10 insertions, 6 deletions
| diff --git a/src/luaotfload-features.lua b/src/luaotfload-features.lua index 749ffec..322a020 100644 --- a/src/luaotfload-features.lua +++ b/src/luaotfload-features.lua @@ -968,6 +968,8 @@ setmetatableindex(types, function(t,k) t[k] = k return k end) -- "key"  local everywhere = { ["*"] = { ["*"] = true } } -- or: { ["*"] = { "*" } }  local noflags = { } +local tohash = table.tohash +  local function addfeature(data,feature,specifications)      local descriptions = data.descriptions      local resources    = data.resources @@ -1016,17 +1018,18 @@ local function addfeature(data,feature,specifications)              end              local askedfeatures = specification.features or everywhere              local askedsteps    = specifications.steps or specification.subtables or { specification.data } or { } -            local featuretype   = normalized[specification.type or "substitution"] or "substitution" +            local defaulttype   = specification.type or "substitution"              local featureflags  = specification.flags or noflags              local featureorder  = specification.order or { feature }              local added         = false              local nofsteps      = 0              local steps         = { }              for i=1,#askedsteps do -                local list     = askedsteps[i] -                local coverage = { } -                local cover    = coveractions[featuretype] -                local format   = nil +                local list        = askedsteps[i] +                local coverage    = { } +                local cover       = coveractions[featuretype] +                local format      = nil +                local featuretype = normalized[list.type or defaulttype] or "substitution"                  if not cover then                      -- unknown                  elseif featuretype == "substitution" then @@ -1166,7 +1169,7 @@ local function addfeature(data,feature,specifications)                  -- script = { lang1, lang2, lang3 } or script = { lang1 = true, ... }                  for k, v in next, askedfeatures do                      if v[1] then -                        askedfeatures[k] = table.tohash(v) +                        askedfeatures[k] = tohash(v)                      end                  end                  local sequence = { @@ -1212,6 +1215,7 @@ local function addfeature(data,feature,specifications)      end  end +  ---[[ end snippet from font-otc.lua ]]  local tlig_order = { "tlig" } | 
