RE: Timed tracks

>>TTML most recently went to CR in February of this year, first went to CR in 2006, and went FPWD in 2004. At which of those dates was XSL:FO ahead?
All of them. None of the features we wanted from CSS3 are at more than CR stage even now and many are still WD.

>> The implementation challenge is correctly implementing enough of the XSL:FO layout semantics to correctly process TTML. Standards experts will be *extremely* picky about whether the layout behavior in a browser precisely matches the spec, in a way they likely are not for uses of TTML in non-web contexts. There isn't really room to fudge it.

Well having personally implemented TTML, it's not that hard;  so there is no need to fudge anything. Also Standards experts in non-web spaces are just as picky, if not more so. 

>> It's also incorrect to say that XSL:FO is trivially mappable to CSS.  
>>There are some shared styling properties, but they have subtly different definitions, and the fundamental layout model is different.

Just as well that I didn't say that then. That the layout model is generalised for internationalised text is one reason that we used XSL. CSS is getting there, but it will take a while.

For reference here is a rough mapping of TTML properties to CSS2/3, although as you say the correspondence isn't perfect;  it's probably close enough that a CSS based implementation could pass the TTML test suite.

BackgroundColor => css2 equivalent. 'background-color'    (rgba is CSS3 CR)
Color  =>        css2 equivalent. 'color' 
Direction  =>      css2 equivalent. 'direction' 
Display =>       css2 equivalent. 'display' 
DisplayAlign =>    css3 equivalent. 'alignment' (member only draft)
Extent =>       css2 equivalent. 'right and bottom'
FontFamily =>css2 equivalent. 'font-family' 
FontSize =>      css2 equivalent. 'font-size' 
FontStyle =>      css2 equivalent. 'font-style' 
FontWeight =>css2 equivalent. 'font-weight' 
LineHeight =>css2 equivalent. 'line-height' 
Opacity =>       css3 equivalent. 'opacity'  (CR)
Origin =>       css2 equivalent. 'top and left'
Overflow =>      css2 equivalent. 'overflow' 
Padding =>       css2 equivalent. 'padding' 
ShowBackground =>   no css equivalent.
TextAlign =>      css2 equivalent. 'text-align' 
TextDecoration =>   css2 equivalent. 'text-decoration' 
TextOutline =>     css3 equivalent. 'text-outline'  (Editors draft)
UnicodeBidi =>     css2 equivalent. 'unicode-bidi' 
Visibility =>css2 equivalent. 'visibility' 
WrapOption =>css3 equivalent. 'text-wrap'  (Editors draft)
WritingMode =>     css3 equivalent. 'writing mode' (Editors draft)
ZIndex =>       css2 equivalent. 'z-index'


-----Original Message-----
From: Maciej Stachowiak [mailto:mjs@apple.com] 
Sent: Thursday, May 06, 2010 11:13 PM
To: Sean Hayes
Cc: Philippe Le Hegaret; Geoff Freed; HTML WG
Subject: Re: Timed tracks


<chair hat off>

On May 6, 2010, at 3:01 PM, Sean Hayes wrote:

> When TTML was being defined, XSL:FO was ahead. And a lot of the CSS3 
> work was either in a very rough state or not there at all.
> When CSS3 gets a little more mature, in say 10 years. Then TTML could 
> migrate to it

TTML most recently went to CR in February of this year, first went to CR in 2006, and went FPWD in 2004. At which of those dates was XSL:FO ahead?

> But to be clear, TTML is *defined* in terms of the semantics of 
> XSL:FO, which is *defined* largely in terms of CSS; but it is its own 
> thing, and it does not require either a full XSL:FO processor or a CSS 
> one.

The implementation challenge is correctly implementing enough of the XSL:FO layout semantics to correctly process TTML. Standards experts will be *extremely* picky about whether the layout behavior in a browser precisely matches the spec, in a way they likely are not for uses of TTML in non-web contexts. There isn't really room to fudge it.

It's also incorrect to say that XSL:FO is trivially mappable to CSS.  
There are some shared styling properties, but they have subtly different definitions, and the fundamental layout model is different.

Regards,
Maciej

Received on Thursday, 6 May 2010 22:50:40 UTC