diff options
Diffstat (limited to 'tex/context/base/mkxl/typo-drp.lmt')
-rw-r--r-- | tex/context/base/mkxl/typo-drp.lmt | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/tex/context/base/mkxl/typo-drp.lmt b/tex/context/base/mkxl/typo-drp.lmt index de65dd55d..c62b5e718 100644 --- a/tex/context/base/mkxl/typo-drp.lmt +++ b/tex/context/base/mkxl/typo-drp.lmt @@ -73,6 +73,7 @@ local v_default = variables.default local v_margin = variables.margin local v_auto = variables.auto local v_first = variables.first +local v_keep = variables.keep local v_last = variables.last local texget = tex.get @@ -130,6 +131,7 @@ interfaces.implement { -- a page so this has a low priority actions[v_default] = function(head,setting) + local skip = false -- begin of par local first = getnext(head) local indent = false @@ -193,6 +195,9 @@ actions[v_default] = function(head,setting) else -- keep quote etc with initial local next = getnext(first) + if next and method[v_keep] then + skip = first + end if not next then -- don't start with a quote or so return head @@ -242,7 +247,7 @@ actions[v_default] = function(head,setting) local id = getid(current) if id == kern_code then setkern(current,0) - elseif id == glyph_code then + elseif id == glyph_code and skip ~= current then local next = getnext(current) if font then setfont(current,font) @@ -289,7 +294,11 @@ actions[v_default] = function(head,setting) -- local hoffset = width + hoffset + distance + (indent and parindent or 0) for current in nextglyph, first do - setoffsets(current,-hoffset,-voffset) -- no longer - height here + if skip == current then + setoffsets(current,-hoffset,0) + else + setoffsets(current,-hoffset,-voffset) -- no longer - height here + end if current == last then break end |