On 12/31/11 2:56 AM, Eli Zaretskii wrote: >> Date: Thu, 29 Dec 2011 09:16:16 -0800 >> From: Daniel Colascione >> CC: Juanma Barranquero , 10399@debbugs.gnu.org >> >> Since we're on the subject of Windows font backends: is it worth >> creating a DirectWrite backend? It does a better job of inter-character >> spacing and rendering at small sizes than Uniscribe does. >> >> https://bugzilla.mozilla.org/show_bug.cgi?id=517642 >> >> https://blog.mozilla.com/nattokirai/2009/10/22/better-postscript-cff-font-rendering-with-directwrite/ > > Looks like it has only C++ bindings? One of the comments on MSDN > says: > > DirectDraw header file is not compatible with C programming language > and can only be included in C++ code. However, C-style redeclaration > of contents in this header file alone (excluding other header files it > includes), will succeed in resolving the issue. DirectWrite is COM, and all COM facilities can be used by plain C. The C compatibility issue arises from a problem with the header for the COM interface produced by the IDL compiler (probably, nobody tried to actually use DirectWrite from C before shipping.) This problem doesn't prevent our using DirectWrite from C: as the MSDN comment indicates, the declarations just need to be extracted and rephrased as standard C. > Also, I see no dwrite.h header in the MinGW runtime and w32api > distributions, and no lib*.a import libraries for dwrite.dll. Am I > missing something? No. Either these packages would need to be updated to include DirectWrite or we'd need to just include declarations for the appropriate functions and interfaces ourselves.