require 'rvg/rvg'

rvg = Magick::RVG.new(150, 100) do |canvas|
  canvas.background_fill = 'white'
  canvas.text(40, 35).styles(:font_weight=>'bold', :font_size=>28) do |txt|
    txt.tspan('H')
    txt.tspan('2').styles(:font_size=>20, :fill=>'red', :baseline_shift=>'sub')
    txt.tspan('O')
  end
  canvas.text(40, 80).styles(:font_style=>'italic', :font_size=>28) do |txt|
    txt.tspan('e=mc')
    txt.tspan('2').styles(:font_size=>20, :fill=>'red', :baseline_shift=>'super')
  end
  canvas.rect(149, 99).styles(:fill=>'none', :stroke=>'blue')
end

rvg.draw.write('baseline_shift01.gif')