Changes are ordered from most recent to least recent.
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 ' and " 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.