> Date: Fri, 31 May 2013 09:45:39 -0700 (PDT) > From: Drew Adams <drew.ad...@oracle.com> > > `x-list-fonts' on Windows XP worked fine with all Emacs versions starting > with 20 (at least). > > On Windows 7 with Emacs 20, `x-list-fonts' systematically returns nil, > even when passed the value of the current frame's `font' parameter. > > E.g., (x-list-fonts "-*-Courier-normal-r-*-*-14-112-120-120-c-*-iso8859-1") > returns nil, even though the current frame uses exactly that font. > > I do not have Emacs 21 on Windows 7, but for Emacs 22 and later there is > no such problem. > > Anyone have an idea about this? I'm using a binary, not building Emacs 20, > and `x-list-fonts' is built in, so I imagine there is no solution, but > perhaps someone has an idea?
Emacs 20 used an old and deprecated API (EnumFontFamilies) to list the fonts. Emacs 21 and later uses more modern APIs when available. I cannot find any discussions of EnumFontFamilies failure on Windows 7, but I guess this is what you see. Or maybe Emacs called that API in a semi-buggy way that fails only on later Windows versions. Sorry, I don't know more and don't have an Emacs 20 binary to debug this.