diff options
Diffstat (limited to 'Master/texmf-dist/tex/context/base/font-chk.lua')
-rw-r--r-- | Master/texmf-dist/tex/context/base/font-chk.lua | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/Master/texmf-dist/tex/context/base/font-chk.lua b/Master/texmf-dist/tex/context/base/font-chk.lua index 32fdf88940a..e3679f06dba 100644 --- a/Master/texmf-dist/tex/context/base/font-chk.lua +++ b/Master/texmf-dist/tex/context/base/font-chk.lua @@ -7,14 +7,19 @@ if not modules then modules = { } end modules ['font-chk'] = { } -- possible optimization: delayed initialization of vectors +-- move to the nodes namespace -fonts = fonts or { } -fonts.checkers = fonts.checkers or { } +local report_fonts = logs.reporter("fonts","checking") + +local fonts = fonts +fonts.checkers = fonts.checkers or { } local checkers = fonts.checkers -local fontdata = fonts.ids + +local fontdata = fonts.hashes.identifiers local is_character = characters.is_character local chardata = characters.data +local tasks = nodes.tasks local glyph = node.id('glyph') local traverse_id = node.traverse_id @@ -26,7 +31,9 @@ local remove_node = nodes.remove checkers.enabled = false checkers.delete = false -function fonts.register_message(font,char,message) +-- to tfmdata.properties ? + +local function onetimemessage(font,char,message) local tfmdata = fontdata[font] local shared = tfmdata.shared local messages = shared.messages @@ -40,11 +47,13 @@ function fonts.register_message(font,char,message) messages[message] = category end if not category[char] then - logs.report("fonts","char U+%04X in font '%s' with id %s: %s",char,tfmdata.fullname,font,message) + report_fonts("char U+%05X in font '%s' with id %s: %s",char,tfmdata.properties.fullname,font,message) category[char] = true end end +fonts.loggers.onetimemessage = onetimemessage + function checkers.missing(head) if checkers.enabled then local lastfont, characters, found = nil, nil, nil @@ -55,9 +64,9 @@ function checkers.missing(head) end if not characters[char] and is_character[chardata[char].category] then if checkers.delete then - fonts.register_message(font,char,"missing (will be deleted)") + onetimemessage(font,char,"missing (will be deleted)") else - fonts.register_message(font,char,"missing") + onetimemessage(font,char,"missing") end if not found then found = { n } |