GtkWidget:halign and GtkWidget:valign are sufficient
The previous code for computing the clip rectangle forgot to respect the text-shadow CSS property. This is usually not very visible because text shadows usually don't extend the ink rectangle by very much. See attached testcase for an example.