summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/scripts/context/lua/mtx-server-ctx-fonttest.lua
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/scripts/context/lua/mtx-server-ctx-fonttest.lua')
-rw-r--r--Master/texmf-dist/scripts/context/lua/mtx-server-ctx-fonttest.lua302
1 files changed, 177 insertions, 125 deletions
diff --git a/Master/texmf-dist/scripts/context/lua/mtx-server-ctx-fonttest.lua b/Master/texmf-dist/scripts/context/lua/mtx-server-ctx-fonttest.lua
index f593c2e351d..b2a993bf836 100644
--- a/Master/texmf-dist/scripts/context/lua/mtx-server-ctx-fonttest.lua
+++ b/Master/texmf-dist/scripts/context/lua/mtx-server-ctx-fonttest.lua
@@ -6,7 +6,7 @@ if not modules then modules = { } end modules ['mtx-server-ctx-fonttest'] = {
license = "see context related readme files"
}
-dofile(resolvers.find_file("l-aux.lua","tex"))
+--~ dofile(resolvers.find_file("l-aux.lua","tex"))
dofile(resolvers.find_file("trac-lmx.lua","tex"))
dofile(resolvers.find_file("font-ott.lua","tex"))
dofile(resolvers.find_file("font-syn.lua","tex"))
@@ -21,8 +21,11 @@ local temppath = caches.setpath("temp","mtx-server-ctx-fonttest")
local basename = "mtx-server-ctx-fonttest-data.lua"
local basepath = temppath
-for _, suffix in ipairs { "tex", "pdf", "log" } do
- os.remove(file.join(temppath,file.addsuffix(tempname,suffix)))
+local remove_suffixes = { "tex", "pdf", "log" }
+local what_options = { "trace", "basemode" }
+
+for i=1,#remove_suffixes do
+ os.remove(file.join(temppath,file.addsuffix(tempname,remove_suffixes[i])))
end
local process_templates = { }
@@ -30,7 +33,7 @@ local process_templates = { }
process_templates.default = [[
\starttext
\setcharactermirroring[1]
- \definefontfeature[sample][%s]
+ \definefontfeature[sample][analyse=yes,%s]
\definedfont[name:%s*sample]
\startTEXpage[offset=3pt]
\detokenize{%s}
@@ -147,9 +150,10 @@ local cache = { }
local function showfeatures(f)
if f then
+ logs.simple("processing font '%s'",f)
local features = cache[f]
if features == nil then
- features = fonts.get_features(f)
+ features = fonts.get_features(resolvers.find_file(f))
if not features then
logs.simple("building cache for '%s'",f)
io.savedata(file.join(temppath,file.addsuffix(tempname,"tex")),format(process_templates.cache,f,f))
@@ -166,18 +170,18 @@ local function showfeatures(f)
local function show(what)
local data = features[what]
if data and next(data) then
- for f,ff in pairs(data) do
+ for f,ff in next, data do
if find(f,"<") then
-- ignore aat for the moment
else
fea[f] = true
- for s, ss in pairs(ff) do
+ for s, ss in next, ff do
if find(s,"%*") then
-- ignore *
else
scr[s] = true
local rs = rev[s] if not rs then rs = {} rev[s] = rs end
- for k, l in pairs(ss) do
+ for k, l in next, ss do
if find(k,"%*") then
-- ignore *
else
@@ -192,16 +196,16 @@ local function showfeatures(f)
end
end
end
- for what, v in table.sortedpairs(features) do
+ for what, v in table.sortedhash(features) do
show(what)
end
local stupid = { }
stupid[#stupid+1] = "var feature_hash = new Array ;"
- for s, sr in pairs(rev) do
+ for s, sr in next, rev do
stupid[#stupid+1] = format("feature_hash['%s'] = new Array ;",s)
- for l, lr in pairs(sr) do
+ for l, lr in next, sr do
stupid[#stupid+1] = format("feature_hash['%s']['%s'] = new Array ;",s,l)
- for f, fr in pairs(lr) do
+ for f, fr in next, lr do
stupid[#stupid+1] = format("feature_hash['%s']['%s']['%s'] = true ;",s,l,f)
end
end
@@ -217,25 +221,50 @@ local function showfeatures(f)
end
end
+local template_h = [[
+<tr>
+ <th>safe name&nbsp;&nbsp;&nbsp;&nbsp;</th>
+ <th>family name&nbsp;&nbsp;&nbsp;&nbsp;</th>
+ <th>style-variant-weight-width&nbsp;&nbsp;&nbsp;&nbsp;</th>
+ <th>font name&nbsp;&nbsp;&nbsp;&nbsp;</th>
+ <th>weight&nbsp;&nbsp;&nbsp;&nbsp;</th>
+ <th>filename</th>
+</tr>]]
+
+local template_d = [[
+<tr>
+ <td><a href='mtx-server-ctx-fonttest.lua?selection=%s'>%s</a>&nbsp;&nbsp;&nbsp;&nbsp;</td>
+ <td>%s&nbsp;&nbsp;&nbsp;&nbsp;</td>
+ <td>%s-%s-%s-%s&nbsp;&nbsp;&nbsp;&nbsp;</td>
+ <td>%s&nbsp;&nbsp;&nbsp;&nbsp;</td>
+ <td>%s&nbsp;&nbsp;&nbsp;&nbsp;</td>
+ <td>%s</td>
+</tr>]]
+
local function select_font()
- local t = fonts.names.list(".*")
+ local t = fonts.names.list(".*",false,true)
if t then
local listoffonts = { }
- local t = fonts.names.list(".*")
- if t then
- listoffonts[#listoffonts+1] = "<table>"
- listoffonts[#listoffonts+1] = "<tr><th>safe name</th><th>font name</th><th>filename</th><th>sub font&nbsp;</th><th>type</th></tr>"
- for k, id in ipairs(table.sortedkeys(t)) do
- local ti = t[id]
- local type, name, file, sub = ti[1], ti[2], ti[3], ti[4]
- if type == "otf" or type == "ttf" or type == "ttc" then
- if sub then sub = "(sub)" else sub = "" end
- listoffonts[#listoffonts+1] = format("<tr><td><a href='mtx-server-ctx-fonttest.lua?selection=%s'>%s</a></td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>",id,id,name,file,sub,type)
- end
+ listoffonts[#listoffonts+1] = "<table>"
+ listoffonts[#listoffonts+1] = template_h
+ for k, v in table.sortedhash(t) do
+ local kind = v.format
+ if kind == "otf" or kind == "ttf" or kind == "ttc" then
+ local fontname = v.fontname
+ listoffonts[#listoffonts+1] = format(template_d, fontname, fontname,
+ v.familyname or "",
+ t.variant or "normal",
+ t.weight or "normal",
+ t.width or "normal",
+ t.style or "normal",
+ v.rawname or fontname,
+ v.fontweight or "",
+ v.filename or ""
+ )
end
- listoffonts[#listoffonts+1] = "</table>"
- return concat(listoffonts,"\n")
end
+ listoffonts[#listoffonts+1] = "</table>"
+ return concat(listoffonts,"\n")
end
return "<b>no fonts</b>"
end
@@ -260,65 +289,80 @@ local result_template = [[
scripts.webserver.registerpath(temppath)
+local function get_specification(name)
+ return fonts.names.resolvedspecification(name or "")
+end
+
local function edit_font(currentfont,detail,tempname)
- local fontname, fontfile, issub = fonts.names.specification(currentfont or "")
- local htmldata = showfeatures(fontfile)
- if htmldata then
- local features, languages, scripts, options = { }, { }, { }, { }
- for k,v in ipairs(table.sortedkeys(htmldata.scripts)) do
- local s = fonts.otf.tables.scripts[v] or v
- if detail and v == detail.script then
- scripts[#scripts+1] = format("<input title='%s' id='s-%s' type='radio' name='script' value='%s' onclick='check_script()' checked='checked'/>&nbsp;<span id='t-s-%s'>%s</span>",s,v,v,v,v)
- else
- scripts[#scripts+1] = format("<input title='%s' id='s-%s' type='radio' name='script' value='%s' onclick='check_script()' />&nbsp;<span id='t-s-%s'>%s</span>",s,v,v,v,v)
+ logs.simple("entering edit mode for '%s'",currentfont)
+ local specification = get_specification(currentfont)
+ if specification then
+ local htmldata = showfeatures(specification.filename)
+ if htmldata then
+ local features, languages, scripts, options = { }, { }, { }, { }
+ local sorted = table.sortedkeys(htmldata.scripts)
+ for k=1,#sorted do
+ local v = sorted[k]
+ local s = fonts.otf.tables.scripts[v] or v
+ if detail and v == detail.script then
+ scripts[#scripts+1] = format("<input title='%s' id='s-%s' type='radio' name='script' value='%s' onclick='check_script()' checked='checked'/>&nbsp;<span id='t-s-%s'>%s</span>",s,v,v,v,v)
+ else
+ scripts[#scripts+1] = format("<input title='%s' id='s-%s' type='radio' name='script' value='%s' onclick='check_script()' />&nbsp;<span id='t-s-%s'>%s</span>",s,v,v,v,v)
+ end
end
- end
- for k,v in ipairs(table.sortedkeys(htmldata.languages)) do
- local l = fonts.otf.tables.languages[v] or v
- if detail and v == detail.language then
- languages[#languages+1] = format("<input title='%s' id='l-%s' type='radio' name='language' value='%s' onclick='check_language()' checked='checked'/>&nbsp;<span id='t-l-%s'>%s</span>",l,v,v,v,v)
- else
- languages[#languages+1] = format("<input title='%s' id='l-%s' type='radio' name='language' value='%s' onclick='check_language()' />&nbsp;<span id='t-l-%s'>%s</span>",l,v,v,v,v)
+ local sorted = table.sortedkeys(htmldata.languages)
+ for k=1,#sorted do
+ local v = sorted[k]
+ local l = fonts.otf.tables.languages[v] or v
+ if detail and v == detail.language then
+ languages[#languages+1] = format("<input title='%s' id='l-%s' type='radio' name='language' value='%s' onclick='check_language()' checked='checked'/>&nbsp;<span id='t-l-%s'>%s</span>",l,v,v,v,v)
+ else
+ languages[#languages+1] = format("<input title='%s' id='l-%s' type='radio' name='language' value='%s' onclick='check_language()' />&nbsp;<span id='t-l-%s'>%s</span>",l,v,v,v,v)
+ end
end
- end
- for k,v in ipairs(table.sortedkeys(htmldata.features)) do
- local f = fonts.otf.tables.features[v] or v
- if detail and detail["f-"..v] then
- features[#features+1] = format("<input title='%s' id='f-%s' type='checkbox' name='f-%s' onclick='check_feature()' checked='checked'/>&nbsp;<span id='t-f-%s'>%s</span>",f,v,v,v,v)
- else
- features[#features+1] = format("<input title='%s' id='f-%s' type='checkbox' name='f-%s' onclick='check_feature()' />&nbsp;<span id='t-f-%s'>%s</span>",f,v,v,v,v)
+ local sorted = table.sortedkeys(htmldata.features)
+ for k=1,#sorted do
+ local v = sorted[k]
+ local f = fonts.otf.tables.features[v] or v
+ if detail and detail["f-"..v] then
+ features[#features+1] = format("<input title='%s' id='f-%s' type='checkbox' name='f-%s' onclick='check_feature()' checked='checked'/>&nbsp;<span id='t-f-%s'>%s</span>",f,v,v,v,v)
+ else
+ features[#features+1] = format("<input title='%s' id='f-%s' type='checkbox' name='f-%s' onclick='check_feature()' />&nbsp;<span id='t-f-%s'>%s</span>",f,v,v,v,v)
+ end
end
- end
- for k, v in ipairs { "trace", "basemode" } do
- if detail and detail["o-"..v] then
- options[#options+1] = format("<input id='o-%s' type='checkbox' name='o-%s' checked='checked'/>&nbsp;%s",v,v,v)
+ for k=1,#what_options do
+ local v = what_options[k]
+ if detail and detail["o-"..v] then
+ options[#options+1] = format("<input id='o-%s' type='checkbox' name='o-%s' checked='checked'/>&nbsp;%s",v,v,v)
+ else
+ options[#options+1] = format("<input id='o-%s' type='checkbox' name='o-%s'/>&nbsp;%s",v,v,v)
+ end
+ end
+ local e = format(edit_template,
+ (detail and detail.sampletext) or sample_line,(detail and detail.name) or "no name",(detail and detail.title) or "",
+ concat(scripts," "),concat(languages," "),concat(features," "),concat(options," "))
+ if tempname then
+ local pdffile, texfile = file.addsuffix(tempname,"pdf"), file.addsuffix(tempname,"tex")
+ local r = format(result_template,pdffile,texfile,pdffile)
+ return e .. r, htmldata.javascript or ""
else
- options[#options+1] = format("<input id='o-%s' type='checkbox' name='o-%s'/>&nbsp;%s",v,v,v)
+ return e, htmldata.javascript or ""
end
- end
- local e = format(edit_template,
- (detail and detail.sampletext) or sample_line,(detail and detail.name) or "no name",(detail and detail.title) or "",
- concat(scripts," "),concat(languages," "),concat(features," "),concat(options," "))
- if tempname then
- local pdffile, texfile = file.addsuffix(tempname,"pdf"), file.addsuffix(tempname,"tex")
- local r = format(result_template,pdffile,texfile,pdffile)
- return e .. r, htmldata.javascript or ""
else
- return e, htmldata.javascript or ""
+ return "error, nothing set up yet"
end
else
- return "error, nothing set up yet"
+ return "error, no info about font"
end
end
local function process_font(currentfont,detail) -- maybe just fontname
- local fontname, fontfile, issub = fonts.names.specification(currentfont or "")
local features = {
"mode=node",
format("language=%s",detail.language or "dflt"),
format("script=%s",detail.script or "dflt"),
}
- for k,v in pairs(detail) do
+ for k,v in next, detail do
local f = match(k,"^f%-(.*)$")
if f then
features[#features+1] = format("%s=yes",f)
@@ -361,25 +405,38 @@ local function show_log(currentfont,detail)
end
local function show_font(currentfont,detail)
- local fontname, fontfile, issub = fonts.names.specification(currentfont or "")
- local features = fonts.get_features(fontfile)
+ local specification = get_specification(currentfont)
+ local features = fonts.get_features(specification.filename)
local result = { }
result[#result+1] = format("<h1>names</h1>",what)
result[#result+1] = "<table>"
- result[#result+1] = format("<tr><td class='tc'>fontname:</td><td>%s</td></tr>",currentfont)
- result[#result+1] = format("<tr><td class='tc'>fullname:</td><td>%s</td></tr>",fontname)
- result[#result+1] = format("<tr><td class='tc'>filename:</td><td>%s</td></tr>",fontfile)
+ result[#result+1] = format("<tr><td class='tc'>fontname: </td><td>%s</td></tr>",currentfont)
+ result[#result+1] = format("<tr><td class='tc'>fullname: </td><td>%s</td></tr>",specification.fontname or "-")
+ result[#result+1] = format("<tr><td class='tc'>filename: </td><td>%s</td></tr>",specification.fontfile or "-")
+ result[#result+1] = format("<tr><td class='tc'>familyname: </td><td>%s</td></tr>",specification.familyname or "-")
+ result[#result+1] = format("<tr><td class='tc'>fontweight: </td><td>%s</td></tr>",specification.fontweight or "-")
+ result[#result+1] = format("<tr><td class='tc'>format: </td><td>%s</td></tr>",specification.format or "-")
+ result[#result+1] = format("<tr><td class='tc'>fullname: </td><td>%s</td></tr>",specification.fullname or "-")
+ result[#result+1] = format("<tr><td class='tc'>subfamily: </td><td>%s</td></tr>",specification.subfamily or "-")
+ result[#result+1] = format("<tr><td class='tc'>rawname: </td><td>%s</td></tr>",specification.rawname or "-")
+ result[#result+1] = format("<tr><td class='tc'>designsize: </td><td>%s</td></tr>",specification.designsize or "-")
+ result[#result+1] = format("<tr><td class='tc'>minimumsize:</td><td>%s</td></tr>",specification.minsize or "-")
+ result[#result+1] = format("<tr><td class='tc'>maximumsize:</td><td>%s</td></tr>",specification.maxsize or "-")
+ result[#result+1] = format("<tr><td class='tc'>style: </td><td>%s</td></tr>",specification.style ~= "" and specification.style or "normal")
+ result[#result+1] = format("<tr><td class='tc'>variant: </td><td>%s</td></tr>",specification.variant ~= "" and specification.variant or "normal")
+ result[#result+1] = format("<tr><td class='tc'>weight: </td><td>%s</td></tr>",specification.weight ~= "" and specification.weight or "normal")
+ result[#result+1] = format("<tr><td class='tc'>width: </td><td>%s</td></tr>",specification.width ~= "" and specification.width or "normal")
result[#result+1] = "</table>"
if features then
- for what, v in table.sortedpairs(features) do
+ for what, v in table.sortedhash(features) do
local data = features[what]
if data and next(data) then
result[#result+1] = format("<h1>%s features</h1>",what)
result[#result+1] = "<table>"
result[#result+1] = "<tr><th>feature</th><th>tag&nbsp;</th><th>script&nbsp;</th><th>languages&nbsp;</th></tr>"
- for f,ff in table.sortedpairs(data) do
+ for f,ff in table.sortedhash(data) do
local done = false
- for s, ss in table.sortedpairs(ff) do
+ for s, ss in table.sortedhash(ff) do
if s == "*" then s = "all" end
if ss ["*"] then ss["*"] = nil ss.all = true end
if done then
@@ -457,10 +514,10 @@ local function loadstored(detail,currentfont,name)
detail.title = storage.title or detail.title
detail.sampletext = storage.text or detail.sampletext
detail.name = name or "no name"
- for k,v in pairs(storage.features) do
+ for k,v in next, storage.features do
detail["f-"..k] = v
end
- for k,v in pairs(storage.options) do
+ for k,v in next, storage.options do
detail["o-"..k] = v
end
end
@@ -486,19 +543,20 @@ local function deletestored(detail,currentfont,name)
end
local function save_font(currentfont,detail)
- local fontname, fontfile, issub = fonts.names.specification(currentfont or "")
+ local specification = get_specification(currentfont)
local name, title, script, language, features, options, text = currentfont, "", "dflt", "dflt", { }, { }, ""
if detail then
- local htmldata = showfeatures(fontfile)
+ local htmldata = showfeatures(specification.filename)
script = detail.script or script
language = detail.language or language
text = string.strip(detail.sampletext or text)
name = string.strip(detail.name or name)
title = string.strip(detail.title or title)
- for k,v in pairs(htmldata.features) do
+ for k,v in next, htmldata.features do
if detail["f-"..k] then features[k] = true end
end
- for k,v in ipairs { "trace", "basemode" } do
+ for k=1,#what_options do
+ local v = what_options[k]
if detail["o-"..v] then options[k] = true end
end
end
@@ -518,8 +576,8 @@ local function load_font(currentfont)
local storage = loadbase(datafile)
local result = {}
result[#result+1] = format("<tr><th>del&nbsp;</th><th>name&nbsp;</th><th>font&nbsp;</th><th>fontname&nbsp;</th><th>script&nbsp;</th><th>language&nbsp;</th><th>features&nbsp;</th><th>title&nbsp;</th><th>sampletext&nbsp;</th></tr>")
- for k,v in table.sortedpairs(storage) do
- local fontname, fontfile, issub = fonts.names.specification(v.font or "")
+ for k,v in table.sortedhash(storage) do
+ local fontname, fontfile = get_specification(v.font)
result[#result+1] = format("<tr><td><a href='mtx-server-ctx-fonttest.lua?deletename=%s'>x</a>&nbsp;</td><td><a href='mtx-server-ctx-fonttest.lua?loadname=%s'>%s</a>&nbsp;</td><td>%s&nbsp;</td<td>%s&nbsp;</td><td>%s&nbsp;</td><td>%s&nbsp;</td><td>%s&nbsp;</td><td>%s&nbsp;</td><td>%s&nbsp;</td></tr>",
k,k,k,v.font,fontname,v.script,v.language,concat(table.sortedkeys(v.features)," "),v.title or "no title",v.text or "")
end
@@ -562,6 +620,13 @@ local status_template = [[
<input type="hidden" name="currentfont" value="%s" />
]]
+local variables = {
+ ['color-background-one'] = lmx.get('color-background-green'),
+ ['color-background-two'] = lmx.get('color-background-blue'),
+ ['title'] = 'ConTeXt Font Tester',
+ ['formaction'] = "mtx-server-ctx-fonttest.lua",
+}
+
function doit(configuration,filename,hashed)
local start = os.clock()
@@ -589,65 +654,52 @@ function doit(configuration,filename,hashed)
action = "extras"
end
- lmx.restore()
-
- local fontname, fontfile, issub = fonts.names.specification(currentfont or "")
+ local fontname, fontfile = get_specification(currentfont)
if fontfile then
- lmx.variables['title-default'] = format('ConTeXt Font Tester: %s (%s)',fontname,fontfile)
+ variables.title = format('ConTeXt Font Tester: %s (%s)',fontname,fontfile)
else
- lmx.variables['title-default'] = 'ConTeXt Font Tester'
+ variables.title = 'ConTeXt Font Tester'
end
- lmx.variables['color-background-green'] = '#4F6F6F'
- lmx.variables['color-background-blue'] = '#6F6F8F'
- lmx.variables['color-background-yellow'] = '#8F8F6F'
- lmx.variables['color-background-purple'] = '#8F6F8F'
-
- lmx.variables['color-background-body'] = '#808080'
- lmx.variables['color-background-main'] = '#3F3F3F'
- lmx.variables['color-background-one'] = lmx.variables['color-background-green']
- lmx.variables['color-background-two'] = lmx.variables['color-background-blue']
-
- lmx.variables['title'] = lmx.variables['title-default']
-
- lmx.set('title', lmx.get('title'))
- lmx.set('color-background-one', lmx.get('color-background-green'))
- lmx.set('color-background-two', lmx.get('color-background-blue'))
-
-- lua table and adapt
- lmx.set('formaction', "mtx-server-ctx-fonttest.lua")
+ local buttons = { 'process', 'select', 'save', 'load', 'edit', 'reset', 'features', 'source', 'log', 'info', 'extras'}
+ local menu = { }
- local menu = { }
- for k, v in ipairs { 'process', 'select', 'save', 'load', 'edit', 'reset', 'features', 'source', 'log', 'info', 'extras'} do
- menu[#menu+1] = format("<button name='action' value='%s' type='submit'>%s</button>",v,v)
+ for i=1,#buttons do
+ local button = buttons[i]
+ menu[#menu+1] = format("<button name='action' value='%s' type='submit'>%s</button>",button,button)
end
- lmx.set('menu', concat(menu,"&nbsp;"))
- logs.simple("action: %s",action or "no action")
+ variables.menu = concat(menu,"&nbsp;")
+ variables.status = format(status_template,currentfont or "")
+ variables.maintext = ""
+ variables.javascriptdata = ""
+ variables.javascripts = ""
+ variables.javascriptinit = ""
- lmx.set("status",format(status_template,currentfont or ""))
+ logs.simple("action: %s",action or "no action")
local result
if action == "select" then
- lmx.set('maintext',select_font())
+ variables.maintext = select_font()
elseif action == "info" then
- lmx.set('maintext',info_about())
+ variables.maintext = info_about()
elseif action == "extras" then
- lmx.set('maintext',do_extras())
+ variables.maintext = do_extras()
elseif currentfont and currentfont ~= "" then
if action == "save" then
- lmx.set('maintext',save_font(currentfont,detail))
+ variables.maintext = save_font(currentfont,detail)
elseif action == "load" then
- lmx.set('maintext',load_font(currentfont,detail))
+ variables.maintext = load_font(currentfont,detail)
elseif action == "source" then
- lmx.set('maintext',show_source(currentfont,detail))
+ variables.maintext = show_source(currentfont,detail)
elseif action == "log" then
- lmx.set('maintext',show_log(currentfont,detail))
+ variables.maintext = show_log(currentfont,detail)
elseif action == "features" then
- lmx.set('maintext',show_font(currentfont,detail))
+ variables.maintext = show_font(currentfont,detail)
else
local e, s
if action == "process" then
@@ -659,16 +711,16 @@ function doit(configuration,filename,hashed)
else
e, s = process_font(currentfont,detail)
end
- lmx.set('maintext',e)
- lmx.set('javascriptdata',s)
- lmx.set('javascripts',javascripts)
- lmx.set('javascriptinit', "check_form()")
+ variables.maintext = e
+ variables.javascriptdata = s
+ variables.javascripts = javascripts
+ variables.javascriptinit = "check_form()"
end
else
- lmx.set('maintext',select_font())
+ variables.maintext = select_font()
end
- result = { content = lmx.convert('context-fonttest.lmx') }
+ result = { content = lmx.convert('context-fonttest.lmx',false,variables) }
logs.simple("time spent on page: %0.03f seconds",os.clock()-start)