Re: [css3-writing-modes] vertical font features

On 04/24/2012 12:23 AM, John Daggett wrote:
> In section 5.1.1 of the Writing Modes spec [1]:
>
>> Vertical typesetting features such as vertical metrics and glyph
>> alternates are used to set upright characters in ‘mixed-right’ and
>> ‘upright’ modes. The UA must synthesize vertical font metrics for
>> any such characters that do not have any. (This specification does
>> not define heuristics for synthesizing such metrics.)
>
> I think what you mean here is:
>
>    Vertical font metrics are used to layout upright characters in
>    ‘mixed-right’ and ‘upright’ modes.  User agents must synthesize
>    vertical font metrics for fonts that lack them.  (This specification
>    does not define heuristics for synthesizing such metrics.)

Fixed.

>> Any shaping characters from horizontal scripts that are typeset
>> upright are shaped in their isolated forms.
>
> I don't know what this means.  Are you talking about ligated forms in Arabic
> or about any sort of contextual glyph substitution?

Things like Arabic shaping. I'll try to clarify.

>> In the ‘sideways’, ‘sideways-right’, and ‘sideways-left’ modes, text
>> is typeset with horizontal font settings. Vertical metrics and glyph
>> variants are not used.
>
> Horizontal runs are laid out using horizontal *metrics* and the normal
> set of features are applied (i.e. "glyph variants are not used" is
> entirely incorrect).

I meant "vertical glyph variants", of course "glyph variants" in general
are used...

> I think what you mean here is:
>
>    In the ‘sideways’, ‘sideways-right’, and ‘sideways-left’ modes, text
>    is laid out using horizontal metrics and the normal set of features
>    used for horizontal text runs.

Ok.

> The main problem with this section is that it doesn't tackle the real
> problem which doesn't have an easy answer, namely what are the default
> set of features, specifically OpenType features, which are enabled for
> vertical runs but not for horizontal runs.

I don't have an answer to that, either but if you find good suggestions,
I can put it in the spec. :)

> The OpenType spec defines a basic set of defaults for some scripts in
> the horizontal case.  But for the vertical case, there really isn't a
> clear model defined in the spec or in any public documentation that
> I've seen.  For example, is the "common ligatures" feature ('liga')
> enabled for upright text?  The Kazuraki font from Adobe depends on
> 'liga' and 'vert' being enabled for vertical runs to get proper
> vertical ligatures.  However, I'm not really sure this is the right
> model for the general case, since enabling common ligatures enables
> lots ligatures intended for horizontal runs.  For example, in stacked
> Latin you don't want fi-ligatures to be used.  I think for vertical
> runs there really should be a separate and distinct feature ('vlig'?)
> for vertical ligatures rather than overloading the common ligatures
> ('liga') feature.

Yeah, that makes sense.

> This section really needs to be rewritten to be of some value for
> implementors but for now I'd be fine as long as you tag this section
> with a "needs reworking" issue.

Ok.

I've incorporated your wording and tweaked a few other things. Please
look it over and let me know if it's ok.

   http://dev.w3.org/csswg/css3-writing-modes/#vertical-font-features

~fantasai

Received on Thursday, 26 April 2012 00:09:04 UTC