summaryrefslogtreecommitdiff
path: root/tex/context/base/mkxl/typo-drp.lmt
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/mkxl/typo-drp.lmt')
-rw-r--r--tex/context/base/mkxl/typo-drp.lmt13
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