    # File lib/rvg/misc.rb, line 189
                    def render(x, y, text)
                        x_rel_coords, y_rel_coords = text_rel_coords(text)
                        dx = x_rel_coords.inject(0) {|sum, a| sum + a}
                        dy = y_rel_coords.max

                        # We're handling the anchoring.
                        @ctx.gc.push()
                        @ctx.gc.text_anchor(Magick::StartAnchor)
                        if @ctx.text_attrs.text_anchor == :end
                            x -= dx
                        elsif @ctx.text_attrs.text_anchor == :middle
                            x -= dx / 2
                        end

                        # Align the first glyph
                        case @ctx.text_attrs.glyph_orientation_horizontal
                            when 0
                                ;
                            when 90
                                y -= dy
                            when 180
                                x += x_rel_coords.shift
                                x_rel_coords << 0
                                y -= dy
                            when 270
                                x += x_rel_coords[0]
                        end

                        y += shift_baseline(@ctx.text_attrs.glyph_orientation_horizontal, text[0,1])

                        first_word = true
                        text.split(::Magick::RVG::WORD_SEP).each do |word|
                            unless first_word
                                x += x_rel_coords.shift
                            end
                            first_word = false
                            word.split('').each do |glyph|
                                render_glyph(@ctx.text_attrs.glyph_orientation_horizontal, x, y, glyph)
                                x += x_rel_coords.shift
                            end
                        end

                        @ctx.gc.pop()
                        [dx, 0]
                    end