diff options
author | Philipp Gesang <phg42.2a@gmail.com> | 2013-05-20 13:40:27 +0200 |
---|---|---|
committer | Philipp Gesang <phg42.2a@gmail.com> | 2013-05-20 13:40:27 +0200 |
commit | ac4c2a64fc7883ad9c32f12d532fc8f0fc6f14a8 (patch) | |
tree | f83a825a8193f37b5955c20738cb5113e9caa3b9 | |
parent | 166b74a41e2ff61a7f09846081c474872a799d20 (diff) | |
download | luaotfload-ac4c2a64fc7883ad9c32f12d532fc8f0fc6f14a8.tar.gz |
fix adapted letterspacing
-rw-r--r-- | luaotfload-extralibs.lua | 6 | ||||
-rw-r--r-- | luaotfload-letterspace.lua | 5 |
2 files changed, 8 insertions, 3 deletions
diff --git a/luaotfload-extralibs.lua b/luaotfload-extralibs.lua index ddf3694..84819f4 100644 --- a/luaotfload-extralibs.lua +++ b/luaotfload-extralibs.lua @@ -51,12 +51,16 @@ local kernfont = typesetters.kernfont nodes = nodes or { } --- should be present with luaotfload local bothways = function (t) return table.swapped (t, t) end -nodes.kerncodes = bothways({ +local kerncodes = bothways({ [0] = "fontkern", [1] = "userkern", [2] = "accentkern", }) +kerncodes.kerning = kerncodes.fontkern --- idiosyncrasy + +nodes.kerncodes = kerncodes + nodes.skipcodes = bothways({ [ 0] = "userskip", [ 1] = "lineskip", diff --git a/luaotfload-letterspace.lua b/luaotfload-letterspace.lua index 8566c06..8711646 100644 --- a/luaotfload-letterspace.lua +++ b/luaotfload-letterspace.lua @@ -90,7 +90,6 @@ kerncharacters = function (head) local kernfactors = kernfactors while start do - local attr = start[attribute] local id = start.id if id == glyph_code then @@ -163,7 +162,9 @@ kerncharacters = function (head) -- nothing elseif pid == kern_code then - if prev.subtype == kerning_code or prev[a_fontkern] then + if prev.subtype == kerning_code --- context does this by means of an + or prev.subtype == userkern_code --- attribute; we may need a test + then if keeptogether and prev.prev.id == glyph_code and keeptogether(prev.prev,start) then -- keep else |