summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--luaotfload-database.lua19
-rw-r--r--luaotfload-diagnostics.lua14
-rwxr-xr-xluaotfload-tool.lua2
-rwxr-xr-xmktests6
4 files changed, 27 insertions, 14 deletions
diff --git a/luaotfload-database.lua b/luaotfload-database.lua
index d258a19..b47fc8b 100644
--- a/luaotfload-database.lua
+++ b/luaotfload-database.lua
@@ -81,9 +81,9 @@ local stringsub = string.sub
local stringupper = string.upper
local tableconcat = table.concat
local tablesort = table.sort
-local texiowrite_nl = texio.write_nl
local utf8gsub = unicode.utf8.gsub
local utf8lower = unicode.utf8.lower
+local utf8length = unicode.utf8.length
local zlibcompress = zlib.compress
--- these come from Lualibs/Context
@@ -2115,10 +2115,15 @@ end
--- into a given terminal width. The parameter “restrict” (int)
--- indicates the number of characters already consumed on the
--- line.
-local ellipsis = ".."
local truncate_string = function (str, restrict)
- local wd = luaotfloadconfig.termwidth - restrict - 2
- return ellipsis .. stringsub(str, #str - wd)
+ local tw = luaotfloadconfig.termwidth
+ local wd = tw - restrict
+ local len = utf8length (str)
+ if wd - len < 0 then
+ --- combined length exceeds terminal,
+ str = ".." .. stringsub(str, len - wd + 2)
+ end
+ return str
end
--[[doc--
@@ -2170,11 +2175,11 @@ local scan_dir = function (dirname, currentnames, targetnames,
report ("log", 2, "db",
"Would have been loading %s.", fullname)
report_status ("term", "db",
- "Would have been loading %s.", truncated)
+ "Would have been loading %s", truncated)
else
local truncated = truncate_string (fullname, 32)
report ("log", 2, "db", "Loading font %s.", fullname)
- report_status ("term", "db", "Loading font %s.", truncated)
+ report_status ("term", "db", "Loading font %s", truncated)
local new = read_font_names (fullname, currentnames,
targetnames, texmf)
if new == true then
@@ -3424,7 +3429,7 @@ local show_cache = function ( )
separator ()
print_cache ("writable path", writable_path,
luanames, lucnames, rest)
- texiowrite_nl""
+ texio.write_nl""
for i=1,#readable_paths do
local readable_path = readable_paths[i]
if readable_path ~= writable_path then
diff --git a/luaotfload-diagnostics.lua b/luaotfload-diagnostics.lua
index f191913..68ed18c 100644
--- a/luaotfload-diagnostics.lua
+++ b/luaotfload-diagnostics.lua
@@ -25,6 +25,8 @@ local lfsreadlink = lfs.readlink
local md5 = require "md5"
local md5sumhexa = md5.sumhexa
+local ioopen = io.open
+
local osgetenv = os.getenv
local osname = os.name
local osremove = os.remove
@@ -54,10 +56,10 @@ end
local check_index = function (errcnt)
out "================= font names =================="
- local name_index = names.data()
+ local namedata = names.data()
- if not name_index then
- name_index = names.load ()
+ if not namedata then
+ namedata = names.load ()
end
local mappings = namedata.mappings
@@ -67,9 +69,9 @@ local check_index = function (errcnt)
return errcnt + 1
end
- out ("Database version: %.3f.", names.version)
+ out ("Database version: %.3f.", namedata.meta.version)
out ("Font formats indexed: %s.",
- tableconcat (namedata.formats, ", "))
+ tableconcat (namedata.meta.formats, ", "))
out ("%d font files indexed.", #mappings)
local by_format = { }
@@ -241,7 +243,7 @@ local path = names.path
local desired_permissions = {
{ "d", {"r","w"}, function () return caches.getwritablepath () end },
{ "d", {"r","w"}, path.globals.prefix },
- { "f", {"r","w"}, path.index.lua },
+ { "f", {"r","w"}, path.index.lua .. ".gz" },
{ "f", {"r","w"}, path.index.luc },
{ "f", {"r","w"}, path.lookups.lua },
{ "f", {"r","w"}, path.lookups.luc },
diff --git a/luaotfload-tool.lua b/luaotfload-tool.lua
index a945ee2..ec6ee57 100755
--- a/luaotfload-tool.lua
+++ b/luaotfload-tool.lua
@@ -685,7 +685,7 @@ The font info knows two levels of detail:
--doc]]--
local show_font_info = function (basename, askedname, detail, warnings)
- local filenames = names.data().filenames
+ local filenames = names.data().files
local index = filenames.base[basename]
local fullname = filenames.full[index]
askedname = sanitize_fontname (askedname)
diff --git a/mktests b/mktests
index d496896..688e5f8 100755
--- a/mktests
+++ b/mktests
@@ -65,6 +65,12 @@ local pprint_spec = function (spec)
end
-----------------------------------------------------------------------
+--- tool tests
+-----------------------------------------------------------------------
+
+
+
+-----------------------------------------------------------------------
--- font tests
-----------------------------------------------------------------------