1if not modules then modules = { } end modules ['symb-ini'] = {
2 version = 1.001,
3 comment = "companion to symb-ini.mkiv",
4 author = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
5 copyright = "PRAGMA ADE / ConTeXt Development Team",
6 license = "see context related readme files"
7}
8
9local context = context
10
11fonts = fonts or { }
12
13local symbols = fonts.symbols or { }
14fonts.symbols = symbols
15
16local listitem = utilities.parsers.listitem
17local uselibrary = resolvers.uselibrary
18
19local report_symbols = logs.reporter ("fonts","symbols")
20local status_symbols = logs.messenger("fonts","symbols")
21
22local v_reset <const> = interfaces.variables.reset
23
24local patterns = {
25 "symb-imp-%s.mkxl",
26 "symb-imp-%s.mkiv",
27 "symb-imp-%s.tex",
28
29 "symb-%s.mkiv",
30 "symb-%s.tex"
31}
32
33local function action(name,foundname)
34 commands.loadlibrary(name,foundname,false)
35 status_symbols("library %a loaded",name)
36end
37
38local function failure(name)
39 report_symbols("library %a is unknown",name)
40end
41
42function symbols.uselibrary(name)
43 if name ~= v_reset then
44 for name in listitem(name) do
45 uselibrary {
46 name = name,
47 patterns = patterns,
48 action = action,
49 failure = failure,
50 onlyonce = true,
51 }
52 end
53 end
54end
55
56interfaces.implement {
57 name = "usesymbols",
58 actions = symbols.uselibrary,
59 arguments = "string",
60}
61 |