summaryrefslogtreecommitdiff
path: root/luaotfload-luat-ovr.lua
diff options
context:
space:
mode:
authorPhilipp Gesang <phg42.2a@gmail.com>2013-04-22 15:15:22 +0200
committerPhilipp Gesang <phg42.2a@gmail.com>2013-04-22 15:15:22 +0200
commit4f0774100b6000784cf29bcc8677e63a3169f21a (patch)
treed44e49e7a820b5cf92ee5733d43af13a6efc70a0 /luaotfload-luat-ovr.lua
parent655ab8e887944e82c48d4d5c1745e00c771dbae0 (diff)
downloadluaotfload-4f0774100b6000784cf29bcc8677e63a3169f21a.tar.gz
migrate files from ‘otfl’ to ‘luaotfload’ prefix
Diffstat (limited to 'luaotfload-luat-ovr.lua')
-rw-r--r--luaotfload-luat-ovr.lua81
1 files changed, 81 insertions, 0 deletions
diff --git a/luaotfload-luat-ovr.lua b/luaotfload-luat-ovr.lua
new file mode 100644
index 0000000..94f2376
--- /dev/null
+++ b/luaotfload-luat-ovr.lua
@@ -0,0 +1,81 @@
+if not modules then modules = { } end modules ['luat-ovr'] = {
+ version = 1.001,
+ comment = "companion to luatex-*.tex",
+ author = "Khaled Hosny and Elie Roux",
+ copyright = "Luaotfload Development Team",
+ license = "GNU GPL v2"
+}
+
+
+local module_name = "luaotfload"
+
+local texiowrite_nl = texio.write_nl
+local stringformat = string.format
+local tableconcat = table.concat
+local type = type
+
+--[[doc--
+We recreate the verbosity levels previously implemented in font-nms:
+
+ ==========================================================
+ lvl arg trace_loading trace_search suppress_output
+ ----------------------------------------------------------
+ (0) -> -q ⊥ ⊥ ⊤
+ (1) -> ∅ ⊥ ⊥ ⊥
+ (2) -> -v ⊤ ⊥ ⊥
+ (>2) -> -vv ⊤ ⊤ ⊥
+ ==========================================================
+
+--doc]]--
+local loglevel = 1 --- default
+local logout = "log"
+
+local set_loglevel = function (n)
+ if type(n) == "number" then
+ loglevel = n
+ end
+end
+logs.set_loglevel = set_loglevel
+logs.set_log_level = set_loglevel --- accomodating lazy typists
+
+local set_logout = function (s)
+ if s == "stdout" then
+ logout = "term"
+ --else --- remains “log”
+ end
+end
+
+logs.set_logout = set_logout
+
+local log = function (category, fmt, ...)
+ local res = { module_name, " |" }
+ if category then res[#res+1] = " " .. category end
+ if fmt then res[#res+1] = ": " .. stringformat(fmt, ...) end
+ texiowrite_nl(logout, tableconcat(res))
+end
+
+local stdout = function (category, fmt, ...)
+ local res = { module_name, " |" }
+ if category then res[#res+1] = " " .. category end
+ if fmt then res[#res+1] = ": " .. stringformat(fmt, ...) end
+ texiowrite_nl(tableconcat(res))
+end
+
+local level_ids = { common = 0, loading = 1, search = 2 }
+
+logs.names_report = function (mode, lvl, ...)
+ if type(lvl) == "string" then
+ lvl = level_ids[lvl]
+ end
+ if not lvl then lvl = 0 end
+
+ if loglevel > lvl then
+ if mode == "log" then
+ log (...)
+ else
+ stdout (...)
+ end
+ end
+end
+
+-- vim:tw=71:sw=4:ts=4:expandtab