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
place = (@output[y] ||= (" " * urx.to_i))
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