# File lib/rvg/misc.rb, line 134 def shift_baseline(glyph_orientation, glyph) glyph_dimensions = @ctx.shadow.get_type_metrics(glyph) if glyph_orientation == 0 || glyph_orientation == 180 x = glyph_dimensions.width else x = glyph_dimensions.ascent - glyph_dimensions.descent end case @ctx.text_attrs.baseline_shift when :baseline x = 0 when :sub ; when :super x = -x when /[-+]?(\d+)%/ m = $1 == '-' ? -1.0 : 1.0 x = (m * x * $1.to_f / 100.0) else x = -@ctx.text_attrs.baseline_shift end return x end