From 64f6e8fc0c6cb9254a6fe3db0b4ab31c51cf8524 Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Thu, 4 Apr 2019 14:11:01 +0200 Subject: 2019-04-04 13:38:00 --- tex/context/base/mkiv/back-lua.lua | 52 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 tex/context/base/mkiv/back-lua.lua (limited to 'tex/context/base/mkiv/back-lua.lua') diff --git a/tex/context/base/mkiv/back-lua.lua b/tex/context/base/mkiv/back-lua.lua new file mode 100644 index 000000000..257fda0a2 --- /dev/null +++ b/tex/context/base/mkiv/back-lua.lua @@ -0,0 +1,52 @@ +if not modules then modules = { } end modules ['back-lua'] = { + version = 1.001, + comment = "companion to lpdf-ini.mkiv", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files" +} + +local buffer = { } +local b = 0 + +local function reset() + buffer = { } + b = 0 +end + +local function initialize(specification) + reset() +end + +local function finalize() +end + +local function fetch() + local saved = buffer + reset() + return saved +end + +local function flushcharacter(current, pos_h, pos_v, pod_r, font, char) + b = b + 1 ; buffer[b] = { "glyph", font, char, pos_h, pos_v, pos_r } +end + +local function flushrule(current, pos_h, pos_v, pos_r, size_h, size_v) + b = b + 1 ; buffer[b] = { "rule", size_h, size_v, pos_h, pos_v, pos_r } +end + +-- file stuff too + +drivers.install { + name = "lua", + actions = { + initialize = initialize, + finalize = finalize, + fetch = fetch, + reset = reset, + }, + flushers = { + character = flushcharacter, + rule = flushrule, + } +} -- cgit v1.2.3