[luatex] luaotfload problems (MiKTeX/Windows 7)
pintar at post.harvard.edu
Thu Jul 4 01:33:41 CEST 2013
Glad to be of some use!
> This one avoids an extra call (please test):
> local cachepaths = kpse.expand_var('$TEXMFCACHE')
> if cachepaths == "$TEXMFCACHE" then
> cachepaths = kpse.expand_var('$TEXMFVAR')
> if cachepaths == "$TEXMFVAR" then
> cachepaths = kpse.expand_var('$VARTEXMF')
> Thanks for bringing that to my attention; I?ve forwarded your bug
> report to Hans.
> I think I?ll upload a fixed version to CTAN this week.
I've tested the latest code and it's working fine. But shouldn't it also
if cachepaths == "$VARTEXMF" then
cachepaths = "."
at the end, to maintain the old behaviour, or do you think the
precautionary behaviour should be changed?
> Is this normal behaviour, or a 'bug' for MikTeX installs? Or something
> else altogether?
> As I said, things are working fine, but it puzzles me why $TEXMFCACHE is
> being generated for each working directory where I have .tex files I'm
> compiling with lualatex.
There isn't supposed to be a directory *called* $TEXMFCACHE. $TEXMFCACHE
is a kpathsea variable whose value is the path where the database should
be created. But this variable is not defined under MiKTeX, and upon
seeing that it's not defined, luaotfload is supposed to put the database
in a folder with the path given by the value of the variable $TEXMFVAR
(the default value in MiKTeX on Win 7 is
C:\Users\<USERNAME>\AppData\MiKTeX\2.9 and you can test the value on
your system by typing kpsewhich --expand-var=$TEXMFVAR in the Command
Prompt, or by looking in the Roots panel of the MiKTeX settings
application). The bug we've been discussing keeps luaotfload from doing
that, which is why your database ends up where it does (and the problem
doesn't apply to TeX Live, because the $TEXMFCACHE variable is defined
in that setup).
More information about the luatex