[luatex] luaotfload problems (MiKTeX/Windows 7) | not solved

Philipp Gesang Philipp.Gesang at alumni.uni-heidelberg.de
Sat Jul 6 19:14:00 CEST 2013


Hi Evan,

···<date: 2013-07-06, Saturday>···<from: Evan Cooch>···

> Well, perhaps a clue. When I run luaotfload-tool help, it shows me
> 
> The font database will be saved to:
> c:/users/egc/AppData/Local/MikTeX/2.9/luatex-cache/generic/names/luaotfload-names.lua
> c:/users/egc/AppData/Local/MikTeX/2.9/luatex-cache/generic/names/luaotfload-names.luc

looks ok so far.

> and then...nothing else. I get no statement about where the font
> cache will be written to (i.e., I don't see anything like
> 
> The font cache will be written to
>        /home/phg/src/texlive2013/texmf-var/luatex-cache/generic/fonts

That line has been there since this commit:

    https://github.com/lualatex/luaotfload/commit/00fd07c628af41b0709d25fd00805385be561459#L3R202

and is definitely part of the v2.3 zip. Something’s off with your
install. You can check whether you’re running the correct version
with luaotfload-tool --version.

> In fact other than the statements about where the font database will
> be written to, runing luaotfload-tool --help shows me nothing else.
> At all.

It should print 59 lines of usage info.

If I remember correctly, Windows distributions use binary
wrappers for Lua scripts. Maybe the one for luaotfload-tool.lua
points to an old version of the file?

> >nd all the subdirs contained therein).
> >According to your log file that is where the font loader writes
> >its cache files to:
> >
> >     C:/Users/egc/AppData/Local/MiKTeX/2.9/luatex-cache/generic/
> >
> >The names db should reside in a subdirectory “/names”, the font
> >cache under “/fonts/”. If deleted, it will be recreated the next
> >time you run luaotfload-tool or luatex with luaotload. Can you
> >post the permissions of these directories and the files in them?
> >
> 
> 
> This might be the clue. If I delete luatex-cache from
> c:/users/egc/AppData/Local/MikTeX/2.9/ (i.e., start over), bring up
> a command shell, and then run
> 
> luaotfload-tool --update --force
> 
> It creates luatex-cache, then generic, and then names but...then
> quits with the following error message:
> 
> luatofload | db: scanning TEXMF and OS fonts...
> luaotfload -tool: Windows API error 5: Access is denied.
> luaotfload-tool: Data: C:/users/egc/Templates

Weird. Google hints that this is a Miktex-specific error:
http://tex.stackexchange.com/q/51799, indicating a problem with
permissions.

> and then it exits.
> 
> So, even though I 'shouldn't', I bring up a cmd window, and as
> admin, run luaotfload-tool --update --force. Runs to completion.
> Fonts in \fonts, and (importantly) in \names, see
> luaotfload-names.lua and luaotfload-names.luc

If they end up in the correct cache tree, then the script runs
fine.

> Now, try to compile MWE, and once again, I get all those ... could
> not write to cache messages. Document compiles, but still...

With normal settings Luaotfload will resolve font name requests
only once and then save them to disk. For this to work it is
essential that the cache be writable during the Luatex run -- if
you run the script with root privileges then that cache directory
ends up owned by root (on Linux, anyways) and can’t be written to
with user rights.

Best,
Philipp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 490 bytes
Desc: not available
URL: <http://tug.org/pipermail/luatex/attachments/20130706/a76d5a40/attachment.bin>


More information about the luatex mailing list