diff options
author | Karl Berry <karl@freefriends.org> | 2020-02-03 22:30:09 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-02-03 22:30:09 +0000 |
commit | 80eeb8a04335539fde455e00d5cfde4e2c7ed5c6 (patch) | |
tree | b35ac34b9cccd54d049c68d5d808b9ed48bab65e /Master/texmf-dist/tex/luatex/luaotfload/luaotfload-letterspace.lua | |
parent | ca44d57bbfaa45d580f466e5dff1b3a9cccd49f6 (diff) |
luaotfload (3feb20)
git-svn-id: svn://tug.org/texlive/trunk@53652 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/luatex/luaotfload/luaotfload-letterspace.lua')
-rw-r--r-- | Master/texmf-dist/tex/luatex/luaotfload/luaotfload-letterspace.lua | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-letterspace.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-letterspace.lua index 905fc6acce8..ce7d6fcd565 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-letterspace.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-letterspace.lua @@ -5,8 +5,8 @@ local ProvidesLuaModule = { name = "luaotfload-letterspace", - version = "3.11", --TAGVERSION - date = "2019-11-10", --TAGDATE + version = "3.12", --TAGVERSION + date = "2020-02-02", --TAGDATE description = "luaotfload submodule / color", license = "GPL v2.0", copyright = "PRAGMA ADE / ConTeXt Development Team", @@ -82,6 +82,7 @@ local fonthashes = fonts.hashes local identifiers = fonthashes.identifiers local chardata = fonthashes.characters local otffeatures = fonts.constructors.newfeatures "otf" +local markdata local function getprevreal(n) repeat @@ -144,6 +145,21 @@ if not chardata then fonthashes.characters = chardata end +if not markdata then + markdata = setmetatable({}, {__index = function(t, k) + if k == true then + return t[currentfont()] + else + local tfmdata = font.getfont(k) or font.fonts[k] + if tfmdata then + local marks = tfmdata.resources.marks or {} + t[k] = marks + return marks + end + end + end}) +end + ---=================================================================--- --- character kerning functionality ---=================================================================--- @@ -334,7 +350,7 @@ kerncharacters = function (head) local kern = 0 local kerns = prevchardata.kerns if kerns then kern = kerns[lastchar] or kern end - krn = kern + krn -- here + krn = kern + (markdata[lastfont][lastchar] and 0 or krn) -- here insert_node_before(head,start,kern_injector(fillup,krn)) end end @@ -409,7 +425,7 @@ kerncharacters = function (head) if kerns then kern = kerns[lastchar] or kern end end end - krn = kern + krn -- here + krn = kern + (markdata[lastfont][lastchar] and 0 or krn) -- here end setfield(disc, "replace", kern_injector(false, krn)) end --[[if replace and prv and nxt]] |