RE: ligature formation across text chunks

> Rik Cabanier:
> > Adobe's apps leave it up to the designer if they want ligatures are
> > not. It seems that SVG is in a mode to always create them which might
> > not be the desired effect.
> 
> Ligatures specified in SVG Font do have to be used.  I don’t know that the
> specification says anything about whether to use particular ligatures from
> OpenType fonts.  I would want implementations to follow whatever rules are
> defined for CSS3 font-variant.
> 

I believe a font contains a 'default' ligature that is usually picked. Use of the discretionary ligatures are left up to the designer.

> 
> > Many ligatures have Unicode representations. Maybe we should rely on
> > those instead...
> 
> Do you mean: suggest to authors to use precomposed ligature characters
> when using glyph positioning?

What I meant was, instead of writing 'fi' and hope that the SVG implementation pick the ligature, write U+FB01 in UTF-8 encoding which will point to directly to the correct glyph.

> 
> > If SVG wants to have robust Asian text support or support for
> > discretionary ligature, the concept of glyph indices will be needed.
> 
> And not even for discretionary ligatures, but even whether ligatures exist or
> not because of font selection.

Yes, that is why an additional glyph-to-unicode table is necessary so you can find similar glyphs in the fallback font.

> 
> I’m skeptical that glyph positioning can be useful in the fact of font fallback
> and even whether discretionary ligatures are being used or not, though.
> 

It will look ugly, but readable which is all you can really hope for.

Acrobat has a built-in fallback strategy which seems to work OK. The encoding of a font is usually a good indicator as to what substitute to use. I don't think that SVG has the concept of an 'encoding' since it always has Unicode. 

I'm just getting familiar with SVG fonts and they seem to designed for a post-layout scenario. As such, I don't think that an SVG renderer should try to replace glyphs with ligatures or relayout the text for you. This is what HTML is for...

Rik

Received on Saturday, 14 May 2011 04:20:53 UTC