W3C home > Mailing lists > Public > www-style@w3.org > September 2010

Re: [css3 fonts] font-specific features

From: John Daggett <jdaggett@mozilla.com>
Date: Mon, 27 Sep 2010 19:28:45 -0700 (PDT)
To: John Hudson <tiro@tiro.com>
Cc: www-style <www-style@w3.org>, www-font <www-font@w3.org>
Message-ID: <590000307.55998.1285640925009.JavaMail.root@cm-mail03.mozilla.org>
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

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

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 22:49:48 UTC