1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39\writestatus{loading}{ConTeXt Tracing Macros Visualization}
40
41\unprotect
42
43\newconstant\c_syst_visualizers_state
44\newtoks \t_syst_visualizers_optimize
45
46\registerctxluafile{tracvis}{autosuffix}
47
48
49
50\newconditional\c_visual_local
51
52\permanent\protected\def\setlocalshowmakeup {\c_visual_local\conditionaltrue}
53\permanent\protected\def\resetlocalshowmakeup{\c_visual_local\conditionalfalse}
54
55\appendtoks
56 \ifconditional\c_visual_local
57 \c_attr_visual\attributeunsetvalue
58 \fi
59\to \everybeforepagebody
60
61
62
63
64\aliased\let\syst_visualizers_hbox \hbox
65\aliased\let\syst_visualizers_vbox \vbox
66\aliased\let\syst_visualizers_vtop \vtop
67\aliased\let\syst_visualizers_dbox \dbox
68\aliased\let\syst_visualizers_vcenter\vcenter
69\aliased\let\syst_visualizers_hpack \hpack
70\aliased\let\syst_visualizers_vpack \vpack
71\aliased\let\syst_visualizers_tpack \tpack
72\aliased\let\syst_visualizers_dpack \dpack
73\aliased\let\syst_visualizers_vsplit \vsplit
74\aliased\let\syst_visualizers_tsplit \tsplit
75\aliased\let\syst_visualizers_dsplit \dsplit
76
77\permanent\protected\def\ruledhbox {\syst_visualizers_hbox \s!attr \visualattribute \clf_getvisual{simplehbox} }
78\permanent\protected\def\ruledhpack {\syst_visualizers_hpack \s!attr \visualattribute \clf_getvisual{simplehbox} }
79\permanent\protected\def\ruledvbox {\syst_visualizers_vbox \s!attr \visualattribute \clf_getvisual{simplevbox} }
80\permanent\protected\def\ruledvpack {\syst_visualizers_vpack \s!attr \visualattribute \clf_getvisual{simplevbox} }
81\permanent\protected\def\ruledvtop {\syst_visualizers_vtop \s!attr \visualattribute \clf_getvisual{simplevtop} }
82\permanent\protected\def\ruledtpack {\syst_visualizers_tpack \s!attr \visualattribute \clf_getvisual{simplevtop} }
83\permanent\protected\def\ruleddbox {\syst_visualizers_dbox \s!attr \visualattribute \clf_getvisual{simplevtop} }
84\permanent\protected\def\ruleddpack {\syst_visualizers_dpack \s!attr \visualattribute \clf_getvisual{simplevtop} }
85\permanent\protected\def\ruledvcenter{\syst_visualizers_vcenter \s!attr \visualattribute \clf_getvisual{simplevbox} }
86\permanent\protected\def\ruledmbox #1{\ruledhbox{\startimath#1\stopimath}}
87
88\mutable\integerdef\c_syst_visualizer\zerocount
89
90\permanent\protected\def\ruledvsplit{\afterassignment\syst_visualizers_v_split\integerdef\c_syst_visualizer}
91\permanent\protected\def\ruledtsplit{\afterassignment\syst_visualizers_t_split\integerdef\c_syst_visualizer}
92\permanent\protected\def\ruleddsplit{\afterassignment\syst_visualizers_d_split\integerdef\c_syst_visualizer}
93
94\permanent\protected\def\syst_visualizers_v_split{\syst_visualizers_vsplit\c_syst_visualizer \s!attr \visualattribute \clf_getvisual {simplevbox}}
95\permanent\protected\def\syst_visualizers_t_split{\syst_visualizers_tsplit\c_syst_visualizer \s!attr \visualattribute \clf_getvisual {simplevtop}}
96\permanent\protected\def\syst_visualizers_d_split{\syst_visualizers_dsplit\c_syst_visualizer \s!attr \visualattribute \clf_getvisual {simplevtop}}
97
98\appendtoks
99 \ifcase\c_syst_visualizers_state\else
100 \syst_visualizers_speedup
101 \fi
102\to \everyshipout
103
104\appendtoks
105 \glet\syst_visualizers_speedup\relax
106 \global\t_syst_visualizers_optimize\emptytoks
107\to \t_syst_visualizers_optimize
108
109\def\syst_visualizers_speedup{\expand\t_syst_visualizers_optimize}
110
111
112
113
114
115
116
117
118
119
120
121\permanent\tolerant\protected\def\showmakeup[#1]
122 {\ifarguments
123 \clf_setvisual{makeup}
124 \else
125 \clf_setvisual{#1}
126 \fi}
127
128\permanent\protected\def\showallmakeup {\clf_setvisual{all}\showstruts}
129\permanent\protected\def\showboxes {\clf_setvisual{boxes}}
130\permanent\protected\def\showglyphs {\clf_setvisual{glyph}}
131\permanent\protected\def\showfontkerns {\clf_setvisual{fontkern}}
132\permanent\protected\def\showfontitalics {\clf_setvisual{italic}}
133\permanent\protected\def\showglyphdata {\showglyphs\showfontkerns\showfontitalics}
134\permanent\protected\def\showfontexpansion{\clf_setvisual{expansion}}
135
136
137
138\permanent\tolerant\protected\def\setvisualizerfont[#1]
139 {\begingroup
140 \ifempty{#1}
141 \definedfont[Mono at 4pt]
142 \else
143 \definedfont[#1]
144 \fi
145 \clf_setvisualfont\fontid\font
146 \endgroup}
147
148\def\syst_v_p_indeed#1
149 {\setbox\scratchbox\hpack{\visualizerfont#1}}
150
151\def\syst_v_p
152 {\definefrozenfont[visualizerfont][lmmonoltcond10regular @ 4pt]
153 \let\syst_v_p\syst_v_p_indeed
154 \syst_v_p_indeed}
155
156\permanent\protected\def\resetvisualizers
157 {\c_attr_visual\attributeunsetvalue}
158
159
160
161
162
163
164
165
166
167
168
169\permanent\protected\def\filledhboxr{\node_backgrounds_boxes_add\hbox[f:r:t]}
170\permanent\protected\def\filledhboxg{\node_backgrounds_boxes_add\hbox[f:g:t]}
171\permanent\protected\def\filledhboxb{\node_backgrounds_boxes_add\hbox[f:b:t]}
172\permanent\protected\def\filledhboxc{\node_backgrounds_boxes_add\hbox[f:c:t]}
173\permanent\protected\def\filledhboxm{\node_backgrounds_boxes_add\hbox[f:m:t]}
174\permanent\protected\def\filledhboxy{\node_backgrounds_boxes_add\hbox[f:y:t]}
175\permanent\protected\def\filledhboxk{\node_backgrounds_boxes_add\hbox[f:k:t]}
176
177
178
179\protected\def\spac_struts_vide_hbox
180 {\hbox attr \visualattribute \clf_getvisual{strut} }
181
182\appendtoks
183 \normalexpanded{\protected\xdef\spac_struts_vide_hbox\expandafter{\spac_struts_vide_hbox}}
184\to \t_syst_visualizers_optimize
185
186
187
188\permanent\protected\def\markfonts#1
189 {\dontleavehmode
190 \begingroup
191 \setbox\scratchbox\hbox{\getbuffer}
192 \clf_markvisualfonts\scratchbox
193 \unhbox\scratchbox
194 \endgroup}
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224\permanent\protected\def\dontinterfere
225 {\reseteverypar
226 \parindent\zeropoint
227 \parskip \zeroskip
228 \leftskip \zeroskip
229 \rightskip\zeroskip
230 \relax}
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257\protect \endinput
258 |