- From: fantasai via GitHub <sysbot+gh@w3.org>
- Date: Thu, 09 Jul 2020 22:42:54 +0000
- To: public-css-archive@w3.org
fantasai has just created a new issue for https://github.com/w3c/csswg-drafts: == [css-inline-3] Define em-top and em-bottom baselines == The Canvas API has several references into the metrics defined in It also defines emHeightAscent and emHeightDescent but doesn't have a concrete definition for them. Talked with @jfkthame about what they might be defined as and currently thinking maybe we add in definitions for these for HTML to [refer into](https://github.com/w3c/csswg-drafts/issues/5266), so all the related metrics are all defined in [one place](https://drafts.csswg.org/css-inline-3/#baseline-types) (even if CSS doesn't end up using this particular pair). Proposed definition from me and @jfkthame is: * if the ideographic-top + ideographic-bottom or ideographic-central baselines are defined by the font, emHeightAscent is 0.5em above the ideographic-central and emHeightDescent is 0.5em below. (This will normally make ideographic-top = emHeightAscent and ideographic-bottom = emHeightDescent, but if ideographic-top and ideographic-bottom are not 1em apart it will normalize the distance to 1em) * if none of the ideographic baselines are defined, use the ascent and descent normalized proportionally so they add up to 1em Roughly in code, something like: ``` if iTop | iBottom | iCentral: /* rules of font format considers at least one of these defined */ if iBottom && !iTop: iTop = iBottom + 1em; if iTop && !iBottom: iBottom = iTop - 1em; if !iCentral: iCentral = (iTop + iBottom)/2; return (iCentral + 0.5em, iCentral - 0.5em); else: p = 1em/(ascent - descent); return (ascent*p, descent*p); ``` CC @annevk @yiyix Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/5312 using your GitHub account
Received on Thursday, 9 July 2020 22:42:56 UTC