diff options
author | Philipp Gesang <phg42.2a@gmail.com> | 2013-05-20 11:32:48 -0700 |
---|---|---|
committer | Philipp Gesang <phg42.2a@gmail.com> | 2013-05-20 11:32:48 -0700 |
commit | e7b6210272a3287205d0692c995d35d5b783c189 (patch) | |
tree | cc7c7efe7d19eaeaa0c694ad29fd7aa443bec43b | |
parent | 24caa705787b2b8259d47392483c188759b41226 (diff) | |
parent | 1a66cdf2619cbbb8cd43b40200e265d52a321a85 (diff) | |
download | luaotfload-e7b6210272a3287205d0692c995d35d5b783c189.tar.gz |
Merge pull request #85 from phi-gamma/master
fix pfa loading (missing upvalue); fix letterspacing of user kerns
-rw-r--r-- | luaotfload-extralibs.lua | 6 | ||||
-rw-r--r-- | luaotfload-letterspace.lua | 5 | ||||
-rw-r--r-- | luaotfload-loaders.lua | 3 |
3 files changed, 10 insertions, 4 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 diff --git a/luaotfload-loaders.lua b/luaotfload-loaders.lua index c9c30de..b4ce0b2 100644 --- a/luaotfload-loaders.lua +++ b/luaotfload-loaders.lua @@ -6,7 +6,8 @@ if not modules then modules = { } end modules ["loaders"] = { license = "see context related readme files" } -local fonts = fonts +local fonts = fonts +local readers = fonts.readers --- --- opentype reader (from font-otf.lua): |