![](https://secure.gravatar.com/avatar/60a9fd10e1624a5b16e7ae188696fdba.jpg?s=120&d=mm&r=g)
There are several problems with luaotfload on Cygwin (detailed below). The short version of this email as that the problems can be fixed by removing all Cygwin-specific code, so that Cygwin is treated like any other unix-like system. The relevant patches are attached. Here are the details, based on the version of luaotfload in the TeX Live 2013 pretest as of today. 1. The code incorrectly assumes that Cygwin is a case-insensitive system. This is not necessarily the true; see http://cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-casesensit... I and many other Cygwin users have followed these instructions to make Cygwin case sensitive. As a result, luaotfload-tool failed on my system with the cryptic error message ...texmf-dist/tex/luatex/luaotfload/luaotfload-database.lua:921: attempt to index field '?' (a nil value) I finally tracked down the problem to the fact that case was being ignored in the filename /usr/local/texlive/2013/texmf-dist/fonts/opentype/adobe/sourcecodepro/SourceCodePro-Black.otf. 2. The code uses "cygdrive", ignoring the fact that users can change the cygdrive prefix to whatever they want in /etc/fstab. For example, some users prefer to use "mnt". 3. Because the code doesn't use /etc/fonts/fonts.conf, it doesn't add the Cygwin system fonts to the database. 4. Because of the use of os.getenv("WINDIR"), the code produces Windows paths rather than Posix paths when it scans the Windows font directory. This causes a problem as reported in the thread starting at http://cygwin.com/ml/cygwin/2013-04/msg00454.html and continuing at http://cygwin.com/ml/cygwin/2013-05/msg00006.html After my patch is applied, the correct Posix path is used (because it is in /etc/fonts/fonts.conf). Ken