Предлагаю на рассмотрение следующий метод:
Код:
  #-----------------------------------------------------------------------------
  # Определяет габариты строки, написанной указанным шрифтом
  # Возвращает :rect
  # font :font - экземпляр шрифта
  #-----------------------------------------------------------------------------
  def rect(font)
    temp = Bitmap.new(1, 1)
    temp.font = font
    rect = temp.text_size(self)
    temp.free
    return rect
  end
Возможно, есть лучшие способы определения размеров строки?