summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/font-ctx.lua
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2019-12-15 18:53:51 +0100
committerContext Git Mirror Bot <phg@phi-gamma.net>2019-12-15 18:53:51 +0100
commit3b6d2d411fdb8fdaef0a4b8045bfdc60a70ce4f0 (patch)
treefaad59ef7e0622a285d35a5484373247cc729bbb /tex/context/base/mkiv/font-ctx.lua
parent2683d42fe95c59c52a9d7c334292d0a5a15c030a (diff)
downloadcontext-3b6d2d411fdb8fdaef0a4b8045bfdc60a70ce4f0.tar.gz
2019-12-15 17:34:00
Diffstat (limited to 'tex/context/base/mkiv/font-ctx.lua')
-rw-r--r--tex/context/base/mkiv/font-ctx.lua23
1 files changed, 19 insertions, 4 deletions
diff --git a/tex/context/base/mkiv/font-ctx.lua b/tex/context/base/mkiv/font-ctx.lua
index ca02d28cf..535b46610 100644
--- a/tex/context/base/mkiv/font-ctx.lua
+++ b/tex/context/base/mkiv/font-ctx.lua
@@ -1498,7 +1498,7 @@ do -- else too many locals
--
- function definers.define(specification)
+ local function define(specification)
--
local name = specification.name
if not name or name == "" then
@@ -1546,6 +1546,7 @@ do -- else too many locals
texdefinefont(specification.global,cs,tfmdata)
csnames[tfmdata] = cs
end
+ stoptiming(fonts)
return tfmdata, fontdata[tfmdata]
else
local id = definefont(tfmdata)
@@ -1557,12 +1558,14 @@ do -- else too many locals
end
constructors.cleanuptable(tfmdata)
constructors.finalize(tfmdata)
+ stoptiming(fonts)
return id, tfmdata
end
- stoptiming(fonts)
end
end
+ definers.define = define
+
-- local id, cs = fonts.definers.internal { }
-- local id, cs = fonts.definers.internal { number = 2 }
-- local id, cs = fonts.definers.internal { name = "dejavusans" }
@@ -1589,7 +1592,7 @@ do -- else too many locals
else
specification.cs = cs
end
- id = definers.define {
+ id = define {
name = name,
size = size,
cs = cs,
@@ -1601,13 +1604,25 @@ do -- else too many locals
return id, csnames[id]
end
+ local read
+
+ if CONTEXTLMTXMODE and CONTEXTLMTXMODE > 0 then -- maybe always
+ read = function(name,size)
+ return (define { name = name, size = size } or 0)
+ end
+ else
+ read = definers.read
+ end
+
+ callbacks.register('define_font', read, "definition of fonts (tfmdata preparation)")
+
-- here
local infofont = 0
function fonts.infofont()
if infofont == 0 then
- infofont = definers.define { name = "dejavusansmono", size = texsp("6pt") }
+ infofont = define { name = "dejavusansmono", size = texsp("6pt") }
end
return infofont
end