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
51
52
53
54
55
56
57
58
59\aliased\let\syst_visualizers_hbox \hbox
60\aliased\let\syst_visualizers_vbox \vbox
61\aliased\let\syst_visualizers_vtop \vtop
62\aliased\let\syst_visualizers_dbox \dbox
63\aliased\let\syst_visualizers_vcenter\vcenter
64\aliased\let\syst_visualizers_hpack \hpack
65\aliased\let\syst_visualizers_vpack \vpack
66\aliased\let\syst_visualizers_tpack \tpack
67\aliased\let\syst_visualizers_dpack \dpack
68\aliased\let\syst_visualizers_vsplit \vsplit
69\aliased\let\syst_visualizers_tsplit \tsplit
70\aliased\let\syst_visualizers_dsplit \dsplit
71
72\permanent\protected\def\ruledhbox {\syst_visualizers_hbox \s!attr \visualattribute \clf_getvisual{simplehbox} }
73\permanent\protected\def\ruledhpack {\syst_visualizers_hpack \s!attr \visualattribute \clf_getvisual{simplehbox} }
74\permanent\protected\def\ruledvbox {\syst_visualizers_vbox \s!attr \visualattribute \clf_getvisual{simplevbox} }
75\permanent\protected\def\ruledvpack {\syst_visualizers_vpack \s!attr \visualattribute \clf_getvisual{simplevbox} }
76\permanent\protected\def\ruledvtop {\syst_visualizers_vtop \s!attr \visualattribute \clf_getvisual{simplevtop} }
77\permanent\protected\def\ruledtpack {\syst_visualizers_tpack \s!attr \visualattribute \clf_getvisual{simplevtop} }
78\permanent\protected\def\ruleddbox {\syst_visualizers_dbox \s!attr \visualattribute \clf_getvisual{simplevtop} }
79\permanent\protected\def\ruleddpack {\syst_visualizers_dpack \s!attr \visualattribute \clf_getvisual{simplevtop} }
80\permanent\protected\def\ruledvcenter{\syst_visualizers_vcenter \s!attr \visualattribute \clf_getvisual{simplevbox} }
81\permanent\protected\def\ruledmbox #1{\ruledhbox{\startimath#1\stopimath}}
82
83\mutable\integerdef\c_syst_visualizer\zerocount
84
85\permanent\protected\def\ruledvsplit{\afterassignment\syst_visualizers_v_split\integerdef\c_syst_visualizer}
86\permanent\protected\def\ruledtsplit{\afterassignment\syst_visualizers_t_split\integerdef\c_syst_visualizer}
87\permanent\protected\def\ruleddsplit{\afterassignment\syst_visualizers_d_split\integerdef\c_syst_visualizer}
88
89\permanent\protected\def\syst_visualizers_v_split{\syst_visualizers_vsplit\c_syst_visualizer \s!attr \visualattribute \clf_getvisual {simplevbox}}
90\permanent\protected\def\syst_visualizers_t_split{\syst_visualizers_tsplit\c_syst_visualizer \s!attr \visualattribute \clf_getvisual {simplevtop}}
91\permanent\protected\def\syst_visualizers_d_split{\syst_visualizers_dsplit\c_syst_visualizer \s!attr \visualattribute \clf_getvisual {simplevtop}}
92
93\appendtoks
94 \ifcase\c_syst_visualizers_state\else
95 \syst_visualizers_speedup
96 \fi
97\to \everyshipout
98
99\appendtoks
100 \glet\syst_visualizers_speedup\relax
101 \global\t_syst_visualizers_optimize\emptytoks
102\to \t_syst_visualizers_optimize
103
104\def\syst_visualizers_speedup{\expand\t_syst_visualizers_optimize}
105
106
107
108
109
110
111
112
113
114
115
116\permanent\tolerant\protected\def\showmakeup[#1]
117 {\ifarguments
118 \clf_setvisual{makeup}
119 \else
120 \clf_setvisual{#1}
121 \fi}
122
123\permanent\protected\def\showallmakeup {\clf_setvisual{all}\showstruts}
124\permanent\protected\def\showboxes {\clf_setvisual{boxes}}
125\permanent\protected\def\showglyphs {\clf_setvisual{glyph}}
126\permanent\protected\def\showfontkerns {\clf_setvisual{fontkern}}
127\permanent\protected\def\showfontitalics {\clf_setvisual{italic}}
128\permanent\protected\def\showglyphdata {\showglyphs\showfontkerns\showfontitalics}
129\permanent\protected\def\showfontexpansion{\clf_setvisual{expansion}}
130
131
132
133\permanent\tolerant\protected\def\setvisualizerfont[#1]
134 {\begingroup
135 \ifempty{#1}
136 \definedfont[Mono at 4pt]
137 \else
138 \definedfont[#1]
139 \fi
140 \clf_setvisualfont\fontid\font
141 \endgroup}
142
143\def\syst_v_p_indeed#1
144 {\setbox\scratchbox\hpack{\visualizerfont#1}}
145
146\def\syst_v_p
147 {\definefrozenfont[visualizerfont][lmmonoltcond10regular @ 4pt]
148 \let\syst_v_p\syst_v_p_indeed
149 \syst_v_p_indeed}
150
151\permanent\protected\def\resetvisualizers
152 {\c_attr_visual\attributeunsetvalue}
153
154
155
156
157
158
159
160
161
162
163
164\permanent\protected\def\filledhboxr{\node_backgrounds_boxes_add\hbox[f:r:t]}
165\permanent\protected\def\filledhboxg{\node_backgrounds_boxes_add\hbox[f:g:t]}
166\permanent\protected\def\filledhboxb{\node_backgrounds_boxes_add\hbox[f:b:t]}
167\permanent\protected\def\filledhboxc{\node_backgrounds_boxes_add\hbox[f:c:t]}
168\permanent\protected\def\filledhboxm{\node_backgrounds_boxes_add\hbox[f:m:t]}
169\permanent\protected\def\filledhboxy{\node_backgrounds_boxes_add\hbox[f:y:t]}
170\permanent\protected\def\filledhboxk{\node_backgrounds_boxes_add\hbox[f:k:t]}
171
172
173
174\protected\def\spac_struts_vide_hbox
175 {\hbox attr \visualattribute \clf_getvisual{strut} }
176
177\appendtoks
178 \normalexpanded{\protected\xdef\spac_struts_vide_hbox\expandafter{\spac_struts_vide_hbox}}
179\to \t_syst_visualizers_optimize
180
181
182
183\permanent\protected\def\markfonts#1
184 {\dontleavehmode
185 \begingroup
186 \setbox\scratchbox\hbox{\getbuffer}
187 \clf_markvisualfonts\scratchbox
188 \unhbox\scratchbox
189 \endgroup}
190
191
192
193
194
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\permanent\protected\def\dontinterfere
220 {\reseteverypar
221 \parindent\zeropoint
222 \parskip \zeroskip
223 \leftskip \zeroskip
224 \rightskip\zeroskip
225 \relax}
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252\protect \endinput
253 |