diff options
author | Hans Hagen <pragma@wxs.nl> | 2018-06-09 15:32:09 +0200 |
---|---|---|
committer | Context Git Mirror Bot <phg42.2a@gmail.com> | 2018-06-09 15:32:09 +0200 |
commit | 93dccfc40625a754b372edd228724969b28e4342 (patch) | |
tree | 94cec6d553ccc2b797802f39085f9a4725bec8ce /tex/context/base/mkiv/mlib-pps.lua | |
parent | 86bfea5faac983d15c47eec27f43ec56e75c69ef (diff) | |
download | context-93dccfc40625a754b372edd228724969b28e4342.tar.gz |
2018-06-09 14:37:00
Diffstat (limited to 'tex/context/base/mkiv/mlib-pps.lua')
-rw-r--r-- | tex/context/base/mkiv/mlib-pps.lua | 33 |
1 files changed, 20 insertions, 13 deletions
diff --git a/tex/context/base/mkiv/mlib-pps.lua b/tex/context/base/mkiv/mlib-pps.lua index db07cd7e4..91377f468 100644 --- a/tex/context/base/mkiv/mlib-pps.lua +++ b/tex/context/base/mkiv/mlib-pps.lua @@ -1002,12 +1002,12 @@ local tx_reset, tx_analyze, tx_process do ----- pat = tsplitat(":") local pat = lpeg.tsplitter(":",tonumber) -- so that %F can do its work --- local f_gray_yes = formatters["s=%F,a=%F,t=%F"] --- local f_gray_nop = formatters["s=%F"] --- local f_rgb_yes = formatters["r=%F,g=%F,b=%F,a=%F,t=%F"] --- local f_rgb_nop = formatters["r=%F,g=%F,b=%F"] --- local f_cmyk_yes = formatters["c=%F,m=%F,y=%F,k=%F,a=%F,t=%F"] --- local f_cmyk_nop = formatters["c=%F,m=%F,y=%F,k=%F"] + -- local f_gray_yes = formatters["s=%F,a=%F,t=%F"] + -- local f_gray_nop = formatters["s=%F"] + -- local f_rgb_yes = formatters["r=%F,g=%F,b=%F,a=%F,t=%F"] + -- local f_rgb_nop = formatters["r=%F,g=%F,b=%F"] + -- local f_cmyk_yes = formatters["c=%F,m=%F,y=%F,k=%F,a=%F,t=%F"] + -- local f_cmyk_nop = formatters["c=%F,m=%F,y=%F,k=%F"] local f_gray_yes = formatters["s=%n,a=%n,t=%n"] local f_gray_nop = formatters["s=%n"] @@ -1116,18 +1116,25 @@ local tx_reset, tx_analyze, tx_process do mp_a = tonumber(prescript.tr_alternative) mp_t = tonumber(prescript.tr_transparency) -- - local mp_text = top.texstrings[mp_index] - local hash = fmt(mp_text,mp_a or "-",mp_t or "-",mp_c or "-") - local box = data.texhash[hash] mp_index = index mp_target = top.texlast - 1 top.texlast = mp_target - if box then - box = copy_list(box) - else + -- + local mp_text = top.texstrings[mp_index] + local box + if prescript.tx_cache == "no" then tex.runtoks("mptexttoks") box = textakebox("mptextbox") - data.texhash[hash] = box + else + local hash = fmt(mp_text,mp_a or "-",mp_t or "-",mp_c or "-") + box = data.texhash[hash] + if box then + box = copy_list(box) + else + tex.runtoks("mptexttoks") + box = textakebox("mptextbox") + data.texhash[hash] = box + end end top.textexts[mp_target] = box -- |