On 1 Dec 2011, at 13:29, James Montgomerie wrote:
> 
> > As I've posted before, I'm using libCSS in an ebook/ePub rendering
> project ('libEucalyptus'). I've recently come across the need to parse
> @font-face rules.
> > 
> > Attached is a patch that does this, following (or attempting to :-)
> the CSS 3 spec.  It extends the parser to parse font-face rules (which
> use a slightly different grammar to the regular CSS, of course...),
> and adds support to the selection engine to query font-faces by family
> name.  The support is limited - at the moment  it supports 'src:',
> 'font-family:', 'font-style', and 'font-weight:' rules.  It should be
> fairly easily extensible to the other font-face directives in the
> future (unicode-range etc.).

Excellent!

> > When parsing, it 'correctly' handles other unsupported directives by
> ignoring them.  I've tried to keep the font-face handling well
> compartmentalised into its own files, although I have extended a
> couple of the parsing util routines where I thought that made sense.

Sounds fine to me.

> > On the selection side, for the client, the new css_select_font_faces
> function will take a font family name and media and provide a list of
> font-face results that specify the font-faces that match.  I've
> deliberately not tried to filter this list further than by family name
> and doing some sorting by specificity, so that the user agent can
> apply its own logic to the font selection and fallback  This logic is
> - mostly - specified in the CSS spec, of course, but it's rather vague
> places, but more importantly also depends so much on installed fonts
> and OS capabilities in rendering that I thought it best to leave it to
> the client.

Yeah; that matches what we did with font-families, so I've no objection
to this approach. After all, the client is the only place that is
capable of making a fully informed decision here :)
 
> > I hope the patch meets with approval.  Criticism and changes are
> appreciated, and I'm very happy to receive constructive feedback (or
> bug fixes :-).  While I am using this in its current state in a
> product now, I would very much like to keep my libCSS unforked - and I
> hope this will also be useful to others in the future.

I've had a relatively quick look through it. It appears mostly fine, but
it's been a while since I last looked at the CSS3 Fonts module. I'll
endeavour to give it a proper look at the weekend.

Cheers,


J.


Reply via email to