Timed Text Markup Language 2 (TTML2) Change Summary

1 Change History (Non-Normative)

Change sections are ordered from most recent to least recent; within each section changes are divided into technical and editorial and further ordered by where they occur within the specification document.

1.1 Changes from TTML2 Third Candidate Recommendation (CR3) to TTML2 Proposed Recommendation (PR)


Technical Changes

* In 10.2.45, remove keywords 'sidewaysLeft' and 'sidewaysRight'
  from tts:textOrientation attribute. Redefine 'sideways' to always mean
  90 degree clockwise rotation.

* In 10.3.24, remove keyword 'available' from <measure> value
  syntax expression. Remove references to 'available' from definitions
  of 'auto' and 'fitContent' keywords.

* In Appendix E.1.11, subset definition of '#audio-description' to use
  '#audio' instead of '#embedded-audio'.

* In Appendix E.1.12, subset definition of '#audio-speech' to exclude
  '#embedded-audio', '#gain', and '#pan'.

* In Appendix E.1.89, subset definition of '#extent-measure' to exclude
  the 'available' keyword.

Editorial Changes

* In Appendix E prologue, add note regarding default context of use
  of feature designators.

* Throughout, minor improvements to language and correction of typos.

1.2 Changes from TTML2 Second Candidate Recommendation (CR2) to TTML2 Third Candidate Recommendation (CR3)

Technical Changes

* In 2.2, add audio and image elements to scope of definition of
  content element.

* In 3.2.3, add new step (4), that explicitly ties ISD construction
  and flow transformation processing to presentation processor
  conformance.

* In 5.2.4.2, specify that effective content profile (ECP) doesn't
  change after it is set to some (possibly null) value.

* In 5.2.4.3, specify that effective processor profile (EPP) doesn't
  change after it is set to some value.

* In 5.3.1.2, specify that effective validation profile (EVP) doesn't
  change after it is set to some value.

* In 10.2, remove support for continuous animation on all but a small
  subset of property or component values, specifically, those values
  that pertain to alpha, color, gain, pan, and position. In
  particular, remove continuous animation on any style value (or
  component) which would (or could) trigger re-layout.

* In 10.2.1, add missing 'audio' element to and remove 'animate' and
  'set' from list enumerating elements on which the 'style' attribute
  may be specified.

* In 10.2.21.1, revise special inheritance semantics for tts:fontSize
  on ruby text container and ruby text content so as to use 50% rule
  only for inheritance from ruby container to ruby text container,
  whether explicit or implied.

* In 10.2.27, upgrade note describing inheritance of 'normal' value to
  normative text, specified in new subsection 10.2.27.1, Special
  Semantics of Line Height.

* In 10.2.37, proscribe two ruby text containers on the same ruby base
  container from mapping to the same position.

* In 10.2.52, permit only discrete animation of tts:zIndex, since
  the value space consists of whole integers only.

* In 10.2.55, do not support animation of tts:pitch.

* In 10.2.56, do not support animation of tts:speak.

* In 10.4.4.2, step (3), qualify nested style element as nested
  conditionally included style element.

* In 10.4.4.2, step (5), qualify animation element as inline animation
  element and qualify animation element child as conditionally
  included inline animation element child.

* In 10.4.4.4, step (1), add audio and image elements.

* In 11.3.1.4, handle block and inline level mapping of image element.

* In 13.2.1, specify mapping of out-of-line animation to synthetic
  (anonymous) inline animation in order to handle style application
  via out-of-line animation.

* In Appendix J.1, define use of extent attribute on isd:sequence and
  isd:isd.

* In Appendix K, change reference for [TTML1] to point at TTML1
  3rd Edition (currently in CR), adding issue note that the final
  URL will need to be updated before publishing.

Editorial Changes

* In 2.2, improve definitions of terms: computed cell size,
  conditionally excluded (included), and content element.

* In 3.2, add note that authoring and editing tools are not in scope
  for conformance requirements while changes are being made to a valid
  document.

* In 3.2.1, switch order of items (2) and (3) so as to place profile
  processing before validation processing.

* In 3.2.1, add note that partial validation may occur during profile
  processing without (or prior to) invoking the full [validate
  document] procedure.

* In 3.2.1, step (3), note implied order relationship between profile
  processing and validation processing.

* In 5.3.1.2, [validate document], add note reinforcing the fact that
  not all errors may be detected by a validation processor, and,
  therefore false positive results may ensue.

* In 8.2.1, clarify application of conditional exclusion to descendant
  elements and improve referencing of terms [conditionally excluded
  (included)].

* In 9.1.1, clarify that text node descendants of audio element do
  not map to anonymous spans.

* In 9.1.5, clarify that text node descendants of image element do
  not map to anonymous spans.

* In 10.2 prologue, add description of style property definition
  tables.

* In 10.2 prologue, add description of terms 'discrete' and 'continuous'
  used in 'Animation' row of style property definition table.

* In 10.2.27, qualify 'computed value' as 'used value' in
  description of algorithm for resolving the value of 'normal' line
  height.

* In 10.2.27, add note that the computed value, and thus, the
  inherited value of line height normal is 'normal'.

* In 10.2.27, add note pointing at OpenType binding for altitude,
  depth, and gap metrics.

* In 10.2.35.1, define inline terms "explicit ruby base container"
  and "explicit ruby text container".

* In 10.3.18, add note referring to definition of OpenType font.

* In 10.3.32, remove superfluous sign non-terminal, since it is
  already included in <percentage> and <number>.

* Add 10.4.3.3, add description and inline term definition of "used
  value" (replacing the previous term "resolved computed value".

* In 10.4.4.3, step (4)(a), qualify with "if possible", and add
  following note indicating that relative style resolution may be
  deferred for various reasons.

* In 11.3.1.2, fix Generated Out-of-Line Region example so as
  not to use 'dur' attribute in generated layout element.

* In 11.3.1.3, add note to [construct intermediate document] procedure
  indicating that an implementation may perform early style
  resolution.

* In 11.3.1.4, coalesce text that is associated with the invocation of
  [flow transformation] procedure and the processing of its results.

* In Appendix H.2, clarify that terms column and row pertain to
  pixels. Add note cautioning reader that logical pixel has no
  intrinsic shape or size.

* In Appendix L, add bibliographic entry for Open Font Format
  (aka OpenType).

* In Appendix V, update acknowledgments.

* Throughout, change "any attribute" to "any attributes" in Element
  Information Item syntax specifications when the underlying intent
  was to cover multiple (and not simply a single) attribute.

* Throughout, add or update explicit links to term definitions
  when term is referenced in text (partial only). Also update links
  reported by the link checker to be permanently moved.

* Throughout, minor improvements to language and correction of typos.

1.3 Changes from TTML2 First Candidate Recommendation (CR1) to TTML2 Second Candidate Recommendation (CR2)

Technical Changes

* In 2.2, add definition of terms: anonymous span, area, block area,
  combined profile, inline area, line area, non-combined profile,
  profile fragment identifier, profile processing, timed element,
  validation processing, and validation processor.

* In 3.2.1, insert new step (3) under Generic Processor Conformance in
  order to invoke profile processing.

* In 3.3, add use of 'ttp:contentProfiles' and 'ttp:processorProfiles'
  to criteria for compliance claims on document instances.

* In 5.2.4.{2,3}, instead of 'mostRestrictive' for the purpose of
  determining the profile combination method to be used when
  combining multiple top-level profiles, use the computed value of
  the 'ttp:{content,processor}ProfileCombination' attributes,
  respectively.

* In 5.4.1, add 'xml:base' attribute to Core Attributes in
  Table 5-5.

* In 5.4.1, add 'tts:lineShear' and 'tts:shear' to Styling Attributes
  in Table 5-5.

* In 6.1.1, allow conformant processor to not support profile combination
  (a combined profile) and/or profile nesting (a nesting profile).

* In 6.1.2 and 6.1.4, constrain value syntax of 'xml:base' to <uri>
  value syntax.

* In 6.2.2, add 'ignore' token value for 'ttp:contentProfileCombination'
  and make 'ignore' the fallback default value.

* In 6.2.4, change the fallback default value of
  'ttp:inferProcessorProfileSource' from 'combine' to 'first'.

* In 6.2.9, add 'ignore' token value for 'ttp:processorProfileCombination'
  and make 'ignore' the fallback default value.

* In 6.2.11, allow validation abort processing to be overridden by
  end-user or application.

* In 8.1.1, remove 'condition' attribute from 'tt' element.

* In 8.1.3, restore erroneously removed declaration of use of TTML
  style attributes on 'body' element.

* In 8.1.6, add prose describing use of anonymous spans that
  is analogous to like prose found in 8.1.5 (defining 'p' element).

* In 8.2, add 'xml:base' attribute to content attribute vocabulary,
  and, in all element definitions that did not previously allow
  'xml:base', add support for use of 'xml:base' attribute except for
  'ttp:feature' and 'ttp:extension elements.

* In 8.2.1, define exceptions to ignoring semantics on conditionally
  excluded element.

* In 8.2.7, define generic use of 'xml:base' attribute.

* In 8.3, add content value syntax definitions for:
  <absolute-profile-designator>, <absolute-uri>,
  <fragment-profile-designator>, <fragment-uri>,
  <profile-designator>, <relative-profile-designator>, and
  <relative-uri>.

* In 9.1.4, specify optional use of deferred downloading of font
  resources.

* In 10.1.1, handle the case of multiple 'initial' elements applying
  to a single style property.

* In 10.2, add 'tts:lineShear' styling attribute (10.2.28).

* In 10.2, add 'tts:shear' styling attribute (10.2.39).

* In 10.2.17, remove 'p' from applies row of property definition table
  for 'tts:fontFamily'.

* In 10.2.17, add prose noting that 'tts:fontFamily' is used to resolve
  the value of 'normal' for 'tts:lineHeight' on 'p' element.

* In 10.2.18, remove 'p' from applies row of property definition table
  for 'tts:fontKerning'.

* In 10.2.20, remove 'p' from applies row of property definition table
  for 'tts:fontShear'.

* In 10.2.21, remove 'p' from applies row of property definition table
  for 'tts:fontSize'.

* In 10.2.21, add prose noting that 'tts:fontSize' is used to resolve
  the value of 'normal' for 'tts:lineHeight' on 'p' element.

* In 10.2.22, remove 'p' from applies row of property definition table
  for 'tts:fontStyle'.

* In 10.2.22, add prose noting that 'tts:fontStyle' is used to resolve
  the value of 'normal' for 'tts:lineHeight' on 'p' element.

* In 10.2.23, remove 'p' from applies row of property definition table
  for 'tts:fontVariant'.

* In 10.2.23, add prose noting that 'tts:fontVariant' is used to resolve
  the value of 'normal' for 'tts:lineHeight' on 'p' element.

* In 10.2.24, remove 'p' from applies row of property definition table
  for 'tts:fontWeight'.

* In 10.2.24, add prose noting that 'tts:fontWeight' is used to resolve
  the value of 'normal' for 'tts:lineHeight' on 'p' element.

* In 10.2.27, add use of 'tts:fontVariant' in step (4) of 'normal'
  computations.

* In 10.2.27, indicate that fallback of 125% for 'normal' value
  of 'tts:lineHeight' is implementation dependent.

* In 10.2.29, make 'tts:luminanceGain' non-inheritable, and add
  prose qualifying applicability to pixels in a region.

* In 10.2.35, change 'tts:ruby' to non-animatable.

* In 10.2.35.1, add inline definitions of concepts "isolated ruby
  content", "implied ruby base container", and "implied ruby text
  container".

* In 10.2.37, clarify and constrain semantic applicability of
  'tts:rubyPosition'.

* In 10.2.38, redefine semantics of '<length>' component of
  'tts:rubyReserve' to be based on the semantics of 'tts:fontSize'
  that would apply to ruby text content.

* In 10.2.38, clarify semantics of 'tts:rubyReserve' when ruby
  text content is (also) present.

* In 10.2.40, remove 'digits' expression from 'tts:textCombine';
  specify (default) fallback value of 'none'.

* In 10.2.46, clarify 'tts:textOutline' that the (default)
  fallback value for blur radius is '0px'.

* In 10.3.3, change semantics of 'outside' keyword for
  '<annotation-position>' value syntax to apply 'before'
  semantics for only first (or only) line, and 'after' semantics for
  remaining lines.

* In 10.3.33, constrain syntax for one-component and two-component
  values of '<position>' to enhance compatibility with CSS.

* In 10.3.35, clarify '<shadow>' that the (default)
  fallback value for blur radius is '0px'.

* In 10.3.36, remove 'digits' expression from '<text-combine>'.

* In 10.3.40, change '<text-shadow>' value syntax to use
  COMMA as delimiter instead of whitespace in a list of '<shadow>'
  expressions.

* In 12.2.4, remove deprecation of sequential time container in the
  context of using discontinuous smpte mode timing.

* In 12.3.1, remove optionality for the metric component of a
  '<time-expression>', which restores TTML1 syntax in this
  regard.

* In 13.1.1, add clarifications and constraints pertaining to the
  semantics of 'accumulate', 'additive', 'keySplines', 'keyTimes'
  and 'repeatCount'.

* In 13.3.2, require that '<animation-value-list>' contain
  two or more '<animation-value>' components instead of one
  or more such components.

* In 13.3.3, add 'paced' keyword to '<calculation-mode>'.

* In 13.3.7, allow '<repeat-count>' to take fractional values.

* In Appendix E.1, add the following feature designators:
  #animate-minimal, #animate-paced, #animate-spline, #base,
  #base-general, #base-version-2, #condition-fn-media,
  #condition-fn-parameter, #condition-fn-supports, #condition-primary,
  #contentProfiles-combined, #display-version-2, #extent-auto,
  #extent-auto-version-2, #extent-contain, #extent-cover,
  #extent-full-version-2, #extent-length, #extent-length-version-2,
  #extent-region-version-2, #extent-root-version-2, #image-png,
  #length-root-container-relative, #length-version-2, #lineShear
  #opacity-block, #opacity-inline, #opacity-region,
  #opacity-version-2, #processorProfiles-combined,
  #profile-full-version-2, #profile-nesting,
  #region-implied-animation, #rubyAlign-minimal, #shear,
  #textEmphasis-color, #textEmphasis-quoted-string,
  #unicodeBidi-version-2, #visibility-image, #visibility-version-2,
  and #xlink.

* In Appendix E.1, remove the following feature designators:
  #animate-calculation-mode, #animate-key-splines, #animate-key-times,
  #condition-media, #extent-block, #fontFamily-p, #fontSize-p,
  #fontStyle-p, #fontWeight-p, #inferProcessorProfile,
  #region-inline-explicit, #region-inline-implicit,
  #textEmphasis-no-color, #textEmphasis-no-quoted-string.

* In Appendix J.1, add certain core attributes missing from
  'isd:sequence', 'isd:isd', 'isd:css', and 'isd:region'.

* In Appendix K, add normative reference [PNG].

* Throughout, except for 'ttp:feature' and 'ttp:extension elements,
  add support for use of 'xml:base' attribute on all element types that
  did not previously support its use.

Editorial Changes

* In 2.2, revise definition of terms: content profile, effective
  content profile, effective processor profile, glyph area, nesting
  profile, non-nesting profile, processor profile, profile, validating
  content processor,

* In 2.3, clarify use of '@' prefix when used with attribute names.

* In 3, constrain 'TTML' to 'TTML2' as needed to correctly scope
  specification text.

* In 3.2, add introductory paragraph in prologue.

* In 3.2.1, remove misleading language in notes pertaining to scope
  of mandatory and optional semantics.

* In 3.3, add note clarifying scope of profile support for compliance
  claims on processors.

* In 5.2.1, restore use of 'ttp:profile' attribute in prose description
  of techniques available for use when declaring a processor profile.

* In 5.2.4, change name of 'profile' profile state object to
  'profile instance' to avoid conflict with more general uses of the
  term 'profile'.

* In 8.1.5, add reference to [construct anonymous spans] procedure
  in prose describing use of anonymous span.

* In 10, combine (non-audio) style attributes and audio style
  attributes into same section, which has a side effect of renumbering
  all 10.4.* subsections as 10.3.* subsections.

* In 10, collapse language regarding applicability of a style property
  to span and, thus, to anonymous spans.

* In 10.2.16, add note clarifying the distinction between 'auto' and
  'auto auto' values of 'tts:extent'.

* In 10.2.20, move prose defining shear calculations to 10.4.5.3
  in order to share common definition with the three different
  shear related style properties.

* In 10.2.27, add note referring to new section 11.3.2.2
  on line stacking with respect to the phrase "line height".

* In 10.2.27, add note indicating that 'tts:lineHeight', in addition
  to applying to the 'p' element, is used in resolving the
  half-leading of inline areas produced by spans.

* In 10.2.27, add to note that treatment of 'tts:lineHeight' is
  intended to be compatible with XSL-FO and CSS.

* In 10.2.34, clarify explanation of example fragment.

* In 10.2.35, reorganize presentation of constraints that pertain
  to the use of 'tts:ruby'.

* In 10.2.35, add note that inline areas generated by ruby text
  containers and ruby text content are descendants of the same
  line area that contains its associated ruby base content.

* In 10.2.36, clarify semantic applicability of 'tts:rubyAlign'.

* In 10.3.34, remove obsolete keywords 'auto', 'between', 'around',
  and rewrite syntax to use '<annotation-position>'.

* In 11.3.2, Line Layout, divide content into two sub-sections,
  placing the original content into 11.3.2.1 and adding a new
  subsection 11.3.2.2 containing a non-normative description of line
  stacking.

* In 14, add prose (and note) clarifying that no presentation
  semantics apply to metadata.

* In Appendix E, recommend (non-normatively) that implementations
  parse known syntax even if some of that syntax is not supported
  semantically speaking.

* In Appendix E.1, clarify usage of phrase "all defined values."

* In Appendix G, update profile documents to reflect additions and
  removal of feature designators in E.1.

* In Appendix G, add '@extends' attribute for features defined
  as syntactic or semantic extensions in E.1.

* In Appendix L, add non-normative references [Data Scheme],
  [DVBSS], and [PG PNG].

* In Appendix M, update requirement satisfaction information.

* In Appendix N, update vocabulary derivation information.

* In Appendix U, update new vocabulary information.

* Throughout, update citations as needed in internal and external
  specification references, term references, and other forms of
  concept references.

* Throughout, add or update explicit links to term definitions
  when term is referenced in text.

* Throughout, minor improvements to language and correction of typos.

* Throughout, make reference to [SRGB] when referring to RGB color
  space.

* Update schemas as required to adhere to specification revisions.

1.4 Changes from TTML1 (3rd Edition) Proposed Recommendation (PR) to TTML2 First Candidate Recommendation (CR1)

Technical Changes

* In 3.2.1, add performance of document validation.

* In 5, insert new section 5.3, defining normative validation semantics.

* In 5.1, add TT Intermediate Synchronic Document Namespace to Table 5-1.

* In 5.2, add TTML2 (transformation, presentation, full) profiles.

* In 5.2, specify profile state concepts and algorithm semantics in detail.

* In 5.2, change profile defaulting to be dependent upon primary function of
  content processor, i.e., presentation vs transformation; e.g., if defaulting
  for a presentation processor, then use a presentation profile as a default
  not a transformation profile.

* In 5.4.1, add new vocabulary:
  'animate',
  'animation',
  'audio',
  'chunk',
  'data',
  'font',
  'image',
  'initial',
  'source',
  'resources',
  and
  'ttm:item'
  to Table 5-3.

* In 5.4.1, add new profile attribute vocabulary
  'ttp:contentProfiles',
  'ttp:contentProfileCombination',
  'ttp:inferProcessorProfileMethod',
  'ttp:inferProcessorProfileSource',
  'ttp:permitFeatureNarrowing',
  'ttp:permitFeatureWidening',
  'ttp:processorProfiles',
  'ttp:processorProfileCombination',
  'ttp:validation',
  and
  'ttp:validationAction'
  to Table 5-5.

* In 5.3.1, add new parameter attribute vocabulary
  'ttp:displayAspectRatio'
  to Table 5-5.

* In 5.4.1, add new animation vocabulary, 'animate', to Animation.class in
  Table 5-4.

* In 5.4.1, add new 'ttm:item' to to Metadata.class in Table 5-4.

* In 5.4.1, add new styling attribute vocabulary
  'tts:backgroundClip',
  'tts:backgroundExtent',
  'tts:backgroundImage',
  'tts:backgroundOrigin',
  'tts:backgroundPosition',
  'tts:backgroundRepeat',
  'tts:border',
  'tts:bpd',
  'tts:disparity',
  'tts:fontKerning',
  'tts:fontSelectionStrategy',
  'tts:fontShear',
  'tts:fontVariant',
  'tts:ipd',
  'tts:letterSpacing',
  'tts:luminanceGain',
  'tts:position',
  'tts:ruby',
  'tts:rubyAlign',
  'tts:rubyOverflow',
  'tts:rubyOverhang',
  'tts:rubyOverhangClass',
  'tts:rubyPosition',
  'tts:rubyReserve',
  'tts:textCombine',
  'tts:textEmphasis',
  'tts:textOrientation',
  and
  'tts:textShadow'
  to Table 5-5.

* In 5.4.1, add new animation binding attribute vocabulary, 'animate',
  to Table 5-5.

* In 5.4.1, add new data attributes vocabulary, 'encoding', 'format',
  'src', and 'type' to Table 5-5.

* In 5.3.1, add new Conditionalization Attribute vocabulary, 'condition',
  to Table 5-5.

* In 5.3.1, add new Linking Attribute vocabulary, 'xlink:*',
  to Table 5-5.

* In 6.1.1, add support for nesting profiles by changing content model of
  ttp:profile to permit either (1) a list of features/extensions or (2)
  a list of nested profiles.

* In 6.1.1, add 'combine' attribute to ttp:profile element, including normative
  processing semantics.

* In 6.1.1, add 'designator' attribute to ttp:profile element in order to
  normatively associate a profile designator with a profile definition.

* In 6.1.3, obsolete 'use' value for 'value' attribute, and, if used, requires
  decoder to intepret as if 'required' had been specified.

* In 6.1.3, add 'prohibited' value to 'value' attribute of ttp:feature
  element, including normative processing semantics.

* In 6.1.3, change default for 'value' attribute to be dependent upon profile
  type (processor or profile).

* In 6.1.3, add optional 'extends' and 'restricts' attributes to the
  ttp:feature element in order to express superset/subset relations between a
  feature and another feature.

* In 6.1.5, obsolete 'use' value for 'value' attribute, and, if used, requires
  decoder to intepret as if 'required' had been specified.

* In 6.1.5, add 'prohibited' value to 'value' attribute of ttp:extension
  element, including normative processing semantics.

* In 6.1.5, change default for 'value' attribute to be dependent upon profile
  type (processor or profile).

* In 6.1.5, add optional 'extends' and 'restricts' attributes to the
  ttp:extension element in order to express superset/subset relations between an
  extension and another feature or extension.

* In 6.2, add 'ttp:contentProfiles' parameter attribute.

* In 6.2, add 'ttp:contentProfileCombination' parameter attribute.

* In 6.2, add 'ttp:inferProcessorProfileMethod' parameter attribute.

* In 6.2, add 'ttp:inferProcessorProfileSource' parameter attribute.

* In 6.2, add 'ttp:permitFeatureNarrowing' parameter attribute.

* In 6.2, add 'ttp:permitFeatureWidening' parameter attribute.

* In 6.2, add 'ttp:processorProfiles' parameter attribute.

* In 6.2, add 'ttp:processorProfileCombination' parameter attribute.

* In 6.2, add 'ttp:validation parameter attribute.

* In 6.2, add 'ttp:validationAction parameter attribute.

* In 6.2.7, deprecate 'ttp:profile' parameter attribute, replacing it with
  'ttp:processorProfiles' parameter attribute.

* In 8.1.1, add explicit tts:position style property support to 'tt' element

* In 8.1.2, add new 'animation' container element as optional child of 'head'
  element.

* In 8.1.3, add 'animate' attribute to 'body' element.

* In 8.1.4, extend content model of 'div' to permit zero or one 'region' element
  child (in the Layout.class) prior to any content element.

* In 8.1.4, specify semantics of using 'tts:extent', 'tts:origin' and
  'tts:position'  with 'div' element to imply an anonymous inline region.

* In 8.1.4, add 'animate' attribute to 'div' element.

* In 8.1.4, extend content model of 'div' to permit the use of embedded content
  'audio' and 'image' element children.

* In 8.1.5, extend content model of 'p' to permit zero or one 'region' element
  child (in the Layout.class) prior to any content element.

* In 8.1.5, specify semantics of using 'tts:extent', 'tts:origin' and
  'tts:position' with 'p' element to imply an anonymous inline region.

* In 8.1.5, add 'animate' attribute to 'p' element.

* In 8.1.5, extend content model of 'p' to permit the use of embedded content
  'audio' and 'image' element children.

* In 8.1.6, add 'animate' attribute to 'span' element.

* In 8.1.6, extend content model of 'span' to permit the use of embedded content
  'audio' and 'image' element children.

* In 8.1.6, add use of 'xlink:*' attributes to provide linking semantics.

* In 8.2, add 'condition' attribute.

* In 8.2, add 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', and
  'xlink:title' attributes, applicable to span and image element types.

* Insert new top-level section 9, defining embedded content element
  types: audio, chunk, data, font, image, resources, source.

* Insert new subsection 10.1.1, defining  'initial' element type used to
  redefine initial value of style property(ies).

* In 10.1.2, add Metadata.class children to 'style' element.

* In 10.2, add 'tts:backgroundClip' styling attribute.

* In 10.2, add 'tts:backgroundExtent' styling attribute.

* In 10.2, add 'tts:backgroundImage' styling attribute.

* In 10.2, add 'tts:backgroundOrigin' styling attribute.

* In 10.2, add 'tts:backgroundPosition' styling attribute.

* In 10.2, add 'tts:backgroundRepeat' styling attribute.

* In 10.2, add 'tts:border' styling attribute.

* In 10.2, add 'tts:bpd' styling attribute.

* In 10.2, add 'tts:disparity styling attribute.

* In 10.2, add 'tts:fontKerning' styling attribute.

* In 10.2, add 'tts:fontSelectionStrategy' styling attribute.

* In 10.2, add 'tts:fontShear' styling attribute.

* In 10.2, add 'tts:fontVariant' attribute.

* In 10.2, add 'tts:ipd' styling attribute.

* In 10.2, add 'tts:letterSpacing' styling attribute.

* In 10.2, add 'tts:luminance styling attribute.

* In 10.2, add 'tts:position' styling attribute.

* In 10.2, add 'tts:ruby' styling attribute.

* In 10.2, add 'tts:rubyAlign' styling attribute.

* In 10.2, add 'tts:rubyOverhang' styling attribute.

* In 10.2, add 'tts:rubyOverhangClass' styling attribute.

* In 10.2, add 'tts:rubyOverflow' styling attribute.

* In 10.2, add 'tts:rubyPosition' styling attribute.

* In 10.2, add 'tts:rubyReserve' styling attribute.

* In 10.2, add 'tts:textCombine' styling attribute.

* In 10.2, add 'tts:textEmphasis' styling attribute.

* In 10.2, add 'tts:textOrientation' styling attribute.

* In 10.2, add 'tts:textShadow' styling attribute.

* In 10.2 prologue, add proscription against specifying non-applicable,
  non-inheritable style attributes on stylable elements.

* In 10.2.1, add 'image' and 'set' elements to enumeration of element
  types to which 'style' attribute applies.

* In 10.2.16, add 'div' and 'p' elements to enumeration  of element types to
  which tts:extent applies. Define semantics that causes the use of tts:extent
  to generate an implied inline region.

* In 10.2.16, add 'contain' and 'cover' values to tts:extent.

* In 10.2.17, add 'p' element to enumeration  of element types to which
  tts:fontFamily applies.

* In 10.2.21, add 'p' element to enumeration  of element types to which
  tts:fontSize applies. Clarify that "1em" is equivalent to "100%".

* In 10.2.22, add 'p' element to enumeration  of element types to which
  tts:fontStyle applies.

* In 10.2.24, add 'p' element to enumeration  of element types to which
  tts:fontWeight applies.

* In 10.2.27, specify algorithm for resolving the 'normal' value of
  tts:lineHeight that takes into account the use of per-font-metrics for
  ascent, descent, and line gap, using 125% of font size as a fall back.

* In 10.2.28, add content elements to enumeration of element types to which
  tts:opacity applies.

* In 10.2.29, add 'div' and 'p' elements to enumeration of element types to
  which tts:origin applies. Define semantics that causes the use of tts:origin
  to generate an implied inline region.

* In 10.2.31, add content elements to enumeration of element types to which
  tts:padding applies.

* In 10.2.45, add 'span' to enumeration of element types to which
  tts:textAlign applies.

* In 10.2.45, add 'justify' keyword value to tts:textAlign.

* In 10.3, add
  <border-color>,
  <border-style>,
  <border-thickness>,
  <character-class>,
  <emphasis-color>,
  <emphasis-position>,
  <emphasis-style>,
  <lwsp>,
  <measure>,
  <named-character-class>,
  <non-negative-integer>,
  <number>,
  <percentage>, and
  <position>,
  <shadow>,
  <whitespace>
  value expressions.

* In 10.3.12, add 'rw' and 'rh' units of measure in order to
  express lengths as a percentage of the root container region.

* In 10.4.4, add semantics for determining specified style set and computed
  style set for 'set' element.

* In 10.4.4.2, rework SSS(E) processing algorithm to properly account for
  inheritable and non-inheritable properties and use of specified initial
  value overrides.

* In 10.13.14, make units component of a <length> expression optional,
  which, if absent, is interpreted as if 'px' were specified.

* In 11.1.2, require out-of-line region to specify 'xml:id' attribute.

* In 11.3.1, qualify default region in terms of out-of-line region(s).

* In 11.3.2, define inline region processing semantics.

* In 12.2.2, specify that a duration (@dur) of zero is explicitly permitted.

* In 12.3.1, make metric component of a <time-epression> expression optional,
  which, if absent, is interpreted as if 's' were specified.

* In 12.3.1, add wallclock-time form of <time-epression> in order to
  express time with an explicit date.

* In 13.1.1, add 'animation' element in order to support out-of-line animation
  specifications.

* In 13.1.2, add 'animate' element.

* In 13.1.3, add 'style' attribute to 'set' element.

* In 13.1.3, permit multiple attributes from TT Style Namespace on 'set'
  element.

* In 13.1.3, add 'fill' and 'repeatCount' attributes to 'set' element for
  symmetry with 'animate'.

* In 13.2.1, add definition of 'animate' attribute in order to perform binding
  between content elements and region element and associated animate and set
  out-of-line animation elements.

* In 13.3 (new), add new sub-section defining animation specific value
  expressions.

* In 14.1, add new 'ttm:item' element to represent arbitrary named
  metadata information items.

* In 14.1.1, extend content model of 'metadata' to permit the use of
  embedded content 'data' element children.

* In Appendix A, upgrade material on concrete encoding to normative,
  (previously in Appendix O of TTML1).

* In Appendix A, add missing &apos; and &quot; character entities.

* In Appendix C, update referenced schemas to reflect new/changed vocabulary
  definitions.

* In Appendix E, add
#animation-version-2,
#bidi-version-2,
#border,
#profile-version-2,
#region-timing,
#ruby,
#ruby-non-nested,
#textAlign-justify,
#textAlign-version-2,
#textEmphasis,
#textEmphasis-minimal,
#textEmphasis-no-color,
#textEmphasis-no-quoted-string,
#textOrientation,
#time-wall-clock,
#unicodeBidi-isolate, and
#validation
  feature designators.

* In Appendix G, define only newly introduced TTML2 profiles.

* In Appendix G, add #border and #textOrientation
  designators in standard profiles.

* In Appendix J, add (normative) reference to RFC2396 (URI).

* In Appendix J, add (normative) reference to Ruby Annotations REC.

* In Appendix J, add (normative) reference to CSS Ruby Draft.

* In Appendix J, move SVG1.1 reference from Appendix H and update to Second
  Edition.

* In Appendix H, upgrade material on time expression semantics to normative,
  (previously in Appendix N of TTML1).

Editorial Changes

* In 1.1, update Figure 1 - System Model.

* In 2.1, add acronym: "ISD".

* In 2.2, add definitions:
  "anonymous profile",
  "audio defining context",
  "audio presentation context",
  "authoring viewport",
  "baseline profile",
  "chunked data embedding",
  "content profile",
  "data binding context",
  "data binding context for metadata",
  "data binding context for source",
  "data context context",
  "data element",
  "data resource",
  "default processor profile",
  "designated profile",
  "display aspect ratio",
  "display region target",
  "display target",
  "document temporal coordinate space",
  "dot pitch",
  "embedded content element",
  "embedded data resource",
  "enclosing document instance",
  "extension specification",
  "external data resource",
  "external data source",
  "feature specification",
  "font defining context",
  "font presentation context",
  "font selection process",
  "fragment identifier",
  "image defining context",
  "image presentation context",
  "implied inline region",
  "inline animation",
  "inline region",
  "intermediate synchronic document",
  "intermediate synchronic document sequence",
  "intermediate synchronic document sequence syntax",
  "nested embedded source",
  "nested profile",
  "nesting profile",
  "non-nested embedded source",
  "non-nesting profile",
  "out-of-line animation",
  "out-of-line region",
  "pixel aspect ratio",
  "presentation viewport",
  "profile",
  "profile designator",
  "profile fragment identifier",
  "profile specification",
  "related media object region target",
  "sourced data embedding",
  "storage aspect ratio",
  "top-level profile",
  "undesignated profile",
  "viewport", and
  "viewport target".

* In 2.2, refine definition of "out-of-line region" to better account for
  default region implication.

* In 2.3, add text clarifying meaning of expression '{any attribute not in
  default or any TT namespace}'.

* In 2.3, add convention for deprecated syntactic features (using distinct
  background color).

* In 5.*, renumber tables to use M-N format.

* In 5.1, extend note under Table 5-1 to clarify meaning of unqualified
  attribute names.

* In 6.*, subdivide section 6 into two top level sections that segregate profile and
  parameter matter.

* In 6.*, renumber tables to use M-N format.

* In 6.1.3, segregate the semantics of the 'value' attribute according to
  whether the profile is a processor or content profile.

* In 6.1.5, segregate the semantics of the 'value' attribute according to
  whether the profile is a processor or content profile.

* In 10.2, add note about the use of non-applicable style attributes.

* In 10.2, renumber sub-sections to account for newly defined attributes.

* In 10.4.4.4, rework [filter] step to explicitly enumerate element types
  not filtered.

* In 11.3, insert "Inline Regions" as sub-section 9.3.2, renumbering following
  sub-sections.

* In 12.2, reorder attributue sub-sections to be alphabetic.

* In 12.3, permit metric component to be omitted from offset-time, in which case
  's' (seconds) is implied.

* In 14.1, reorder ttm:* attribute sub-sections to be alphabetic.

* Reorder (and relabel) appendices to maintain normative appendices followed by
  non-normative appendices.

* In Appendix I, add subsections describing the relationship of media
  time to document time.

* In Appendix J, add reference to Japanese Language Requirements
  (JLREQ), used normatively for definition of named character classes.

* In Appendix K, add (non-normative) reference to CSS Writing Modes Level 3.

* In Appendix K, add (non-normative) reference to original Namespaces in XML
  REC (NSOriginal).

* In Appendix K, add (non-normative) reference to SDP US.

* In Appendix K, add (non-normative) reference to TTML1.

* In Appendix K, update SMIL reference to SMIL3.0.

* In Appendix M, add derivation of tt:animate and tt:animation elements.

* In Appendix M, add derivation of tts:border and tts:textOrientation
  attributes.

* Insert new informative Appendix P on security and privacy considerations.

* Insert new informative Appendix Q with an example of HDR compositing.

* Insert new informative Appendix T with syntax changes since TTML1.

* Migrate to new W3C style sheets and table of content format.

* Change convention for labeling and citing definitions to use "[lower case]"
  in definitions and hyperlinked "lower case" in citations.

* Update SMIL section number references to track SMIL3.