--- a/ttml-ww-profiles/ttml-ww-profiles.html Wed Dec 11 14:59:50 2013 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,2825 +0,0 @@
-<!DOCTYPE html>
-<html lang="en" dir="ltr" typeof="bibo:Document " about="" property="dcterms:language" content="en">
-<head>
- <meta charset="utf-8">
-
- <title>TTML Text and Image Profiles for Internet Media Subtitles and Captions</title>
-
-
- <style type="text/css">
-table.syntax { border: 0px solid black; width: 85%; border-collapse: collapse }
- table.syntax caption { font-weight: bold; text-align: left; padding-bottom: 0.5em }
- table.syntax th { border: 0px solid black; text-align: left }
- table.syntax td { border: 0px solid black }
- table.syntax div { background-color: #ffffc8 }
- div.exampleInner { background-color: #d5dee3;
- border-top-width: 4px;
- border-top-style: double;
- border-top-color: #d3d3d3;
- border-bottom-width: 4px;
- border-bottom-style: double;
- border-bottom-color: #d3d3d3;
- padding: 4px; margin: 0em }
- </style>
-<style>/*****************************************************************
- * ReSpec 3 CSS
- * Robin Berjon - http://berjon.com/
- *****************************************************************/
-
-/* --- INLINES --- */
-em.rfc2119 {
- text-transform: lowercase;
- font-variant: small-caps;
- font-style: normal;
- color: #900;
-}
-
-h1 acronym, h2 acronym, h3 acronym, h4 acronym, h5 acronym, h6 acronym, a acronym,
-h1 abbr, h2 abbr, h3 abbr, h4 abbr, h5 abbr, h6 abbr, a abbr {
- border: none;
-}
-
-dfn {
- font-weight: bold;
-}
-
-a.internalDFN {
- color: inherit;
- border-bottom: 1px solid #99c;
- text-decoration: none;
-}
-
-a.externalDFN {
- color: inherit;
- border-bottom: 1px dotted #ccc;
- text-decoration: none;
-}
-
-a.bibref {
- text-decoration: none;
-}
-
-cite .bibref {
- font-style: normal;
-}
-
-code {
- color: #ff4500;
-}
-
-/* --- TOC --- */
-.toc a, .tof a {
- text-decoration: none;
-}
-
-a .secno, a .figno {
- color: #000;
-}
-
-ul.tof, ol.tof {
- list-style: none outside none;
-}
-
-.caption {
- margin-top: 0.5em;
- font-style: italic;
-}
-
-/* --- TABLE --- */
-table.simple {
- border-spacing: 0;
- border-collapse: collapse;
- border-bottom: 3px solid #005a9c;
-}
-
-.simple th {
- background: #005a9c;
- color: #fff;
- padding: 3px 5px;
- text-align: left;
-}
-
-.simple th[scope="row"] {
- background: inherit;
- color: inherit;
- border-top: 1px solid #ddd;
-}
-
-.simple td {
- padding: 3px 10px;
- border-top: 1px solid #ddd;
-}
-
-.simple tr:nth-child(even) {
- background: #f0f6ff;
-}
-
-/* --- DL --- */
-.section dd > p:first-child {
- margin-top: 0;
-}
-
-.section dd > p:last-child {
- margin-bottom: 0;
-}
-
-.section dd {
- margin-bottom: 1em;
-}
-
-.section dl.attrs dd, .section dl.eldef dd {
- margin-bottom: 0;
-}
-</style><style>/* --- EXAMPLES --- */
-div.example-title {
- min-width: 7.5em;
- color: #b9ab2d;
-}
-div.example-title span {
- text-transform: uppercase;
-}
-aside.example, div.example, div.illegal-example {
- padding: 0.5em;
- margin: 1em 0;
- position: relative;
- clear: both;
-}
-div.illegal-example { color: red }
-div.illegal-example p { color: black }
-aside.example, div.example {
- padding: .5em;
- border-left-width: .5em;
- border-left-style: solid;
- border-color: #e0cb52;
- background: #fcfaee;
-}
-
-aside.example div.example {
- border-left-width: .1em;
- border-color: #999;
- background: #fff;
-}
-aside.example div.example div.example-title {
- color: #999;
-}
-</style><style>/* --- ISSUES/NOTES --- */
-div.issue-title, div.note-title {
- padding-right: 1em;
- min-width: 7.5em;
- color: #b9ab2d;
-}
-div.issue-title { color: #e05252; }
-div.note-title { color: #2b2; }
-div.issue-title span, div.note-title span {
- text-transform: uppercase;
-}
-div.note, div.issue {
- margin-top: 1em;
- margin-bottom: 1em;
-}
-.note > p:first-child, .issue > p:first-child { margin-top: 0 }
-.issue, .note {
- padding: .5em;
- border-left-width: .5em;
- border-left-style: solid;
-}
-div.issue, div.note {
- padding: 1em 1.2em 0.5em;
- margin: 1em 0;
- position: relative;
- clear: both;
-}
-span.note, span.issue { padding: .1em .5em .15em; }
-
-.issue {
- border-color: #e05252;
- background: #fbe9e9;
-}
-.note {
- border-color: #52e052;
- background: #e9fbe9;
-}
-
-
-</style><link href="https://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet"><!--[if lt IE 9]><script src='https://www.w3.org/2008/site/js/html5shiv.js'></script><![endif]--></head>
-
-<body id="respecDocument" role="document" class="h-entry"><div id="respecHeader" role="contentinfo" class="head">
- <p>
-
- <a href="http://www.w3.org/"><img src="https://www.w3.org/Icons/w3c_home" alt="W3C" height="48" width="72"></a>
-
- </p>
- <h1 class="title p-name" id="title" property="dcterms:title">TTML Text and Image Profiles for Internet Media Subtitles and Captions</h1>
-
- <h2 id="w3c-editor-s-draft-03-october-2013" property="dcterms:issued" datatype="xsd:dateTime" content="2013-10-03T16:58:15.000Z"><abbr title="World Wide Web Consortium">W3C</abbr> Editor's Draft <time class="dt-published" datetime="2013-10-03">03 October 2013</time></h2>
- <dl>
-
- <dt>This version:</dt>
- <dd><a class="u-url" href=""></a></dd>
- <dt>Latest published version:</dt>
- <dd><a href="http://www.w3.org/TR/ttml-ww-profiles/">http://www.w3.org/TR/ttml-ww-profiles/</a></dd>
-
-
-
-
-
-
-
-
-
- <dt>Editor:</dt>
- <dd class="p-author h-card vcard" rel="bibo:editor" inlist=""><span typeof="foaf:Person"><span property="foaf:name" class="p-name fn">Pierre Lemieux</span>, <span class="ed_mailto"><a class="u-email email" rel="foaf:mbox" href="mailto:pal@sandflow.com">pal@sandflow.com</a></span></span>
-</dd>
-
-
-
- </dl>
-
-
-
-
-
- <p class="copyright">
- <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> ©
- 2013
-
- <a href="http://www.w3.org/"><abbr title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup>
- (<a href="http://www.csail.mit.edu/"><abbr title="Massachusetts Institute of Technology">MIT</abbr></a>,
- <a href="http://www.ercim.eu/"><abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>,
- <a href="http://www.keio.ac.jp/">Keio</a>, <a href="http://ev.buaa.edu.cn/">Beihang</a>),
-
- All Rights Reserved.
-
- <abbr title="World Wide Web Consortium">W3C</abbr> <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
- <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and
- <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.
- </p>
-
-
- <hr>
-</div>
- <section rel="bibo:chapter" resource="#abstract" typeof="bibo:Chapter" datatype="" property="dcterms:abstract" class="introductory" id="abstract"><h2 id="h2_abstract" role="heading" aria-level="1">Abstract</h2>
- <p>This document specifies two profiles of [<cite><a href="#bib-TTML2" class="bibref">TTML2</a></cite>]: a text-only profile and an image-only
- profile. These profiles are intended to be used across subtitle and caption delivery applications worldwide, thereby
- simplifying interoperability, consistent rendering and conversion to other subtitling and captioning formats. The text profile
- is a superset of [<cite><a href="#bib-SDPUS" class="bibref">SDPUS</a></cite>].</p>
-
- <p>Both profiles are based on [<cite><a href="#bib-SUBM" class="bibref">SUBM</a></cite>].</p>
- </section><section rel="bibo:chapter" resource="#sotd" typeof="bibo:Chapter" id="sotd" class="introductory"><h2 id="h2_sotd" role="heading" aria-level="1">Status of This Document</h2>
-
-
-
- <p>
- <em>This section describes the status of this document at the time of its publication. Other
- documents may supersede this document. A list of current <abbr title="World Wide Web Consortium">W3C</abbr> publications and the latest revision
- of this technical report can be found in the <a href="http://www.w3.org/TR/"><abbr title="World Wide Web Consortium">W3C</abbr> technical reports
- index</a> at http://www.w3.org/TR/.</em>
- </p>
-
- <p>
- This document was published by the <a href="http://www.w3.org/AudioVideo/TT/">Timed Text Working Group</a> as an Editor's Draft.
-
-
- If you wish to make comments regarding this document, please send them to
- <a href="mailto:public-tt@w3.org">public-tt@w3.org</a>
- (<a href="mailto:public-tt-request@w3.org?subject=subscribe">subscribe</a>,
- <a href="http://lists.w3.org/Archives/Public/public-tt/">archives</a>).
-
-
-
-
- All comments are welcome.</p>
-
-
- <p>
- Publication as an Editor's Draft does not imply endorsement by the <abbr title="World Wide Web Consortium">W3C</abbr> 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.
- </p>
-
-
- <p>
-
- This document was produced by a group operating under the
-
- <a id="sotd_patent" about="" rel="w3p:patentRules" href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>.
-
-
-
-
-
- <abbr title="World Wide Web Consortium">W3C</abbr> maintains a <a href="http://www.w3.org/2004/01/pp-impl/34314/status" rel="disclosure">public list of any patent disclosures</a>
-
- 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
- <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential Claim(s)</a> must disclose the
- information in accordance with <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section
- 6 of the <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>.
-
-
- </p>
-
-
-
-
-</section><section id="toc"><h2 id="h2_toc" role="heading" aria-level="1" class="introductory">Table of Contents</h2><ul id="respecContents" role="directory" class="toc"><li class="tocline"><a class="tocxref" href="#scope"><span class="secno">1. </span>Scope</a></li><li class="tocline"><a class="tocxref" href="#conformance"><span class="secno">2. </span>Conformance</a></li><li class="tocline"><a class="tocxref" href="#profiles"><span class="secno">3. </span>Profiles</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#general"><span class="secno">3.1 </span>General</a></li><li class="tocline"><a class="tocxref" href="#text-profile"><span class="secno">3.2 </span>Text Profile</a></li><li class="tocline"><a class="tocxref" href="#image-profile"><span class="secno">3.3 </span>Image Profile</a></li></ul></li><li class="tocline"><a class="tocxref" href="#common-constraints"><span class="secno">4. </span>Common Constraints</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#document-encoding"><span class="secno">4.1 </span>Document Encoding</a></li><li class="tocline"><a class="tocxref" href="#namespaces"><span class="secno">4.2 </span>Namespaces</a></li><li class="tocline"><a class="tocxref" href="#related-video-object"><span class="secno">4.3 </span>Related Video Object</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#general-1"><span class="secno">4.3.1 </span>General</a></li><li class="tocline"><a class="tocxref" href="#root-container"><span class="secno">4.3.2 </span>Root Container</a></li><li class="tocline"><a class="tocxref" href="#synchronization"><span class="secno">4.3.3 </span>Synchronization</a></li></ul></li><li class="tocline"><a class="tocxref" href="#language"><span class="secno">4.4 </span>Language</a></li><li class="tocline"><a class="tocxref" href="#progressively-decodable"><span class="secno">4.5 </span>Progressively Decodable</a></li><li class="tocline"><a class="tocxref" href="#region"><span class="secno">4.6 </span>Region</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#presented-region"><span class="secno">4.6.1 </span>Presented Region</a></li><li class="tocline"><a class="tocxref" href="#dimensions-and-position"><span class="secno">4.6.2 </span>Dimensions and Position</a></li><li class="tocline"><a class="tocxref" href="#maximum-number"><span class="secno">4.6.3 </span>Maximum number</a></li></ul></li><li class="tocline"><a class="tocxref" href="#hypothetical-render-model"><span class="secno">4.7 </span>Hypothetical Render Model</a></li><li class="tocline"><a class="tocxref" href="#features"><span class="secno">4.8 </span>Features</a></li></ul></li><li class="tocline"><a class="tocxref" href="#text-profile-constraints"><span class="secno">5. </span>Text Profile Constraints</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#profile-designator-and-definition-document"><span class="secno">5.1 </span>Profile Designator and Definition Document</a></li><li class="tocline"><a class="tocxref" href="#features-1"><span class="secno">5.2 </span>Features</a></li></ul></li><li class="tocline"><a class="tocxref" href="#image-profile-constraints"><span class="secno">6. </span>Image Profile Constraints</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#profile-designator-and-definition-document-1"><span class="secno">6.1 </span>Profile Designator and Definition Document</a></li><li class="tocline"><a class="tocxref" href="#presented-image"><span class="secno">6.2 </span>Presented Image</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#definition"><span class="secno">6.2.1 </span>Definition</a></li><li class="tocline"><a class="tocxref" href="#number-per-region"><span class="secno">6.2.2 </span>Number per Region</a></li></ul></li><li class="tocline"><a class="tocxref" href="#div-element"><span class="secno">6.3 </span><code>div</code> element</a></li><li class="tocline"><a class="tocxref" href="#features-2"><span class="secno">6.4 </span>Features</a></li></ul></li><li class="tocline"><a class="tocxref" href="#hypothetical-render-model-1"><span class="secno">7. </span>Hypothetical Render Model</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#performance-model"><span class="secno">7.1 </span>Performance Model</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#overview"><span class="secno">7.1.1 </span>Overview</a></li><li class="tocline"><a class="tocxref" href="#general-2"><span class="secno">7.1.2 </span>General</a></li><li class="tocline"><a class="tocxref" href="#paint-regions"><span class="secno">7.1.3 </span>Paint Regions</a></li><li class="tocline"><a class="tocxref" href="#paint-images"><span class="secno">7.1.4 </span>Paint Images</a></li><li class="tocline"><a class="tocxref" href="#paint-text"><span class="secno">7.1.5 </span>Paint Text</a></li></ul></li><li class="tocline"><a class="tocxref" href="#layout-model"><span class="secno">7.2 </span>Layout Model</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#general-3"><span class="secno">7.2.1 </span>General</a></li><li class="tocline"><a class="tocxref" href="#reference-fonts"><span class="secno">7.2.2 </span>Reference Fonts</a></li><li class="tocline"><a class="tocxref" href="#line-height-and-centering"><span class="secno">7.2.3 </span>Line Height and Centering</a></li></ul></li></ul></li><li class="tocline"><a class="tocxref" href="#recommended-unicode-code-points-per-language"><span class="secno">A. </span>Recommended Unicode Code Points per Language</a></li><li class="tocline"><a class="tocxref" href="#typical-practice-for-subtitles-per-region-informative"><span class="secno">B. </span>Typical Practice for Subtitles per Region (Informative)</a></li><li class="tocline"><a class="tocxref" href="#schema"><span class="secno">C. </span>Schema</a></li><li class="tocline"><a class="tocxref" href="#references"><span class="secno">D. </span>References</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#normative-references"><span class="secno">D.1 </span>Normative references</a></li><li class="tocline"><a class="tocxref" href="#informative-references"><span class="secno">D.2 </span>Informative references</a></li></ul></li></ul></section>
-
- <section rel="bibo:chapter" resource="#scope" typeof="bibo:Chapter" id="scope">
- <!--OddPage--><h2 id="h2_scope" role="heading" aria-level="1"><span class="secno">1. </span>Scope</h2>
-
- <p>This document specifies two profiles of [<cite><a href="#bib-TTML2" class="bibref">TTML2</a></cite>]: a text-only profile and an image-only profile. These profiles are
- intended for subtitle and caption delivery worldwide, including dialog language translation, content description, captions for
- deaf and hard of hearing, etc.</p>
-
- <p>The profiles are strict subset of [<cite><a href="#bib-TTML2" class="bibref">TTML2</a></cite>] and the text-only profile a strict supersets of [<cite><a href="#bib-SDPUS" class="bibref">SDPUS</a></cite>].</p>
- </section>
-
- <section rel="bibo:chapter" resource="#conformance" typeof="bibo:Chapter" id="conformance"><!--OddPage--><h2 id="h2_conformance" role="heading" aria-level="1"><span class="secno">2. </span>Conformance</h2>
-<p>
- 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.
-</p>
-<p>
- The key words <em title="MUST" class="rfc2119">MUST</em>, <em title="MUST NOT" class="rfc2119">MUST NOT</em>, <em title="REQUIRED" class="rfc2119">REQUIRED</em>, <em title="SHOULD" class="rfc2119">SHOULD</em>, <em title="SHOULD NOT" class="rfc2119">SHOULD NOT</em>, <em title="RECOMMENDED" class="rfc2119">RECOMMENDED</em>, <em title="MAY" class="rfc2119">MAY</em>,
- and <em title="OPTIONAL" class="rfc2119">OPTIONAL</em> in this specification are to be interpreted as described in [<cite><a href="#bib-RFC2119" class="bibref">RFC2119</a></cite>].
-</p>
-
- <p>A subtitle document <em title="SHALL" class="rfc2119">SHALL</em> conform to a profile defined herein if it meets all normative provisions associated with the
- profile.</p>
-
- <p>A TTML presentation processor <em title="SHALL" class="rfc2119">SHALL</em> conform to a profile if it is capable of presenting any subtitle document conforming to
- the profile, i.e. if it implements all features and provisions of the profile</p>
- </section>
-
- <section id="profiles">
- <!--OddPage--><h2 id="h2_profiles" role="heading" aria-level="1"><span class="secno">3. </span>Profiles</h2>
-
- <section id="general">
- <h3 id="h3_general" role="heading" aria-level="2"><span class="secno">3.1 </span>General</h3>
-
- <p>A subtitle document <em title="SHALL NOT" class="rfc2119">SHALL NOT</em> conform to the Text and Image Profiles simultaneously.</p>
- </section>
-
- <section id="text-profile">
- <h3 id="h3_text-profile" role="heading" aria-level="2"><span class="secno">3.2 </span>Text Profile</h3>
-
- <p>A subtitle document conforming to the Text Profile <em title="SHALL" class="rfc2119">SHALL</em> conform to Sections <a class="sec-ref" href="#common-constraints"><span class="secno">4.</span> <span class="sec-title">Common Constraints</span></a> and
- <a class="sec-ref" href="#text-profile-constraints"><span class="secno">5.</span> <span class="sec-title">Text Profile Constraints</span></a>.</p>
- </section>
-
- <section id="image-profile">
- <h3 id="h3_image-profile" role="heading" aria-level="2"><span class="secno">3.3 </span>Image Profile</h3>
-
- <p>A subtitle document conforming to the Image Profile <em title="SHALL" class="rfc2119">SHALL</em> conform to Sections <a class="sec-ref" href="#common-constraints"><span class="secno">4.</span> <span class="sec-title">Common Constraints</span></a> and
- <a class="sec-ref" href="#image-profile-constraints"><span class="secno">6.</span> <span class="sec-title">Image Profile Constraints</span></a>.</p>
- </section>
- </section>
-
- <section id="common-constraints">
- <!--OddPage--><h2 id="h2_common-constraints" role="heading" aria-level="1"><span class="secno">4. </span>Common Constraints</h2>
-
- <section id="document-encoding">
- <h3 id="h3_document-encoding" role="heading" aria-level="2"><span class="secno">4.1 </span>Document Encoding</h3>
-
- <p>A subtitle document <em title="SHALL" class="rfc2119">SHALL</em> use UTF-8 character encoding as specified in [<cite><a href="#bib-UNICODE" class="bibref">UNICODE</a></cite>].</p>
- </section>
-
- <section id="namespaces">
- <h3 id="h3_namespaces" role="heading" aria-level="2"><span class="secno">4.2 </span>Namespaces</h3>
-
- <p>The following namespaces (see [<cite><a href="#bib-xml-names" class="bibref">xml-names</a></cite>]) are used in this specification:</p>
-
- <table class="simple">
- <thead>
- <tr>
- <th>Prefix</th>
-
- <th>Value</th>
- </tr>
- </thead>
-
- <tbody>
- <tr>
- <td>imsc</td>
-
- <td>http://www.w3.org/ns/ttml/profile/imsc</td>
- </tr>
- </tbody>
- </table>
-
- <p>The namespace prefix values defined above are for convenience and document instances may use any prefix value that
- conforms to [<cite><a href="#bib-xml-names" class="bibref">xml-names</a></cite>].</p>
- </section>
-
- <section id="related-video-object">
- <h3 id="h3_related-video-object" role="heading" aria-level="2"><span class="secno">4.3 </span>Related Video Object</h3>
-
- <section id="general-1">
- <h4 id="h4_general-1" role="heading" aria-level="3"><span class="secno">4.3.1 </span>General</h4>
-
- <p>A subtitle document <em title="MAY" class="rfc2119">MAY</em> be associated with a related video object, which <em title="SHALL" class="rfc2119">SHALL</em> consist of a sequence of frames, each a
- rectangular array of pixels.</p>
- </section>
-
- <section id="root-container">
- <h4 id="h4_root-container" role="heading" aria-level="3"><span class="secno">4.3.2 </span>Root Container</h4>
-
- <div class="issue"><div id="h_issue_1" role="heading" aria-level="4" class="issue-title"><span>Issue 1</span></div><p class="">See <a href="http://www.w3.org/AudioVideo/TT/tracker/issues/201">ISSUE-201</a> for a discussion of aspect
- ratio in the context of [<cite><a href="#bib-TTML2" class="bibref">TTML2</a></cite>].</p></div>
-
- <p>The root container of a subtitle document <em title="SHALL" class="rfc2119">SHALL</em> be mapped to the related video object frame according to the
- following:</p>
-
- <ol>
- <li>
- <p>If <code>ttp:aspectRatio</code> is present, the root container <em title="SHALL" class="rfc2119">SHALL</em> be mapped to a rectangular area within the
- related video object such that:</p>
-
- <ol style="list-style-type: lower-roman;">
- <li>the aspect ratio of the rectangular area is equal to <code>ttp:aspectRatio</code>,</li>
-
- <li>the center of the rectangular area is colocated with the center of the related video object frame,</li>
-
- <li>the rectangular area (including its boundary) is entirely within the related video object frame (including its boundary), and</li>
-
- <li>the rectangular area has a height or width equal to that of the related video object frame.</li>
- </ol>
- </li>
-
- <li>
- <p>Otherwise, the root container of a subtitle document <em title="SHALL" class="rfc2119">SHALL</em> be mapped to the related video object frame in its
- entirety. If <code>tts:extent</code> is present on the <code>tt</code> element, the extents of the root container <em title="SHALL" class="rfc2119">SHALL</em>
- be equal to the dimensions of the related video object frame.</p>
- </li>
- </ol>
-
- <p><code>ttp:aspectRatio</code> <em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be present if <code>tts:extent</code> is present.<br></p>
-
- <div class="note"><div id="h_note_1" role="heading" aria-level="4" class="note-title"><span>Note</span></div><p class="">As specified in Section <a class="sec-ref" href="#features"><span class="secno">4.8</span> <span class="sec-title">Features</span></a>, <code>tts:extent</code> is present if the <code>px</code>
- length measure is used anywhere within the document.</p></div>
-
- <p>Integer pixel positions on the related video object frame computed from real percentage length values <em title="SHALL" class="rfc2119">SHALL</em> use half-up
- rounding, i.e. round(x) = floor(x+0.5).</p>
- </section>
-
- <section id="synchronization">
- <h4 id="h4_synchronization" role="heading" aria-level="3"><span class="secno">4.3.3 </span>Synchronization</h4>
-
- <p>Each intermediate synchronic document of the subtitle document is intended to be displayed on a specific frame and
- removed on a specific frame of the related video object.</p>
-
- <p>A media time expression M <em title="SHALL" class="rfc2119">SHALL</em> correspond to the frame of the related video object with the presentation time that is
- the closest to, but not less, than M.</p>
-
- <p>If <code>ttp:frameRate</code> is specified, then the product of <code>ttp:frameRate</code> and
- <code>ttp:frameRateMultiplier</code> <em title="SHALL" class="rfc2119">SHALL</em> be the frame rate of the related video object.</p>
-
- <aside class="example"><div class="example-title"><span>Example 1</span></div>
- A media time expression of 00:00:05.1 corresponds to frame ceiling(5.1 × ( 1000 / 1001 × 30) = 153 of a related video
- object with a frame rate of 1000 / 1001 × 30 ≈ 29.97.
- </aside>
- </section>
- </section>
-
- <section id="language">
- <h3 id="h3_language" role="heading" aria-level="2"><span class="secno">4.4 </span>Language</h3>
-
- <p>All instances of the <code>xml:lang</code> attribute within a subtitle document <em title="SHALL" class="rfc2119">SHALL</em> have identical values.</p>
-
- <div class="note"><div id="h_note_2" role="heading" aria-level="3" class="note-title"><span>Note</span></div><p class=""><code>xml:lang</code> can have a value of "".</p></div>
- </section>
-
- <section id="progressively-decodable">
- <h3 id="h3_progressively-decodable" role="heading" aria-level="2"><span class="secno">4.5 </span>Progressively Decodable</h3>
-
- <p>A progressively decodable subtitle document is a subtitle document structured to facilitate processing before the document
- is received in its entirety. It shall conform to the following:</p>
-
- <ol>
- <li>elements appear in the document in increasing order according to their resolved begin time;</li>
-
- <li>no element references another element (i) occurring later in the document or (ii) with a later begin time; and</li>
-
- <li>a <code>imsc:progressivelyDecodable</code> attribute with value "true" is present on the <code>tt</code>
- element.</li>
- </ol>
-
- <p>The <code>imsc:progressivelyDecodable</code> attribute shall conform to the following syntax:</p>
-
- <table class="syntax">
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>imsc:progressivelyDecodable
- : "true"
- | "false"
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The initial value of <code>imsc:progressivelyDecodable</code> shall be "false".</p>
-
- <p>A <code>imsc:progressivelyDecodable</code> attribute with value "false" may be present on the <code>tt</code>
- element if the subtitle document is not a progressively decodable subtitle document.</p>
-
- <p>A <code>imsc:progressivelyDecodable</code> attribute is considered to be significant only when specified on the
- <code>tt</code> element.</p>
-
- <div class="note"><div id="h_note_3" role="heading" aria-level="3" class="note-title"><span>Note</span></div><p class="">The placement and use of <code>div</code>, <code>region</code> and <code>span</code> that contain time
- attributes, and (ii) the use of <code>set</code>.</p></div>
- </section>
-
- <section id="region">
- <h3 id="h3_region" role="heading" aria-level="2"><span class="secno">4.6 </span>Region</h3>
-
- <section id="presented-region">
- <h4 id="h4_presented-region" role="heading" aria-level="3"><span class="secno">4.6.1 </span>Presented Region</h4>
-
- <p>A region, as defined in [<cite><a href="#bib-TTML2" class="bibref">TTML2</a></cite>], <em title="SHALL" class="rfc2119">SHALL</em> be considered presented in a given intermediate synchronic document if all of
- the following conditions are true:</p>
-
- <ol>
- <li>
- <p><code>tts:opacity</code> is not equal to "0.0" for the region; and</p>
- </li>
-
- <li>
- <p><code>tts:display</code> is not "none"; and</p>
- </li>
-
- <li>
- <p>content is selected into the region or <code>tts:showBackground</code> is equal to "always" for the
- region.</p>
- </li>
- </ol>
-
- <div class="note"><div id="h_note_4" role="heading" aria-level="4" class="note-title"><span>Note</span></div><p class="">As specified in [<cite><a href="#bib-TTML2" class="bibref">TTML2</a></cite>], the initial value of <code>tts:opacity</code> is "1.0", the initial
- value of <code>tts:showBackground</code> is "always", and the initial value of <code>tts:display</code> is
- "auto"</p></div>
- </section>
-
- <section id="dimensions-and-position">
- <h4 id="h4_dimensions-and-position" role="heading" aria-level="3"><span class="secno">4.6.2 </span>Dimensions and Position</h4>
-
- <p>All regions <em title="SHALL" class="rfc2119">SHALL</em> be entirely contained within the root container, i.e. the intersection of the sets of coordinates belonging to a region (including its boundary) and the sets of coordinates belonging to the root container (including its boundary) is the set of coordinates belonging to the region (including its boundary).</p>
-
- <p>No two presented regions in a given intermediate synchronic document <em title="SHALL" class="rfc2119">SHALL</em> overlap, i.e. the intersection of the sets of coordinates within each region (including its boundary) is empty.</p>
- </section>
-
- <section id="maximum-number">
- <h4 id="h4_maximum-number" role="heading" aria-level="3"><span class="secno">4.6.3 </span>Maximum number</h4>
-
- <p>The number of presented regions in a given intermediate synchronic document <em title="SHALL" class="rfc2119">SHALL</em> be smaller than or equal to 4.</p>
- </section>
- </section>
-
- <section id="hypothetical-render-model">
- <h3 id="h3_hypothetical-render-model" role="heading" aria-level="2"><span class="secno">4.7 </span>Hypothetical Render Model</h3>
-
- <p>Any sequence of consecutive intermediate synchronic documents <em title="SHALL" class="rfc2119">SHALL</em> be reproducible without error by the Hypothetical
- Render Model specified in Section <a href="#h2_hypothetical-render-model-1"></a>.</p>
- </section>
-
- <section id="features">
- <h3 id="h3_features" role="heading" aria-level="2"><span class="secno">4.8 </span>Features</h3>
-
- <p>Unless specified otherwise, the features included in a subtitle document <em title="SHALL" class="rfc2119">SHALL</em> conform to the Table below:</p>
-
- <table class="simple">
- <thead>
- <tr>
- <th>Feature</th>
-
- <th>Provisions</th>
- </tr>
- </thead>
-
- <tbody>
- <tr>
- <td><code>#animation</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#cellResolution</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#clockMode</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#content</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#core</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#display-block</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#display-inline</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#display-region</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#display</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#dropMode</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#extent-region</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used. The <code>tts:extent</code> attribute <em title="SHALL" class="rfc2119">SHALL</em> be present on all <code>region</code> elements.</td>
- </tr>
-
- <tr>
- <td><code>#extent-root</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used. If the document includes any length value that uses the <code>px</code> expression,
- <code>tts:extent</code> <em title="SHALL" class="rfc2119">SHALL</em> be present on the <code>tt</code> element.</td>
- </tr>
-
- <tr>
- <td><code>#extent</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#frameRate</code></td>
-
- <td>If the document includes any time expression that uses the frame field, the <code>ttp:frameRate</code> attribute
- <em title="SHALL" class="rfc2119">SHALL</em> be present on the <code>tt</code> element.</td>
- </tr>
-
- <tr>
- <td><code>#frameRateMultiplier</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#layout</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#length-cell</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#length-integer</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#length-negative</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#length-percentage</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#length-pixel</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#length-positive</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#length-real</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#length</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#markerMode</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#metadata</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#opacity</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#origin</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#overflow</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#pixelAspectRatio</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#presentation</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#profile</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#showBackground</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#structure</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#styling-chained</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#styling-inheritance-content</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#styling-inheritance-region</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#styling-inline</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#styling-nested</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#styling-referential</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#styling</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#subFrameRate</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#tickRate</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used. <code>ttp:tickRate</code> <em title="SHALL" class="rfc2119">SHALL</em> be present on the <code>tt</code> element if the
- #time-offset-with-ticks feature is used in the document.</td>
- </tr>
-
- <tr>
- <td><code>#timeBase-clock</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#timeBase-media</code></td>
-
- <td><em title="SHALL" class="rfc2119">SHALL</em> be used. <code>ttp:timeBase</code> <em title="SHALL" class="rfc2119">SHALL</em> be present on the <code>tt</code> element and <em title="SHALL" class="rfc2119">SHALL</em> be equal to
- "media".</td>
- </tr>
-
- <tr>
- <td><code>#timeBase-smpte</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#time-clock-with-frames</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#time-clock</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#time-offset-with-frames</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#time-offset-with-ticks</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#time-offset</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#timeContainer</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#timing</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used. The same syntax of <code>#clock-time</code> or <code>#offset-time</code> <em title="SHOULD" class="rfc2119">SHOULD</em> be used throughout the
- subtitle document.</td>
- </tr>
-
- <tr>
- <td><code>#transformation</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#unicodeBidi</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#visibility-block</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#visibility-inline</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#visibility-region</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#visibility</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#writingMode-horizontal-lr</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#writingMode-horizontal-rl</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#writingMode-horizontal</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#writingMode</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#zIndex</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#aspectRatio</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#forcedDisplay</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
- </tbody>
- </table>
-
- <div class="issue"><div id="h_issue_2" role="heading" aria-level="3" class="issue-title"><span>Issue 2</span></div><p class="">See <a href="http://www.w3.org/AudioVideo/TT/tracker/issues/230">ISSUE-230</a> for a description of
- <code>#forcedDisplay</code></p></div>
-
- <div class="note"><div id="h_note_5" role="heading" aria-level="3" class="note-title"><span>Note</span></div><p class="">As specified in [<cite><a href="#bib-TTML2" class="bibref">TTML2</a></cite>], a <code>#time-offset-with-frames</code> expression is translated to a media time
- M according to M = 3600 · hours + 60 · minutes + seconds + (frames ÷ (<code>ttp:frameRateMultiplier</code> ·
- <code>ttp:frameRate</code>)).</p></div>
- </section>
- </section>
-
- <section id="text-profile-constraints">
- <!--OddPage--><h2 id="h2_text-profile-constraints" role="heading" aria-level="1"><span class="secno">5. </span>Text Profile Constraints</h2>
-
- <section id="profile-designator-and-definition-document">
- <h3 id="h3_profile-designator-and-definition-document" role="heading" aria-level="2"><span class="secno">5.1 </span>Profile Designator and Definition Document</h3>
-
- <div class="issue"><div id="h_issue_3" role="heading" aria-level="3" class="issue-title"><span>Issue 3</span></div><p class="">This Section is a placeholder and will be revisited based the outcome of the [<cite><a href="#bib-TTML2" class="bibref">TTML2</a></cite>] profile discussions.</p></div>
-
- <p>A subtitle document conforming to the Text Profile <em title="SHALL" class="rfc2119">SHALL</em> be associated with the following profile designator and profile
- definition document:</p>
- <pre><?xml version="1.0" encoding="utf-8"?>
-<profile designator="http://www.w3.org/ns/ttml/profile/imsc/text/designator" xmlns="http://www.w3.org/ns/ttml#parameter">
- <extensions>
- <extension>http://www.w3.org/ns/ttml/profile/imsc/text/feature#all</extension>
- </extensions>
-</profile>
-</pre>
- </section>
-
- <section id="features-1">
- <h3 id="h3_features-1" role="heading" aria-level="2"><span class="secno">5.2 </span>Features</h3>
-
- <div class="issue"><div id="h_issue_4" role="heading" aria-level="3" class="issue-title"><span>Issue 4</span></div><p class="">The following assumes, but does not require, the porting of the [<cite><a href="#bib-ST2052-1" class="bibref">ST2052-1</a></cite>] <code>#backgroundImage</code>
- features to [<cite><a href="#bib-TTML2" class="bibref">TTML2</a></cite>]. See <a href="http://www.w3.org/AudioVideo/TT/tracker/issues/238">ISSUE-238</a>.</p></div>
-
- <p>The features included in a subtitle document <em title="SHALL" class="rfc2119">SHALL</em> conform to the Table below:</p>
-
- <table class="simple">
- <thead>
- <tr>
- <th>Feature</th>
-
- <th>Provisions</th>
- </tr>
- </thead>
-
- <tbody>
- <tr>
- <td><code>#backgroundColor-block</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#backgroundColor-inline</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#backgroundColor-region</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#backgroundColor</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#backgroundImage</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#backgroundImageHorizontal</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#backgroundImageVertical</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#bidi</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#color</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used. The initial value of <code>tts:color</code> <em title="SHALL" class="rfc2119">SHALL</em> be "white".</td>
- </tr>
-
- <tr>
- <td><code>#direction</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#displayAlign</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used. The initial value of <code>tts:displayAlign</code> <em title="SHALL" class="rfc2119">SHALL</em> be "after" for the default region, as defined in [<cite><a href="#bib-TTML2" class="bibref">TTML2</a></cite>].</td>
- </tr>
-
- <tr>
- <td><code>#extent-region</code></td>
-
- <td>
- The <code>tts:extent</code> attribute when applied to a region element <em title="SHALL" class="rfc2119">SHALL</em> use <code>px</code> units or
- "percentage" representation, and <em title="SHALL NOT" class="rfc2119">SHALL NOT</em> use <code>em</code> units.<br>
- Section <a class="sec-ref" href="#layout-model"><span class="secno">7.2</span> <span class="sec-title">Layout Model</span></a> <em title="SHOULD" class="rfc2119">SHOULD</em> be used to calculate a region extent that avoids clipping.
- </td>
- </tr>
-
- <tr>
- <td><code>#fontFamily-generic</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used. A <code>tts:fontFamily</code> of either "monospaceSerif" or
- "proportionalSansSerif" <em title="SHOULD" class="rfc2119">SHOULD</em> be specified for all presented text content. A tts:fontFamily of
- "default" <em title="SHALL" class="rfc2119">SHALL</em> be equivalent to "monospaceSerif".</td>
- </tr>
-
- <tr>
- <td><code>#fontFamily-non-generic</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#fontFamily</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#fontSize-anamorphic</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#fontSize-isomorphic</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#fontSize</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#fontStyle-italic</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#fontStyle-oblique</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#fontStyle</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#fontWeight-bold</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#fontWeight</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#image</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#length-em</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#lineBreak-uax14</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#lineHeight</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#nested-div</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#nested-span</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#origin</code></td>
-
- <td>The <code>tts:origin</code> attribute <em title="SHALL" class="rfc2119">SHALL</em> use <code>px</code> units or "percentage" representation, and
- <em title="SHALL NOT" class="rfc2119">SHALL NOT</em> use <code>em</code> units.</td>
- </tr>
-
- <tr>
- <td><code>#padding-1</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#padding-2</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#padding-3</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#padding-4</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#padding</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#textAlign-absolute</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#textAlign-relative</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#textAlign</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used. The initial value of <code>tts:textAlign</code> <em title="SHALL" class="rfc2119">SHALL</em> be "center" for the default region, as defined in [<cite><a href="#bib-TTML2" class="bibref">TTML2</a></cite>].</td>
- </tr>
-
- <tr>
- <td><code>#textDecoration-over</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#textDecoration-through</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#textDecoration-under</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#textDecoration</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#textOutline-blurred</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#textOutline-unblurred</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#textOutline</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used. If specified, the border thickness <em title="SHALL" class="rfc2119">SHALL</em> be 10% or less than the associated font size.</td>
- </tr>
-
- <tr>
- <td><code>#wrapOption</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#writingMode-vertical</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used.</td>
- </tr>
- </tbody>
- </table>
-
- <div class="note"><div id="h_note_6" role="heading" aria-level="3" class="note-title"><span>Note</span></div><p class="">The initial values specified for <code>tts:color</code>, <code>tts:displayAlign</code> are those specified by [<cite><a href="#bib-ST2052-1" class="bibref">ST2052-1</a></cite>].</p></div>
- </section>
- </section>
-
- <section id="image-profile-constraints">
- <!--OddPage--><h2 id="h2_image-profile-constraints" role="heading" aria-level="1"><span class="secno">6. </span>Image Profile Constraints</h2>
-
- <section id="profile-designator-and-definition-document-1">
- <h3 id="h3_profile-designator-and-definition-document-1" role="heading" aria-level="2"><span class="secno">6.1 </span>Profile Designator and Definition Document</h3>
-
- <div class="issue"><div id="h_issue_5" role="heading" aria-level="3" class="issue-title"><span>Issue 5</span></div><p class="">This Section is a placeholder and will be revisited based the outcome of the [<cite><a href="#bib-TTML2" class="bibref">TTML2</a></cite>] profile discussions.</p></div>
-
- <p>A subtitle document conforming to the Image Profile <em title="SHALL" class="rfc2119">SHALL</em> be associated with the following profile designator and profile
- definition document:</p>
- <pre><?xml version="1.0" encoding="utf-8"?>
-<profile designator="http://www.w3.org/ns/ttml/profile/imsc/image/designator" xmlns="http://www.w3.org/ns/ttml#parameter">
- <extensions>
- <extension>http://www.w3.org/ns/ttml/profile/definition/imsc/image/feature#all</extension>
- </extensions>
-</profile>
-</pre>
- </section>
-
- <section id="presented-image">
- <h3 id="h3_presented-image" role="heading" aria-level="2"><span class="secno">6.2 </span>Presented Image</h3>
-
- <section id="definition">
- <h4 id="h4_definition" role="heading" aria-level="3"><span class="secno">6.2.1 </span>Definition</h4>
-
- <p>A presented image <em title="SHALL" class="rfc2119">SHALL</em> be a <code>div</code> element with a smpte:backgroundImage attribute that is contained within a
- presented region.</p>
- </section>
-
- <section id="number-per-region">
- <h4 id="h4_number-per-region" role="heading" aria-level="3"><span class="secno">6.2.2 </span>Number per Region</h4><!-- start CFF-TT 1.0.7 -->
-
- <p>In a given synchronic document, there shall be at most one presented image per presented region.</p>
- <!-- end CFF-TT 1.0.7 -->
- </section>
- </section>
-
- <section id="div-element">
- <h3 id="h3_div-element" role="heading" aria-level="2"><span class="secno">6.3 </span><code>div</code> element</h3>
-
- <p>If a <code>tts:backgroundImage</code> attribute is applied to a <code>div</code> element, the width and height of the
- region extent associated with the <code>div</code> element <em title="SHALL" class="rfc2119">SHALL</em> be present and <em title="SHALL" class="rfc2119">SHALL</em> be equal to the width and height of the
- image source referenced by the <code>tts:backgroundImage</code>.</p>
- </section>
-
- <section id="features-2">
- <h3 id="h3_features-2" role="heading" aria-level="2"><span class="secno">6.4 </span>Features</h3>
-
- <div class="issue"><div id="h_issue_6" role="heading" aria-level="3" class="issue-title"><span>Issue 6</span></div><p class="">The following assumes, but does not require, the porting of the [<cite><a href="#bib-ST2052-1" class="bibref">ST2052-1</a></cite>] <code>#backgroundImage</code>
- features to [<cite><a href="#bib-TTML2" class="bibref">TTML2</a></cite>]. See <a href="http://www.w3.org/AudioVideo/TT/tracker/issues/238">ISSUE-238</a>.</p></div>
-
-
- <p>The features included in a subtitle document <em title="SHALL" class="rfc2119">SHALL</em> conform to the Table below:</p>
-
- <table class="simple">
- <thead>
- <tr>
- <th>Feature</th>
-
- <th>Provisions</th>
- </tr>
- </thead>
-
- <tbody>
- <tr>
- <td><code>#backgroundImage</code></td>
-
- <td><em title="MAY" class="rfc2119">MAY</em> be used. The backgroundImage attribute <em title="SHALL" class="rfc2119">SHALL</em> reference a complete image that conforms to the PNG image coding
- as specified in Sections 7.1.1.3 and 15.1 of [<cite><a href="#bib-MHP" class="bibref">MHP</a></cite>].<br>
- If a pHYs chunk is present, it <em title="SHALL" class="rfc2119">SHALL</em> indicate square pixels. Note: If no pixel aspect ratio is carried, the default of
- square pixels will be assumed.</td>
- </tr>
-
- <tr>
- <td><code>#backgroundImageHorizontal</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used. <code>#backgroundImage</code> remains available for use.</td>
- </tr>
-
- <tr>
- <td><code>#backgroundImageVertical</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used. <code>#backgroundImage</code> remains available for use.</td>
- </tr>
-
- <tr>
- <td><code>#bidi</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#color</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#content</code></td>
-
- <td>The <code>p</code>, <code>span</code> and <code>br</code> elements <em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be present.</td>
- </tr>
-
- <tr>
- <td><code>#direction</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#displayAlign</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#fontFamily</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#fontSize</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#fontStyle</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#fontWeight</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#image</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#length-em</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#lineBreak-uax14</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#lineHeight</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#nested-div</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#nested-span</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#padding</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#textAlign</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#textDecoration</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#textOutline</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#wrapOption</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
-
- <tr>
- <td><code>#writingMode-vertical</code></td>
-
- <td><em title="SHALL NOT" class="rfc2119">SHALL NOT</em> be used.</td>
- </tr>
- </tbody>
- </table>
- </section>
- </section>
-
- <section id="hypothetical-render-model-1">
- <!--OddPage--><h2 id="h2_hypothetical-render-model-1" role="heading" aria-level="1"><span class="secno">7. </span>Hypothetical Render Model</h2>
-
- <section id="performance-model">
- <h3 id="h3_performance-model" role="heading" aria-level="2"><span class="secno">7.1 </span>Performance Model</h3>
-
- <section id="overview">
- <h4 id="h4_overview" role="heading" aria-level="3"><span class="secno">7.1.1 </span>Overview</h4>
-
- <p>This Section specifies the Hypothetical Render Model illustrated in <a class="fig-ref" href="#fig-hypothetical-render-model">Fig. <span class="figno">1</span> <span class="fig-title">
- Hypothetical Render Model
- </span></a>.</p>
-
- <p>The purpose of the model is to limit subtitle document complexity. It is not however intended to serve as basis for
- implementation. For instance, while the model defines a glyph buffer for the purpose of limiting the number of glyphs
- displayed at any given point in time, it does not require an implementation to implement such a buffer.</p>
-
- <figure id="fig-hypothetical-render-model">
- <img src="hypothetical-render-figure-1.png" alt="Hypothetical Render Model">
-
- <figcaption>Fig. <span class="figno">1</span> <span class="fig-title">
- Hypothetical Render Model
- </span></figcaption>
- </figure>
-
- <p>The model operates on successive intermediate synchronic documents obtained from an input subtitle document, and uses a
- simple double buffering model: while an intermediate synchronic document E<sub>n</sub> is being painted into Presentation
- Buffer P<sub>n</sub> (the "front buffer" of the model), the previous intermediate synchronic document
- E<sub>n-1</sub> is available for display in Presentation Buffer P<sub>n-1</sub> (the "back buffer" of the
- model).</p>
-
- <p>The model specifies an (hypothetical) time required for completely painting an intermediate synchronic document as a
- proxy for complexity. Painting includes drawing region backgrounds, rendering and copying glyphs, and decoding and copying
- images. Complexity is then limited by requiring that painting of intermediate synchronic document E<sub>n</sub> completes
- before the end of intermediate synchronic document E<sub>n-1</sub>.</p>
-
- <p>Whenever applicable, constraints are specified relative to root container dimensions, allowing subtitle sequences to be
- authored independently of related video object resolution.</p>
-
- <p>To enables scenarios where the same glyphs are used in multiple successive intermediate synchronic documents, e.g. to
- convey a CEA-608/708-style roll-up (see [<cite><a href="#bib-CEA-608" class="bibref">CEA-608</a></cite>] and [<cite><a href="#bib-CEA-708" class="bibref">CEA-708</a></cite>]), the Glyph Buffers G<sub>n</sub> and G<sub>n-1</sub>
- store rendered glyphs across intermediate synchronic documents, allowing glyphs to be copied into the Presentation Buffer
- instead of rendered, a more costly operation.</p>
-
- <p>Similarly, Decoded Image Buffers D<sub>n</sub> and D<sub>n-1</sub> store decoded images across intermediate synchronic
- documents, allowing images to be copied into the Presentation Buffer instead of decoded.</p>
- </section>
-
- <section id="general-2">
- <h4 id="h4_general-2" role="heading" aria-level="3"><span class="secno">7.1.2 </span>General</h4>
-
- <p>The Presentation Compositor <em title="SHALL" class="rfc2119">SHALL</em> render in Presentation Buffer P<sub>n</sub> each successive intermediate synchronic
- document E<sub>n</sub> using the following steps in order:</p>
-
- <ol>
- <li>clear the pixels, except for the first intermediate synchronic document E<sub>0</sub> for the which the pixels of
- P<sub>0</sub> <em title="SHALL" class="rfc2119">SHALL</em> be assumed to have been cleared;</li>
-
- <li>paint, according to stacking order, all background pixels for each region;</li>
-
- <li>paint all pixels for background colors associated with text or image subtitle content; and</li>
-
- <li>paint the text or image subtitle content.</li>
- </ol>
-
- <p>The Presentation Compositor <em title="SHALL" class="rfc2119">SHALL</em> start rendering E<sub>n</sub>:</p>
-
- <ul>
- <li>at the presentation time of E<sub>0</sub> minus Initial Painting Delay (IPD), if n = 0</li>
-
- <li>at the presentation time of E<sub>n-1</sub>, if n > 0</li>
- </ul>
-
- <p>The duration DUR(E<sub>n</sub>) for painting an intermediate synchronic document E<sub>n</sub> in the Presentation
- Buffer P<sub>n</sub> <em title="SHALL" class="rfc2119">SHALL</em> be:</p>
-
- <p>DUR(E<sub>n</sub>) = S(E<sub>n</sub>) / BDraw + DUR<sub>T</sub>(E<sub>n</sub>) + DUR<sub>I</sub>(E<sub>n</sub>)</p>
-
- <p>Where:</p>
-
- <ul>
- <li>S(E<sub>n</sub>) is the total normalized drawing area for intermediate synchronic document E<sub>n</sub>, as
- specified in <a class="sec-ref" href="#paint-regions"><span class="secno">7.1.3</span> <span class="sec-title">Paint Regions</span></a>
- </li>
-
- <li>BDraw is the normalized background drawing performance factor.</li>
-
- <li>DUR<sub>T</sub>(E<sub>n</sub>) is the duration, in seconds, for painting the text subtitle content for intermediate
- synchronic document E<sub>n</sub>, as specified in Section <a class="sec-ref" href="#paint-text"><span class="secno">7.1.5</span> <span class="sec-title">Paint Text</span></a>
- </li>
-
- <li>DUR<sub>I</sub>(E<sub>n</sub>) is the duration, in seconds, for painting the image subtitle content for intermediate
- synchronic document E<sub>n</sub>, as specified in Section <a class="sec-ref" href="#paint-images"><span class="secno">7.1.4</span> <span class="sec-title">Paint Images</span></a>
- </li>
- </ul>
-
- <p>The contents of the Presentation Buffer P<sub>n</sub> <em title="SHALL" class="rfc2119">SHALL</em> be transferred instantaneously to Presentation Buffer
- P<sub>n-1</sub> at the presentation time of intermediate synchronic document E<sub>n</sub>, making the latter available for
- display.</p>
-
- <div class="note"><div id="h_note_7" role="heading" aria-level="4" class="note-title"><span>Note</span></div><p class="">It is possible for the contents of Presentation Buffer P<sub>n-1</sub> to never be displayed. This can
- happen if Presentation Buffer P<sub>n</sub> is copied twice to Presentation Buffer P<sub>n-1</sub> between two consecutive
- video frame boundaries of the related video object.</p></div>
-
- <p>It <em title="SHALL" class="rfc2119">SHALL</em> be an error for the Presentation Compositor to fail to complete painting pixels for E<sub>n</sub> before the
- presentation time of E<sub>n</sub>.</p>
-
- <p>Unless specified otherwise, the following table <em title="SHALL" class="rfc2119">SHALL</em> specify values for IPD and BDraw.</p>
-
- <table class="simple">
- <thead>
- <tr>
- <th>Parameter</th>
-
- <th>Initial value</th>
- </tr>
- </thead>
-
- <tbody>
- <tr>
- <td>Initial Painting Delay (IPD)</td>
-
- <td>1 s</td>
- </tr>
-
- <tr>
- <td>Normalized background drawing performance factor (BDraw)</td>
-
- <td>12 s<sup>-1</sup></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note"><div id="h_note_8" role="heading" aria-level="4" class="note-title"><span>Note</span></div><p class="">BDraw effectively sets a limit on fillings regions - for example, assuming that the root container is
- ultimately rendered at 1920×1080 resolution, a BDraw of 12 s<sup>-1</sup> would correspond to a fill rate of
- 1920×1080×12/s=23.7×2<sup>20</sup>pixels s<sup>-1</sup>.</p></div>
-
- <div class="note"><div id="h_note_9" role="heading" aria-level="4" class="note-title"><span>Note</span></div><p class="">IPD effectively sets a limit on the complexity of any given intermediate synchronic document.</p></div>
- </section>
-
- <section id="paint-regions">
- <h4 id="h4_paint-regions" role="heading" aria-level="3"><span class="secno">7.1.3 </span>Paint Regions</h4>
-
- <p>The total normalized drawing area S(E<sub>n</sub>) for intermediate synchronic document E<sub>n</sub> <em title="SHALL" class="rfc2119">SHALL</em> be</p>
-
- <p>S(E<sub>n</sub>) = CLEAR(E<sub>n</sub>) + PAINT(E<sub>n</sub> )</p>
-
- <p>where CLEAR(E<sub>0</sub>) = 0 and CLEAR(E<sub>n | n > 0</sub>) = 1, i.e. the root container in its entirety.</p>
-
- <div class="note"><div id="h_note_10" role="heading" aria-level="4" class="note-title"><span>Note</span></div><p class="">To ensure consistency of the Presentation Buffer, a new intermediate synchronic document requires clearing
- of the root container.</p></div>
-
- <p>PAINT(E<sub>n</sub>) <em title="SHALL" class="rfc2119">SHALL</em> be the normalized area to be painted for all regions that are used in intermediate synchronic
- document E<sub>n</sub> according to</p>
-
- <p>PAINT(E<sub>n</sub>) = ∑<sub>R<sub>i</sub>∈R<sub>p</sub></sub> SIZE(R<sub>i</sub>) ∙ NBG(R<sub>i</sub>)</p>
-
- <p>where R_p <em title="SHALL" class="rfc2119">SHALL</em> be the set of regions presented in the intermediate synchronic document E<sub>n</sub> – see Section
- <a class="sec-ref" href="#presented-region"><span class="secno">4.6.1</span> <span class="sec-title">Presented Region</span></a> for the definition of presented region.</p>
-
- <p>NSIZE(R<sub>i</sub>) <em title="SHALL" class="rfc2119">SHALL</em> be given by:</p>
-
- <p>NSIZE(R<sub>i</sub>) = (width of R<sub>i</sub> ∙ height of R<sub>i</sub> ) ÷ (root container height ∙ root
- container width)</p>
-
- <aside class="example"><div class="example-title"><span>Example 2</span></div>
- For a region R<sub>i</sub> in with <code>tts:extent="250px 50px"</code> within a root container with
- <code>tts:extent="1920px 1080px"</code>, NSIZE(R<sub>i</sub>) = 0.603.
- </aside>
-
- <p>NBG(R<sub>i</sub>) <em title="SHALL" class="rfc2119">SHALL</em> be the total number of <code>tts:backgroundColor</code> attributes associated with the given
- region R<sub>i</sub> in the intermediate synchronic document. A <code>tts:backgroundColor</code> attribute is associated
- with a region when it is explicitly specified (either as an attribute in the element, or by reference to a declared style)
- in the following circumstances:</p>
-
- <ul>
- <li>It is specified on the <code>region</code> layout element that defines the region.</li>
-
- <li>It is specified on a <code>div</code>, <code>p</code>, <code>span</code> or <code>br</code> content element that is
- to be flowed into the region for presentation in the intermediate synchronic document (see [<cite><a href="#bib-TTML2" class="bibref">TTML2</a></cite>] for more details on
- when a content element is followed into a region).</li>
-
- <li>It is specified on a <code>set</code> animation element that is to be applied to content elements that are to be
- flowed into the region for presentation in the intermediate synchronic document (see [<cite><a href="#bib-TTML2" class="bibref">TTML2</a></cite>] for more details on when
- a <code>set</code> animation element is applied to content elements).</li>
- </ul>
-
- <p>Even if a specified <code>tts:backgroundColor</code> is the same as specified on the nearest ancestor content element or
- animation element, specifying any <code>tts:backgroundColor</code> <em title="SHALL" class="rfc2119">SHALL</em> require an additional fill operation for all
- region pixels.</p>
- </section>
-
- <section id="paint-images">
- <h4 id="h4_paint-images" role="heading" aria-level="3"><span class="secno">7.1.4 </span>Paint Images</h4>
-
- <p>The Presentation Compositor <em title="SHALL" class="rfc2119">SHALL</em> paint into the Presentation Buffer P<sub>n</sub> all visible pixels of presented
- images of intermediate synchronic document E<sub>n</sub>.</p>
-
- <p>For each presented image, the Presentation Compositor <em title="SHALL" class="rfc2119">SHALL</em> either:</p>
-
- <ul>
- <li>if an identical image is present in Decoded Image Buffer D<sub>n</sub>, copy the image from Decoded Image Buffer
- D<sub>n</sub> to the Presentation Buffer P<sub>n</sub> using the Image Copier; or</li>
-
- <li>if an identical image is present in Decoded Image Buffer D<sub>n-1</sub>, i.e. an identical image was present in
- intermediate synchronic document E<sub>n-1</sub>, copy using the Image Copier the glyph from Decoded Image Buffer
- D<sub>n-1</sub> to both the Decoded Image Buffer D<sub>n</sub> and the Presentation Buffer P<sub>n</sub>; or</li>
-
- <li>Otherwise, decode the image using the Image Decoder the image into the Presentation Buffer P<sub>n</sub> and Decoded
- Image Buffer D<sub>n</sub>.</li>
- </ul>
-
- <p>Two images <em title="SHALL" class="rfc2119">SHALL</em> be identical if and only if they reference the same encoded image source.</p>
-
- <p>The duration DUR<sub>I</sub>(E<sub>n</sub>) for painting images of an intermediate synchronic document E<sub>n</sub> in
- the Presentation Buffer <em title="SHALL" class="rfc2119">SHALL</em> be as follows:</p>
-
- <p>DUR<sub>I</sub>(E<sub>n</sub>) = ∑<sub>I<sub>i</sub> ∈ I<sub>c</sub></sub> NRGA(I<sub>i</sub>) / ICpy +
- ∑<sub>I<sub>j</sub> ∈ I<sub>d</sub></sub> NSIZ(I<sub>j</sub>) / IDec</p>
-
- <p>where</p>
-
- <ul>
- <li>I<sub>c</sub> is the set of images copied when painting intermediate synchronic document E<sub>n</sub></li>
-
- <li>I<sub>d</sub> is the set of images decoded when painting intermediate synchronic document E<sub>n</sub></li>
-
- <li>IDec is the image decoding rate</li>
-
- <li>ICpy is the normalized image copy performance factor.</li>
- </ul>
-
- <p>NRGA(I<sub>i</sub>) is the Normalized Image Area of presented image I<sub>i</sub> and <em title="SHALL" class="rfc2119">SHALL</em> be equal to:</p>
-
- <p>NRGA(I<sub>i</sub>)= (width of I<sub>i</sub> ) ∙ height of I<sub>i</sub> ) ÷ ( root container height ∙ root
- container width )</p>
-
- <p>NSIZ(I<sub>i</sub>) <em title="SHALL" class="rfc2119">SHALL</em> be the number of pixels of presented image I<sub>i</sub>.</p>
-
- <p>The contents of the Decoded Image Buffer D<sub>n</sub> <em title="SHALL" class="rfc2119">SHALL</em> be transferred instantaneously to Decoded Image Buffer
- D<sub>n-1</sub> at the presentation time of intermediate synchronic document E<sub>n</sub>.</p>
-
- <p>The total size occupied by images stored in Decoded Image Buffers D<sub>n</sub> or D<sub>n-1</sub> <em title="SHALL" class="rfc2119">SHALL</em> be the sum of
- their Normalized Image Area.</p>
-
- <p>The size of Decoded Image Buffers D<sub>n</sub> or D<sub>n-1</sub> <em title="SHALL" class="rfc2119">SHALL</em> be the Normalized Decoded Image Buffer Size
- (NDIBS).</p>
-
- <p>Unless specified otherwise, the following table <em title="SHALL" class="rfc2119">SHALL</em> specify ICpy, Idec, and NDBIS.</p>
-
- <table class="simple">
- <thead>
- <tr>
- <th>Parameter</th>
-
- <th>Initial value</th>
- </tr>
- </thead>
-
- <tbody>
- <tr>
- <td>Normalized image copy performance factor (ICpy)</td>
-
- <td>6</td>
- </tr>
-
- <tr>
- <td>Image Decoding rate (Idec)</td>
-
- <td>1 × 2<sup>20</sup> pixels s<sup>-1</sup></td>
- </tr>
-
- <tr>
- <td>Normalized Decoded Image Buffer Size (NDIBS)</td>
-
- <td>0.9885</td>
- </tr>
- </tbody>
- </table>
- </section>
-
- <section id="paint-text">
- <h4 id="h4_paint-text" role="heading" aria-level="3"><span class="secno">7.1.5 </span>Paint Text</h4>
-
- <p>For each glyph displayed in intermediate synchronic document E<sub>n</sub>, the Presentation Compositor <em title="SHALL" class="rfc2119">SHALL</em>:</p>
-
- <ul>
- <li>if an identical glyph is present in Glyph Buffer G<sub>n</sub>, copy the glyph from Glyph Buffer G<sub>n</sub> to the
- Presentation Buffer P<sub>n</sub> using the Glyph Copier; or</li>
-
- <li>if an identical glyph is present in Glyph Buffer G<sub>n-1</sub>, i.e. an identical glyph was present in intermediate
- synchronic document E<sub>n-1</sub>, copy using the Glyph Copier the glyph from Glyph Buffer G<sub>n-1</sub> to both the
- Glyph Buffer G<sub>n</sub> and the Presentation Buffer P<sub>n</sub>; or</li>
-
- <li>Otherwise render using the Glyph Renderer the glyph into the Presentation Buffer P<sub>n</sub> and Glyph Buffer
- G<sub>n</sub> using the corresponding style information.</li>
- </ul>
-
- <p>Two glyphs are identical if and only if the following [<cite><a href="#bib-TTML2" class="bibref">TTML2</a></cite>] styles are identical:</p>
-
- <ul>
- <li><code>tts:color</code></li>
-
- <li><code>tts:fontFamily</code></li>
-
- <li><code>tts:fontSize</code></li>
-
- <li><code>tts:fontStyle</code></li>
-
- <li><code>tts:fontWeight</code></li>
-
- <li><code>tts:textDecoration</code></li>
-
- <li><code>tts:textOutline</code></li>
- </ul>
-
- <figure id="fig-example-of-presentation-compositor-behavior-for-text-rendering">
- <img src="text-render-example-figure-2.png" alt="Example of Presentation Compositor Behavior for Text Rendering" height="150" width="324">
-
- <figcaption>Fig. <span class="figno">2</span> <span class="fig-title">
- Example of Presentation Compositor Behavior for Text Rendering
- </span></figcaption>
- </figure>
-
- <p>The duration DUR<sub>T</sub>(E<sub>n</sub>) for painting the text of an intermediate synchronic document E<sub>n</sub>
- in the Presentation Buffer is as follows:</p>
-
- <p>DUR<sub>T</sub>(E<sub>n</sub>) = ∑<sub>G<sub>i</sub> ∈ G<sub>r</sub></sub> NRGA(G<sub>i</sub>) / Ren(G<sub>i</sub>)
- + ∑<sub>G<sub>j</sub> ∈ G<sub>c</sub></sub> NRGA(G<sub>j</sub>) / GCpy</p>
-
- <p>Where:</p>
-
- <ul>
- <li>G<sub>r</sub> is the set of glyphs rendered into the Presentation Buffer P<sub>n</sub> using the Glyph Renderer in
- intermediate synchronic document E<sub>n</sub>.</li>
-
- <li>G<sub>c</sub> is the set of glyphs copied to the Presentation Buffer P<sub>n</sub> using the Glyph Copier in
- intermediate synchronic document E<sub>n</sub>.</li>
-
- <li>Ren(G<sub>i</sub>) is the text rendering performance factor glyph G<sub>i</sub></li>
-
- <li>GCpy is the normalized glyph copy performance factor</li>
- </ul>
-
- <p>G<sub>r</sub> and G<sub>c</sub> <em title="SHALL" class="rfc2119">SHALL</em> include only glyphs in presented regions and <em title="SHALL NOT" class="rfc2119">SHALL NOT</em> include a [<cite><a href="#bib-UNICODE" class="bibref">UNICODE</a></cite>] Code
- Point if it does not result in a change to presentation, e.g. the Code Point is ignored.</p>
-
- <p>The Normalized Rendered Glyph Area NRGA(G<sub>i</sub>) of a glyph G<sub>i</sub> <em title="SHALL" class="rfc2119">SHALL</em> be equal to:</p>
-
- <p>NRGA(G<sub>i</sub>)= (fontSize of G<sub>i</sub> as percentage of root container height)<sup>2</sup></p>
-
- <p>The contents of the Glyph Buffer G<sub>n</sub> <em title="SHALL" class="rfc2119">SHALL</em> be copied instantaneously to Glyph Buffer G<sub>n-1</sub> at the
- presentation time of intermediate synchronic document E<sub>n</sub>.</p>
-
- <p>The total size occupied by the glyphs stored in Glyph Buffers G<sub>n</sub> or G<sub>n-1</sub> <em title="SHALL" class="rfc2119">SHALL</em> be the sum of their
- Normalized Rendered Glyph Area.</p>
-
- <p>The size of Glyph Buffers G<sub>n</sub> and G<sub>n-1</sub> <em title="SHALL" class="rfc2119">SHALL</em> be the Normalized Glyph Buffer Size (NGBS).</p>
-
- <p>Unless specified otherwise, the following table <em title="SHALL" class="rfc2119">SHALL</em> specify GCpy, Ren and NGBS, and <em title="SHALL" class="rfc2119">SHALL</em> apply to all supported font
- styles (including provision of outline border).</p>
-
- <table class="simple">
- <thead>
- <tr>
- <th>Parameter</th>
-
- <th>Initial value</th>
- </tr>
- </thead>
-
- <tbody>
- <tr>
- <td>Normalized glyph copy performance factor (GCpy)</td>
-
- <td>12</td>
- </tr>
-
- <tr>
- <td>Text rendering performance factor Ren(G<sub>i</sub> if G<sub>i</sub> is not a CJK Unified Ideograph as specified
- in [<cite><a href="#bib-UNICODE" class="bibref">UNICODE</a></cite>].</td>
-
- <td>1.2</td>
- </tr>
-
- <tr>
- <td>Text rendering performance factor Ren(G<sub>i</sub>) if G<sub>i</sub> is a CJK Unified Ideograph as specified in
- [<cite><a href="#bib-UNICODE" class="bibref">UNICODE</a></cite>].</td>
-
- <td>0.6</td>
- </tr>
-
- <tr>
- <td>Normalized Glyph Buffer Size (NGBS)</td>
-
- <td>1</td>
- </tr>
- </tbody>
- </table>
-
- <div class="note"><div id="h_note_11" role="heading" aria-level="4" class="note-title"><span>Note</span></div><p class="">NRGA(G<sub>i</sub>) does not take into account glyph decorations (e.g. underline), glyph effects (e.g.
- outline) or actual glyph aspect ratio. An implementation can determine an actual buffer size needs based on worst-case
- glyph size complexity.</p></div>
-
- <aside class="example"><div class="example-title"><span>Example 3</span></div>
- Setting a Glyph Buffer Normalized Size effectively sets a limit on the total number of distinct glyphs present in any
- given intermediate synchronic document E<sub>n</sub>. For example, assuming a maximum Normalized Glyph Buffer Size of 1
- and the default tts:fontSize of 1c are used, the glyph's height as percentage of root container height is 1/15 , and
- the maximum number of distinct glyphs that can be buffered is 1÷(1÷15)^2=225 glyphs. In this example, an implementation
- rendering at 1920x1080 would need to allocate a glyph buffer no smaller than (1920÷32)×(1080÷15)×225=~1 Mpixels.
- </aside>
-
- <aside class="example"><div class="example-title"><span>Example 4</span></div>
- GCpy effectively sets a limit on animating glyphs. For example, assuming that the root container is ultimately rendered
- at 1920×1080 resolution and no regions need to have background color painted (so only a CLEAR(E<sub>n</sub>) operation
- is required for the normalized drawing area for the intermediate synchronic document), a GCpy and BDraw of 12 s-1 would
- mean that a group of 160 glyphs with a tts:fontSize equal to 5% of the root container height could be moved at most
- approximately 12 s<sup>-1</sup> ÷ (1 + ( 160 × 0.05<sup>2</sup> )) = 8.6 times per second.
- </aside>
-
- <aside class="example"><div class="example-title"><span>Example 5</span></div>
- Ren(G<sub>i</sub>) effectively sets a limit on the glyph rendering rate. For example, assuming that the root container is
- ultimately rendered at a 1920×1080 resolution, a Ren(G<sub>i</sub>) of 1.2 s-1 would mean that at most 120 glyphs with a
- fontSize of 108 px (10% of 1080 px and NRGA(G<sub>i</sub>) = 0.01) could be rendered every second.
- </aside>
- </section>
- </section><!-- start CFF-TT 1.0.7 -->
-
- <section id="layout-model">
- <h3 id="h3_layout-model" role="heading" aria-level="2"><span class="secno">7.2 </span>Layout Model</h3>
-
- <section id="general-3">
- <h4 id="h4_general-3" role="heading" aria-level="3"><span class="secno">7.2.1 </span>General</h4>
-
- <p>The height and width of the area occupied by text within a region depend on line height as well as the width of, and
- spacing between (kerning), individual glyphs. The following allows the area occupied by text to be precisely determined,
- and thus region extent to be set such that text flows without clipping.</p>
- </section>
-
- <section id="reference-fonts">
- <h4 id="h4_reference-fonts" role="heading" aria-level="3"><span class="secno">7.2.2 </span>Reference Fonts</h4>
-
- <p>A glyph that matches one of the combinations of computed font family and code point listed in the table below <em title="SHALL" class="rfc2119">SHALL</em> be laid out using metrics equal to the metrics of the specified reference font, unless the glyph is not defined by the
- reference font.</p>
-
- <table class="simple">
- <thead>
- <tr>
- <th>Computed Font Family</th>
-
- <th>Code Points</th>
-
- <th>Reference Font</th>
- </tr>
- </thead>
-
- <tbody>
- <tr>
- <td>monospaceSerif</td>
-
- <td>
- All code points specified in <a class="sec-ref" href="#recommended-unicode-code-points-per-language"><span class="secno">A.</span> <span class="sec-title">Recommended Unicode Code Points per Language</span></a>
- </td>
-
- <td>
- <a href="http://www.microsoft.com/typography/fonts/family.aspx?FID=10">http://www.microsoft.com/typography/fonts/family.aspx?FID=10</a>
- (Courier New)
- </td>
- </tr>
-
- <tr>
- <td>proportionalSansSerif</td>
-
- <td>
- All code points specified in <a class="sec-ref" href="#recommended-unicode-code-points-per-language"><span class="secno">A.</span> <span class="sec-title">Recommended Unicode Code Points per Language</span></a>, excluding the code
- points defined for Semitic languages alone.
- </td>
-
- <td>
- <a href="http://www.microsoft.com/typography/fonts/family.aspx?FID=8">http://www.microsoft.com/typography/fonts/family.aspx?FID=8</a>
- (Arial) or <a href="http://www.linotype.com/en/526/Helvetica-family.html">http://www.linotype.com/en/526/Helvetica-family.html</a>
- (Helvetica)
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note"><div id="h_note_12" role="heading" aria-level="4" class="note-title"><span>Note</span></div><p class="">Implementations can use use fonts other than those specified above. Two fonts with equal metrics can have a
- different appearance, but flow identically.</p></div>
-
- <div class="note"><div id="h_note_13" role="heading" aria-level="4" class="note-title"><span>Note</span></div><p class="">proportionalSansSerif is not used in practice for Hebrew and Arabic captions and subtitles.</p></div>
- </section>
-
- <section id="line-height-and-centering">
- <h4 id="h4_line-height-and-centering" role="heading" aria-level="3"><span class="secno">7.2.3 </span>Line Height and Centering</h4>
-
- <p>The computed value of <code>tts:lineHeight</code> shall be equal to 120% if tts:lineHeight="normal".</p>
-
- <p><code>tts:lineHeight</code> values expressed using the percentage metric shall be relative to the largest font size on
- the line.</p>
-
- <aside class="example"><div class="example-title"><span>Example 6</span></div>
- Assuming that the root container is ultimately rendered at a 1920×1080 resolution and
- <code>tts:lineHeight</code>="100%", a line mixing glyphs with font size of "10px", "36px"
- and "1c" has a computed value of <code>tts:lineHeight</code> equal to "72px".
- </aside>
-
- <p>If the computed value of <code>tts:lineHeight</code> is not supported, then a presentation processor <em title="SHALL" class="rfc2119">SHALL</em> use the next
- highest supported value.</p>
-
- <aside class="example"><div class="example-title"><span>Example 7</span></div>
- Three lines of 12px characters with <code>tts:lineHeight</code>="normal" has a height of 45px = ⌈12px *
- 120%⌉ × 3 assuming line heights have 1px resolution.
- </aside>
-
- <p>White space in excess of the largest font size on the line <em title="SHALL" class="rfc2119">SHALL</em> be allocated evenly top and bottom (half-leading). Note
- that inter-baseline separation includes any leading.</p><!-- end CFF-TT 1.0.7 -->
-
- <div class="note"><div id="h_note_14" role="heading" aria-level="4" class="note-title"><span>Note</span></div><p class="">Since font size can change on a line and text can wrap, it is necessary to first determine the glyphs
- present on a line before determining line height.</p></div>
-
- <div class="note"><div id="h_note_15" role="heading" aria-level="4" class="note-title"><span>Note</span></div><p class="">Glyphs that do not extend beyond the specific <code>tts:fontSize</code> value will not clip top or
- bottom.</p></div>
- </section>
- </section>
- </section>
-
- <section id="recommended-unicode-code-points-per-language" class="appendix">
- <!--OddPage--><h2 id="h2_recommended-unicode-code-points-per-language" role="heading" aria-level="1"><span class="secno">A. </span>Recommended Unicode Code Points per Language</h2>
-
- <p>The following table lists common code points (see [<cite><a href="#bib-UNICODE" class="bibref">UNICODE</a></cite>]) definitions used in this Appendix:</p>
-
- <table class="simple">
- <tbody><tr>
- <th>(Basic Latin)</th>
- </tr>
-
- <tr>
- <td>U+0020 - U+007E (Letterlike Symbols)</td>
- </tr>
-
- <tr>
- <td>U+2103 : DEGREES CELSIUS</td>
- </tr>
-
- <tr>
- <td>U+2109 : DEGREES FAHRENHEIT</td>
- </tr>
-
- <tr>
- <td>U+2120 : SERVICE MARK SIGN</td>
- </tr>
-
- <tr>
- <td>U+2122 : TRADE MARK SIGN</td>
- </tr>
-
- <tr>
- <th>(Latin-1 Supplement)</th>
- </tr>
-
- <tr>
- <td>U+00A0 - U+00FF (Number Forms)</td>
- </tr>
-
- <tr>
- <td>U+2153 – U+215F : Fractions</td>
- </tr>
-
- <tr>
- <th>(Latin Extended-A)</th>
- </tr>
-
- <tr>
- <td>U+0152 : LATIN CAPITAL LIGATURE OE</td>
- </tr>
-
- <tr>
- <td>U+0153 : LATIN SMALL LIGATURE OE</td>
- </tr>
-
- <tr>
- <td>U+0160 : LATIN CAPITAL LETTER S WITH CARON</td>
- </tr>
-
- <tr>
- <td>U+0161 : LATIN SMALL LETTER S WITH CARON</td>
- </tr>
-
- <tr>
- <td>U+0178 : LATIN CAPITAL LETTER Y WITH DIAERESIS</td>
- </tr>
-
- <tr>
- <td>U+017D : LATIN CAPITAL LETTER Z WITH CARON</td>
- </tr>
-
- <tr>
- <td>U+017E : LATIN SMALL LETTER Z WITH CARON (Box Drawing)</td>
- </tr>
-
- <tr>
- <td>U+2500 : BOX DRAWINGS LIGHT HORIZONTAL</td>
- </tr>
-
- <tr>
- <td>U+2502 : BOX DRAWINGS LIGHT VERTICAL</td>
- </tr>
-
- <tr>
- <td>U+250C : BOX DRAWINGS LIGHT DOWN AND RIGHT</td>
- </tr>
-
- <tr>
- <td>U+2510 : BOX DRAWINGS LIGHT DOWN AND LEFT</td>
- </tr>
-
- <tr>
- <td>U+2514 : BOX DRAWINGS LIGHT UP AND RIGHT</td>
- </tr>
-
- <tr>
- <td>U+2518 : BOX DRAWINGS LIGHT UP AND LEFT</td>
- </tr>
-
- <tr>
- <th>(Latin Extended-B)</th>
- </tr>
-
- <tr>
- <td>U+0192 : LATIN SMALL LETTER F WITH HOOK (Block Elements)</td>
- </tr>
-
- <tr>
- <td>U+2588 : FULL BLOCK</td>
- </tr>
-
- <tr>
- <th>(Spacing Modifier Letters)</th>
- </tr>
-
- <tr>
- <td>U+02DC : SMALL TILDE (Geometric Shapes)</td>
- </tr>
-
- <tr>
- <td>U+25A1 : WHITE SQUARE</td>
- </tr>
-
- <tr>
- <th>(General Punctuation)</th>
- </tr>
-
- <tr>
- <td>U+2010 - U+2015 : Dashes</td>
- </tr>
-
- <tr>
- <td>U+2016 - U+2027 : General punctuation</td>
- </tr>
-
- <tr>
- <td>U+2030 - U+203A : General punctuation (Musical Symbols)</td>
- </tr>
-
- <tr>
- <td>U+2669 : QUARTER NOTE</td>
- </tr>
-
- <tr>
- <td>U+266A : EIGHTH NOTE</td>
- </tr>
-
- <tr>
- <td>U+266B : BEAMED EIGHTH NOTES</td>
- </tr>
-
- <tr>
- <th>(Currency symbols)</th>
- </tr>
-
- <tr>
- <td>U+20AC : EURO SIGN</td>
- </tr>
- </tbody></table>
-
- <p>The following table specifies the [<cite><a href="#bib-UNICODE" class="bibref">UNICODE</a></cite>] code points that <em title="SHOULD" class="rfc2119">SHOULD</em> be used in a document's textual content if
- <code>xml:lang</code> is present (Primary language subtag is as defined in IETF RFC 5646).</p>
-
- <table class="simple">
- <thead>
- <tr>
- <th>Languages</th>
-
- <th>Primary language subtag of<br>
- <code>xml:lang</code></th>
-
- <th>[<cite><a href="#bib-UNICODE" class="bibref">UNICODE</a></cite>] Code Points</th>
- </tr>
- </thead>
-
- <tbody>
- <tr>
- <th colspan="3">Albanian Languages</th>
- </tr>
-
- <tr>
- <td>Albanian</td>
-
- <td>"sq"</td>
-
- <td>As defined in the table above</td>
- </tr>
-
- <tr>
- <th colspan="3">Baltic Languages</th>
- </tr>
-
- <tr>
- <td>Latvian, Lithuanian</td>
-
- <td>"lv", "lt"</td>
-
- <td>As defined in the table above, except for "(Latin Extended-A)" which is re-defined below<br>
- (Latin Extended-A)<br>
- U+0100 - U+017F</td>
- </tr>
-
- <tr>
- <th colspan="3">Finnic Languages</th>
- </tr>
-
- <tr>
- <td>Finish</td>
-
- <td>"fi"</td>
-
- <td>As defined in the table above</td>
- </tr>
-
- <tr>
- <td>Estonian</td>
-
- <td>"et"</td>
-
- <td>As defined in the table above, except for "(Latin Extended-A)" which is re-defined below<br>
- (Latin Extended-A)<br>
- U+0100 - U+017F</td>
- </tr>
-
- <tr>
- <th colspan="3">Germanic Languages</th>
- </tr>
-
- <tr>
- <td>Danish, Dutch/Flemish, English, German, Icelandic, Norwegian, Swedish</td>
-
- <td>"da", "nl", "en", "de", "is", "no", "sv"</td>
-
- <td>As defined in the table above.</td>
- </tr>
-
- <tr>
- <th colspan="3">Greek Languages</th>
- </tr>
-
- <tr>
- <td>Greek</td>
-
- <td>"el"</td>
-
- <td>As defined in the table above<br>
- (Greek and Coptic)<br>
- U+0386 : GREEK CAPITAL LETTER ALPHA WITH TONOS<br>
- U+0387 : GREEK ANO TELEIA<br>
- U+0388 – U+03CE : Letters</td>
- </tr>
-
- <tr>
- <th colspan="3">Romanic Languages</th>
- </tr>
-
- <tr>
- <td>Catalan, French, Italian</td>
-
- <td>"ca", "fr", "it"</td>
-
- <td>As defined in the table above</td>
- </tr>
-
- <tr>
- <td>Portuguese, Spanish</td>
-
- <td>"pt", "es"</td>
-
- <td>(Currency symbols)<br>
- U+20A1 : COLON SIGN<br>
- U+20A2 : CRUZEIRO SIGN<br>
- U+20B3 : AUSTRAL SIGN</td>
- </tr>
-
- <tr>
- <td>Romanian</td>
-
- <td>"ro"</td>
-
- <td>As defined in the table above, except for "(Latin Extended-A)" which is re-defined below<br>
- (Latin Extended-A)<br>
- U+0100 - U+017F</td>
- </tr>
-
- <tr>
- <th colspan="3">Semitic Languages</th>
- </tr>
-
- <tr>
- <td>Arabic</td>
-
- <td>"ar"</td>
-
- <td>As defined in the table above<br>
- U+060C – U+060D : Punctuation<br>
- U+061B : ARABIC SEMICOLON<br>
- U+061E : ARABIC TRIPLE DOT PUNCTUATION MARK<br>
- U+061F : ARABIC QUESTION MARK<br>
- U+0621 – U+063A : Based on ISO 8859-6<br>
- U+0640 – U+064A : Based on ISO 8859-6<br>
- U+064B – U+0652 : Points from ISO 5559-6<br>
- U+0660 – U+0669 : Arabic-Indic digits<br>
- U+066A – U+066D : Punctuation</td>
- </tr>
-
- <tr>
- <td>Hebrew</td>
-
- <td>"he"</td>
-
- <td>As defined in the table above<br>
- (Hebrew)<br>
- U+05B0 – U+05C3 : Points and punctuation<br>
- U+05D0 – U+05EA : Based on ISO 8859-8<br>
- U+05F3 – U+05F4 : Additional punctuation</td>
- </tr>
-
- <tr>
- <th colspan="3">Slavic Languages</th>
- </tr>
-
- <tr>
- <td>Croatian, Czech, Polish, Slovenian, Slovak</td>
-
- <td>"hr", "cs", "pl", "sl", "sk"</td>
-
- <td>As defined in the table above, except for "(Latin Extended-A)" which is re-defined below<br>
- (Latin Extended-A)<br>
- U+0100 - U+017F</td>
- </tr>
-
- <tr>
- <td>Bosnian, Bulgarian, Macedonian, Russian, Serbian, Ukrainian</td>
-
- <td>"bs", "bg", "mk", "ru", "sr", "uk"</td>
-
- <td>As defined in the table above, except for "(Latin Extended-A)" which is re-defined below<br>
- (Latin Extended-A)<br>
- U+0100 - U+017F<br>
- (Cyrillic)<br>
- U+0400 – U+040F : Cyrillic extensions<br>
- U+0410 – U+044F : Basic Russian alphabet<br>
- U+0450 – U+045F : Cyrillic extensions</td>
- </tr>
-
- <tr>
- <th colspan="3">Turkic Languages</th>
- </tr>
-
- <tr>
- <td>Turkish</td>
-
- <td>"tr"</td>
-
- <td>As defined in the table above, except for "(Latin Extended-A)" which is re-defined<br>
- (Latin Extended-A)<br>
- U+0100 - U+017F</td>
- </tr>
-
- <tr>
- <td>Kazakh</td>
-
- <td>"kk"</td>
-
- <td>As defined in the table above, except for "(Latin Extended-A)" which is re-defined<br>
- (Latin Extended-A)<br>
- U+0100 - U+017F<br>
- (Cyrillic)<br>
- U+0400 – U+040F : Cyrillic extensions<br>
- U+0410 – U+044F : Basic Russian alphabet<br>
- U+0450 – U+045F : Cyrillic extensions</td>
- </tr>
-
- <tr>
- <th colspan="3">Ugric Languages</th>
- </tr>
-
- <tr>
- <td>Hungarian</td>
-
- <td>"hu"</td>
-
- <td>As defined in the table above, except for "(Latin Extended-A)" which is re-defined below<br>
- (Latin Extended-A)<br>
- U+0100 - U+017F</td>
- </tr>
- </tbody>
- </table>
- </section>
-
- <section id="typical-practice-for-subtitles-per-region-informative" class="appendix informative">
- <!--OddPage--><h2 id="h2_typical-practice-for-subtitles-per-region-informative" role="heading" aria-level="1"><span class="secno">B. </span>Typical Practice for Subtitles per Region (Informative)</h2><p><em>This section is non-normative.</em></p>
-
- <p>The following table summarizes subtitle languages commonly used in the listed regions. The Language Tag is as specified in
- RFC 5646.</p>
-
- <table class="simple">
- <tbody><tr>
- <th>Region</th>
-
- <th>Subtitle Languages (Language Tag)</th>
- </tr>
-
- </tbody><tbody>
- <tr>
- <td>ALL (worldwide)</td>
-
- <td>English ("en")</td>
- </tr>
-
- <tr>
- <th colspan="2">America (North)</th>
- </tr>
-
- <tr>
- <td>ALL</td>
-
- <td>French ("fr") [Québécois ("fr-CA") or Parisian ("fr-FR")]</td>
- </tr>
-
- <tr>
- <td>United States</td>
-
- <td>Spanish ("es") [Latin American ("es-419")]</td>
- </tr>
-
- <tr>
- <th colspan="2">America (Central and South)</th>
- </tr>
-
- <tr>
- <td>ALL</td>
-
- <td>Spanish ("es") [Latin American ("es-419")]</td>
- </tr>
-
- <tr>
- <td>Brazil</td>
-
- <td>Portuguese ("pt") [Brazilian ("pt-BR")]</td>
- </tr>
-
- <tr>
- <th colspan="2">Asia, Middle East, and Africa</th>
- </tr>
-
- <tr>
- <td>China</td>
-
- <td>Chinese ("zh") [Simplified Mandarin ("zh-cmn-Hans")]</td>
- </tr>
-
- <tr>
- <td>Egypt</td>
-
- <td>Arabic ("ar")</td>
- </tr>
-
- <tr>
- <td>Hong Kong</td>
-
- <td>Chinese ("zh") [Cantonese ("zh-yue")]</td>
- </tr>
-
- <tr>
- <td>India</td>
-
- <td>Hindi ("hi")<br>
- Tamil ("ta")<br>
- Telugu ("te")</td>
- </tr>
-
- <tr>
- <td>Indonesia</td>
-
- <td>Indonesian ("id")</td>
- </tr>
-
- <tr>
- <td>Israel</td>
-
- <td>Hebrew ("he")</td>
- </tr>
-
- <tr>
- <td>Japan</td>
-
- <td>Japanese ("ja")</td>
- </tr>
-
- <tr>
- <td>Kazakhstan</td>
-
- <td>Kazakh ("kk")</td>
- </tr>
-
- <tr>
- <td>Malaysia</td>
-
- <td>Standard Malay ("zsm")</td>
- </tr>
-
- <tr>
- <td>South Korea</td>
-
- <td>Korean ("ko")</td>
- </tr>
-
- <tr>
- <td>Taiwan</td>
-
- <td>Chinese ("zh") [Traditional Mandarin ("zh-cmn-Hant")]</td>
- </tr>
-
- <tr>
- <td>Thailand</td>
-
- <td>Thai ("th")</td>
- </tr>
-
- <tr>
- <td>Vietnam</td>
-
- <td>Vietnamese ("vi")</td>
- </tr>
-
- <tr>
- <th colspan="2">Europe</th>
- </tr>
-
- <tr>
- <td>Benelux (Belgium, Netherlands, and Luxembourg)</td>
-
- <td>French ("fr") [Parisian ("fr-FR")]<br>
- Dutch/Flemish ("nl")</td>
- </tr>
-
- <tr>
- <td>Denmark</td>
-
- <td>Danish ("da")</td>
- </tr>
-
- <tr>
- <td>Finland</td>
-
- <td>Finnish ("fi")</td>
- </tr>
-
- <tr>
- <td>France</td>
-
- <td>French ("fr") [Parisian ("fr-FR")]<br>
- Arabic ("ar")</td>
- </tr>
-
- <tr>
- <td>Germany</td>
-
- <td>German ("de")<br>
- Turkish ("tr")</td>
- </tr>
-
- <tr>
- <td>Italy</td>
-
- <td>Italian ("it")</td>
- </tr>
-
- <tr>
- <td>Norway</td>
-
- <td>Norwegian ("no")</td>
- </tr>
-
- <tr>
- <td>Spain</td>
-
- <td>Spanish ("sp") [Castilian ("sp-ES")]<br>
- Catalan ("ca")</td>
- </tr>
-
- <tr>
- <td>Sweden</td>
-
- <td>Swedish ("sv")</td>
- </tr>
-
- <tr>
- <td>Switzerland</td>
-
- <td>French ("fr") ["fr-CH" or "fr-FR"]<br>
- German ("de") ["de-CH"]<br>
- Italian ("it") ["it-CH"]</td>
- </tr>
-
- <tr>
- <td>Albania</td>
-
- <td>Albanian ("sq")</td>
- </tr>
-
- <tr>
- <td>Bulgaria</td>
-
- <td>Bulgarian ("bg")</td>
- </tr>
-
- <tr>
- <td>Croatia</td>
-
- <td>Croatian ("hr")</td>
- </tr>
-
- <tr>
- <td>Czech Republic</td>
-
- <td>Czech ("cs")</td>
- </tr>
-
- <tr>
- <td>Estonia</td>
-
- <td>Estonian ("et")</td>
- </tr>
-
- <tr>
- <td>Greece</td>
-
- <td>Greek ("el")</td>
- </tr>
-
- <tr>
- <td>Hungary</td>
-
- <td>Hungarian ("hu")</td>
- </tr>
-
- <tr>
- <td>Iceland</td>
-
- <td>Icelandic ("is")</td>
- </tr>
-
- <tr>
- <td>Latvia</td>
-
- <td>Latvian ("lv")</td>
- </tr>
-
- <tr>
- <td>Lithuania</td>
-
- <td>Lithuanian ("lt")</td>
- </tr>
-
- <tr>
- <td>Macedonia</td>
-
- <td>Macedonian ("mk")</td>
- </tr>
-
- <tr>
- <td>Poland</td>
-
- <td>Polish ("pl")</td>
- </tr>
-
- <tr>
- <td>Portugal</td>
-
- <td>Portuguese ("pt") [Iberian ("pt-PT")]</td>
- </tr>
-
- <tr>
- <td>Romania</td>
-
- <td>Romanian ("ro")</td>
- </tr>
-
- <tr>
- <td>Russia</td>
-
- <td>Russian ("ru")</td>
- </tr>
-
- <tr>
- <td>Serbia</td>
-
- <td>Serbian ("sr")</td>
- </tr>
-
- <tr>
- <td>Slovakia</td>
-
- <td>Slovak ("sk")</td>
- </tr>
-
- <tr>
- <td>Slovenia</td>
-
- <td>Slovenian ("sl")</td>
- </tr>
-
- <tr>
- <td>Turkey</td>
-
- <td>Turkish ("tr")</td>
- </tr>
-
- <tr>
- <td>Ukraine</td>
-
- <td>Ukrainian ("uk")</td>
- </tr>
- </tbody>
- </table>
- </section>
-
- <section id="schema" class="appendix">
- <!--OddPage--><h2 id="h2_schema" role="heading" aria-level="1"><span class="secno">C. </span>Schema</h2>
-
- <p><em>TBD</em></p>
- </section>
-
-
-<section rel="bibo:chapter" resource="#references" typeof="bibo:Chapter" class="appendix" id="references"><!--OddPage--><h2 id="h2_references" role="heading" aria-level="1"><span class="secno">D. </span>References</h2><section rel="bibo:chapter" resource="#normative-references" typeof="bibo:Chapter" id="normative-references"><h3 id="h3_normative-references" role="heading" aria-level="2"><span class="secno">D.1 </span>Normative references</h3><dl about="" class="bibliography"><dt id="bib-MHP">[MHP]</dt><dd rel="dcterms:requires">ETSI TS 101 812 V1.3.1, Digital Video Broadcasting (DVB); Multimedia Home
-</dd><dt id="bib-RFC2119">[RFC2119]</dt><dd rel="dcterms:requires">S. Bradner. <a href="http://www.ietf.org/rfc/rfc2119.txt"><cite>Key words for use in RFCs to Indicate Requirement Levels.</cite></a> March 1997. Internet RFC 2119. URL: <a href="http://www.ietf.org/rfc/rfc2119.txt">http://www.ietf.org/rfc/rfc2119.txt</a>
-</dd><dt id="bib-SDPUS">[SDPUS]</dt><dd rel="dcterms:requires">World Wide Web Consortium (W3C). <a href="http://www.w3.org/TR/ttml10-sdp-us/">TTML Simple Delivery Profile for Closed Captions (US)</a> (W3C Working Group Note, 05 February 2013
-</dd><dt id="bib-SUBM">[SUBM]</dt><dd rel="dcterms:requires">World Wide Web Consortium (W3C). <a href="http://www.w3.org/Submission/2013/SUBM-ttml-ww-profiles-20130607/">TTML Text and Image Profiles for Internet Media Subtitles and Captions</a> (Member Submission, 07 June 2013)
-</dd><dt id="bib-TTML2">[TTML2]</dt><dd rel="dcterms:requires">World Wide Web Consortium (W3C). Timed Text Markup Language 2 (TTML 2)
-</dd><dt id="bib-UNICODE">[UNICODE]</dt><dd rel="dcterms:requires"><a href="http://www.unicode.org/versions/latest/"><cite>The Unicode Standard</cite></a>. URL: <a href="http://www.unicode.org/versions/latest/">http://www.unicode.org/versions/latest/</a>
-</dd><dt id="bib-xml-names">[xml-names]</dt><dd rel="dcterms:requires">Tim Bray; Dave Hollander; Andrew Layman; Richard Tobin; Henry Thompson et al. <a href="http://www.w3.org/TR/xml-names"><cite>Namespaces in XML 1.0 (Third Edition)</cite></a>. 8 December 2009. W3C Recommendation. URL: <a href="http://www.w3.org/TR/xml-names">http://www.w3.org/TR/xml-names</a>
-</dd></dl></section><section rel="bibo:chapter" resource="#informative-references" typeof="bibo:Chapter" id="informative-references"><h3 id="h3_informative-references" role="heading" aria-level="2"><span class="secno">D.2 </span>Informative references</h3><dl about="" class="bibliography"><dt id="bib-CEA-608">[CEA-608]</dt><dd rel="dcterms:references"><a href="http://www.ce.org/Standards/Standard-Listings/R4-3-Television-Data-Systems-Subcommittee/Line-21-Data-Service.aspx">Line-21 Data Services</a>, ANSI/CEA Standard.
-</dd><dt id="bib-CEA-708">[CEA-708]</dt><dd rel="dcterms:references"><a href="http://www.ce.org/Standards/Standard-Listings/R4-3-Television-Data-Systems-Subcommittee/CEA-708-D.aspx">Digital Television (DTV) Closed Captioning</a>, ANSI/CEA Standard.
-</dd><dt id="bib-ST2052-1">[ST2052-1]</dt><dd rel="dcterms:references">SMPTE ST 2052-1, Timed Text Format (SMPTE-TT)
-</dd></dl></section></section></body></html>
\ No newline at end of file