blob: f48af866d76dc03e002356ad872b27866ba8fda7 (
plain)
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
% \startenvironment onandon-speed-000
% \dontcomplain
\edef\sapolsky{\ignorespaces\cldloadfile{sapolsky}\removeunwantedspaces}
\startluacode
function document.ResetSample(title)
document.elapsed = {
title = title,
times = { },
}
end
function document.RegisterSample(bodyfont,elapsed)
table.insert(document.elapsed.times, {
bodyfont = bodyfont,
elapsed = elapsed
})
end
function document.SaveSample()
if LUATEXENGINE == "luajittex" then
table.save(tex.jobname.."-jit.lua",document.elapsed)
else
table.save(tex.jobname..".lua",document.elapsed)
end
end
function document.ShowSample(filename)
-- context.typefile(filename..".tex")
local elapsed = table.load(file.nameonly(filename)..".lua")
local elapsedjit = table.load(file.nameonly(filename).."-jit.lua")
if elapsed and elapsedjit then
context.testpage { 6 }
context.starttabulate { "|l|l|lp|" }
context.HL()
context.NC() context.formatted.rlap("\\bf %s",elapsed.title)
context.NC()
context.NC()
context.NC() context.NR()
context.HL()
local times = elapsed.times
local timesjit = elapsedjit.times
for j=1,#times do
local t = times[j]
local tjit = timesjit[j]
context.NC() context(t.bodyfont)
context.NC() context(t.elapsed)
context.NC() context(tjit.elapsed)
context.NC() context.NR()
end
context.HL()
context.stoptabulate()
end
end
function document.SampleTitle(filename)
local elapsed = table.load(filename..".lua")
if elapsed then
context(elapsed.title)
end
end
\stopluacode
\appendtoks
\ctxlua{document.SaveSample()}%
\to \everystoptext
\def\SampleCount{1000}
\def\SampleCount{100}
\unexpanded\def\RegisterSample#1%
{\ctxlua{document.RegisterSample("#1","\elapsedtime")}}
\unexpanded\def\ProcessSample#1%
{\page
\ctxlua{document.ResetSample("#1")}%
\resettimer \Sample {modern} \RegisterSample {modern}
\resettimer \Sample {pagella} \RegisterSample {pagella}
\resettimer \Sample {termes} \RegisterSample {termes}
\resettimer \Sample {cambria} \RegisterSample {cambria}
\resettimer \Sample {dejavu} \RegisterSample {dejavu}
\resettimer \Sample {ebgaramond} \RegisterSample {ebgaramond}
\resettimer \Sample {lucidaot} \RegisterSample {lucidaot}
\page }
\unexpanded\def\ProcessBaselineSample#1%
{\page
\ctxlua{document.ResetSample("#1")}%
\resettimer \Sample {baseline} \RegisterSample {baseline}
\page }
\unexpanded\def\Sample#1%
{\setupbodyfont[#1]}
\unexpanded\def\ShowSample#1%
{\ctxlua{document.ShowSample("#1")}}
\unexpanded\def\SampleTitle#1%
{\ctxlua{document.SampleTitle("#1.lua")}}
\continueifinputfile{onandon-speed-000.tex}
\starttext
\ProcessSample{bodyfont}
\setbox\scratchbox\vbox{\hsize1pt\tttf\sapolsky} \getnoflines{\htdp\scratchbox}
\writestatus{!!!!!!}{noflines : \the\noflines}
\stoptext
% \stopenvironment
|