Можно ли более точно измерить высоту текста SVG?

Я пытаюсь измерить точную высоту, используемую для визуализации заданной строки с заданным шрифтом с текстовым тегом SVG.

Я пытался использовать getBBox и getExtentOfChar, но высота, возвращаемая обоими из них, включает в себя некоторое дополнительное пространство над (и иногда под) фактическим отображаемым текстом.

http://upload.wikimedia.org/wikipedia/commons/3/39/Typography_Line_Terms.svg Используя термины на этом изображении, я пытаюсь получить либо высоту колпачка + высоту спускаемого текста отображаемого текста. Или, если это невозможно, просто высота колпачка. Есть хороший способ рассчитать эти значения?

Вот быстрый код, показывающий дополнительное пространство, о котором я говорю:http://codepen.io/pcorey/pen/amkGl

HTML:

<div>
  <svg><text>Hello</text></svg>
  <svg><text>Age</text></svg>
</div>

JS:

$(function() {
  $('svg').each(function() {
    var svg = $(this);
    var text = svg.find('text');

    var bbox = text.get(0).getBBox();
    svg.get(0).setAttribute('viewBox',
                           [bbox.x,
                            bbox.y,
                            bbox.width,
                            bbox.height].join(' '));
  });
});

Я понимаю, что это довольно специфичная для шрифта вещь, так что это может быть совершенно невозможно ...

Ответы на вопрос(1)

Ваш ответ на вопрос