diff options
| author | Elie Roux <elie.roux@telecom-bretagne.eu> | 2010-01-16 11:26:56 +0200 | 
|---|---|---|
| committer | Elie Roux <elie.roux@telecom-bretagne.eu> | 2010-01-16 11:26:56 +0200 | 
| commit | 332a9413f6a97d0866b3d77d7e338b093378d531 (patch) | |
| tree | d5f8e4d03722f255df83f7f9bc689b4023c02218 | |
| parent | 1c02c7311fd48b0de24e6bedaec42f2a48e791a6 (diff) | |
| download | luaotfload-332a9413f6a97d0866b3d77d7e338b093378d531.tar.gz | |
Some math improvement and luaextra compliance
Not relying on str:is_empty which is not in luaextra (yet?).
In pre_output_buffer, we shouldn't encounter sub_math but if
we encounter a sub_box we should explore it like we do for vlist
and hlist.
| -rw-r--r-- | otfl-font-msc.lua | 21 | 
1 files changed, 11 insertions, 10 deletions
diff --git a/otfl-font-msc.lua b/otfl-font-msc.lua index 6ebf31d..5821886 100644 --- a/otfl-font-msc.lua +++ b/otfl-font-msc.lua @@ -1,6 +1,6 @@  if not modules then modules = { } end modules ['font-msc'] = {      version   = 1.001, -    comment   = "companion to font-otf.lua (miscellaneous)", +    comment   = "companion to font-otf.lua (slanting, extending, colors)",      author    = "Khaled Hosny",      copyright = "Khaled Hosny",      license   = "GPL" @@ -116,14 +116,13 @@ local hlist   = node.id('hlist')  local vlist   = node.id('vlist')  local whatsit = node.id('whatsit')  local pgi     = node.id('page_insert') -local sbml    = node.id('sub_mlist') +local sbox    = node.id('sub_box')  function luaotfload.node_colorize(head)      for n in node.traverse(head) do -       if n.id == hlist or n.id == vlist then +       if n.id == hlist or n.id == vlist or n.id == sbox then             n.list = luaotfload.node_colorize(n.list) -       end -       if n.id == glyph then +       elseif n.id == glyph then             local tfmdata = fonts.ids[n.font]             if tfmdata and tfmdata.color then                 local prevg, nextg = n.prev, n.next @@ -131,8 +130,9 @@ function luaotfload.node_colorize(head)                 while prevg and not found do                     if prevg.id == glyph then                         found = 1 -                   elseif prevg.id == hlist or prevg.id == vlist or prevg.id == whatsit  -                           or prevg.id == pgi or prevg.id == sbml then +                   elseif prevg.id == hlist or prevg.id == vlist +                           or prevg.id == sbox or prevg.id == whatsit  +                           or prevg.id == pgi then                         prevg = nil                     else                         prevg = prevg.prev @@ -142,8 +142,9 @@ function luaotfload.node_colorize(head)                 while nextg and not found do                     if nextg.id == glyph then                         found = 1 -                   elseif nextg.id == hlist or nextg.id == vlist or nextg.id == whatsit -                           or nextg.id == pgi or nextg.id == sbml then +                   elseif nextg.id == hlist or nextg.id == vlist  +                           or nextg.id == sbox or nextg.id == whatsit +                           or nextg.id == pgi then                         nextg = nil                     else                         nextg = nextg.next @@ -180,7 +181,7 @@ function luaotfload.colorize(head)     end     local h = luaotfload.node_colorize(head)     -- now append our page resources -   if res and not res:is_empty() then +   if res and res:find("%S") then -- test for non-empty string        local r = "/ExtGState<<"..res..">>"        tex.pdfpageresources = tex.pdfpageresources..r     end  | 
