- From: Pierre-Anthony Lemieux <pal@sandflow.com>
- Date: Tue, 2 Feb 2016 11:48:08 -0800
- To: Glenn Adams <glenn@skynav.com>
- Cc: Dae Kim <dakim@netflix.com>, Nigel Megitt <nigel.megitt@bbc.co.uk>, TTWG <public-tt@w3.org>
Hi Glenn, > tts:backgroundColor Can you remind us why specifying tts:backgroundColor="X" on <tt> could not mean "set initial value of tts:backgroundColor to X"? Best, -- Pierre On Tue, Feb 2, 2016 at 11:42 AM, Glenn Adams <glenn@skynav.com> wrote: > > > On Tue, Feb 2, 2016 at 12:28 PM, Pierre-Anthony Lemieux <pal@sandflow.com> > wrote: >> >> Hi Glenn et al., >> >> >Perhaps we need to review >> > uninheritable properties in TTML2 to determine if we need to upgrade >> > them to >> > inheritable, >> >> I like the idea of having a single mechanism for setting an initial >> value for properties, i.e. avoid having to set a property explicitly >> throughout the document. >> >> Expanding inheritance (instead of introducing a new <initial> element) >> seems promising, and intuitive. > > > That won't be sufficient, since we will not be able to make everything > inherit. The reason for this is related to the semantics of specific style > properties. For example, the following cannot inherit: > > tts:backgroundColor > tts:backgroundImage > tts:backgroundPosition > tts:backgroundRepeat > tts:border > tts:bpd > tts:display > tts:extent > tts:ipd > tts:opacity > tts:origin > tts:overflow > tts:padding > tts:position > tts:ruby > tts:unicodeBidi > tts:writingMode > tts:zIndex > > Possible candidates for upgrading to inheritable are: > > tts:displayAlign > tts:showBackground > > So really, only these two are potentially able to be recast as inheritable > in TTML2. All the rest (above) rely on initial value, and, for that matter, > initial value also applies to inheritable properties at the top of the > inheritance tree (region in TTML1, tt in TTML2). > > The initial element is already written into the TTML2 spec, implemented, > deployed, and previously discussed in the WG (though perhaps we didn't dive > in too deeply). > >> >> >> > though doing so will require careful consideration of >> > interoperability with TTML1 behavior. >> >> I see two scenarios: >> >> - an author wishes to create a document that conforms to both TTML1 >> and TTML2, in which case the author should set the property explicitly >> throughout the document -- this is always safe. >> >> - an author wishes to target only TTML2 processors, in which the >> author can rely on the expanded inheritance rules >> >> Are there other scenarios? >> >> Best, >> >> -- Pierre >> >> On Fri, Jan 29, 2016 at 9:33 AM, Glenn Adams <glenn@skynav.com> wrote: >> > >> > >> > On Fri, Jan 29, 2016 at 10:26 AM, Pierre-Anthony Lemieux >> > <pal@sandflow.com> >> > wrote: >> >> >> >> Hi Glenn, >> >> >> >> > This could also be done in other ways, such as by specifying these >> >> > properties on the tt element, >> >> > from which all inheritance would occur (in TTML2); however, that >> >> > wouldn't work for properties >> >> > that don't inherit, like tts:showBackground, etc. >> >> >> >> Why doesn't tts:showBackground inherit? >> > >> > >> > It was originally defined on region in TTML1, which has no way for a >> > region >> > to inherit. However, we are adding root element inheritance in TTML2 >> > (e.g., >> > from tt to head to layout to region). Perhaps we need to review >> > uninheritable properties in TTML2 to determine if we need to upgrade >> > them to >> > inheritable, though doing so will require careful consideration of >> > interoperability with TTML1 behavior. >> > >> >> >> >> >> >> Thanks, >> >> >> >> -- Pierre >> >> >> >> On Fri, Jan 29, 2016 at 9:11 AM, Glenn Adams <glenn@skynav.com> wrote: >> >> > I can provide some respond to this. >> >> > >> >> > On Fri, Jan 29, 2016 at 8:14 AM, Pierre-Anthony Lemieux >> >> > <pal@sandflow.com> >> >> > wrote: >> >> >> >> >> >> Hi Dae, >> >> >> >> >> >> > initial >> >> >> >> >> >> How does Netflix plan to use <initial>? >> >> > >> >> > >> >> > The TTT tools already support the initial element with the ttml2 >> >> > model, >> >> > and >> >> > has found it to be very useful in specifying a variety of >> >> > non-default, >> >> > global style settings, such as default color and font related >> >> > properties, >> >> > etc. >> >> > >> >> > For example, the CAP2TT tool in TTT specifies a test configuration >> >> > file >> >> > that >> >> > specifies a template for generating TTML2 output files in which is >> >> > specified >> >> > the following: >> >> > >> >> > <initial tts:fontSize="4vh"/> >> >> > <initial tts:lineHeight="5vh"/> >> >> > <initial tts:showBackground="whenActive"/> >> >> > >> >> > Here, initial is used to alter the default initial value. This could >> >> > also be >> >> > done in other ways, such as by specifying these properties on the tt >> >> > element, from which all inheritance would occur (in TTML2); however, >> >> > that >> >> > wouldn't work for properties that don't inherit, like >> >> > tts:showBackground, >> >> > etc. >> >> > >> >> > Note that be using initial to specify an explicit tts:lineHeight, >> >> > then >> >> > there >> >> > is no possibility of using the default initial value of 'normal' >> >> > (which >> >> > has >> >> > been a problem with IMSC content). >> >> > >> >> > It is also useful for redefining the default initial value of >> >> > tts:backgroundColor and resolving the platform dependent default >> >> > initial >> >> > value of tts:color. >> >> > >> >> > >> >> >> >> >> >> > >
Received on Tuesday, 2 February 2016 19:48:59 UTC