texlive-specs-o/luaotfload_varfonts.dif

86 lines
2.7 KiB
Plaintext

---
texmf-dist/tex/luatex/luaotfload/fontloader-basics-gen.lua | 26 +++++++++++++
texmf-dist/tex/luatex/luaotfload/fontloader-reference.lua | 23 +++++++++++
2 files changed, 49 insertions(+)
--- texmf-dist/tex/luatex/luaotfload/fontloader-basics-gen.lua
+++ texmf-dist/tex/luatex/luaotfload/fontloader-basics-gen.lua 2016-06-09 10:26:02.571996404 +0000
@@ -197,6 +197,7 @@ do
-- standard context tree setup
local cachepaths = kpse.expand_var('$TEXMFCACHE') or ""
+ local mktex = kpse.find_file('mktex.cnf','cnf') or ""
-- quite like tex live or so (the weird $TEXMFCACHE test seems to be needed on miktex)
@@ -210,6 +211,31 @@ do
cachepaths = kpse.expand_var('$VARTEXMF') or ""
end
+ -- SUSE VARTEXFONTS
+
+ if mktex~="" then
+ local varfonts = "no"
+ local features = io.open(mktex,'r')
+ local cache
+ for line in features:lines() do
+ if string.find(line, 'MT_FEATURES=') then
+ if string.find(line, 'varfonts') then
+ varfonts = "yes"
+ end
+ break
+ end
+ end
+ features:close()
+ cache = kpse.expand_var('$VARTEXFONTS')
+ if varfonts == "yes" and cache ~= "" then
+ if false == file.is_writable(cache) then
+ cachepaths = os.getenv("HOME") .. "/.cache/texmf/fonts"
+ else
+ cachepaths = cache
+ end
+ end
+ end
+
-- and this is a last resort (hm, we could use TEMP or TEMPDIR)
if cachepaths == "" then
--- texmf-dist/tex/luatex/luaotfload/fontloader-reference.lua
+++ texmf-dist/tex/luatex/luaotfload/fontloader-reference.lua 2019-05-10 09:32:16.562792353 +0000
@@ -4584,12 +4584,35 @@ if not caches.namespace or caches.namesp
end
do
local cachepaths=kpse.expand_var('$TEXMFCACHE') or ""
+ local mktex=kpse.find_file('mktex.cnf','cnf') or ""
if cachepaths=="" or cachepaths=="$TEXMFCACHE" then
cachepaths=kpse.expand_var('$TEXMFVAR') or ""
end
if cachepaths=="" or cachepaths=="$TEXMFVAR" then
cachepaths=kpse.expand_var('$VARTEXMF') or ""
end
+ if mktex~="" then
+ local varfonts="no"
+ local features=io.open(mktex,'r')
+ local cache
+ for line in features:lines() do
+ if string.find(line, 'MT_FEATURES=') then
+ if string.find(line, 'varfonts') then
+ varfonts="yes"
+ end
+ break
+ end
+ end
+ features:close()
+ cache=kpse.expand_var('$VARTEXFONTS')
+ if varfonts=="yes" and cachepaths~="" then
+ if false == file.is_writable(cachepaths) then
+ cachepaths=os.getenv("HOME") .. "/.cache/texmf/fonts"
+ end
+ else
+ cachepaths=cache
+ end
+ end
if cachepaths=="" then
local fallbacks={ "TMPDIR","TEMPDIR","TMP","TEMP","HOME","HOMEPATH" }
for i=1,#fallbacks do