--- cairo-bb17403622e9ea474017e0039af8ee48b2b285db/src/win32/cairo-win32-display-surface.c.orig	2014-04-05 19:23:25.770005100 +0000
+++ cairo-bb17403622e9ea474017e0039af8ee48b2b285db/src/win32/cairo-win32-display-surface.c	2014-04-05 19:27:59.506765200 +0000
@@ -380,7 +380,7 @@
      */
     if (!(src->is_dib || content & CAIRO_CONTENT_ALPHA)) {
 	/* try to create a ddb */
-	new_surf = cairo_win32_surface_create_with_ddb (src->win32.dc, CAIRO_FORMAT_RGB24, width, height);
+	new_surf = cairo_win32_surface_create_with_ddb (src->win32.dc, CAIRO_FORMAT_ARGB32, width, height);
 
 	if (new_surf->status)
 	    new_surf = NULL;
@@ -1049,7 +1049,7 @@
     HDC screen_dc, ddb_dc;
     HBITMAP saved_dc_bitmap;
 
-    if (format != CAIRO_FORMAT_RGB24)
+    if (format != CAIRO_FORMAT_RGB24 && format != CAIRO_FORMAT_ARGB32)
 	return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_INVALID_FORMAT));
 /* XXX handle these eventually
 	format != CAIRO_FORMAT_A8 ||
--- cairo-bb17403622e9ea474017e0039af8ee48b2b285db/src/win32/cairo-win32-font.c.orig	2014-04-02 04:16:04.638143700 +0000
+++ cairo-bb17403622e9ea474017e0039af8ee48b2b285db/src/win32/cairo-win32-font.c	2014-04-05 20:10:47.108309200 +0000
@@ -1600,7 +1600,7 @@
     width = x2 - x1;
     height = y2 - y1;
 
-    surface = cairo_win32_surface_create_with_dib (CAIRO_FORMAT_RGB24,
+    surface = cairo_win32_surface_create_with_dib (CAIRO_FORMAT_ARGB32,
 						   width, height);
     status = _cairo_surface_paint (surface, CAIRO_OPERATOR_SOURCE,
 				   &_cairo_pattern_white.base, NULL);
--- cairo-bb17403622e9ea474017e0039af8ee48b2b285db/src/win32/cairo-win32-surface.c.orig	2014-03-21 13:10:19.000000000 +0000
+++ cairo-bb17403622e9ea474017e0039af8ee48b2b285db/src/win32/cairo-win32-surface.c	2014-04-05 20:12:14.176865500 +0000
@@ -227,7 +227,7 @@
 
     /* We can only handle opaque solid color sources and destinations */
     assert (_cairo_pattern_is_opaque_solid(source));
-    assert (dst->format == CAIRO_FORMAT_RGB24);
+    assert (dst->format == CAIRO_FORMAT_RGB24 || dst->format == CAIRO_FORMAT_ARGB32);
 
     solid_pattern = (cairo_solid_pattern_t *)source;
     color = RGB(((int)solid_pattern->color.red_short) >> 8,
