From ed01a0006460ac2cc55626d6e37d8840e6eced7f Mon Sep 17 00:00:00 2001 From: Anne van Kesteren Date: Wed, 2 Jun 2021 13:24:44 +0200 Subject: [PATCH 1/3] Reference even more baseline concepts in CSS Inline Layout See https://github.com/w3c/csswg-drafts/issues/5312. And also #5429 for where all of this started. Ideally though https://github.com/w3c/csswg-drafts/issues/5431 would be fixed too and we'd figure out how to update images/baselines.png (I've asked Ian if there's an original somewhere). --- source | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/source b/source index 9bc5da8545d..796da7ed5f7 100644 --- a/source +++ b/source @@ -3875,6 +3875,8 @@ a.setAttribute('href', 'https://example.com/'); // change the content attribute
  • alphabetic baseline
  • ascent metric
  • descent metric
  • +
  • em-over baseline
  • +
  • em-under baseline
  • hanging baseline
  • ideographic-under baseline
  • @@ -66561,19 +66563,19 @@ worker.postMessage(offscreenCanvas, [offscreenCanvas]); attribute's allowed keywords correspond to alignment points in the font:

    -

    The top of the em square is roughly at the top of the glyphs in a font, the hanging baseline is where some glyphs like आ are anchored, the middle is half-way between the top of the em square and the bottom of the em square, the alphabetic baseline is where characters like Á, ÿ, f, and Ω are anchored, the ideographic-under baseline is where glyphs like 私 and 達 are anchored, and the bottom of the em square is roughly at the bottom of the glyphs in a font. The top and bottom of the bounding box can be far from these baselines, due to glyphs extending far outside the em square.

    +

    The em-over baseline is roughly at the top of the glyphs in a font, the hanging baseline is where some glyphs like आ are anchored, the middle is half-way between the em-over and em-under baselines, the alphabetic baseline is where characters like Á, ÿ, f, and Ω are anchored, the ideographic-under baseline is where glyphs like 私 and 達 are anchored, and the em-under baseline is roughly at the bottom of the glyphs in a font. The top and bottom of the bounding box can be far from these baselines, due to glyphs extending far outside em-over and em-under baselines.

    The keywords map to these alignment points as follows:

    top -
    The top of the em square
    +
    The em-over baseline
    hanging
    The hanging baseline
    middle -
    The middle of the em square
    +
    Halfway between the of the em square
    alphabetic
    The alphabetic baseline
    @@ -66582,7 +66584,7 @@ worker.postMessage(offscreenCanvas, [offscreenCanvas]);
    The ideographic-under baseline
    bottom -
    The bottom of the em square
    +
    The em-under baseline

    The direction attribute's allowed keywords are @@ -68985,19 +68987,19 @@ try {

    emHeightAscent attribute

    The distance from the horizontal line indicated by the textBaseline attribute to the highest top of the em - squares in the inline box, in CSS pixels; positive numbers - indicating that the given baseline is below the top of that em square (so this value will usually - be positive). Zero if the given baseline is the top of that em square; half the font size if the - given baseline is the middle of that em square.

    + data-x="dom-context-2d-textBaseline">textBaseline attribute to the em-over + baseline in the inline box, in CSS pixels; + positive numbers indicating that the given baseline is below the em-over baseline + (so this value will usually be positive). Zero if the given baseline is the em-over + baseline; half the font size if the given baseline is the middle of that em square.

    emHeightDescent attribute

    The distance from the horizontal line indicated by the textBaseline attribute to the lowest bottom of the em - squares in the inline box, in CSS pixels; positive numbers - indicating that the given baseline is above the bottom of that em square. (Zero if the given baseline - is the bottom of that em square.)

    + data-x="dom-context-2d-textBaseline">textBaseline attribute to the em-under + baseline in the inline box, in CSS pixels; + positive numbers indicating that the given baseline is above the em-under baseline. + (Zero if the given baseline is the em-under baseline.)

    hangingBaseline attribute
    @@ -69027,9 +69029,9 @@ try {

    Glyphs rendered using fillText() and strokeText() can spill out of the box given by the - font size (the em square size) and the width returned by measureText() (the text width). Authors are encouraged - to use the bounding box values described above if this is an issue.

    + font size and the width returned by measureText() + (the text width). Authors are encouraged to use the bounding box values described above if this is + an issue.

    A future version of the 2D context API might provide a way to render fragments of documents, rendered using CSS, straight to the canvas. This would be provided in preference to a From 3dd6ae13846eb37ae8ca4f0e4b8002a5059d1ab1 Mon Sep 17 00:00:00 2001 From: Anne van Kesteren Date: Wed, 4 Dec 2024 19:05:02 +0100 Subject: [PATCH 2/3] address nit and update image --- images/baselines.png | Bin 22505 -> 22293 bytes source | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/images/baselines.png b/images/baselines.png index b51ed6a3a57afe583b67335bff7cfc1e1856a957..6d7f1304db844e09435ef205f086f7b16ee44574 100644 GIT binary patch literal 22293 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 literal 22505 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 |(7U*Qu!{g>U+L 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 F;$P

    The hanging baseline
    middle -
    Halfway between the of the em square
    +
    Halfway between the em-over baseline and the em-under baseline
    alphabetic
    The alphabetic baseline
    From 25906426ae4fce743f92c67808aeb48a2414b5b1 Mon Sep 17 00:00:00 2001 From: Anne van Kesteren Date: Thu, 5 Dec 2024 07:21:33 +0100 Subject: [PATCH 3/3] Update source --- source | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source b/source index f775e07ce7d..b8a0cef9a14 100644 --- a/source +++ b/source @@ -68991,7 +68991,8 @@ try { baseline in the inline box, in CSS pixels; positive numbers indicating that the given baseline is below the em-over baseline (so this value will usually be positive). Zero if the given baseline is the em-over - baseline; half the font size if the given baseline is the middle of that em square.

    + baseline; half the font size if the given baseline is halfway between the em-over + baseline and the em-under baseline.

    emHeightDescent attribute