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\writestatus{loading}{ConTeXt Tracing Macros Visualization}
34
35\registerctxluafile{tracvis}{optimize}
36
37\unprotect
38
39\newconstant\c_syst_visualizers_state
40\newtoks \t_syst_visualizers_optimize
41
42
43
44
45
46
47
48
49
50
51
52
53\let\syst_visualizers_hbox \hbox
54\let\syst_visualizers_vbox \vbox
55\let\syst_visualizers_vtop \vtop
56\let\syst_visualizers_vcenter\vcenter
57
58\let\syst_visualizers_hpack\hpack
59\let\syst_visualizers_vpack\vpack
60\let\syst_visualizers_tpack\tpack
61
62\unexpanded\def\ruledhbox{\syst_visualizers_hbox attr \visualattribute \clf_getvisual{simplehbox} }
63\unexpanded\def\ruledvbox{\syst_visualizers_vbox attr \visualattribute \clf_getvisual{simplevbox} }
64\unexpanded\def\ruledvtop{\syst_visualizers_vtop attr \visualattribute \clf_getvisual{simplevtop} }
65\unexpanded\def\ruledtopv{\syst_visualizers_vtop attr \visualattribute \clf_getvisual{vtop} }
66
67\unexpanded\def\ruledhpack{\syst_visualizers_hpack attr \visualattribute \clf_getvisual{simplehbox} }
68\unexpanded\def\ruledvpack{\syst_visualizers_vpack attr \visualattribute \clf_getvisual{simplevbox} }
69\unexpanded\def\ruledtpack{\syst_visualizers_tpack attr \visualattribute \clf_getvisual{simplevtop} }
70
71\unexpanded\def\ruledmbox#1{\ruledhbox{\startimath#1\stopimath}}
72
73\unexpanded\def\sys_ruled_vcenter{\syst_visualizers_vcenter attr \visualattribute \clf_getvisual {simplevbox}}
74
75\unexpanded\def\ruledvcenter
76 {\ruledvbox\bgroup
77 \dowithnextboxcs\syst_boxes_ruled_vcenter_finish\ruledvbox}
78
79\def\syst_boxes_ruled_vcenter_finish
80 {\ruledhpack{\normalstartimath\ruledvcenter{\box\nextbox}\normalstopimath}
81 \egroup}
82
83\prependtoks \let\ruledvcenter\sys_ruled_vcenter \to \everymath
84\prependtoks \let\ruledvcenter\sys_ruled_vcenter \to \everydisplay
85
86\appendtoks
87 \ifcase\c_syst_visualizers_state\else
88 \syst_visualizers_speedup
89 \fi
90\to \everyshipout
91
92\appendtoks
93 \glet\syst_visualizers_speedup\relax
94\to \t_syst_visualizers_optimize
95
96\def\syst_visualizers_speedup{\the\t_syst_visualizers_optimize}
97
98\appendtoks
99 \normalexpanded {
100 \unexpanded\xdef\ruledhbox\expandafter{\ruledhbox}
101 \unexpanded\xdef\ruledvbox\expandafter{\ruledvbox}
102 \unexpanded\xdef\ruledvtop\expandafter{\ruledvtop}
103 \unexpanded\xdef\ruledtopv\expandafter{\ruledtopv}
104 }
105\to \t_syst_visualizers_optimize
106
107\unexpanded\def\showmakeup
108 {\dosingleempty\syst_visualizers_makeup}
109
110\unexpanded\def\syst_visualizers_makeup[#1]
111 {\iffirstargument
112 \clf_setvisual{#1}
113 \else
114 \clf_setvisual{makeup}
115 \let\normalvtop\ruledtopv
116 \let\vtop \ruledtopv
117 \fi}
118
119\unexpanded\def\showallmakeup
120 {\clf_setvisual{all}
121 \let\normalvtop\ruledtopv
122 \let\vtop \ruledtopv
123 \showstruts}
124
125\unexpanded\def\showboxes
126 {\clf_setvisual{boxes}
127 \let\normalvtop\ruledtopv
128 \let\vtop \ruledtopv}
129
130\unexpanded\def\showglyphs
131 {\clf_setvisual{glyph}}
132
133\unexpanded\def\showfontkerns
134 {\clf_setvisual{fontkern}}
135
136\unexpanded\def\showfontitalics
137 {\clf_setvisual{italic}}
138
139\unexpanded\def\showglyphdata
140 {\showglyphs
141 \showfontkerns
142 \showfontitalics}
143
144\unexpanded\def\showfontexpansion
145 {\clf_setvisual{expansion}}
146
147\unexpanded\def\setvisualizerfont
148 {\dosingleempty\syst_visualizers_setfont}
149
150\def\syst_visualizers_setfont[#1]
151 {\begingroup
152 \doifelsenothing{#1}{\definedfont[Mono at 4pt]}{\definedfont[#1]}
153 \clf_setvisualfont\fontid\font
154 \endgroup}
155
156\unexpanded\def\resetvisualizers
157 {\c_attr_visual\attributeunsetvalue}
158
159
160
161
162
163
164
165
166
167
168
169\unexpanded\def\filledhboxr{\node_backgrounds_boxes_add\hbox[f:r:t]}
170\unexpanded\def\filledhboxg{\node_backgrounds_boxes_add\hbox[f:g:t]}
171\unexpanded\def\filledhboxb{\node_backgrounds_boxes_add\hbox[f:b:t]}
172\unexpanded\def\filledhboxc{\node_backgrounds_boxes_add\hbox[f:c:t]}
173\unexpanded\def\filledhboxm{\node_backgrounds_boxes_add\hbox[f:m:t]}
174\unexpanded\def\filledhboxy{\node_backgrounds_boxes_add\hbox[f:y:t]}
175\unexpanded\def\filledhboxk{\node_backgrounds_boxes_add\hbox[f:k:t]}
176
177
178
179
180
181
182
183
184
185
186\unexpanded\def\spac_struts_vide_hbox
187 {\hbox attr \visualattribute \clf_getvisual{strut} }
188
189\appendtoks
190 \normalexpanded{\unexpanded\xdef\spac_struts_vide_hbox\expandafter{\spac_struts_vide_hbox}}
191\to \t_syst_visualizers_optimize
192
193
194
195\unexpanded\def\markfonts#1
196 {\dontleavehmode
197 \begingroup
198 \setbox\scratchbox\hbox{\getbuffer}
199 \clf_markvisualfonts\scratchbox
200 \unhbox\scratchbox
201 \endgroup}
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231\unexpanded\def\dontinterfere
232 {\reseteverypar
233 \parindent\zeropoint
234 \parskip \zeropoint
235 \leftskip \zeropoint
236 \rightskip\zeropoint
237 \relax}
238
239
240
241\let\ruledvcenter \vcenter
242\let\ruledhss \hss
243\let\ruledhfil \hfil
244\let\ruledhfill \hfill
245\let\ruledhfilll \hfilll
246\let\ruledhfilneg \hfilneg
247\let\ruledhfillneg \hfillneg
248\let\ruledhfilllneg \hfilllneg
249\let\ruledvss \vss
250\let\ruledvfil \vfil
251\let\ruledvfill \vfill
252\let\ruledvfilll \vfilll
253\let\ruledvfilneg \vfilneg
254\let\ruledvfillneg \vfillneg
255\let\ruledvfilllneg \vfilllneg
256\let\ruledhskip \hskip
257\let\ruledvskip \vskip
258\let\ruledkern \kern
259\let\ruledhglue \hglue
260\let\ruledvglue \vglue
261\let\ruledmkern \mkern
262\let\ruledmskip \mskip
263\let\ruledpenalty \penalty
264
265\protect \endinput
266 |