From 1f360a62ce1f1b6cd4601e349718e414f64d8f35 Mon Sep 17 00:00:00 2001 From: Philipp Gesang Date: Wed, 22 Jul 2015 22:45:46 +0200 Subject: [init,main,package] split initialization in early and late stage MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is a big move. Due to the restructuring of the initialization we can now separate the early tasks -- mostly dirty stuff like writing globals -- from the later stage where we actually inject the actual font loader. As a consequence, the basic configuration is now present before the font loader is injected. It’s not complete, though, in that the reconfiguration step must still be executed after the font loader is there, since some config variables require values to be set up by the loader. A decision is pending regarding how we address the situation; possible approaches are, in order of increasing complexity: * reconfigure twice, skip some of the steps the first time through * split reconfiguration into two stages * make configuration independent of fontloader values Design-wise, the last point would be the most desirable, naturally. Though the fontloader has been known to require extensive static preparation which might very well make that strategy impossible or unjustifiably demanding. We’ll see how it plays out … --- src/luaotfload-main.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/luaotfload-main.lua') diff --git a/src/luaotfload-main.lua b/src/luaotfload-main.lua index 2a49686..5ac1421 100644 --- a/src/luaotfload-main.lua +++ b/src/luaotfload-main.lua @@ -153,8 +153,8 @@ luaotfload.loaders.luaotfload = load_luaotfload_module luaotfload.loaders.fontloader = load_fontloader_module luaotfload.init = load_luaotfload_module "init" --- fontloader initialization -luaotfload.init.init () +local store = luaotfload.init.early () local log = luaotfload.log local logreport = log.report @@ -171,6 +171,8 @@ if not config.actions.apply_defaults () then logreport ("log", 0, "load", "Configuration unsuccessful.") end +luaotfload.init.main (store) + load_luaotfload_module "loaders" --- Type1 font wrappers load_luaotfload_module "database" --- Font management. load_luaotfload_module "colors" --- Per-font colors. -- cgit v1.2.3