# File lib/pdf/reader/text_receiver.rb, line 155
    def super_show_text (string)
      urx = @upper_corners.last[:urx]/TS_UNITS_PER_H_CHAR
      ury = @upper_corners.last[:ury]/TS_UNITS_PER_V_CHAR

      x = (@tm[2,0]/TS_UNITS_PER_H_CHAR).to_i
      y = (ury - (@tm[2,1]/TS_UNITS_PER_V_CHAR)).to_i
      
      #puts "rendering '#{string}' to #{x}x#{y}"

      place = (@output[y] ||= (" " * urx.to_i))
      #puts "#{urx} #{place.size} #{string.size} #{x}"
      return if x+string.size >= urx

      string.split(//).each do |c|
        chars = 1

        case c
        when " "
          chars += @state.last[:word_spacing].to_i
          place[x-1, chars] = (" " * chars)
        else
          chars += @state.last[:char_spacing].to_i
          chars -= (@state.last[:tj_adjustment]/1000).to_i if @state.last[:tj_adjustment]
          chars = 1 if chars < 1

          place[x-1] = c
          place[x, chars-1] = (" " * (chars-1)) if chars > 1
        end

        x += chars
      end

      @tm += Matrix.rows([[1, 0, 0], [0, 1, 0], [x*TS_UNITS_PER_H_CHAR, y*TS_UNITS_PER_V_CHAR, 1]])
    end