diff options
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.lua | 56 |
1 files changed, 29 insertions, 27 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 b2a993bf836..b30cf017525 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,18 +6,20 @@ 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("trac-lmx.lua","tex")) -dofile(resolvers.find_file("font-ott.lua","tex")) -dofile(resolvers.find_file("font-syn.lua","tex")) -dofile(resolvers.find_file("font-mis.lua","tex")) -dofile(resolvers.find_file("font-otp.lua","tex")) +--~ dofile(resolvers.findfile("l-aux.lua","tex")) +dofile(resolvers.findfile("trac-lmx.lua","tex")) +dofile(resolvers.findfile("font-ott.lua","tex")) +dofile(resolvers.findfile("font-syn.lua","tex")) +dofile(resolvers.findfile("font-mis.lua","tex")) +--~ dofile(resolvers.findfile("font-otp.lua","tex")) local format, gsub, concat, match, find = string.format, string.gsub, table.concat, string.match, string.find +local report = logs.reporter("ctx-fonttest") + local sample_line = "This is a sample line!" local tempname = "mtx-server-ctx-fonttest-temp" -local temppath = caches.setpath("temp","mtx-server-ctx-fonttest") +local temppath = caches.setfirstwritablefile("temp","mtx-server-ctx-fonttest") local basename = "mtx-server-ctx-fonttest-data.lua" local basepath = temppath @@ -33,7 +35,7 @@ local process_templates = { } process_templates.default = [[ \starttext \setcharactermirroring[1] - \definefontfeature[sample][analyse=yes,%s] + \definefontfeature[sample][analyze=yes,%s] \definedfont[name:%s*sample] \startTEXpage[offset=3pt] \detokenize{%s} @@ -150,20 +152,20 @@ local cache = { } local function showfeatures(f) if f then - logs.simple("processing font '%s'",f) + report("processing font '%s'",f) local features = cache[f] if features == nil then - features = fonts.get_features(resolvers.find_file(f)) + features = fonts.helpers.getfeatures(resolvers.findfile(f)) if not features then - logs.simple("building cache for '%s'",f) + report("building cache for '%s'",f) io.savedata(file.join(temppath,file.addsuffix(tempname,"tex")),format(process_templates.cache,f,f)) os.execute(format("mtxrun --path=%s --script context --once --batchmode %s",temppath,tempname)) - features = fonts.get_features(f) + features = fonts.helpers.getfeatures(f) end cache[f] = features or false - logs.simple("caching info of '%s'",f) + report("caching info of '%s'",f) else - logs.simple("using cached info of '%s'",f) + report("using cached info of '%s'",f) end if features then local scr, lan, fea, rev = { }, { }, { }, { } @@ -294,7 +296,7 @@ local function get_specification(name) end local function edit_font(currentfont,detail,tempname) - logs.simple("entering edit mode for '%s'",currentfont) + report("entering edit mode for '%s'",currentfont) local specification = get_specification(currentfont) if specification then local htmldata = showfeatures(specification.filename) @@ -303,7 +305,7 @@ local function edit_font(currentfont,detail,tempname) local sorted = table.sortedkeys(htmldata.scripts) for k=1,#sorted do local v = sorted[k] - local s = fonts.otf.tables.scripts[v] or v + local s = fonts.handlers.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'/> <span id='t-s-%s'>%s</span>",s,v,v,v,v) else @@ -313,7 +315,7 @@ local function edit_font(currentfont,detail,tempname) local sorted = table.sortedkeys(htmldata.languages) for k=1,#sorted do local v = sorted[k] - local l = fonts.otf.tables.languages[v] or v + local l = fonts.handlers.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'/> <span id='t-l-%s'>%s</span>",l,v,v,v,v) else @@ -323,7 +325,7 @@ local function edit_font(currentfont,detail,tempname) local sorted = table.sortedkeys(htmldata.features) for k=1,#sorted do local v = sorted[k] - local f = fonts.otf.tables.features[v] or v + local f = fonts.handlers.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'/> <span id='t-f-%s'>%s</span>",f,v,v,v,v) else @@ -374,7 +376,7 @@ local function process_font(currentfont,detail) -- maybe just fontname end local sample = string.strip(detail.sampletext or "") if sample == "" then sample = sample_line end - logs.simple("sample text: %s",sample) + report("sample text: %s",sample) io.savedata(file.join(temppath,file.addsuffix(tempname,"tex")),format(variant,concat(features,","),currentfont,sample)) os.execute(format("mtxrun --path=%s --script context --once --batchmode %s",temppath,tempname)) return edit_font(currentfont,detail,tempname) @@ -406,7 +408,7 @@ end local function show_font(currentfont,detail) local specification = get_specification(currentfont) - local features = fonts.get_features(specification.filename) + local features = fonts.helpers.getfeatures(specification.filename) local result = { } result[#result+1] = format("<h1>names</h1>",what) result[#result+1] = "<table>" @@ -444,7 +446,7 @@ local function show_font(currentfont,detail) else done = true end - local title = fonts.otf.tables.features[f] or "" + local title = fonts.handlers.otf.tables.features[f] or "" result[#result+1] = format("<tr><td width='50%%'>%s </td><td><tt>%s </tt></td><td><tt>%s </tt></td><td><tt>%s </tt></td></tr>",title,f,s,concat(table.sortedkeys(ss)," ")) end end @@ -497,7 +499,7 @@ local function loadbase() if storage == "" then storage = { } else - logs.simple("loading '%s'",datafile) + report("loading '%s'",datafile) storage = loadstring(storage) storage = (storage and storage()) or { } end @@ -527,14 +529,14 @@ end local function savebase(storage,name) local datafile = file.join(basepath,basename) - logs.simple("saving '%s' in '%s'",name or "data",datafile) + report("saving '%s' in '%s'",name or "data",datafile) io.savedata(datafile,table.serialize(storage,true)) end local function deletestored(detail,currentfont,name) local storage = loadbase() if storage and name and storage[name] then - logs.simple("deleting '%s' from base",name) + report("deleting '%s' from base",name) storage[name] = nil savebase(storage) end @@ -610,7 +612,7 @@ end function extras.reload() local command = "mtxrun --script font --reload" - logs.simple("run command: %s",command) + report("run command: %s",command) os.execute(command) return do_extras() end @@ -679,7 +681,7 @@ function doit(configuration,filename,hashed) variables.javascripts = "" variables.javascriptinit = "" - logs.simple("action: %s",action or "no action") + report("action: %s",action or "no action") local result @@ -722,7 +724,7 @@ function doit(configuration,filename,hashed) result = { content = lmx.convert('context-fonttest.lmx',false,variables) } - logs.simple("time spent on page: %0.03f seconds",os.clock()-start) + report("time spent on page: %0.03f seconds",os.clock()-start) return result |