Re: make font metrics visible to user

Actually, there is already an API in the browser for accessing font
metrics: CanvasRenderingContext2D.measureText() which returns a TextMetrics
object containing all the values you'd want.

https://developer.mozilla.org/en-US/docs/Web/API/TextMetrics

The bad news is that it isn't properly supported yet. The only value that
the browsers currently return is width.

If it was better supported, you could use that for better metrics. For
example: https://jsfiddle.net/f8nfyvp4/2/

Paul

On 25 April 2017 at 22:20, Ulrich-Matthias Schäfer <ulima.ums@gmail.com>
wrote:

> Yes. Having a tightest box of certain text or glyph is a useful feature,
> too.
> Somewhat like: text.getTightestBox()
>
> For my case I would like to have a function `text.getFontMetrics()` which
> tells me the exact metrics of the font of this text element (maybe
> including bboxes and glyphs) taking all font properties into account.
>
> 2017-04-25 12:14 GMT+02:00 Francis Hemsher <fhemsher@gmail.com>:
>
>> Just to add something to your suggestions...
>> Also, what would be just dandy, is to have the actual bounding box
>> dimensions for the unicode svg drawing of each font character. Otherwise it
>> is tedious to accurately place font icons, and other individual characters.
>> Francis
>>
>> On Sat, Apr 22, 2017 at 8:21 AM, Ulrich-Matthias Schäfer <
>> ulima.ums@gmail.com> wrote:
>>
>>> Hey everyone,
>>> I am one of the maintainers of the svg.js library and one thing we
>>> stumpled over was svg text which is really hard to tame. The text is
>>> positioned relative to the baseline which makes sense in one case but is
>>> bad in others. We tried to position text based on the upper left edge and
>>> currently we use browsers bounding box implementation to achieve that.
>>> However - this differs around browsers and I was looking for a more stable
>>> way to do that.
>>> One possibility which came into my mind was to add a method to get the
>>> metrics of the font which is used. Most importingly the values of
>>> unitsPerEm and the baseline position. That alone would allow us to move the
>>> text in a consistent manner.
>>> Is there any effort I dont know of to put something like this into the
>>> specs?
>>>
>>> Thanks for reading! Cheers,
>>> Fuzzy
>>>
>>
>>
>

Received on Tuesday, 25 April 2017 11:11:14 UTC