diff options
| -rw-r--r-- | otfl-font-clr.lua | 19 | 
1 files changed, 10 insertions, 9 deletions
diff --git a/otfl-font-clr.lua b/otfl-font-clr.lua index 0e5928f..9fe2916 100644 --- a/otfl-font-clr.lua +++ b/otfl-font-clr.lua @@ -14,6 +14,7 @@ local registerotffeature = otffeatures.register  local function setcolor(tfmdata,value)      local sanitized +    local properties = tfmdata.properties      if value then          value = tostring(value) @@ -29,7 +30,7 @@ local function setcolor(tfmdata,value)      end      if sanitized then -        tfmdata.color = sanitized +        tfmdata.properties.color = sanitized          add_color_callback()      end  end @@ -98,8 +99,8 @@ local sbox    = node.id('sub_box')  local function lookup_next_color(head)      for n in node.traverse(head) do          if n.id == glyph then -            if ids[n.font] and ids[n.font].color then -                return ids[n.font].color +            if ids[n.font] and ids[n.font].properties and ids[n.font].properties.color then +                return ids[n.font].properties.color              else                  return -1              end @@ -124,18 +125,18 @@ local function node_colorize(head, current_color, next_color)              n.list, current_color = node_colorize(n.list, current_color, next_color_in)          elseif n.id == glyph then              local tfmdata = ids[n.font] -            if tfmdata and tfmdata.color then -                if tfmdata.color ~= current_color then -                    local pushcolor = hex_to_rgba(tfmdata.color) +            if tfmdata and tfmdata.properties  and tfmdata.properties.color then +                if tfmdata.properties.color ~= current_color then +                    local pushcolor = hex_to_rgba(tfmdata.properties.color)                      local push = node.new(whatsit, 8)                      push.mode  = 1                      push.data  = pushcolor                      head       = node.insert_before(head, n, push) -                    current_color = tfmdata.color +                    current_color = tfmdata.properties.color                  end                  local next_color_in = lookup_next_color (n.next) or next_color -                if next_color_in ~= tfmdata.color then -                    local _, popcolor = hex_to_rgba(tfmdata.color) +                if next_color_in ~= tfmdata.properties.color then +                    local _, popcolor = hex_to_rgba(tfmdata.properties.color)                      local pop  = node.new(whatsit, 8)                      pop.mode   = 1                      pop.data   = popcolor  | 
