Open Crissov opened 7 years ago
Per usual, can you give actual use-cases for this? Pages where, if you had this unit, it would enable you to do something that you currently can't do, or can only do with great effort/hackery?
The use case from #459 and #239 is setting the position or thickness of underlines etc.
If that remained the only valid use case, though, and authors were expected to only ever use 1bs
and 1hs
, respective keywords would work just fine as well.
As mentioned before in #459 and #239, I believe that it would be useful to have additional relative length units to refer to the nominal width or thickness of strokes in the glyphs of a font.
The base stroke thickness is the width of primary stems, usually straight vertical strokes.
UAs may determine the base stroke width from the median width of a vertical stem in a lowercase glyph with ascender, e.g. h (1?,
/
in x?). In the cases where it is impossible or impractical to determine the base stroke thickness, a value of0.0625em
must be assumed. This is1px
for the common default font size of16px
.The hair-line stroke thickness is the width of secondary stems, often straight horizontal or diagonal strokes. In some fonts, by design, it does not differ from the base stroke thickness. UAs may determine the hair-line stroke width from the median width of a horizontal bar in a lowercase glyph, e.g. e (7?,
\
in x?). In the cases where it is impossible or impractical to determine the hair-line stroke thickness, a value of1bs
must be assumed.The exact names, definitions and abbreviations are of course open to discussion. I used to favor
bs
andhs
ords
andus
, but the s standing in for stroke may be too reminiscent of the one ins
‘second’ andms
‘millisecond’.