From 57482bf62a2819450161e6255c14b7f950db331a Mon Sep 17 00:00:00 2001
From: Philipp Gesang <phg@phi-gamma.net>
Date: Tue, 22 Dec 2015 08:17:44 +0100
Subject: [init] install some more accessors required by the fontloader

---
 src/fontloader/misc/fontloader-font-otf.lua | 5 ++++-
 src/luaotfload-init.lua                     | 9 ++++++++-
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/fontloader/misc/fontloader-font-otf.lua b/src/fontloader/misc/fontloader-font-otf.lua
index 86b1313..0471c17 100644
--- a/src/fontloader/misc/fontloader-font-otf.lua
+++ b/src/fontloader/misc/fontloader-font-otf.lua
@@ -296,7 +296,8 @@ local ordered_enhancers = {
 
     "expand lookups", -- a temp hack awaiting the lua loader
 
---     "check extra features", -- after metadata and duplicates
+--[[phg-- PATCH: Next line restores font features --phg]]--
+    "check extra features", -- after metadata and duplicates
 
     "cleanup tables",
 
@@ -600,7 +601,9 @@ function otf.load(filename,sub,featurefile) -- second argument (format) is gone
             applyruntimefixes(filename,data)
         end
         enhance("add dimensions",data,filename,nil,false)
+--[[phg-- This was hand-patched to restore the fontloader
 enhance("check extra features",data,filename)
+--phg]]--
         if trace_sequences then
             showfeatureorder(data,filename)
         end
diff --git a/src/luaotfload-init.lua b/src/luaotfload-init.lua
index 3568d21..d471152 100644
--- a/src/luaotfload-init.lua
+++ b/src/luaotfload-init.lua
@@ -89,10 +89,17 @@ local luatex_stubs = function ()
   if not node.subtypes then
     node.subtypes = function (t) return node_types [t] or { } end
     local direct = node.direct
+
     local getfield = direct.getfield
     local setfield = direct.setfield
+
     direct.setchar = direct.setchar or function (n, ...) setfield (n, "char", ...) end
-    direct.getchar = direct.getchar or function (n) getfield (n, "char")    end
+    direct.setprev = direct.setprev or function (n, ...) setfield (n, "prev", ...) end
+    direct.setnext = direct.setnext or function (n, ...) setfield (n, "next", ...) end
+
+    direct.getchar = direct.getchar or function (n) getfield (n, "char") end
+    direct.getprev = direct.getprev or function (n) getfield (n, "prev") end
+    direct.getnext = direct.getnext or function (n) getfield (n, "next") end
   end
 end
 
-- 
cgit v1.2.3