task-ini.lmt /size: 19 Kb    last modification: 2024-01-16 09:03
1if not modules then modules = { } end modules ['task-ini'] = {
2    version   = 1.001,
3    comment   = "companion to task-ini.mkiv",
4    author    = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
5    copyright = "PRAGMA ADE / ConTeXt Development Team",
6    license   = "see context related readme files"
7}
8
9-- this is a temporary solution, we need to isolate some modules and then
10-- the load order can determine the trickery to be applied to node lists
11--
12-- we can disable more handlers and enable then when really used (*)
13--
14-- todo: two finalizers: real shipout (can be imposed page) and page shipout (individual page)
15--
16-- todo: consider moving the kernel kerning/ligaturing functions in the main font loop because
17-- there we know if they are needed; doesn't save time but; if we overload unh* commands to
18-- not apply the font handler, we can remove all checks for subtypes 255
19
20local tasks           = nodes.tasks
21local appendaction    = tasks.appendaction
22local disableaction   = tasks.disableaction
23local enableaction    = tasks.enableaction
24local freezegroup     = tasks.freezegroup
25local freezecallbacks = callbacks.freeze
26
27------------("processors",   "before",      "nodes.properties.attach",                          nil, "nut",    "enabled"   )
28
29appendaction("processors",   "normalizers", "builders.kernel.collapsing",                       nil, "nut",    "enabled"   )
30appendaction("processors",   "normalizers", "typesetters.periodkerns.handler",                  nil, "nut",    "disabled"  )
31appendaction("processors",   "normalizers", "languages.replacements.handler",                   nil, "nut",    "disabled"  )
32appendaction("processors",   "normalizers", "typesetters.wrappers.handler",                     nil, "nut",    "disabled"  )
33appendaction("processors",   "normalizers", "typesetters.characters.handler",                   nil, "nut",    "enabled"   )
34appendaction("processors",   "normalizers", "fonts.collections.process",                        nil, "nut",    "disabled"  )
35appendaction("processors",   "normalizers", "fonts.checkers.missing",                           nil, "nut",    "disabled"  )
36
37appendaction("processors",   "characters",  "scripts.autofontfeature.handler",                  nil, "nut",    "disabled"  )
38appendaction("processors",   "characters",  "scripts.splitters.handler",                        nil, "nut",    "disabled"  )
39appendaction("processors",   "characters",  "typesetters.cleaners.handler",                     nil, "nut",    "disabled"  )
40appendaction("processors",   "characters",  "typesetters.directions.handler",                   nil, "nut",    "disabled"  )
41appendaction("processors",   "characters",  "typesetters.cases.handler",                        nil, "nut",    "disabled"  )
42appendaction("processors",   "characters",  "typesetters.breakpoints.handler",                  nil, "nut",    "disabled"  )
43appendaction("processors",   "characters",  "scripts.injectors.handler",                        nil, "nut",    "disabled"  )
44
45appendaction("processors",   "words",       "languages.words.check",                            nil, "nut",    "disabled"  )
46appendaction("processors",   "words",       "languages.hyphenators.handler",                    nil, "nut",    "enabled"   )
47appendaction("processors",   "words",       "typesetters.initials.handler",                     nil, "nut",    "disabled"  )
48appendaction("processors",   "words",       "typesetters.firstlines.handler",                   nil, "nut",    "disabled"  )
49
50appendaction("processors",   "fonts",       "builders.paragraphs.solutions.splitters.split",    nil, "nut",    "disabled"  )
51appendaction("processors",   "fonts",       "nodes.handlers.characters",                        nil, "nut",    "enabled"   )
52appendaction("processors",   "fonts",       "nodes.injections.handler",                         nil, "nut",    "enabled"   )
53appendaction("processors",   "fonts",       "typesetters.fontkerns.handler",                    nil, "nut",    "disabled"  )
54appendaction("processors",   "fonts",       "nodes.handlers.protectglyphs",                     nil, "nonut",  "enabled"   )
55appendaction("processors",   "fonts",       "builders.kernel.ligaturing",                       nil, "nut",    "disabled"  )
56appendaction("processors",   "fonts",       "builders.kernel.kerning",                          nil, "nut",    "disabled"  )
57appendaction("processors",   "fonts",       "nodes.handlers.show",                              nil, "nut",    "disabled"  )
58appendaction("processors",   "fonts",       "nodes.handlers.stripping",                         nil, "nut",    "disabled"  )
59appendaction("processors",   "fonts",       "nodes.handlers.flatten",                           nil, "nut",    "disabled"  )
60appendaction("processors",   "fonts",       "fonts.goodies.colorschemes.coloring",              nil, "nut",    "disabled"  )
61
62appendaction("processors",   "lists",       "typesetters.rubies.check",                         nil, "nut",    "disabled"  )
63appendaction("processors",   "lists",       "typesetters.characteralign.handler",               nil, "nut",    "disabled"  )
64appendaction("processors",   "lists",       "typesetters.spacings.handler",                     nil, "nut",    "disabled"  )
65appendaction("processors",   "lists",       "typesetters.kerns.handler",                        nil, "nut",    "disabled"  )
66appendaction("processors",   "lists",       "typesetters.tighten.handler",                      nil, "nut",    "disabled"  )
67appendaction("processors",   "lists",       "typesetters.digits.handler",                       nil, "nut",    "disabled"  )
68appendaction("processors",   "lists",       "typesetters.corrections.handler",                  nil, "nut",    "disabled"  )
69appendaction("processors",   "lists",       "typesetters.italics.handler",                      nil, "nut",    "disabled"  )
70appendaction("processors",   "lists",       "languages.visualizediscretionaries",               nil, "nut",    "disabled"  )
71
72appendaction("processors",   "after",       "typesetters.marksuspects",                         nil, "nut",    "disabled"  )
73
74appendaction("shipouts",     "normalizers", "nodes.handlers.cleanuppage",                       nil, "nut",    "production")
75appendaction("shipouts",     "normalizers", "typesetters.showsuspects",                         nil, "nut",    "disabled"  )
76appendaction("shipouts",     "normalizers", "typesetters.margins.finalhandler",                 nil, "nut",    "disabled"  )
77appendaction("shipouts",     "normalizers", "builders.paragraphs.expansion.trace",              nil, "nut",    "disabled"  )
78appendaction("shipouts",     "normalizers", "typesetters.alignments.handler",                   nil, "nut",    "disabled"  )
79appendaction("shipouts",     "normalizers", "nodes.references.handler",                         nil, "nut",    "production")
80appendaction("shipouts",     "normalizers", "nodes.destinations.handler",                       nil, "nut",    "production")
81appendaction("shipouts",     "normalizers", "nodes.rules.handler",                              nil, "nut",    "disabled"  )
82appendaction("shipouts",     "normalizers", "nodes.shifts.handler",                             nil, "nut",    "disabled"  )
83appendaction("shipouts",     "normalizers", "structures.tags.handler",                          nil, "nut",    "disabled"  )
84------------("shipouts",     "normalizers", "nodes.handlers.accessibility",                     nil, "nut",    "disabled"  )
85appendaction("shipouts",     "normalizers", "nodes.handlers.backgrounds",                       nil, "nut",    "disabled"  )
86appendaction("shipouts",     "normalizers", "typesetters.rubies.attach",                        nil, "nut",    "disabled"  )
87------------("shipouts",     "normalizers", "nodes.properties.delayed",                         nil, "nut",    "production")
88appendaction("shipouts",     "normalizers", "nodes.tracers.directions",                         nil, "nut",    "disabled"  )
89
90appendaction("shipouts",     "finishers",   "nodes.visualizers.handler",                        nil, "nut",    "disabled"  )
91appendaction("shipouts",     "finishers",   "attributes.colors.handler",                        nil, "nut",    "disabled"  )
92appendaction("shipouts",     "finishers",   "attributes.transparencies.handler",                nil, "nut",    "disabled"  )
93appendaction("shipouts",     "finishers",   "attributes.colorintents.handler",                  nil, "nut",    "disabled"  )
94appendaction("shipouts",     "finishers",   "attributes.negatives.handler",                     nil, "nut",    "disabled"  )
95appendaction("shipouts",     "finishers",   "attributes.effects.handler",                       nil, "nut",    "disabled"  )
96appendaction("shipouts",     "finishers",   "attributes.alternates.handler",                    nil, "nut",    "disabled"  )
97appendaction("shipouts",     "finishers",   "attributes.viewerlayers.handler",                  nil, "nut",    "disabled"  )
98
99appendaction("shipouts",     "wrapup",      "nodes.handlers.export",                            nil, "nut",    "disabled"  )  -- always last
100appendaction("shipouts",     "wrapup",      "luatex.synctex.collect",                           nil, "nut",    "disabled"  )
101
102appendaction("math",         "normalizers", "noads.handlers.showtree",                          nil, "nonut",  "disabled"  )
103appendaction("math",         "normalizers", "noads.handlers.collapse",                          nil, "nonut",  "disabled"  )  -- first time
104appendaction("math",         "normalizers", "noads.handlers.numbers",                           nil, "nonut",  "disabled"  )
105appendaction("math",         "normalizers", "noads.handlers.spacing",                           nil, "nonut",  "disabled"  )
106appendaction("math",         "normalizers", "noads.handlers.fencing",                           nil, "nonut",  "disabled"  )
107appendaction("math",         "normalizers", "noads.handlers.unscript",                          nil, "nonut",  "enabled"   )
108appendaction("math",         "normalizers", "noads.handlers.unstack",                           nil, "nonut",  "disabled"  )
109appendaction("math",         "normalizers", "noads.handlers.relocate",                          nil, "nonut",  "enabled"   )
110appendaction("math",         "normalizers", "noads.handlers.variants",                          nil, "nonut",  "enabled"   )
111appendaction("math",         "normalizers", "noads.handlers.families",                          nil, "nonut",  "enabled"   )
112appendaction("math",         "normalizers", "noads.handlers.render",                            nil, "nonut",  "enabled"   )
113appendaction("math",         "normalizers", "noads.handlers.collapse",                          nil, "nonut",  "disabled"  )  -- second time
114appendaction("math",         "normalizers", "noads.handlers.fixscripts",                        nil, "nonut",  "enabled"   )
115------------("math",         "normalizers", "noads.handlers.domains",                           nil, "nonut",  "disabled"  )
116appendaction("math",         "normalizers", "noads.handlers.autofences",                        nil, "nonut",  "disabled"  )
117appendaction("math",         "normalizers", "noads.handlers.resize",                            nil, "nonut",  "enabled"   )
118------------("math",         "normalizers", "noads.handlers.respace",                           nil, "nonut",  "enabled"   )
119appendaction("math",         "normalizers", "noads.handlers.alternates",                        nil, "nonut",  "enabled"   )
120-- shouldn't tags move down to after classes and dictionaries
121appendaction("math",         "normalizers", "noads.handlers.tags",                              nil, "nonut",  "disabled"  )
122------------("math",         "normalizers", "noads.handlers.italics",                           nil, "nonut",  "disabled"  )  -- replaced
123appendaction("math",         "normalizers", "noads.handlers.kernpairs",                         nil, "nonut",  "disabled"  )
124appendaction("math",         "normalizers", "noads.handlers.classes",                           nil, "nonut",  "disabled"  )
125appendaction("math",         "normalizers", "noads.handlers.dictionaries",                      nil, "nonut",  "enabled"   )
126appendaction("math",         "normalizers", "noads.handlers.suspicious",                        nil, "nonut",  "enabled"   )
127
128appendaction("math",         "builders",    "builders.kernel.mlisttohlist",                     nil, "nut",    "enabled"   )  -- mandate
129------------("math",         "builders",    "typesetters.directions.processmath",               nil, "nut",    "disabled"  )
130appendaction("math",         "builders",    "noads.handlers.makeup",                            nil, "nonut",  "disabled"  )
131------------("math",         "builders",    "noads.handlers.align",                             nil, "nonut",  "enabled"   )
132
133appendaction("math",         "finalizers",  "noads.handlers.normalize",                         nil, "nonut",  "enabled"   )
134appendaction("math",         "finalizers",  "noads.handlers.snap",                              nil, "nonut",  "disabled"  )
135
136appendaction("finalizers",   "lists",       "nodes.handlers.showhyphenation",                   nil, "nut",    "disabled"  )
137appendaction("finalizers",   "lists",       "nodes.handlers.visualizehyphenation",              nil, "nut",    "disabled"  )
138
139appendaction("finalizers",   "lists",       "typesetters.margins.localhandler",                 nil, "nut",    "disabled"  )
140appendaction("finalizers",   "lists",       "builders.paragraphs.keeptogether",                 nil, "nut",    "disabled"  )
141appendaction("finalizers",   "fonts",       "builders.paragraphs.solutions.splitters.optimize", nil, "nonut",  "disabled"  )
142appendaction("finalizers",   "lists",       "builders.paragraphs.tag",                          nil, "nut",    "disabled"  )
143appendaction("finalizers",   "lists",       "nodes.linefillers.handler",                        nil, "nut",    "disabled"  )
144
145appendaction("contributers", "normalizers", "nodes.handlers.flattenline",                       nil, "nut",    "disabled"  )
146appendaction("contributers", "normalizers", "nodes.handlers.textbackgrounds",                   nil, "nut",    "disabled"  )
147appendaction("contributers", "normalizers", "nodes.handlers.wipe",                              nil, "nut",    "disabled"  )
148
149appendaction("adjusters",    "normalizers", "nodes.handlers.adjusters",                         nil, "nut",    "enabled"   )
150
151------------("vboxbuilders", "normalizers", "nodes.adaptive.handlehorizontal",                  nil, "nut",    "disabled"  )
152appendaction("vboxbuilders", "normalizers", "nodes.handlers.backgroundsvbox",                   nil, "nut",    "disabled"  )
153------------("vboxbuilders", "normalizers", "typesetters.margins.localhandler",                 nil, "nut",    "disabled"  )
154appendaction("vboxbuilders", "normalizers", "builders.vspacing.vboxhandler",                    nil, "nut",    "enabled"   )
155appendaction("vboxbuilders", "normalizers", "builders.profiling.vboxhandler",                   nil, "nut",    "disabled"  )
156appendaction("vboxbuilders", "normalizers", "builders.profiling.boxlinehandler",                nil, "nut",    "disabled"  )
157appendaction("vboxbuilders", "normalizers", "typesetters.checkers.handler",                     nil, "nut",    "disabled"  )
158appendaction("vboxbuilders", "normalizers", "typesetters.synchronize.handler",                  nil, "nut",    "disabled"  )
159
160appendaction("mvlbuilders",  "normalizers", "nodes.handlers.backgroundspage",                   nil, "nut",    "disabled"  )
161appendaction("mvlbuilders",  "normalizers", "typesetters.margins.globalhandler",                nil, "nut",    "disabled"  )
162appendaction("mvlbuilders",  "normalizers", "nodes.handlers.migrate",                           nil, "nut",    "disabled"  )
163appendaction("mvlbuilders",  "normalizers", "builders.vspacing.pagehandler",                    nil, "nut",    "enabled"   )
164appendaction("mvlbuilders",  "normalizers", "builders.profiling.pagehandler",                   nil, "nut",    "disabled"  )
165appendaction("mvlbuilders",  "normalizers", "builders.profiling.pagelinehandler",               nil, "nut",    "disabled"  )
166appendaction("mvlbuilders",  "normalizers", "typesetters.checkers.handler",                     nil, "nut",    "disabled"  )
167appendaction("mvlbuilders",  "normalizers", "typesetters.synchronize.handler",                  nil, "nut",    "disabled"  )
168
169------------("vboxhandlers", "normalizers", "nodes.adaptive.handlevertical",                    nil, "nut",    "disabled"  )
170
171appendaction("everypar",     "normalizers", "nodes.handlers.checkparcounter",                   nil, "nut",    "disabled"  )
172
173appendaction("alignments",   "normalizers", "nodes.handlers.showpreamble",                      nil, "nut",    "enabled"   )
174appendaction("alignments",   "normalizers", "nodes.handlers.aligncharacter",                    nil, "nut",    "disabled"  )
175appendaction("alignments",   "normalizers", "nodes.handlers.mathalignrelocate",                 nil, "nut",    "disabled"  )
176appendaction("alignments",   "normalizers", "nodes.handlers.mathmatrixornaments",               nil, "nut",    "disabled"  )
177appendaction("alignments",   "normalizers", "nodes.handlers.mathmatrixrules",                   nil, "nut",    "disabled"  )
178
179appendaction("localboxes",   "lists",       "typesetters.localboxes.handler",                   nil, "nut",    "enabled"   )
180
181appendaction("hquality",     "system",      "builders.hpack.report",                            nil, "nonut",  "enabled"   )
182appendaction("hquality",     "system",      "builders.hpack.show",                              nil, "nut",    "enabled"   )
183appendaction("vquality",     "system",      "builders.vpack.report",                            nil, "nonut",  "enabled"   )
184------------("vquality",     "system",      "builders.vpack.show",                              nil, "nut",    "enabled"   )
185
186-- some protection
187
188freezecallbacks("find_log_file",    "provide the log file name")
189freezecallbacks("find_format_file", "locate the format file")
190freezecallbacks("open_data_file",   "open the given file for reading")
191freezecallbacks("process_jobname",  "manipulate jobname")
192freezecallbacks("trace_memory",     "show memory usage details")
193
194freezecallbacks("hpack_filter",     "hlist processing (not used, replaced)") -- no need to add more overhead
195
196-- experimental (needs to be updated):
197
198freezegroup("processors",   "normalizers")
199freezegroup("processors",   "characters")
200freezegroup("processors",   "words")
201freezegroup("processors",   "fonts")
202freezegroup("processors",   "lists")
203
204freezegroup("finalizers",   "normalizers")
205freezegroup("finalizers",   "fonts")
206freezegroup("finalizers",   "lists")
207
208freezegroup("math",         "normalizers")
209freezegroup("math",         "builders")
210
211freezegroup("hquality",     "system")
212freezegroup("vquality",     "system")
213
214freezegroup("shipouts",     "normalizers")
215freezegroup("shipouts",     "finishers")
216freezegroup("shipouts",     "wrapup")
217
218freezegroup("mvlbuilders",  "normalizers")
219freezegroup("vboxbuilders", "normalizers")
220
221-----------("parbuilders",  "normalizers")
222freezegroup("pagebuilders", "normalizers")
223
224freezegroup("math",         "normalizers")
225freezegroup("math",         "builders")
226
227freezegroup("everypar",     "normalizers")
228
229freezegroup("alignments",   "normalizers")
230
231-----------("localboxes",   "lists")
232
233-- new: disabled here
234
235directives.register("nodes.basepass", function(v)
236    if v then
237         enableaction("processors",  "builders.kernel.ligaturing")
238         enableaction("processors",  "builders.kernel.kerning")
239    else
240         disableaction("processors", "builders.kernel.ligaturing")
241         disableaction("processors", "builders.kernel.kerning")
242    end
243end)
244
245-- These are different and currently done in strc-flt.lmt but it might move here:
246--
247-- utilities.sequencers.appendaction ("paragraph","system","builders.checksidefloat")
248-- utilities.sequencers.disableaction("paragraph","builders.checksidefloat")
249