diff options
Diffstat (limited to 'luaotfload-database.lua')
-rw-r--r-- | luaotfload-database.lua | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/luaotfload-database.lua b/luaotfload-database.lua index 9eb5b1f..4755396 100644 --- a/luaotfload-database.lua +++ b/luaotfload-database.lua @@ -2006,9 +2006,21 @@ local collect_cache collect_cache = function (path, all, n, luanames, return luanames, lucnames, rest, all end +local getfontcachepath = function ( ) + --- fonts.handlers.otf doesn’t exist outside a Luatex run, + --- so we have to improvise + local writable = caches.getwritablepath () + if writable then + writable = writable .. "/fonts" + if lfsisdir (writable) then + return writable + end + end +end + --- unit -> unit local purge_cache = function ( ) - local writable_path = caches.getwritablepath() + local writable_path = getfontcachepath () local luanames, lucnames, rest = collect_cache(writable_path) if logs.get_loglevel() > 1 then print_cache("writable path", writable_path, luanames, lucnames, rest) @@ -2019,7 +2031,7 @@ end --- unit -> unit local erase_cache = function ( ) - local writable_path = caches.getwritablepath() + local writable_path = getfontcachepath () local luanames, lucnames, rest, all = collect_cache(writable_path) if logs.get_loglevel() > 1 then print_cache("writable path", writable_path, luanames, lucnames, rest) @@ -2035,7 +2047,7 @@ end --- unit -> unit local show_cache = function ( ) local readable_paths = caches.getreadablepaths() - local writable_path = caches.getwritablepath() + local writable_path = getfontcachepath () local luanames, lucnames, rest = collect_cache(writable_path) separator() |