From 73b0f4f97a684af38d4aa3bfd4829939ad47c7c7 Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Sun, 6 Jul 2014 22:50:00 +0200 Subject: beta 2014.07.06 22:50 --- tex/context/base/char-fio.lua | 56 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 tex/context/base/char-fio.lua (limited to 'tex/context/base/char-fio.lua') diff --git a/tex/context/base/char-fio.lua b/tex/context/base/char-fio.lua new file mode 100644 index 000000000..766ea7123 --- /dev/null +++ b/tex/context/base/char-fio.lua @@ -0,0 +1,56 @@ +if not modules then modules = { } end modules ['char-fio'] = { + version = 1.001, + comment = "companion to char-ini.mkiv", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files" +} + +-- -- + +local sequencers = utilities.sequencers +local appendaction = sequencers.appendaction +local enableaction = sequencers.enableaction +local disableaction = sequencers.disableaction + +local utffilters = characters.filters.utf + +local textfileactions = resolvers.openers.helpers.textfileactions +local textlineactions = resolvers.openers.helpers.textlineactions + +appendaction (textfileactions,"system","characters.filters.utf.reorder") +disableaction(textfileactions, "characters.filters.utf.reorder") + +appendaction (textlineactions,"system","characters.filters.utf.reorder") +disableaction(textlineactions, "characters.filters.utf.reorder") + +appendaction (textfileactions,"system","characters.filters.utf.collapse") +disableaction(textfileactions, "characters.filters.utf.collapse") + +appendaction (textfileactions,"system","characters.filters.utf.decompose") +disableaction(textfileactions, "characters.filters.utf.decompose") + +function characters.filters.utf.enable() + enableaction(textfileactions,"characters.filters.utf.reorder") + enableaction(textfileactions,"characters.filters.utf.collapse") + enableaction(textfileactions,"characters.filters.utf.decompose") +end + +local function configure(what,v) + if not v then + disableaction(textfileactions,what) + disableaction(textlineactions,what) + elseif v == "line" then + disableaction(textfileactions,what) + enableaction (textlineactions,what) + else -- true or text + enableaction (textfileactions,what) + disableaction(textlineactions,what) + end +end + +directives.register("filters.utf.reorder", function(v) configure("characters.filters.utf.reorder", v) end) +directives.register("filters.utf.collapse", function(v) configure("characters.filters.utf.collapse", v) end) +directives.register("filters.utf.decompose", function(v) configure("characters.filters.utf.decompose",v) end) + +utffilters.setskippable { "mkiv", "mkvi", "mkix", "mkxi" } -- cgit v1.2.3