Re: <initial> vs inherited

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