Re: i18n-ISSUE-401: Clarify initial letter requirements and alignment points

On Fri, Jan 16, 2015 at 2:08 PM, John Hudson <tiro@tiro.com> wrote:

> On the font metrics side, I would argue that we don't really have the data
> point we need, or that the data is mis-specified.
>
> I think the notion of 'hanging baseline' should be completely discarded or,
> at least, given some very different name. What we're talking about, in
> scripts such as Devanagari and Bengali, is head-line alignment, which is
> something independent of the baseline position. The baseline, in font
> metrics terms, is the y-direction 0 distance of the internal font grid, or
> the global adjustment of the same applied to a font or to a particular
> script subset of a font to align *with a different script* as specified in
> the font BASE table [1]. The characteristic case of BASE table baseline
> adjustment is lowering of CJK ideographic characters when used in the
> context of Latin text. The BASE table specification also gives examples of a
> 'hanging baseline' setting for Devanagari script, but I've yet to see this
> implemented in either fonts or software, and I believe it is based on a
> mistaken notion.
>
> What is needed for head-line alignment of different sizes or fonts of Indian
> scripts such as Devanagari, including -- or even especially -- the case of
> drop initial letters, is a head-line alignment value, specified in font
> units, *expressed as a distance from the baseline*. You really need these
> two pieces of data: the baseline and the head-line alignment, and from those
> you can calculate the scaling of an initial letter such that the head-line
> of the initial aligns with that of the first line of text and the baseline
> of the initial letter aligns with that of the secondary line of text
> (determined by how many lines the initial covers). [This corresponds to use
> of the cap-height metric in scaling and aligning Latin drop caps.]
>
> For a variety of reasons, the BASE table is implemented in relatively few
> fonts (only Adobe seem to have consistently supported it, and only, to my
> knowledge, for CJK ideographic baseline adjustment). This means that even if
> the 'hanging baseline' value of the BASE table were interpreted in browsers
> and other software as the head-line alignment value and not confused with
> baseline alignment, this data point wouldn't be available in the fonts.
>

This is incredibly helpful. Thanks! I've been looking at the metrics
for Chandras, and was totally unable to find any metric corresponding
to the hanging baseline.  What you're calling the head-line is 660
units above the zero point. As you said, it seems that good alignment
of a drop cap would be very much as it is with Latin scripts, except
using that head-line measurement instead of the cap height. That's
what I've tried to do in the Devanagari example in the CSS Inline spec
[1], although I need to redo the diagram as the bottom alignment isn't
quite correct.

Dave Cramer, co-editor of the CSS Inline spec

[1] http://dev.w3.org/csswg/css-inline/Devangari-Initial.png

Received on Friday, 16 January 2015 21:07:33 UTC