Следующий код хорошо работает в IE, Chrome (Firefox не тестировался):
var t = paper.text(50, 50, "Raphaël\nkicks\nbutt!"),
b = t._getBBox();
t.translate(-b.width/2,-b.height/2);
Пояснение:
в Рафаэле, текст центрируется вокруг заданного вами x & y по умолчанию, вы можете установить выравнивание по левому краю:
t.attr({'text-anchor':'start'})
но у вас нет атрибута для его выравнивания по верху. Я сначала попробовал:
var b=t.getBBox();
но он вернул NaN в IE, поэтому я обратился к:
var b=t._getBBox();
_getBBox () недокументирован, но используется внутри самого Рафаэля и работает!
Надеюсь, это поможет.