Created attachment 39154 [details]
The image of the messed up GTK+ text
I have attempted to compile Cairo 1.10.0 with Visual C++ 2008, which was done successfully as I have done with the previous stable versions with both the supplied makefiles and with the Visual C++ project files successfully.
As I replaced the old 1.8.10 cairo.dll as I upgraded to GTK+ 2.22.0, and tried to run the GTK+ demo program, the text in the GTK+ application window became squeezed together, making the text in the window unreadable. Upon investigation, using the cairo 1.9.14 DLL would remedy the problem. My cairo-features.h is as follows (for both 1.10.0 and 1.9.14):
/* Generated by Makefile.win32. Do not edit. */
#define CAIRO_FEATURES_H 1
#define CAIRO_HAS_WIN32_SURFACE 1
#define CAIRO_HAS_WIN32_FONT 1
#define CAIRO_HAS_PNG_FUNCTIONS 1
#define CAIRO_HAS_FT_FONT 1
#define CAIRO_HAS_FC_FONT 1
#define CAIRO_HAS_PS_SURFACE 1
#define CAIRO_HAS_PDF_SURFACE 1
#define CAIRO_HAS_SVG_SURFACE 1
#define CAIRO_HAS_IMAGE_SURFACE 1
#define CAIRO_HAS_RECORDING_SURFACE 1
#define CAIRO_HAS_USER_FONT 1
#define CAIRO_HAS_GOBJECT_FUNCTIONS 1
#define CAIRO_HAS_INTERPRETER 1
Please note that this problem did not occur on Windows XP SP3 (not sure about Vista though as I do not run Vista).
I realized that I mistakenly defined my own lround (C99) which MSVC did not have, instead of defining the macro DISABLE_SOME_FLOATING_POINT, which I believe was the correct thing to do and hence fixed the problem.