From 1b8f320120195d4a8a523c4bdba45d811bd81048 Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Sun, 26 Apr 2020 20:17:14 +0200 Subject: 2020-04-26 19:56:00 --- tex/context/base/mkiv/lpdf-lmt.lua | 43 +++++++++++++++++++++++++++++++------- 1 file changed, 36 insertions(+), 7 deletions(-) (limited to 'tex/context/base/mkiv/lpdf-lmt.lua') diff --git a/tex/context/base/mkiv/lpdf-lmt.lua b/tex/context/base/mkiv/lpdf-lmt.lua index 3966143b4..8148bec01 100644 --- a/tex/context/base/mkiv/lpdf-lmt.lua +++ b/tex/context/base/mkiv/lpdf-lmt.lua @@ -378,23 +378,52 @@ local flushcharacter do local naturalwidth = nil + -- local naturalwidths = setmetatableindex(function(t,font) + -- local d = descriptions[font] + -- local c = characters[font] + -- local f = parameters[font].hfactor + -- local v = setmetatableindex(function(t,char) + -- local w + -- local e = d and d[char] + -- if e then + -- w = e.width + -- if w then + -- w = w * f + -- end + -- end + -- if not w then + -- e = c[char] + -- if e then + -- w = e.width or 0 + -- end + -- end + -- if not w then + -- w = 0 + -- end + -- t[char] = w + -- return w + -- end) + -- t[font] = v + -- return v + -- end) + local naturalwidths = setmetatableindex(function(t,font) local d = descriptions[font] local c = characters[font] local f = parameters[font].hfactor local v = setmetatableindex(function(t,char) - local e = d and d[char] local w + local e = c[char] if e then - w = e.width - if w then - w = w * f - end + w = e.width or 0 end if not w then - e = c[char] + e = d and d[char] if e then - w = e.width or 0 + w = e.width + if w then + w = w * f + end end end if not w then -- cgit v1.2.3