- From: Glenn Adams <glenn@skynav.com>
- Date: Wed, 6 Apr 2016 11:41:46 -0600
- To: Nigel Megitt <nigel.megitt@bbc.co.uk>
- Cc: TTWG <public-tt@w3.org>, Pierre-Anthony Lemieux <pal@sandflow.com>, Dae Kim <dakim@netflix.com>, John Birch <John.Birch@screensystems.tv>
- Message-ID: <CACQ=j+ct3rSFk12YF4DOwYaV_pZC3EuZ67-gz=FOeSVtDDQvag@mail.gmail.com>
On Wed, Apr 6, 2016 at 10:11 AM, Nigel Megitt <nigel.megitt@bbc.co.uk> wrote: > Okay, I see your point Glenn – there's only one initial value per style > attribute and scoping functionality can be placed elsewhere – though this > to me feels like it could be a syntactically complex way to achieve > declarative styling. > > I think it's important to consider the styling syntax and semantics > overall, not just <initial> in isolation. In TTML1 we have an applicative > model in which styles can be applied by reference or inline, and there's > nothing to prevent the definition of an "initial" style (e.g. with > xml:id="initial") that is then referenced by all the other styles: > > <style xml:id="initial" tts:backgroundColor="black"/> > <style xml:id="style1" style="initial" tts:color="white/> > > It's not clear that a new element adds any functionality that can't be > achieved this way already. > > Some wider context that seems relevant at least to me: > * We intend to consider how TTML works in relation to HTML/CSS > * Model for binding presentation values to externally defined parameters > <https://github.com/w3c/ttml2/issues/149> > ** *Style set resolution support for root inheritance. > <https://github.com/w3c/ttml2/issues/145> > ** *xml:id uniqueness needs to be broken for some uses of condition > <https://github.com/w3c/ttml2/issues/128> > this we cannot do > ** *Define HTML5 Mapping <https://github.com/w3c/ttml2/issues/127> > ** *The inclusion of xlink support in TTML2 > > Adding the concept of an <initial> element looks like a partial solution > to a bigger set of problems. > or a simple solution to a well defined problem; i don't intend to allow the discussion of initial to turn into an open forum on creating a rich applicative style system like CSS, and it would be wrong to do so > > We should also consider: > * allowing inclusion of external styling resource(s) using xlink > * the context of conversion of an ISD into a fragment of HTML/CSS for > presentation and how we can tunnel class attribute values into that > fragment for the purpose of downstream style modification (e.g. by adding > the class attribute to body/div/p/span even if it's ignored for TTML > processing purposes) > * whether we actually would benefit from any kind of declarative styling > to use such a class attribute or other mechanisms (e.g. to conditionalize > styling using XPath expressions) > * if we want a migration path to using CSS style attributes where there's > semantic equivalence, e.g. defining how an external CSS stylesheet can be > converted into TTML styles > * what is the priority ordering of styles (i.e. how the style resolution > process should incorporate any agreed additional functionality) > all these are interesting, and I will absolutely object to bundling them in the discussion of initial > > > > From: Glenn Adams <glenn@skynav.com> > Date: Tuesday, 5 April 2016 18:50 > To: Nigel Megitt <nigel.megitt@bbc.co.uk> > Cc: TTWG <public-tt@w3.org>, Pierre-Anthony Lemieux <pal@sandflow.com>, > Dae Kim <dakim@netflix.com>, John Birch <John.Birch@screensystems.tv> > > Subject: Re: <initial> vs inherited > > The definition of initial value is that it is a constant across all > elements to which the property may apply. Although I can understand the use > case you suggest, initial is not the correct concept to address this case. > > I can imagine, however, a use of @condition on a <style> element, where a > new condition predicate function is introduced, such as: > > <style xml:id="s1" tts:backgroundColor="green"/> > <style xml:id="s2" condition="element('span')" tts:backgroundColor="red"/> > <style xml:id="conditionalBackground" style="s1 s2"/> > > > On Tue, Apr 5, 2016 at 8:10 AM, Nigel Megitt <nigel.megitt@bbc.co.uk> > wrote: > >> I'm happy to add this to the agenda for this week. I don't think we've >> explored this topic enough. >> >> My main query is how/if we scope the elements that we target with >> initial. For example, I would like to be able to specify an initial value >> of backgroundColor on span only, but that is not currently possible. >> >> Nigel >> >> -- >> >> *Nigel Megitt* >> >> Executive Product Manager, BBC Design & Engineering >> >> Telephone: +44 <+44%C2%A03030807996>(0)3030807996 <+44%C2%A03030807996> >> >> BC2 C1 Broadcast Centre, Media Village, 201 Wood Lane, London W12 7TP >> >> On 31 Mar 2016, at 20:49, Glenn Adams <glenn@skynav.com> wrote: >> >> Frankly, I don't think there is any issue to discuss. However, see >> comment below. >> >> On Thu, Mar 31, 2016 at 12:08 PM, Pierre-Anthony Lemieux < >> pal@sandflow.com> wrote: >> >>> Hi Dae, >>> >>> Apologies for not following-up on that thread. My mind has been >>> focused on IMSC1 lately. I have the following question based on the >>> thread. >>> >>> > regions in TTML{1,2} can freely make use of the @style attribute to >>> referenced defined styles including chained styles >>> >>> Ok, so what does this not achieve that <initial> achieve in practice? >>> >> >> Primarily, initial will be used to change the default initial value of a >> non-inheritable property, which includes: >> >> - tts:backgroundColor >> - tts:backgroundImage >> - tts:backgroundPosition >> - tts:backgroundRepeat >> - tts:border >> - tts:bpd >> - tts:display >> - tts:displayAlign >> - tts:extent >> - tts:ipd >> - tts:opacity >> - tts:origin >> - tts:overflow >> - tts:padding >> - tts:position >> - tts:ruby >> - tts:showBackground >> - tts:unicodeBidi >> - tts:writingMode >> - tts:zIndex >> >> I can think of a use case for wanting to override the default initial >> value for most, but not all of these properties. >> >> Secondarily, initial will be used to change the default initial value for >> (the remaining) inheritable properties, e.g., tts:color, tts:fontSize, >> tts:lineHeight, etc. >> >> >> >>> >>> Happy to discuss on the call next week. >>> >>> Best, >>> >>> -- Pierre >>> >>> On Thu, Mar 31, 2016 at 11:06 AM, Dae Kim <dakim@netflix.com> wrote: >>> > I've not seen any movement on this topic in the issues or in the >>> meeting >>> > notes. >>> > Are we happy/content with <initial> or should we add this to next >>> week's >>> > agenda? >>> > >>> > -Dae >>> > >>> > Dae Kim | Video Engineer | Encoding Technology >>> > 9420 94f4 a834 b038 2920 34b3 38ad b632 3738 942c 942f >>> > >>> > On Wed, Feb 3, 2016 at 7:55 AM, Glenn Adams <glenn@skynav.com> wrote: >>> >> >>> >> >>> >> >>> >> On Wed, Feb 3, 2016 at 3:12 AM, John Birch < >>> John.Birch@screensystems.tv> >>> >> wrote: >>> >>> >>> >>> This is probably a silly question…. But would it be feasible to have >>> an >>> >>> optional ‘container’ element in TTML2 for multiple region >>> definitions within >>> >>> which you can set style(s) that would then be inherited /inheritable >>> by any >>> >>> child region elements? >>> >> >>> >> >>> >> the layout element could potentially be used, but we decided a while >>> back >>> >> to use root (tt) instead to manage inheritance by region; see [1]; of >>> course >>> >> this is a TTML2 only feature >>> >> >>> >> [1] >>> >> >>> https://rawgit.com/w3c/ttml2/master/spec/ttml2.html#semantics-style-inheritance-root >>> >> >>> >>> >>> >>> >>> >>> >>> >>> e.g. >>> >>> >>> >>> >>> >>> >>> >>> <style xml:id="initialStyle" tts:color="white" >>> >>> tts:fontFamily="monospaceSerif" tts:textAlign="start" etc…/> >>> >>> >>> >>> >>> >>> >>> >>> <regions style =”initialStyle”> >>> >>> >>> >>> <region xml:id="r1"> >>> >>> >>> >>> <style tts:color="green"/> >>> >>> >>> >>> <style tts:textAlign="center"/> >>> >>> >>> >>> </region> >>> >>> >>> >>> <region xml:id="r2"> >>> >>> >>> >>> <style tts:color="yellow"/> >>> >>> >>> >>> <style tts:textAlign="center"/> >>> >>> >>> >>> </region> >>> >>> >>> >>> </regions> >>> >>> >>> >>> >>> >>> >>> >>> Of course such a TTML2 document could not be processed correctly by a >>> >>> TTML1 processor, but could be down converted by repeating the >>> initial style >>> >>> values into each region definition. >>> >>> >>> >>> >>> >>> >>> >>> Alternatively, what about allowing chained referential regions… so >>> the >>> >>> initial values are set in a region (probably one that is not >>> referenced >>> >>> directly by content) that is then referenced by other region >>> definitions. >>> >> >>> >> >>> >> regions in TTML{1,2} can freely make use of the @style attribute to >>> >> referenced defined styles including chained styles >>> >> >>> >>> >>> >>> >>> >>> >>> >>> Like I said, probably silly ideas but just wondering what’s possible. >>> >>> >>> >>> >>> >>> >>> >>> Best regards, >>> >>> >>> >>> John >>> >>> >>> >>> >>> >>> >>> >>> John Birch | Strategic Partnerships Manager | Screen >>> >>> Main Line : +44 1473 831700 | Ext : 2208 | Direct Dial : +44 1473 >>> 834532 >>> >>> Mobile : +44 7919 558380 | Fax : +44 1473 830078 >>> >>> John.Birch@screensystems.tv | www.screensystems.tv | >>> >>> https://twitter.com/screensystems >>> >>> >>> >>> Visit us at >>> >>> BVE, London Excel, 23-25 February 2016, stand C20 >>> >>> >>> >>> P Before printing, think about the environment >>> >>> >>> >>> >>> >>> From: Glenn Adams [mailto:glenn@skynav.com] >>> >>> Sent: 03 February 2016 06:37 >>> >>> To: Pierre-Anthony Lemieux >>> >>> Cc: Dae Kim; Nigel Megitt; TTWG >>> >>> Subject: Re: <initial> vs inherited >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> On Tue, Feb 2, 2016 at 10:58 PM, Pierre-Anthony Lemieux >>> >>> <pal@sandflow.com> wrote: >>> >>> >>> >>> Hi Glenn, >>> >>> >>> >>> > firstly, this question is well formed only with respect to >>> inheritable >>> >>> > properties; it doesn't apply to non-inheritable properties; >>> >>> >>> >>> Oh. I was thinking of using chained referential styling, i.e. define >>> a >>> >>> style element with desired 'initial' values >>> >>> >>> >>> <style xml:id="s1" tts:color="white" >>> tts:fontFamily="monospaceSerif"/> >>> >>> >>> >>> and reference the style in all other styles, e.g. >>> >>> >>> >>> <style xml:id="s2" style="s1" tts:color="yellow"/> >>> >>> >>> >>> Why would that not work? >>> >>> >>> >>> >>> >>> >>> >>> sure, that is possible, but that isn't using inheritance or initial >>> value >>> >>> overrides per se; use of @style is just a shorthand for direct >>> (inline) >>> >>> specification of styles on a given element; >>> >>> >>> >>> >>> >>> TTML1 states: "The use of chained referential styling encourages the >>> >>> grouping of style specifications into general and specific sets, >>> which >>> >>> further aids in style specification reuse." >>> >>> >>> >>> > which effectively applies to all content that may be rendered in >>> any >>> >>> > region; however, this would not be a viable >>> >>> > strategy for an inheritable property that to both region and body, >>> such >>> >>> > as tts:visible: it is only viable for an inheritable >>> >>> > property that applies to body or a descendant of body and does not >>> >>> > apply to region, e.g., tts:color; >>> >>> >>> >>> Ah. An inheritable property applies to descendants in the document >>> >>> structure, and would not apply to a region into which one of these >>> >>> descendants flows. Is that right? >>> >>> >>> >>> >>> >>> >>> >>> whether a style property applies to a given element is independent of >>> >>> whether it is inheritable or not; each property specifies which >>> elements it >>> >>> applies to (semantically) and whether it is inheritable or not; >>> >>> >>> >>> >>> >>> >>> >>> tts:visible happens to be the only inheritable property that applies >>> both >>> >>> to region and content elements >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> > tts:backgroundColor >>> >>> >>> >>> Why is backgroundColor not inheritable, whereas color is, BTW? >>> >>> >>> >>> >>> >>> >>> >>> well, it is not inheritable in XSL-FO or CSS, so that is one >>> explanation; >>> >>> see [1] for some specifics >>> >>> >>> >>> >>> >>> >>> >>> [1] >>> >>> >>> https://www.w3.org/wiki/Inheritance_and_cascade#Why_inheritance_is_useful >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> I am pretty sure it was discussed 10 years ago, but I was not >>> present :) >>> >>> >>> >>> >>> >>> >>> >>> actually it wasn't; we simply adopted the XSL-FO semantics which >>> adopted >>> >>> the CSS2 semantics >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> Best, >>> >>> >>> >>> -- Pierre >>> >>> >>> >>> >>> >>> On Tue, Feb 2, 2016 at 8:26 PM, Glenn Adams <glenn@skynav.com> >>> wrote: >>> >>> > >>> >>> > >>> >>> > On Tue, Feb 2, 2016 at 6:13 PM, Pierre-Anthony Lemieux >>> >>> > <pal@sandflow.com> >>> >>> > wrote: >>> >>> >> >>> >>> >> Hi Glenn, >>> >>> >> >>> >>> >> Ok. What is the downside of using style inheritance to avoid >>> having to >>> >>> >> set a property explicitly throughout the document, i.e. have all >>> >>> >> styles derive from a top-level style that overrides the initial >>> >>> >> values? >>> >>> > >>> >>> > >>> >>> > firstly, this question is well formed only with respect to >>> inheritable >>> >>> > properties; it doesn't apply to non-inheritable properties; >>> >>> > >>> >>> > so, for an inheritable property, in TTML1, the only option is to >>> >>> > specify the >>> >>> > property on the top-most inheritable element, namely, on region; >>> so, >>> >>> > e.g., >>> >>> > >>> >>> > <region tts:color='yellow'/> >>> >>> > >>> >>> > however, if there are multiple regions, one would be forced to >>> specify >>> >>> > this >>> >>> > on each region in turn; alternatively, one might specify: >>> >>> > >>> >>> > <body tts:color='yellow'>...</body> >>> >>> > >>> >>> > which effectively applies to all content that may be rendered in >>> any >>> >>> > region; >>> >>> > however, this would not be a viable strategy for an inheritable >>> >>> > property >>> >>> > that to both region and body, such as tts:visible: it is only >>> viable >>> >>> > for an >>> >>> > inheritable property that applies to body or a descendant of body >>> and >>> >>> > does >>> >>> > not apply to region, e.g., tts:color; >>> >>> > >>> >>> > in contrast, in TTML2, again for inheritable properties only, we >>> have >>> >>> > the >>> >>> > option of either specifying the property on (1) the top-most >>> >>> > inheritable >>> >>> > element, namely, on tt, or on (2) an initial element, which has the >>> >>> > effect >>> >>> > of overriding the initial value applied to the top-most inheritable >>> >>> > element; >>> >>> > >>> >>> > >>> >>> >> >>> >>> >> >>> >>> >> Best, >>> >>> >> >>> >>> >> -- Pierre >>> >>> >> >>> >>> >> On Tue, Feb 2, 2016 at 1:08 PM, Glenn Adams <glenn@skynav.com> >>> wrote: >>> >>> >> > >>> >>> >> > >>> >>> >> > On Tue, Feb 2, 2016 at 1:27 PM, Pierre-Anthony Lemieux >>> >>> >> > <pal@sandflow.com> >>> >>> >> > wrote: >>> >>> >> >> >>> >>> >> >> Hi Glenn, >>> >>> >> >> >>> >>> >> >> Ok. What approach does XSL-FO and/or CSS take to allowing >>> authors >>> >>> >> >> to >>> >>> >> >> avoid having to explicitly set a property through the document? >>> >>> >> > >>> >>> >> > >>> >>> >> > For non-inheritable properties, there is no mechanism other than >>> >>> >> > direct >>> >>> >> > specification (XSL-FO) or a style rule or style attribute (CSS). >>> >>> >> > Also, >>> >>> >> > initial values (for inheritable and non-inheritable properties) >>> >>> >> > cannot >>> >>> >> > be >>> >>> >> > overridden in either XSL-FO or CSS, so defining an initial >>> element >>> >>> >> > for >>> >>> >> > this >>> >>> >> > purpose in TTML2 is effectively a new mechanism not found in >>> either >>> >>> >> > XSL-FO >>> >>> >> > or CSS. >>> >>> >> > >>> >>> >> >> >>> >>> >> >> >>> >>> >> >> Thanks, >>> >>> >> >> >>> >>> >> >> -- Pierre >>> >>> >> >> >>> >>> >> >> On Tue, Feb 2, 2016 at 11:55 AM, Glenn Adams <glenn@skynav.com >>> > >>> >>> >> >> wrote: >>> >>> >> >> > Because that is not how the semantics of styles in XSL-FO or >>> CSS >>> >>> >> >> > work, >>> >>> >> >> > and >>> >>> >> >> > thus not how the semantics work in TTML (of any flavor). >>> >>> >> >> > >>> >>> >> >> > Specifying a non-inheritable property on an element to which >>> that >>> >>> >> >> > property >>> >>> >> >> > does not apply is a NO-OP. >>> >>> >> >> > >>> >>> >> >> > In TTML1 we have the following (Section 8.2): >>> >>> >> >> > >>> >>> >> >> > Note: >>> >>> >> >> > >>> >>> >> >> > Due to the general syntax of this specification (and the >>> schemas >>> >>> >> >> > it >>> >>> >> >> > references) with respect to how style attributes are >>> specified, >>> >>> >> >> > particularly >>> >>> >> >> > for the purpose of supporting inheritance, it is possible >>> for an >>> >>> >> >> > author >>> >>> >> >> > to >>> >>> >> >> > inadvertently specify a non-inheritable style attribute on an >>> >>> >> >> > element >>> >>> >> >> > that >>> >>> >> >> > applies neither to that element or any of its descendants >>> while >>> >>> >> >> > still >>> >>> >> >> > remaining conformant from a content validity perspective. >>> Content >>> >>> >> >> > authors >>> >>> >> >> > may wish to make use of TTML content verification tools that >>> >>> >> >> > detect >>> >>> >> >> > and >>> >>> >> >> > warn >>> >>> >> >> > about such usage. >>> >>> >> >> > >>> >>> >> >> > In TTML2 we promoted this to normative language (Section >>> 10.2): >>> >>> >> >> > >>> >>> >> >> > Unless explicitly permitted by an element type definition, an >>> >>> >> >> > attribute >>> >>> >> >> > in >>> >>> >> >> > the TT Style Namespace should not be specified on an element >>> >>> >> >> > unless >>> >>> >> >> > it >>> >>> >> >> > either applies to that element or denotes an inheritable >>> style >>> >>> >> >> > property. >>> >>> >> >> > If >>> >>> >> >> > it does not apply to that element and does not denote an >>> >>> >> >> > inheritable >>> >>> >> >> > style >>> >>> >> >> > property, then it must be ignored for the purpose of >>> >>> >> >> > non-validation >>> >>> >> >> > processing. In the case of validation processing, such usage >>> >>> >> >> > should >>> >>> >> >> > be >>> >>> >> >> > reported as a warning, or, if strict validation is >>> performed, as >>> >>> >> >> > an >>> >>> >> >> > error. >>> >>> >> >> > >>> >>> >> >> > >>> >>> >> >> > >>> >>> >> >> > >>> >>> >> >> > >>> >>> >> >> > On Tue, Feb 2, 2016 at 12:48 PM, Pierre-Anthony Lemieux >>> >>> >> >> > <pal@sandflow.com> >>> >>> >> >> > wrote: >>> >>> >> >> >> >>> >>> >> >> >> 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. >>> >>> >> >> >> >> >> > >>> >>> >> >> >> >> >> > >>> >>> >> >> >> >> >> >> >>> >>> >> >> >> >> >> >> >>> >>> >> >> >> > >>> >>> >> >> >> > >>> >>> >> >> > >>> >>> >> >> > >>> >>> >> > >>> >>> >> > >>> >>> > >>> >>> > >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> This message may contain confidential and/or privileged information. >>> If >>> >>> you are not the intended recipient you must not use, copy, disclose >>> or take >>> >>> any action based on this message or any information herein. If you >>> have >>> >>> received this message in error, please advise the sender immediately >>> by >>> >>> reply e-mail and delete this message. Thank you for your >>> cooperation. Screen >>> >>> Subtitling Systems Ltd. Registered in England No. 2596832. Registered >>> >>> Office: The Old Rectory, Claydon Church Lane, Claydon, Ipswich, >>> Suffolk, IP6 >>> >>> 0EQ >>> >>> >>> >> >>> >> >>> > >>> >> >> >
Received on Wednesday, 6 April 2016 17:42:36 UTC