Re: [css3 fonts] font-specific features

John Hudson wrote:

> > There are a number of OpenType layout features that do take an
> > explicit index argument to pick a specific glyph out[put from several
> > options. Stylistic sets ('ssXX') are not one of them, but stylistic
> > alternates ('salt') and even swashes ('swsh') are among the ones that
> > do.
> 
> The relatively new Character Variant (<cv01>-<cv99>) features are
> designed to work this way too, and the I'd say that support for this
> is quite crucial to the use of these features, which are important
> for scholarship and minority language typography.
> 
> For instance, I'm working with publishers cataloguing Byzantine
> seals and coins, and they will be dependent on the Character Variant
> features for the electronic versions of their catalogues, because
> they need to be able to display specific variant forms in their
> transcriptions (since these are important to the scholars using the
> catalogue) while retaining searchability of text. As an example,
> their custom font will have >20 different forms of the Greek
> uppercase Alpha (U+0391), which will be enumerated variants within a
> single Character Variant feature:
> 
>  <cv01>
>  Alpha -> Alpha.1
>  Alpha -> Alpha.2
>  Alpha -> Alpha.3
>  etc.
> 
> and will need to be able to specify the precise variant to use in their 
> CSS code. 

My initial thinking was that this was too complicated to support and
that it was better to leave support for this to font-feature-settings
but I think the named list proposal could be tweaked to support this.  

For character-variant, a single value NN would imply cvNN=1 and a pair
of values XX YY would imply cvXX = YY and value lists longer than a
pair would be ignored (syntax error?).

@font-feature-settings ByzantineSeals {
  character-variant: alpha-2 1 2, beta-3 2 3;
}

.ancientcoin23 {
  font-family: ByzantineSeals;
  font-variant: character-variant(alpha-2, beta-3);
}

For stylistic sets, multiple values XX YY ZZ would still imply ssXX = 1,
ssYY = 1, and ssZZ = 1.  This syntax would *not* support ssNN = 4
behavior.

This adds a bit of complexity to the mental model for authors but I
think for these features the usage would be relatively natural.

John Daggett

Received on Tuesday, 28 September 2010 02:29:19 UTC