W3C home > Mailing lists > Public > www-style@w3.org > February 2015

Re: [css-inline] i18n-ISSUE-408: Boxed characters and initial letter properties

From: Arle Lommel <arle.lommel@dfki.de>
Date: Wed, 11 Feb 2015 11:40:25 +0100
Cc: Florian Rivoal <florian@rivoal.net>, www-style@w3.org, www International <www-international@w3.org>
Message-Id: <4815A808-B6DE-453A-95A7-AD6ABD641096@dfki.de>
To: Richard Ishida <ishida@w3.org>
I rather suspect there is no way you will avoid this problem systematically. I have seen systems that have set sizing based on the characters’ physical bounds (rather than the bounding box), and that tends to mess things up even more. (A build of the open-source Lilypond software for typesetting music had, at one point, a system for setting lyrics that set spacing based on the physical height of the text lines, so lines with no descenders were set too close to following lines. The results were ugly, to put it mildly.)

In this case what is clearly going on is that CSS is considering the bounding boxes of the characters as defined in the fonts. Since the diacritics sit outside the bounding box for the base character, the CSS model ignores them (which is what you want for most typographical purposes).

If you want to make a systematic fix you'd need a setting that tells the rendering engine to ignore the bounding box and instead consider the physical position of all character elements. That would require rewriting the rendering engine to support this use case. That is, of course, a non-trivial task.

Sic scripsit Richard Ishida ad Florian Rivoal die Tue Feb 10 2015 17:29:28:
> What concerned me was that the combining characters leaked outside the box.  I think that one could add enough padding to avoid this, but it is a messy job for an author, and may require different settings for each initial-letter (not all have combining characters).  With my  author hat on, i'd just want to say 'make it all fit', and have combining character accounted for too. I think we'd need to fix that.
> Note also that there is a gap in the English example where the beard of the type is empty (because there's no descender).

Received on Wednesday, 11 February 2015 10:41:00 UTC

This archive was generated by hypermail 2.4.0 : Friday, 25 March 2022 10:08:51 UTC