W3C

Simple Delivery Profile for Closed Captions

A profile of TTML for internet delivery

W3CNote 12 July 2012

This version:
http://www.w3.org/TR/2012/NOTE-ttml-interop-20120712/
Latest published version:
http://www.w3.org/TR/ttml-interop/
Previous version:
none
Editors:
Sean Hayes, Microsoft
Monica Martin, Microsoft

Abstract

TTML 1.0 provides many features to satisfy captioning and subtitling requirements, not all of which are intended for end user display. Requirements have been identified by key video and content communities to define an interoperable delivery profile using the core features specifically designed for online presentation of TTML. Such a profile allows the community of TTML users to construct constrained presentation engines for TTML. This document defines the behavior expected of a presentation processor using the player constraints for such an online delivery profile.

The Simple Delivery Profile for Closed Captions focuses interoperability using TTML 1.0 to support delivery of closed captions for video content. Other profiles based on TTML 1.0 may target other types of subtitles such as on-screen text or graphics. This interoperability profile is a proper subset of TTML 1.0 plus features required to support US Government closed captioning requirements for online presentation.

Status of This Document

This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.

This document is a draft member contribution.

This document applies 3 guiding principles for online delivery of closed captions.

This document was published by the Timed Text Working Group as a Note. If you wish to make comments regarding this document, please send them to public-tt@w3.org (subscribe, archives). All feedback is welcome.

Publication as a Note does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.

This document was produced by a group operating under the 5 February 2004 W3CPatent Policy. W3Cmaintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3CPatent Policy.

Table of Contents

1. Conformance

As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.

The key words must, must not, required, should, should not, recommended, may, and optional in this specification are to be interpreted as described in [RFC2119].

Simple Delivery Profile for Closed Captions

This profile identifies the content and player constraints for closed captioning using TTML. To conform to this profile, a presentation engine must:

This constrained profile enumerates a set of required TTML features, some of which may be constrained in behavior, and the capabilities required of a Presentation Processor in TTML 1.0. The semantics defined in TTML 1.0 apply unless otherwise constrained in this profile. Claims of conformance must use this URI and implement the required features and constraints of use and processing outlined in this profile.

Name Designator
simple-delivery http://www.w3.org/TR/profile/simple-delivery

Conformance to this profile does not preclude the use of other features defined in TTML 1.0 but such behavior is not defined here.

2. Terms and Definitions

The terms and definitions in TTML 1.0 serve as the basis for this interoperability profile. Terms found here are in addition to those found in TTML 1.0.

Name Definition
Required feature A TTML feature is required for use.
Required feature with constraints A TTML feature is required but constrained by this profile for use and/or processing.
Optional feature Any TTML feature not included in this profile.

3. Simple Delivery Profile for Closed Captions

This profile represents a minimum set of required functionality using specified TTML features to deliver closed captions for online-delivery. This profile does not preclude optional features from use.

The functionality is described in how it constrains the use of TTML features and how a processor provides those captions. An example implementing this constrained profile exists in Profile designator; error handling behavior is found in Error Handling.

3.1 Use of TTML Constrained Feature Template

This profile identifies functionality in the context of the required TTML 1.0 features used and applies constraints. Each function is defined by:

The template is as follows:

Usage Scenario
TTML Feature Usage type Context of Usage Scope Constraint
         
Usage Constraints

4. Structural Constraints

Processors must support the capability to present documents where the following constraints apply:

A document must contain both a head and body element

A document must contain both a styling and a layout element.

A document must not use a div element inside a div element.

A document must contain only a single level of span element within a p element

<span style="s1">A</span>
<span style="s3">B</span>
<span style="s1">C</span>

A document must reference all styles using a style attribute to a style element.

A document must have all elements are in order of time. That is, in a par context, no element shall lexically precede another element with an earlier start time.

5. Constrained Features

5.1 Use of Constrained TTML Feature core

5.1.1 Usage Scenario

TTML Feature Usage type Context of Usage Scope Constraint
#core required      

5.1.2 Constraints

None

5.2 Use of Constrained TTML Feature content

5.2.1 Usage Scenario

TTML Feature Usage type Context of Usage Scope Constraint
#content Required with constraint Specified elements are used.    

5.2.2 Constraints

Processors must support the capability to present documents where the following constraints apply:

A document must contain only the following elements:

  • tt
  • head
  • body
  • div
  • p
  • span
  • br
  • set
  • layout
  • styling
  • region
  • style

5.3 Use of Constrained TTML Feature presentation

5.3.1 Usage Scenario

TTML Feature Usage type Context of Usage Scope Constraint
#presentation required      

5.3.2 Constraints

None

5.4 Use of Constrained TTML Feature profile

5.4.1 Usage Scenario

TTML Feature Usage type Context of Usage Scope Constraint
#profile required      

5.4.2 Constraints

Processors must support the capability to present documents referencing this profile using the following URI: http://www.w3.org/TR/profile/simple-delivery

NOTE: See also Conformance

NOTE: The use attribute could indicate the geographical region for which the profile is used. For example, specific styling capabilities could be used in a particular geographical region. See also Other Constraints.

5.5 Use of Constrained TTML Feature structure

5.5.1 Usage Scenario

TTML Feature Usage type Context of Usage Scope Constraint
#structure required      

5.5.2 Constraints

None

6. Style Constraints

6.1 Use of Constrained TTML Feature backgroundColor-*

6.1.1 Usage Scenario

TTML Feature Usage type Context of Usage Scope Constraint
#backgroundColor-block
#backgroundColor-inline
Required with constraints p element
region element
   

6.1.2 Constraints

Processors must support the capability to present documents where the following constraints apply:

The backgroundColor must be expressed in #rrggbbaa format exclusively using the <hexdigit> style value expression.

The backgroundColor must support the colors outlined in Color Values.

Note: These colors are identical to those identified in the CEA708-D, Section 8.8 [RBG resolution of 4 bits for each primary (03)].

The alpha component of backgroundColor must support the opacity values outlined in Color Values .

The alpha component of backgroundColor for a region must be 00.

The player must allow the user to specify a backgroundColor for p and span elements based on a minimum of an 8-color palette of white, black, red, green, blue, yellow, magenta, and cyan (See Minimum Color List in Color Values ).

The player must allow the user to specify a backgroundColor for p and span elements to allow for semi-transparent and transparent opacities.

6.2 Use of Constrained TTML Feature color

6.2.1 Usage Scenario

TTML Feature Usage type Context of Usage Scope Constraint
#color Required with constraints      

6.2.2 Constraints

Processors must support the capability to present documents where the following constraints apply:

The color must be expressed in #rrggbbaa format exclusively using the <hexdigit> style value expression.

The color must support the colors outlined in Color Values.

Note: These colors are identical to those identified in the CEA708-D, Section 8.8 [RBG resolution of 4 bits for each primary (03)].

The alpha component of color must support the opacity values outlined in Color Values .

The player must allow the user to specify a color for p and span elements based on a minimum of an 8-color palette of white, black, red, green, blue, yellow, magenta, and cyan (See Minimum Color List in Color Values ).

The player must allow the user to specify a color for p and span elements to allow for semi-transparent and transparent opacities.

6.3 Use of Constrained TTML Feature display-region

6.3.1 Usage Scenario

TTML Feature Usage type Context of Usage Scope Constraint
#display-region required      

6.3.2 Constraints

None

6.4 Use of Constrained TTML Feature display-region

6.4.1 Usage Scenario

TTML Feature Usage type Context of Usage Scope Constraint
#display-region Required with constraints region
root
   

6.4.2 Constraints

Processors must support the capability to present documents in the following common forms:

  • Pop-up
  • Roll-up
  • Paint-on
Examples are provided of each style to aid in understanding the common forms.

Pop-up style

<tt xml:lang="en-us" xmlns="http://www.w3.org/ns/ttml" 
    xmlns:s='http://www.w3.org/ns/ttml#styling' 
    xmlns:p='http://www.w3.org/ns/ttml#parameter' >
  <head>
    <p:profile use="http://www.w3.org/ns/ttml/profile/online-delivery"/>
    <styling>
      <!-- A typical transparent region with centered text that has an outline -->
      <style xml:id="bottomMidStyle" s:textAlign="center" s:textOutline="#000000ff 5%" s:backgroundColor="#00000000" s:color="#ffffffff" s:origin='20% 58%' s:extent='60% 18%'/>
    </styling>
    <layout>
      <!-- typical 'pop on' type region -->
      <region xml:id="bottomMid" style="bottomMidStyle" />
    </layout>
  </head>
  <body>
    <div style="defaultFont">
      <p region="bottomMid" begin='00:00:00.101' end='00:00:03.000'> This is a pop on caption. </p>
    </div>
  </body>
</tt>

Positioned style. An off-screen narrator is present and no graphics are used. Content placed in a single region in the bottom one-third of that region.

<style xml:id="bottomMidStyle" s:textAlign="center" s:textOutline="black 1px" s:backgroundColor="transparent" s:color="white" s:origin='20% 58%' s:extent='60% 18%'/>
<style xml:id="topMidStyle" s:textAlign="center" s:textOutline="black 1px" s:backgroundColor="transparent" s:color="white" s:origin='20% 10%' s:extent='60% 18%'/>

Moving regions. Content is positioned based on location of speaker, visible in the bottom two lines individually positioned in region(s) so as to avoid background content..

<?xml version="1.0" encoding="utf-8"?>
<tt xml:lang="en-us" xmlns="http://www.w3.org/ns/ttml" xmlns:s='http://www.w3.org/ns/ttml#styling'>
  <head>
    <styling>
      <style xml:id="s1" s:display="none" s:extent='40% 18%'/>
    </styling>
    <layout>
      <region xml:id="r1" style="s1">
        <set begin='00:00:10.000' end='00:00:12.000' s:display='auto'/>
        <set begin='00:00:10.000' end='00:00:12.000' s:origin='10% 10%'/>
        <set begin='00:00:11.670' end='00:00:12.000' s:display='auto'/>
        <set begin='00:00:11.670' end='00:00:12.000' s:origin='10% 10%'/>
      </region>
      <region id="r2" style="s2">
        <set begin='00:00:10.330' end='00:00:10.670' s:display='auto'/>
        <set begin='00:00:10.330' end='00:00:10.670' s:origin='50% 10%'/>
        <set begin='00:00:11.670' end='00:00:12.000' s:display='auto'/>
        <set begin='00:00:11.670' end='00:00:12.000' s:origin='50% 10%'/>
      </region>
      <region id="r3" style="s3">
        <set begin='00:00:10.670' end='00:00:11.000' s:display='auto'/>
        <set begin='00:00:10.670' end='00:00:11.000' s:origin='10% 78%'/>
        <set begin='00:00:11.670' end='00:00:12.000' s:display='auto'/>
        <set begin='00:00:11.670' end='00:00:12.000' s:origin='10% 78%'/>
      </region>
      <region id="r4" style="s4">
        <set begin='00:00:11.000' end='00:00:11.330' s:display='auto'/>
        <set begin='00:00:11.000' end='00:00:11.330' s:origin='50% 78%'/>
        <set begin='00:00:11.670' end='00:00:12.000' s:display='auto'/>
        <set begin='00:00:11.670' end='00:00:12.000' s:origin='50% 78%'/>
      </region>
    </layout>
  </head>
  <body>
    <div>
      <!--four speakers count off, and then all call 'Jump' together -->
      <p begin='00:00:10.000' end='00:00:10.330' region="r1" >One</p>
      <p begin='00:00:10.330' end='00:00:10.670' region="r2" >Two</p>
      <p begin='00:00:10.670' end='00:00:11.000' region="r3">Three</p>
      <p begin='00:00:11.000' end='00:00:11.330' region="r4" >Four</p>
      <p begin='00:00:11.670' end='00:00:12.000' region="r1" >Jump!</p>
      <p begin='00:00:11.670' end='00:00:12.000' region="r2" >Jump!</p>
      <p begin='00:00:11.670' end='00:00:12.000' region="r3">Jump!</p>
      <p begin='00:00:11.670' end='00:00:12.000' region="r4" >Jump!</p>
    </div>
  </body>
</tt>

Rollup and Paint on style. Content is presented a word at a time and lines scroll up in a small fixed window (typically 3 or 4 lines). The paint-on text is often embodied in roll-up content.

<p region='rollup' begin='00:00:13.000' dur='00:00:11.000'>
  <span begin='00:00:01.000'>rollup</span>
  <span begin='00:00:02.000'>style</span>
  <span begin='00:00:03.000'>caption</span>
  <span begin='00:00:04.000'>support</span>
</p>
<p region='rollup' begin='00:00:17.000' dur='00:00:11.000'>
  <span begin='00:00:01.000'>with</span>
  <span begin='00:00:02.000'>word</span>
  <span begin='00:00:03.000'>at</span>
  <span begin='00:00:04.000'>a</span>
  <span begin='00:00:05.000'>time</span>
  <span begin='00:00:06.000'>temporal</span>
</p>
<p region='rollup' begin='00:00:23.000' dur='00:00:11.000'>
  <span begin='00:00:01.000'>placement</span>
  <span begin='00:00:02.000'>this</span>
  <span begin='00:00:03.000'>could</span>
  <span begin='00:00:04.000'>go</span>
</p>
<p region='rollup' begin='00:00:27.000' dur='00:00:11.000'>
  <span begin='00:00:01.000'>on</span>
  <span begin='00:00:02.000'>all</span>
  <span begin='00:00:03.000'>day</span>
</p>

Note: As shown in the rollup example, a function of time for a k line rollup of content: The begin time of the N+kth p element is equal to the begin time plus duration of the Nth p element less the begin time of the first span in the N+kth p.

6.5 Use of Constrained TTML Feature fontFamily-generic

6.5.1 Usage Scenario

TTML Feature Usage type Context of Usage Scope Constraint
#fontFamily-generic Required with constraints tts:fontFamily attribute span  

6.5.2 Constraints

Processors must support the capability to present documents where the following constraints apply:

The document must use the tts:fontFamily attribute using only the following values:

  • Default
  • monospaceSerif
  • proportionalSerif
  • monospaceSansSerif
  • proportionalSansSerif
  • Casual
  • Cursive
  • Smallcap

Note: fontStyle strings(s) not bound to generic classes in TTML 1.0, such as casual, cursive and smallcap styles, may be used. These would be interpreted as local font names, if not found then the default style would be used.

A player must map the generic font names to fonts as follows

Style Style Name Comments
Default Default One of the below
monospace Serif Monospaced with serifs Similar to Courier
proportional Serif Proportionally spaced with serifs Similar to Times New Roman
monospaceSansSerif Monospaced without serifs Similar to Helvetica Monospaced
proportionalSansSerif Proportionally spaced without serifs Similar to Arial and Swiss
Casual Casual font type Similar to Dom and Impress
Cursive Cursive font type Similar to Coronet and Marigold
Smallcap Small types Similar to Engravers Gothic

The player must allow the user to specify a generic fontFamily for the document using the fontStyle(s) shown in the preceding table.

The player must allow the user to specify character edge attributes and types for the generic fontFamily names for the fontStyle(s) shown in the preceding table.

Note: Player and Unicode code point support is in Code Point support

6.6 Use of Constrained TTML Feature fontSize

6.6.1 Usage Scenario

TTML Feature Usage type Context of Usage Scope Constraint
#fontSize Required with constraints   span
div (root)
 

6.6.2 Constraints

Processors must support the capability to present documents where the following constraints apply:

document must only specify tts:fontSize(s) using a value of 50, 75%, 100%, 150% or 200%.

Note: Use of a fontSize of less than 75% (i.e. 50%) could result in unreadable content for a user.

Note: Specifying a fontSize is used for a document could allow the user to select a preferred fontSize.

Example to show how to specify an initial font.

The default font height of the player must be 5% of the root container height

Note: This is equivalent to one cell using the default grid. A player is however not required to support the grid metric.

6.7 Use of Constrained TTML Feature fontStyle-italics

6.7.1 Usage Scenario

TTML Feature Usage type Context of Usage Scope Constraint
#fontStyle-italics Required with constraints span span Support 7 font family values.

6.7.2 Constraints

Processors must support the capability to present documents where the following constraints apply:

Processors must support the capability to provide presentation semantic support for values of the tts:fontStyle attribute as defined for the fontFamily-generic feature.

Note: Various fontStyle(s) unspecified in TTML 1.0, such as casual, cursive and smallcap styles, may be used. Players that recognize the string as a particular font style could use a comparable style.

Note: A default fontStyle - white, mid-weight san serif with an initial font height of 5% of the video height and with a black outline using textOutline-unblurred of 10% of the fontSize - is suggested.

The capability must exist for the user to specify the italic style for the fontStyle(s) identified in this profile.

6.8 Use of Constrained TTML Feature length-percentage

6.8.1 Usage Scenario

TTML Feature Usage type Context of Usage Scope Constraint
#length-percentage Required      

6.8.2 Constraints

None

Note: Using 10% for the tts:extent of the root container region (for example, of an 720x640 region), the equivalence to pixel units (px) could be obtained. For example, using this snippet:

<style xml:id="topLeftStyle" s:fontSize="150%" s:textAlign="left" s:backgroundColor="#ffffffff" s:color="#ff0000ff" s:origin='10% 10%' s:extent='40% 18%'/>

Convert the percentage value to a fraction (i.e. .40), multiply the numerator by 16 and divide by 100 to obtain px (pixel units).

6.9 Use of Constrained TTML Feature length-positive

6.9.1 Usage Scenario

TTML Feature Usage type Context of Usage Scope Constraint
#length-positive Required      

6.9.2 Constraints

None

6.10 Use of Constrained TTML Feature styling-*

6.10.1 Usage Scenario

TTML Feature Usage type Context of Usage Scope Constraint
#styling
#styling-referential
#styling-inline
Required with constraints      

6.10.2 Constraints

Processors must support the capability to present documents where the following constraints apply:

Styles must be applied either by reference or through use of inline styling.

Styles must be applied with a single style element using the style attribute.

Style elements must not reference other styles.

Style elements must not be child elements of region elements.

Note: The constraints in this section result in a document that contains style blocks that are complete and self-contained.

6.11 Use of Constrained TTML Feature styling-inheritance-content

6.11.1 Usage Scenario

TTML Feature Usage type Context of Usage Scope Constraint
#styling-inheritance-content Required      

6.11.2 Constraints

None

6.12 Use of Constrained TTML Feature styling-inheritance-region

6.12.1 Usage Scenario

TTML Feature Usage type Context of Usage Scope Constraint
#styling-inheritance-region Required      

6.12.2 Constraints

None

6.13 Use of Constrained TTML Feature textAlign-absolute

6.13.1 Usage Scenario

TTML Feature Usage type Context of Usage Scope Constraint
#textAlign-absolute Required      

6.13.2 Constraints

None

6.14 Use of Constrained TTML Feature textDecoration-under

6.14.1 Usage Scenario

TTML Feature Usage type Context of Usage Scope Constraint
#textDecoration-under Required with Constraints      

6.14.2 Constraints

Processors must support the capability to present documents where the following constraints apply:

The tts:textDecoration-under attribute must support the fontStyle constraints identified in this profile.

The capability must exist for the user to specify the underline style for the fontStyle(s) identified in this profile.

Note: See also tts:fontStyle attribute.

6.15 Use of Constrained TTML Feature textOutline-unblurred

6.15.1 Usage Scenario

TTML Feature Usage type Context of Usage Scope Constraint
#textOutline-unblurred Required with Constraints      

6.15.2 Constraints

Processors must support the capability to present documents where the following constraints apply:

Character edge attributes must be expressed using textOutline-unblurred based on the settings identified in CEA-708-D, Section 8.5.8.

A text outline must be expressed using textOutline-unblurred of up to 10%.

The user must be able to specify character edge and type attributes using tts:textOutline attribute.

The user must be able to specify the rendering of character edge types of: None, raised, depressed, uniform or drop shadowed edges.

6.16 Use of Constrained TTML Feature writingMode-horizontal-lr

6.16.1 Usage Scenario

TTML Feature Usage type Context of Usage Scope Constraint
#writingMode-horizontal-lr Required      

6.16.2 Constraints

None

7. Layout Constraints

7.1 Use of Constrained TTML Feature layout

7.1.1 Usage Scenario

TTML Feature Usage type Context of Usage Scope Constraint
#layout Required with constraints region attribute content  

7.1.2 Constraints

Processors must support the capability to present documents where the following constraints apply:

Active region(s) must not overlap.

No more than 4 region(s) must be active concurrently.

No more than four lines of text must be selected into a region at any given time.

7.2 Use of Constrained TTML Feature lineBreak-uax14

7.2.1 Usage Scenario

TTML Feature Usage type Context of Usage Scope Constraint
#lineBreak-uax14 Required with constraints      

7.2.2 Constraints

Processors must support the capability to present documents where the following constraints apply:

At most 32 characters must be present in any displayed text line.

At most one p element must be selected into a region at a time.

NOTE: The fontStyle, fontSize and the characteristics of region impact how selected text flows into a region (i.e. selected text may flow outside of the region such as on a mobile device).

NOTE: Constraining one p element to a region logically places content from two different speakers to different region(s).

NOTE: When a document author wants to construct a single phrase from a speaker with more than one line in a region, the br within a p element can be used. This construction adheres to the constraints in this section. For example for one speaker with more than one line:

<p> I always get the fuzzy end<br/>of the lollipop</p>

8. Timing Constraints

8.1 Use of Constrained TTML Feature timing

8.1.1 Usage Scenario

TTML Feature Usage type Context of Usage Scope Constraint
#timing Required with constraints      

8.1.2 Constraints

Processors must support the capability to present documents where the following constraints apply:

Timing must be expressed in the hh:mm:ss.ms or hh:mm:ss:ff format used in the timeExpression.

Timing must be expressed in the same format throughout the document.

Durations (dur) shall only be used on the span element.

Note: The use of dur on a span supports rollup style content. For content other than rollup, the default behavior is to remain present until the end of the container. Therefore, durations are not needed on the span element.

For timing in hh:mm:ss.ms, the following format must be used:

  • Exactly 2 digits must be used in each of the hours, minutes, and second components (include leading zeros).
  • Exactly 3 decimal places must be used for the milliseconds component (include zeros).

<p begin='00:00:01.000' end='00:00:11.123' region="r1" >Test</p>

For timing in hh:mm:ss.ms, the following format must be used:

  • Exactly 2 digits shall be used in each of the hours, minutes, second, and frame components (include leading zeros).
  • A ttp:frameRate attribute must be present on the root element.
  • A ttp:frameRateMultiplier attribute may be present on the root element.

<p begin='00:00:01:00' end='00:00:11:22' region="r1" >Test</p>

8.2 Use of Constrained TTML Feature time-offset-*

8.2.1 Usage Scenario

TTML Feature Usage type Context of Usage Scope Constraint
#time-offset
#time-offset-with-frames
Required      

8.2.2 Constraints

None

Note: Since the ttp:timebase attribute is outside of this profile, the implicit timebase used here is media as specified in TTML 1.0.

8.3 Use of Constrained TTML Feature frameRate and frameRateMultiplier

8.3.1 Usage Scenario

TTML Feature Usage type Context of Usage Scope Constraint
#frameRate
#frameRateMultiplier
Required      

8.3.2 Constraints

See timing

8.4 Use of Constrained TTML Feature animation

8.4.1 Usage Scenario

TTML Feature Usage type Context of Usage Scope Constraint
#animation Required with constraints      

8.4.2 Constraints

Processors must support the capability to present documents where the following constraints apply:

The set element must only animate the region or span element.

The use of set elements applied to a region element must only animate the tts:display, tts:origin or tts:extent attribute.

The use of set elements applied to a span element must only animate the tts:color attribute.

No more than 6 set elements must be used within a given element

Note: Animation is constrained to the scenarios where the region needs to be moved – i.e. when the “snap” display effect is required.

Note: Animation is constrained to the scenarios to change the foreground color of content when flashing text is required.

9. Other Constraints

9.1 User Ease of Use Constraints

Constraints on reduced or simplified content are outside of this profile. External labeling could be used to support the user’s capability to select and use captions when available for:

For example, external labeling could be used to identify simplified or reduced, or other language supported content on a text track in HTML5. Such labeling may also be used to identify when large font size is applied to content. Requirements to support user preview and retention of default or user defined settings of selected text are outside of the scope of this profile. These requirements are relevant in the environment to which the captions are deployed.

10. Features in TTML 1.0 Used in This Profile

<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<profile xmlns="http://www.w3.org/ns/ttml#parameter">
  <features xml:base="http://www.w3.org/ns/ttml/feature/">
    <!-- required (mandatory) feature support -->
    <feature value="required">#animation</feature>
    <feature value="required">#backgroundColor-block</feature>
    <feature value="required">#backgroundColor-inline</feature>
    <feature value="required">#color</feature>
    <feature value="required">#content</feature>
    <feature value="required">#core</feature>
    <feature value="required">#display-region</feature>
    <feature value="required">#fontFamily-generic</feature>
    <feature value="required">#fontSize</feature>
    <feature value="required">#fontStyle-italic</feature>
    <feature value="required">#frameRate</feature>
    <feature value="optional">#frameRateMultiplier</feature>
    <feature value="required">#layout</feature>
    <feature value="required">#length-percentage</feature>
    <feature value="required">#length-positive</feature>
    <feature value="required">#lineBreak-uax14</feature>
    <feature value="required">#presentation</feature>
    <feature value="required">#profile</feature>
    <feature value="required">#structure</feature>
    <feature value="required">#styling</feature>
    <feature value="required">#styling-inheritance-content</feature>
    <feature value="required">#styling-inheritance-region</feature>
    <feature value="required">#styling-inline</feature>
    <feature value="required">#styling-referential</feature>
    <feature value="required">#textAlign-absolute</feature>
    <feature value="required">#textDecoration-under</feature>
    <feature value="required">#textOutline-unblurred</feature>
    <feature value="required">#time-offset</feature>
    <feature value="required">#time-offset-with-frames</feature>
    <feature value="required">#timing</feature>
    <feature value="required">#writingMode-horizontal-lr</feature>
  </features>
</profile>
 
 

11. Error handling

A presentation process may be presented with documents that contain features that are not understood. The table that follows outlines the behavior expected under specific conditions. The pre-requisite if the caption file is syntactically valid XML.

Feature Requirement Action
Known Required must interpret
Unknown Required must ignore

A. Future Needs for TTML next for Simple Delivery

A.1 Values for fontFamily support

The casual, cursive and smallcap styles could be considered for addition to <genericFamilyName> expression in a future version of TTML.

B. Mapping of US Government Requirements to Constrained Profile Features

A key is provided that maps the US Government technical requirements for closed captions are mapped to the constrained features of this profile.

Presentation #animation (set)
#display-region
#extent-region
#frameRate
#frameRateMultiplier
#layout
#length-percentage
#length-positive
#lineBreak-uax14
#textAlign-absolute
#time-offset
#time-offset-with-frames
#timing
#writingMode-lr
Character color #animation
#color
Character opacity #color
Character size #fontSize
#fontStyle-italic
#textDecoration-underline
Fonts #fontFamily-generic
#fontStyle-italic
Caption background color and opacity #backgroundColor-*
Character edge attributes #textOutline-unblurred
Caption window color #backgroundColor-*
Language #profile
Preview setting and retention See Other Constraints,

TTML Mandatory Features

TTML Features Required That Support Other Requirements

C. Code points

Players should provide font glyph coverage for all characters in the “ISO 8859-1 Latin-1” space and those for ANSI INCITS 4 when mapped onto Unicode code points (see table).

Players should support the C0, G0, C1, and G1 code sets mapped onto Unicode as in the following table. See CEA 708, Section 7.1 including Table 11.

_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
  ! " # $ % & ' ( ) * + , - . /
U+002_ 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 002B 002C 002D 002E 002F
0 1 2 3 4 5 6 7 8 9 : ; < = > ?
U+003_ 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003A 003B 003C 003D 003E 003F
@ A B C D E F G H I J K L M N O
U+004_ 0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004A 004B 004C 004D 004E 004F
P Q R S T U V W X Y Z [ \ ] ^ _
U+005_ 0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005A 005B 005C 005D 005E 005F
` a b c d e f g h i j k l m n o
U+006_ 0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006A 006B 006C 006D 006E 006F
p q r s t u v w x y z { | } ~
U+007_ 0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007A 007B 007C 007D 007E 007F
  ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯
U+00A_ 00A0 00A1 00A2 00A3 00A4 00A5 00A6 00A7 00A8 00A9 00AA 00AB 00AC 00AD 00AE 00AF
° ± ² ³ ´ µ · ¸ ¹ º » ¼ ½ ¾ ¿
U+00B_ 00B0 00B1 00B2 00B3 00B4 00B5 00B6 00B7 00B8 00B9 00BA 00BB 00BC 00BD 00BE 00BF
À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï
U+00C_ 00C0 00C1 00C2 00C3 00C4 00C5 00C6 00C7 00C8 00C9 00CA 00CB 00CC 00CD 00CE 00CF
Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß
U+00D_ 00D0 00D1 00D2 00D3 00D4 00D5 00D6 00D7 00D8 00D9 00DA 00DB 00DC 00DD 00DE 00DF
à á â ã ä å æ ç è é ê ë ì í î ï
U+00E_ 00E0 00E1 00E2 00E3 00E4 00E5 00E6 00E7 00E8 00E9 00EA 00EB 00EC 00ED 00EE 00EF
ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ
U+00F_ 00F0 00F1 00F2 00F3 00F4 00F5 00F6 00F7 00F8 00F9 00FA 00FB 00FC 00FD 00FE 00FF
    Œ œ                        
U+015_ 0152 0153
Š š                            
U+016_ 0160 0161
                Ÿ         Ž ž  
U+017_ 0178 017D 017E
    ƒ                          
U+019_ 0192
                        ˜      
U+02D_ 02DC
                         
U+201_ 2010 2015 2016
                             
U+202_ 2027
                           
U+203_ 2030 203A
                         
U+20A_ 20A1 20A2 20AC
                             
U+20B_ 20B3
      °C           °F            
U+210_ 2103 2109
                           
U+215_ 2153 215F
                             
U+25A_ 25A1
                           
U+266_ 2669 266B

Players may support the extended G2 characters sets that map onto Unicode code points (See table).

 708 Code(s)   glyph  Unicode   Unicode Description  
 7F       266A    Eighth Note  
 1025       2026    Horizontal ellipsis  
 102A    Š    0160    Latin capital letter S with caron  
 102C    OE    0152    Latin capital ligature OE  
 1030       2588    Full block  
 1031       2018    Left single quotation mark  
 1032       2019    Right single quotation mark  
 1033       201C    Left double quotation mark  
 1034       201D    Right double quotation mark  
 1035       2022    Bullet  
 1039       2122    Trade mark sign  
 103A    š    0161    Latin small letter S with caron  
 103C    oe    0153    Latin small ligature OE  
 103D       2120    Service mark sign  
 103F    Ÿ    0178    Latin capital letter Y with dieresis 
 1076       215B    Vulgar fraction one eighth  
 1077       215C    Vulgar fraction three eighths  
 1078       215D    Vulgar fraction five eighths  
 1079       215E    Vulgar fraction seven eighths  
 107A       2502    Box drawings light vertical  
 107B       2510    Box drawings light down and left  
 107C       2514    Box drawings light up and right  
 107D       2500    Box drawings light horizontal  
 107E       2518    Box drawings light up and left  
 107F       250C    Box drawings light down and right 

Players may also provide Glyph coverage for additional Unicode code points

D. Color values

For color values of the form #rrggbbaa, players must support combinations where the rr, gg, bb components may be either 00 or ff; and the aa component may be 00, 54, A8 or FF. e.g: #00ffff54. Additionally players should support values for rr, gg, and bb of 54 or A8, and may support all possible values between 00 to ff.

Color Value
Black #000000ff
White #fffffffff
Red #ff0000ff
Green #00ff00ff
Blue #0000ffff
Yellow #ffff00ff
Magenta #ff00ffff
Cyan #00ffffff

E. Acknowledgements

Many thanks to Robin Berjon for providing the respec.js tool used to format this document.

F. References

F.1 Normative references

[TTAF1]
Glenn Adams, Ed. Timed Text Markup Language (TTML) 1.0 18 November 2010. W3C Recommendation URL: http://www.w3.org/TR/ttaf1-dfxp
[RFC2119]
S. Bradner. Key words for use in RFCs to Indicate Requirement Levels. March 1997. Internet RFC 2119. URL: http://www.ietf.org/rfc/rfc2119.txt

F.2 Informative references

[RFC2119]
CEA CEA-708-D Digital Television (DTV) Closed Captioning URL: http://www.ce.org/Standards/Standard-Listings/R4-3-Television-Data-Systems-Subcommittee/CEA-708-D.aspx
[ISO-8859-1]
ISO ISO-8859-1:1998 Information technology – 8-bit single-byte coded graphic character sets -- Part 1: Latin alphabet No. 1. URL: http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=28245