- From: Peter Krautzberger <peter.krautzberger@mathjax.org>
- Date: Thu, 30 Jul 2015 16:15:49 +0200
- To: Alan Stearns <stearns@adobe.com>
- Cc: "public-houdini@w3.org" <public-houdini@w3.org>, John Daggett <jdaggett@mozilla.com>
- Message-ID: <CABqxo83DBSfVZXGFY0CtUg6nvjQ525RucUrXiV5e6ooYjAQECg@mail.gmail.com>
Hi Alan,
It looks like this would provide some global font metrics, but not the
metrics of individual characters/strings. Is that correct?
That would be helpful, particularly the baseline information, but it would
not be sufficient for a use case like mathematical layout.
Best regards,
Peter.
On Wed, Jul 29, 2015 at 3:02 AM, Alan Stearns <stearns@adobe.com> wrote:
> Hey all,
>
> I initially thought that exposing raw font data would be the right first
> step for finding a way to correctly polyfill initial-letter, line grid,
> etc. Conversations I’ve had since the last Houdini meeting have moved me
> towards John Daggett’s point of view, that exposing the typographic
> *results* of line boxes is a better stepping-stone. Getting those results
> and making small changes is better than trying to reverse-engineer what
> the browser is doing with the raw font data.
>
> The box tree API currently talks about DeadFragmentInformation, which
> gives you a basic geometry result. My current thinking is that there
> should be a way to get more fine-grained typographic information within
> that basic geometry. It might look like:
>
> interface DeadFontMetrics {
> readonly attribute double baseline;
> readonly attribute double alphabeticBaseline;
> readonly attribute double ideographicBaseline;
> readonly attribute double ascent;
> readonly attribute double descent;
> readonly attribute double xHeight;
> readonly attribute double capHeight;
> }
>
>
> partial interface DeadFragmentInformation {
> Promise<DeadFontMetrics> getFontMetrics();
> };
>
>
> Where the DeadFontMetrics attributes give you the relevant typographic
> position of the first in-flow line box in pixels from the top of the
> fragment.
>
> An interesting idea is that we could work on the box tree and font metrics
> in parallel by adding getFontMetrics() to Element as well, which would
> give you the same typographic positions of the first in-flow line box from
> the element’s top. This might be sufficient to polyfill initial-letter and
> flexbox’s align-items:baseline. Something more complicated like line-grid
> would need to wait for more of the box tree to be exposed.
>
> Thanks,
>
> Alan
>
>
Received on Thursday, 30 July 2015 14:21:29 UTC