diff --git a/lib/squib/graphics/text.rb b/lib/squib/graphics/text.rb index 2422b10..ce489d2 100644 --- a/lib/squib/graphics/text.rb +++ b/lib/squib/graphics/text.rb @@ -161,10 +161,15 @@ module Squib cc.move_to(0, vertical_start) cc.update_pango_layout(layout) - cc.save cc.show_pango_layout(layout) - cc.restore - embed_draws.each { |ed| ed[:draw].call(self, ed[:x], ed[:y] + vertical_start) } + begin + embed_draws.each { |ed| ed[:draw].call(self, ed[:x], ed[:y] + vertical_start) } + rescue Exception => e + puts "====EXCEPTION!====" + puts "Cairo matrix: #{cc.get_matrix}" + puts e + puts "==================" + end draw_text_hint(cc, x, y, layout, hint, angle) extents = { width: layout.extents[1].width / Pango::SCALE, height: layout.extents[1].height / Pango::SCALE }