SVG OT: main areas of spec changes

Folks,

I'm aiming to have a status report and draft proposal ready for review (by at least the OT and OFF lists) in July.

We still have to sort out several things, but here is a summary of the main areas of spec changes we've been talking about:

1. A new sfnt version: 'OSVG'. This will indicate that SVG glyph definitions are present, in an 'SVG ' table. CFF or TT outline tables may optionally be present, for use in situations where SVG glyph rendering is not suitable.

A font that expects to encounter only SVG-in-OT savvy engines (or at least engines that don't check the sfnt version but only look for the presence of certain tables) will use the 'OSVG' version.

Conversely, an 'SVG ' table may be present in fonts with sfnt versions 'OTTO', 1.0, and 'ttcf'. In these cases, the CFF or TT outline tables would be present, as required by the OT specification (http://www.microsoft.com/typography/otspec/otff.htm), but SVG-in-OT savvy engines can choose to display the SVG glyphs in suitable situations.

2. 'SVG ' -- SVG glyph definitions table. This is a single SVG document.

Glyphs are identified by elements with id "g<glyphID>", where <glyphID> is a non-zero-padded decimal value. For example, OT glyph ID 10 is idenfitied by SVG id "g10".

Glyphs may be rendered with any parameters supported by SVG for an SVG element: for example, animated or static, stroke width, and fill color(s). (Insert a suitable link to all such parameters in the SVG spec?)

It is required that all rendering of SVG glyphs be done in the "secure animated mode" specified in the W3C Working Draft "SVG Integration" (http://dev.w3.org/SVG/modules/integration/SVGIntegration.html).

3. 'BBOX' table - SVG glyph bounding boxes. Specifies glyph bounding boxes for each glyph in the 'SVG ' table, for both static and animated mode.

There are concerns about this table (see today's "Glyph bbox concerns" thread).

4. 'SVGI' table -- SVG Information, which acts as a header to the 'SVG ' table. This table would include info about the SVG table that an OT engine would need to know, e.g. various glyph categories (shape only, etc), if we end up wanting them. We might not need such a table at all.

Thoughts are welcome.

Sairus

Received on Wednesday, 6 June 2012 22:56:37 UTC