summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/typo-krn.lua
diff options
context:
space:
mode:
authorContext Git Mirror Bot <phg42.2a@gmail.com>2016-03-02 17:15:08 +0100
committerContext Git Mirror Bot <phg42.2a@gmail.com>2016-03-02 17:15:08 +0100
commit62676780b4363d25d7a247f39484b1e4a34ef7b7 (patch)
tree8678e13eee0b805e7c972b9885f21b9747493ee4 /tex/context/base/mkiv/typo-krn.lua
parent2a958dcf22dd71ba1e4408648676d44c16d7e3bf (diff)
downloadcontext-62676780b4363d25d7a247f39484b1e4a34ef7b7.tar.gz
2016-03-02 16:58:00
Diffstat (limited to 'tex/context/base/mkiv/typo-krn.lua')
-rw-r--r--tex/context/base/mkiv/typo-krn.lua12
1 files changed, 8 insertions, 4 deletions
diff --git a/tex/context/base/mkiv/typo-krn.lua b/tex/context/base/mkiv/typo-krn.lua
index cdb0a786c..9bf4a5a3b 100644
--- a/tex/context/base/mkiv/typo-krn.lua
+++ b/tex/context/base/mkiv/typo-krn.lua
@@ -243,7 +243,8 @@ local function inject_begin(boundary,prev,keeptogether,krn,ok) -- prev is a glyp
if charone > 0 then
local font = getfont(boundary)
local chartwo = getchar(boundary)
- local kerns = chardata[font][charone].kerns
+ local data = chardata[font][charone]
+ local kerns = data and data.kerns
local kern = new_kern((kerns and kerns[chartwo] or 0) + quaddata[font]*krn)
setlink(kern,boundary)
return kern, true
@@ -280,7 +281,8 @@ local function inject_end(boundary,next,keeptogether,krn,ok)
if charone > 0 then
local font = getfont(tail)
local chartwo = getchar(next)
- local kerns = chardata[font][charone].kerns
+ local data = chardata[font][charone]
+ local kerns = data and data.kerns
local kern = (kerns and kerns[chartwo] or 0) + quaddata[font]*krn
insert_node_after(boundary,tail,new_kern(kern))
return boundary, true
@@ -329,7 +331,8 @@ local function process_list(head,keeptogether,krn,font,okay)
-- keep 'm
else
local prevchar = getchar(prev)
- local kerns = chardata[font][prevchar].kerns
+ local data = chardata[font][prevchar]
+ local kerns = data and data.kerns
-- if kerns then
-- print("it happens indeed, basemode kerns not yet injected")
-- end
@@ -446,7 +449,8 @@ function kerns.handler(head)
if keeptogether and keeptogether(prev,start) then
-- keep 'm
else
- local kerns = chardata[font][prevchar].kerns
+ local data = chardata[font][prevchar]
+ local kerns = data and data.kerns
local kern = (kerns and kerns[char] or 0) + quaddata[font]*krn
insert_node_before(head,start,kern_injector(fillup,kern))
done = true