The cairo_surface_create_similar_image documentation says that the width and height are in device-space units. Instead they are in raw pixels. Basically the same unit used by cairo_image_surface_get_height, cairo_image_surface_get_width, etc..
It might also be nice to mention that cairo_surface_create_similar_image doesn't inherit the device scale, but cairo_surface_create_similar does.
Created attachment 128482 [details] [review]
doc: Fix the units used by cairo_surface_create_similar_image
Created attachment 128483 [details] [review]
doc: Clarify when the device scale is inherited and when it isn't
10e4103..cffa452 master -> master