[luatex] luaotfload problems (MiKTeX/Windows 7)

Jura Pintar pintar at post.harvard.edu
Thu Jul 4 01:33:41 CEST 2013

Hi Philipp,

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')
>    end
>    if cachepaths == "$TEXMFVAR" then
>      cachepaths = kpse.expand_var('$VARTEXMF')
>    end
> 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 mailing list