W3C home > Mailing lists > Public > www-style@w3.org > January 2008

Re: Advanced Font Features

From: Christoph Päper <christoph.paeper@crissov.de>
Date: Sun, 20 Jan 2008 17:17:30 +0100
Message-Id: <219A356E-CD9C-4943-95C3-96EAE94A6F1D@crissov.de>
To: CSS Style <www-style@w3.org>

Håkon Wium Lie:
> Also sprach Christoph Päper:
>
> I've been working on a proposal for this based on extending the  
> 'font-variant' property.

Might be the best approach.

I've had a look at the Open Type layout tag registry at Microsoft  
<http://www.microsoft.com/typography/otspec/> and will mention some  
of the tags I found there.

>    font-variant-caps: normal | smallcaps

   acronym {font-variant-caps: smallcaps  /* c2sc wanted */}
   acronym {font-variant-caps: petitecaps /* c2pc wanted */}
   .author {font-variant-caps: smallcaps  /* smcp wanted */}
   .author {font-variant-caps: petitecaps /* pcap wanted */}

Petite caps are of course even rarer than small caps.

Despite the analog name I think unicase |unic| would belong here to,  
not in |text-transform|.

>    font-variant-digits: normal | oldstyle | lining
>    font-variant-width: normal | proportional | monospace

You said in a followup message this would primarily be used for  
digits, but what if a font has a full-featured monospace variant?  
Would this property also be used for CJKV text to select  
(horizontally) full |fwid|, half |hwid/halt|, quarter |hwid|, third  
em |twid| and proportional |pwid/palt| forms?

            | monospace | proportional
   ---------+-----------+-------------
   oldstyle | onum tnum | onum pnum
   lining   | lnum tnum | lnum pnum

Slashed zero |zero| is only available with lining figures |lnum|,  
that would make six types (not counting localised digits). "Old  
style" may be standard jargon, but I find it's a biased name to avoid.

>    font-variant-swash: normal | swash

There are font families that include serif and sans-serif variants,  
some even semi-serif ones. Although these are still put in separate  
files, you might consider combining their selection with that of  
swashes, because they are really only very large serifs.

>    font-variant-ligatures: normal | standard | alternate

There are standard |liga|, contextual |clig|, discretionary |dlig|,  
historical |hlig| and required |rlig| ligatures possible in Open  
Type, as well as several "diacritic" ligatures for complex (esp.  
Indic) scripts, e.g. |abvs/blwf/pres/psts/vatu|.

Does this include fractions?

> Some OpenType fonts support a wider range of alternate glyphs (e.g.,
> titling-alternates | historical-alternates | ligatures |
> alternate-ligatures | digits-monospaced | digits-proportional |
> digits-lining). Should any of these be supported?

There should be at least another property for selecting alternate /  
historical / localised forms, but I don't know what its values would  
be (and how they would map to OT features).
Received on Sunday, 20 January 2008 16:17:44 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 27 April 2009 13:54:58 GMT