IMSC 文本配置文件 1.3

W3C 推荐标准

关于本文档的更多详细信息
此版本:
https://www.w3.org/TR/2026/REC-ttml-imsc1.3-20260521/
最新发布版本:
https://www.w3.org/TR/ttml-imsc1.3/
最新编辑草案:
https://w3c.github.io/imsc/imsc1/spec/ttml-ww-profiles.html
历史:
https://www.w3.org/standards/history/ttml-imsc1.3/
提交历史
实现报告:
https://www.w3.org/wiki/TimedText/IMSC1_3_Implementation_Report
编辑:
反馈:
GitHub w3c/imsc拉取请求新议题未解决议题
public-tt@w3.org,主题行请写 [imsc]存档
勘误:
存在勘误
最新 IMSC 推荐标准
https://www.w3.org/TR/ttml-imsc/rec

另见 译文


摘要

本规范定义了 [ttml2] 的纯文本配置文件, 旨在用于全球范围内的字幕和说明字幕交付 应用。

它改进了 [ttml-imsc1.2] 中指定的文本配置文件, 改进内容概述见 L. 实质性变更摘要

本文档状态

本节描述的是本文档在其发布时的状态。当前 W3C 出版物列表以及本技术报告的最新修订版本可在 W3C 标准和草案 索引中找到。

本文档由 Timed Text 工作组作为 推荐标准发布,采用 推荐标准 轨道

W3C 建议将本规范作为 Web 标准广泛部署。

W3C 推荐标准是这样一种规范:经过广泛的 共识构建后,由 W3C 及其成员认可,并且 工作组成员承诺对其实现提供 免版税许可

本文档由一个按照 W3C 专利 政策运作的小组制作。 W3C 维护着一份 任何专利 披露的公开列表, 这些披露与该小组的交付成果有关;该页面还包含 披露专利的说明。实际知晓某项专利且认为该专利包含 必要权利要求的个人, 必须按照 W3C 专利政策第 6 节 披露相关信息。

本文档受 2025 年 8 月 18 日 W3C 流程文档管辖。

1. 范围

本规范定义了 [ttml2] 的纯文本配置文件, 旨在用于全球范围内的字幕和说明字幕交付, 包括对话语言翻译、内容描述、面向聋人和听力障碍者的说明字幕等。

本规范的设计使得:

2. 引言

本节为非规范性内容。

2.1 概述

本规范定义了一种文档交换格式,以及与之相关的验证和呈现 要求,用于全球范围内的字幕 和说明字幕交付,包括对话语言翻译、内容描述、面向聋人和 听力障碍者的说明字幕等。

该格式是 [ttml2] 的一个配置文件,称为文本配置文件,由 [ttml2] 的特性子集以及 [EBU-TT-D] 中指定的附加特性组成, 例如 F.8 #multiRowAlign, 并定义新的特性,例如 F.5 #fillLineGap文本配置文件是纯文本的:构成 字幕和说明字幕的定时文本完全使用 Unicode 标准中定义的码点来表示。

6.3 配置文件 解析语义I. 与其他基于 TTML 的规范的兼容性中所详述,本规范被设计为 与 TTML 的其他纯文本配置文件兼容,包括 [ttml-imsc1]、 [ttml-imsc1.0.1]、 [ttml-imsc1.1]、 [ttml-imsc1.2]、 [SMPTE2052-1]、 [EBU-TT-D]、 [ttml10-sdp-us] 和 [CFF]。

本规范的早期版本指定了一种纯图像配置文件,称为图像配置文件,本文中 不再指定该配置文件。I.6 IMSC 的先前版本讨论了本版本与本规范早期版本之间的关系。

为提高渲染保真度,A. 参考字体定义了参考字体,并要求处理器 支持一种或多种字体,其字体度量与这些参考字体相似。类似地,为了 增强针对特定语言的处理器能够正确呈现文本的可信度,B. 常用字符集定义了鼓励作者使用的常用字符集。

假想渲染模型在 [imsc-hrm] 中另行指定。 假想渲染模型允许字幕和 说明字幕作者及提供者验证他们提供的文本配置文件文档不会 超过定义的复杂度 级别,从而使播放系统能够在作者指定的显示 时间同步渲染内容。

本规范最初基于 [SUBM]。

2.2 示例文档

下面的示例 演示了一个语法上 有效的文本配置文件和 [EBU-TT-D] 文档实例 以及它会如何被渲染。 它并非旨在用作字幕文件的模板。

该示例经过安排,使得 p 元素内的文本不会添加空白; 如果存在此类空白,可能会导致意外的格式化。

<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml"
    xmlns:ttm="http://www.w3.org/ns/ttml#metadata"
    xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
    xmlns:tts="http://www.w3.org/ns/ttml#styling" 
    xmlns:ebutts="urn:ebu:tt:style"
    xmlns:ebuttm="urn:ebu:tt:metadata"
    xmlns:itts="http://www.w3.org/ns/ttml/profile/imsc1#styling"
    ttp:timeBase="media"
    ttp:cellResolution="32 15"
    xml:lang="en" >
    <head>
        <metadata>
            <ebuttm:documentMetadata>
                <!-- EBU-TT-D 定义了自己的合规性信令机制,
                     因为它基于 TTML1,ttp:contentProfiles 参数
                     不可用;该参数是在 TTML2 中引入的。 -->
                <ebuttm:conformsToStandard>urn:ebu:tt:distribution:2018-04</ebuttm:conformsToStandard>
                <ebuttm:conformsToStandard>http://www.w3.org/ns/ttml/profile/imsc1/text</ebuttm:conformsToStandard>
                <ebuttm:conformsToStandard>http://www.w3.org/ns/ttml/profile/imsc1.2/text</ebuttm:conformsToStandard>
                <ebuttm:conformsToStandard>http://www.w3.org/ns/ttml/profile/imsc1.3/text</ebuttm:conformsToStandard>
            </ebuttm:documentMetadata>
        </metadata>
        <!-- 
          styling 元素定义将应用于 <p> 和 <span> 标签的样式。
          EBU-TT-D 只使用引用样式——不支持内联样式。
        -->
        <styling>
            <style xml:id="paragraphStyle"
                tts:fontFamily="ReithSans, Arial, Roboto, proportionalSansSerif, default"
                tts:fontSize="100%" 
                tts:lineHeight="120%"
                tts:textAlign="center"
                tts:wrapOption="noWrap"
                ebutts:multiRowAlign="center"
                ebutts:linePadding="0.5c"
                itts:fillLineGap="true"/>
            <style xml:id="spanStyle"
                tts:color="#FFFFFF"
                tts:backgroundColor="#000000"/>
            <style xml:id="yellowStyle"
                tts:color="#FFFF00"
                tts:backgroundColor="#000000"/>
        </styling>
          <!-- 
            layout 元素定义显示字幕文本的区域。
            这里定义了顶部区域和底部区域,并与顶部和底部保持 2 行
            文本的间距。
            在 32×15 的单元格分辨率下,100%(单元格高度)的字体高度等于
            6.66%(100/15)。字体大小 120% 的行高等于活动视频高度的 
            8%(1.2 x 6.66)。每个区域可容纳 3 行文本:3 x 8% = 24%。
            区域宽度设置为 70%,以考虑 3:4 显示和 1c 
            行内边距(2 x 0.5c)。
          -->
        <layout>
            <region xml:id="topRegion"
                tts:origin="15% 16%"
                tts:extent="70% 24%"
                tts:displayAlign="before"
                tts:writingMode="lrtb"
                tts:overflow="visible"/>
            <region xml:id="bottomRegion"
                tts:origin="15% 60%"
                tts:extent="70% 24%"
                tts:displayAlign="after"
                tts:writingMode="lrtb"
                tts:overflow="visible"/>
        </layout>
    </head>
    <body>
        <!-- 
          DIV 的预期用途是保存语义信息,例如节目中的各个段落。
          DIV 并非旨在用于呈现,尽管应用到它们的样式会级联到后代元素。
        -->
        <div>
            <!-- 
              一个段落保存一条包含一行或多行的字幕,并具有
              时间范围和区域分配。
            -->
            <p xml:id="subtitle1" region="bottomRegion" style="paragraphStyle"
                begin="00:00:10.000" end="00:00:20.000"><!-- 
                  span 用于通过引用将样式应用到文本。
             --><span style="spanStyle">Beware the Jubjub bird, and shun</span><br/><span style="spanStyle">The frumious Bandersnatch!</span></p>
            <p xml:id="subtitle2" region="topRegion" style="paragraphStyle"
                begin="00:00:30.000" end="00:00:31.000"
                ><span style="spanStyle">This subtitle is in the top region.</span><br
                /><span style="spanStyle">it contains one word in </span><span style="yellowStyle">yellow </span><span style="spanStyle">colour.</span></p>
        </div>
    </body>
</tt>

下面的说明性渲染展示了上方文档 会如何被解释(只会显示字幕文本和黑色背景)。请注意, 底层网格是虚拟的,并且元素不一定会与其对齐;它是 ttp:cellResolution 参数的图形化 表示。

图像显示示例的渲染,其中包含文本“Beware the Jubjub bird”等,位于图像下方区域,叠加在 32x15 单元格网格上。
1 在 00:00:10 到 00:00:20 之间显示
图像显示示例的渲染,其中包含文本“This subtitle is in the top region”等,位于图像上方区域,叠加在 32x15 单元格网格上。单词“yellow”被着色为黄色;其他单词为白色。
2 在 00:00:30 到 00:00:31 之间显示

此示例基于 [BBC-SUB]。

3. 文档约定

本规范使用与 [ttml2] 相同的约定来 指定参数属性、样式属性 和元数据元素。具体而言:

本规范使用 [ttml2] 附录 E.1 和 F.1 中定义的特性扩展指示符:

如果本规范中引用的元素名称没有命名空间限定,则适用 TT 命名空间 (参见 8.8 命名空间。)

4. 术语和定义

字符信息项。参见 [ttml2] 第 2.2 节。

文档 实例。参见 [ttml2] 第 2.2 节。

默认 处理器配置文件。如 [ttml2] 中所定义。

默认区域。 参见 [ttml2] 第 9.3.1 节。

扩展。参见 [ttml2] 第 2.2 节。

外部数据资源。参见 [ttml2] 第 2.2 节。

特性。参见 [ttml2] 第 2.2 节。

中间同步文档。参见 [ttml2] 第 9.3.2 节。

文档 交换上下文。参见 [ttml2] 第 2.2 节。

文档 处理上下文。如 [ttml2] 中所定义。

有效 处理器配置文件。如 [ttml2] 中所定义。

字体资源。如 [ttml2] 中所定义。

线性 空白。参见 [ttml2] 第 2.3 节。

覆盖 内容配置文件。如 [ttml2] 中所定义。

处理器。即呈现处理器转换 处理器

呈现 处理器。参见 [ttml2] 第 2.2 节。

指定值。如 [ttml2] 中所定义。

转换 处理器。参见 [ttml2] 第 2.2 节。

处理器配置文件。如 [ttml2] 中所定义。

相关媒体 对象。参见 [ttml2] 第 2.2 节。

相关视频 对象。一种由图像 帧序列组成的相关媒体对象,每一帧都是 矩形像素阵列。

根容器 区域。参见 [ttml2] 第 2.2 节。

文本配置文件转换处理器。一种符合文本 配置文件转换处理器

文本配置文件呈现处理器。一种符合文本 配置文件呈现 处理器

5. 一致性

除标记为非规范性的章节外,本规范中的所有编写指南、图示、示例和注释均为非规范性内容。 本规范中的其他所有内容均为规范性内容。

本文档中的关键词 MAYSHALLSHALL NOTSHOULDSHOULD NOTBCP 14 [RFC2119] [RFC8174] 中所述进行解释,当且仅当它们以全 大写形式出现时,如此处所示。

符合文本 配置文件文档实例

根据定义,文档实例满足 [ttml2] 第 3.1 节的要求,因此 符合本文定义的配置文件的文档实例 也是一致的 TTML1 文档实例。

符合文本 配置文件呈现处理器

符合文本 配置文件转换处理器

当前指定为允许但已弃用特性扩展, 旨在于本规范未来版本中被指定为 可选禁止

指定为部分支持特性扩展既非完全 禁止,也非完全允许。相反,其每个子集特性扩展的处置会被 分别指定。

[ttml2] 区分 呈现处理器转换处理器,前者的目的是呈现 文档实例,后者的目的是在不 呈现文档实例的情况下处理它。 嵌入移动设备媒体管线中的渲染器是呈现处理器的示例, 而验证器是转换处理器的示例。

符合文本配置文件处理器 不要求 符合任何其他配置文件。为方便起见,并为了与本规范以前版本保持一致, 定义了术语 文本配置文件转换处理器文本配置文件呈现处理器

本规范中使用术语呈现处理器转换处理器) 并不意味着符合 [ttml2] 中指定的 DFXP 呈现配置文件(DFXP 转换配置文件)。换言之, 呈现处理器转换处理器)符合本规范中定义的 配置文件,而不同时符合 DFXP 呈现配置文件(DFXP 转换 配置文件),并不视为错误。

本规范未指定呈现处理器转换处理器 在处理或转换不符合要求的文档实例时的行为。

允许禁止处置并不指 ttp:featurettp:extension 元素在 ttp:profile 元素中被允许或禁止指定。

6. 文本配置文件

6.1 通用

文本配置文件7. 支持的特性和扩展8. 附加规定两节组成。

6.2 指示符

文本配置文件与以下配置文件 指示符相关联:

配置文件名称 配置文件指示符
IMSC 1.3 Text http://www.w3.org/ns/ttml/profile/imsc1.3/text

6.3 配置文件解析语义

6.3.1 通用

适用 [ttml2] 中指定的配置文件语义。

禁止属性的默认值会适用,例如 ttp:contentProfileCombination

文本配置文件处理器 配置文件包含以下每个 处理器配置文件所要求的全部特性:

作者可以使用 TTML 内容验证工具来检测 并警告内容和处理器配置文件属性词汇的过度约束用法,例如, 在以下情况下发出警告:(a) 文档同时 (i) 指定符合内容配置文件 X,且 (ii) 要求使用 处理器配置文件 Y,并且 (b) 配置文件 X 和 Y 在语义上 不兼容。

6.3.2 覆盖

如果一个或多个 ebuttm:conformsToStandard 元素(如 [EBU-TT-M] 中指定)被设置为以下 任一指示符,则覆盖内容配置文件 SHALL 被设置为与任一 匹配指示符相关联的配置文件:

7. 支持的特性和扩展

关于 允许禁止可选允许但已弃用的定义,参见 5. 一致性

特性或扩展 文本配置文件处置
相对于 TT 特性命名空间
除非下文另有指定,[ttml2] 中指定的所有特性均为 禁止
#animation 允许
#animation-version-2 通过 #animation 部分支持。
#background 通过 #backgroundColor 部分支持。
#backgroundColor 允许
#backgroundColor-block 允许
#backgroundColor-inline 允许
#backgroundColor-region 允许
#base 允许
#base-version-2 通过 #base 部分支持。
#bidi 允许
#bidi-version-2 通过 #bidi#unicodeBidi-version-2 部分支持。
#cellResolution 允许
#color 允许
8.1.4 #color 节指定了附加约束。
#content 允许
#contentProfiles 允许
#core 允许
#direction 允许
#disparity 允许
#display 允许
#display-block 允许
#display-inline 允许
#display-region 允许
#display-version-2 通过 #display#display-block#display-inline#display-region 部分支持。
#displayAlign 允许
#displayAlign-region 允许
#displayAlign-relative 允许
#displayAlign-version-2 通过 #displayAlign-region#displayAlign-relative 部分支持。
#displayAspectRatio 允许
8.1.5 #displayAspectRatio 节指定了附加约束。
#embedded-audio 禁止
不过 #embedded-data部分 支持的。
#embedded-content 通过 #embedded-font 部分支持。
#embedded-data 通过 #resources#source 部分支持。
#embedded-font 通过 #embedded-data#font 部分支持。
#embedded-image 禁止
不过 #embedded-data部分 支持的。
#extent 允许
#extent-full-version-2 通过 #extent-version-2 部分支持。
#extent-length 允许
#extent-length-version-2 允许
#extent-region 通过 #extent-length 部分支持。
8.1.7 #extent-region 节指定了附加约束。
#extent-region-version-2 通过 #extent-region 部分支持。
#extent-root 通过 #extent-length 部分支持。
8.1.6 #extent-root 节指定了附加约束。
#extent-root-version-2 通过 #extent-root 部分支持。
#extent-version-2 通过 #extent#extent-region-version-2 部分支持。
#font 允许
8.1.8 #font#source 节指定了附加 约束。
#fontFamily 允许
8.1.10 #fontFamily 节指定了附加约束。
#fontFamily-generic 允许
8.1.9 #fontFamily-generic 节指定了附加约束。
#fontFamily-non-generic 允许
#fontSize 通过 #fontSize-isomorphic 部分支持。
#fontSize-isomorphic 允许
#fontStyle 允许
#fontStyle-italic 允许
8.1.23 倾斜的日语文本 节提供了 附加信息。
#fontStyle-oblique 允许
8.1.23 倾斜的日语文本 节提供了 附加信息。
#fontVariant 允许
8.1.11 #fontVariant 节指定了附加约束。
#fontWeight 允许
#fontWeight-bold 允许
#frameRate 允许
8.1.12 #frameRate 节指定了附加约束。
#frameRateMultiplier 允许
#initial 允许
#layout 允许
8.13 区域 节指定了附加约束。
#length 允许
#length-cell 允许
8.1.13 #length-cell 节指定了附加约束。
#length-em 允许
#length-integer 允许
#length-negative 允许
8.1.14 #length-negative 节指定了附加约束。
#length-percentage 允许
#length-pixel 允许
#length-positive 允许
#length-real 允许
#length-root-container-relative 允许
8.1.15 #length-root-container-relative 节指定了附加约束。
#length-version-2 允许
#lineBreak-uax14

处理器SHALL 实现 #lineBreak-uax14 特性。

#lineHeight 允许
8.1.16 #lineHeight 节指定了附加约束。
#luminanceGain 允许
#metadata 允许
#metadata-item 允许
8.1.1 altText 命名元数据项节指定了附加 约束。
#metadata-version-2 允许
#nested-div 允许
#nested-span 允许
#opacity 允许
#opacity-region 允许
#opacity-version-2 通过 #opacity 部分支持。
#origin 允许
8.1.19 #origin 节指定了附加约束。
#overflow 允许
#overflow-visible 允许
#padding 允许
#padding-1 允许
#padding-2 允许
#padding-3 允许
#padding-4 允许
#padding-region 允许
#padding-version-2 通过 #padding#padding-1#padding-2#padding-3#padding-4#padding-region 部分支持
#position 允许
8.1.20 #position 节指定了附加约束。
#presentation 允许
#presentation-version-2 通过 #presentation#profile-version-2 部分支持
#profile 允许
#profile-full-version-2 通过 #contentProfiles#profile#profile-version-2 部分支持。
#profile-version-2 通过 #contentProfiles#profile 部分支持。
#region-timing 允许
#resources 允许
8.1.21 #resources 节指定了附加约束。
#ruby 允许
#ruby-full 通过 #ruby#rubyAlign#rubyPosition#rubyReserve 部分支持。
#rubyAlign 通过 #rubyAlign-minimal 部分支持。
#rubyAlign-minimal 允许
8.1.22 #rubyAlign 节指定了附加约束。
#rubyPosition 允许
#rubyReserve 允许
#set 允许
#shear 允许
8.1.23 倾斜的日语文本 节提供了 附加信息。
#showBackground 允许
#source 允许
8.1.8 #font#source 节指定了附加 约束。
#structure 允许
#styling 允许
#styling-chained 允许
#styling-inheritance-content 允许
#styling-inheritance-region 允许
#styling-inline 允许
#styling-nested 允许
#styling-referential 允许
#textAlign 允许
#textAlign-absolute 允许
#textAlign-relative 允许
#textAlign-version-2 通过 #textAlign#textAlign-relative#textAlign-absolute 部分支持。
#textCombine 允许
#textDecoration 允许
#textDecoration-over 允许
#textDecoration-through 允许
#textDecoration-under 允许
#textEmphasis 通过 #textEmphasis-minimal 部分支持。
#textEmphasis-minimal 允许
#textOutline 通过 #textOutline-unblurred 部分支持。
#textOutline-unblurred 允许
8.1.24 #textOutline-unblurred 节指定了 附加约束。
#textShadow 允许
8.1.25 #textShadow 节指定了附加约束。
#tickRate 允许
8.1.26 #tickRate 节指定了附加约束。
#timeBase-media 允许
#timeContainer 允许
#time-clock 允许
#time-clock-with-frames 允许
#time-offset 允许
#time-offset-with-frames 允许
#time-offset-with-ticks 允许
#timing 允许
8.1.29 #timing 节指定了附加约束。
#transformation 允许
#transformation-version-2 通过 #transformation#profile-version-2 部分支持。
#unicodeBidi 允许
#unicodeBidi-version-2 通过 #unicodeBidi 部分支持。
#visibility 允许
#visibility-block 允许
#visibility-inline 允许
#visibility-region 允许
#visibility-version-2 通过 #visibility 部分支持。
#wrapOption 允许
#writingMode 允许
#writingMode-horizontal 允许
#writingMode-horizontal-lr 允许
#writingMode-horizontal-rl 允许
#writingMode-vertical 允许
#zIndex 允许但已弃用
相对于 IMSC 扩展命名空间
#activeArea 允许
#altText 允许但已弃用
#aspectRatio 允许但已弃用
8.1.3 #aspectRatio 节指定了附加约束。
#fillLineGap 允许
#forcedDisplay 允许
#linePadding 允许
8.1.17 ebutts:linePadding 节指定了附加约束。
#multiRowAlign 允许
8.1.18 ebutts:multiRowAlign 节指定了附加 约束。
#progressivelyDecodable 允许但已弃用

8. 附加规定

8.1 特性和扩展的 约束

8.1.1 altText 命名元数据项

altText 命名元数据项 SHOULD NOT 存在,因为 文本配置文件文档实例中未使用 基于图像的定时文本信息。

如果还存在任何 ittm:altText 元素,则 altText 命名元数据项 SHALL NOT 存在于文档实例中。

8.1.2 #altText

ittm:altText 元素 SHOULD NOT 存在,因为 文本配置文件文档 实例中未使用基于图像的定时文本信息。

如果还存在任何 altText 命名元数据项元素,则 ittm:altText 元素 SHALL NOT 存在于文档实例中。

8.1.3 #aspectRatio

ittp:aspectRatio 属性 SHOULD NOT 存在于文档实例中,除非需要与 [ttml-imsc1.0.1] 处理器兼容。

如果还存在任何 ttp:displayAspectRatio 属性,则 ittp:aspectRatio 属性 SHALL 不得存在于文档实例中。

8.1.4 #color

tts:color 的初始值 SHALL"white"

这与 [SMPTE2052-1] 一致。

[ttml2] 中定义的 命名颜色 green 等同于 RGB 颜色三元组 #008000,且并非满亮度。对于满亮度绿色,作者可以指定 RGB 颜色三元组 #00ff00 或命名颜色 lime

8.1.5 #displayAspectRatio

如果还存在任何 ittp:aspectRatio 属性,则 ttp:displayAspectRatio 属性 SHALL 不得存在于 文档实例中。

8.1.6 #extent-root

如果文档实例包含任何使用 px 单位的长度值,则 tts:extent SHALL 存在于 tt 元素上。

8.1.7 #extent-region

对于文档 实例中定义的每个 region 元素,tts:extent 样式 属性的指定值 SHALL 由两个长度表达式组成,这两个表达式使用像素 (px)、 百分比 (%) 或根容器相对单位。

如果文档 实例中未定义 region 元素,则内容会流入默认区域; 反之,如果文档实例中定义了一个或多个 region 元素,则不会使用默认区域

上述要求要求作者在文档实例中显式指定 tts:extent 的值, 例如为每个 region 元素指定 tts:extent 属性。

8.1.8 #font#source

文档实例中的 font 元素 SHALL 不得指定 src 属性。

作为 font 元素子元素的所有 source 元素 SHALL 引用一个外部数据 资源

处理器 MAY 使用 [css-fonts-3] §5 字体 匹配算法,将字体与一段文本关联起来。

8.1.9 #fontFamily-generic

在没有关于字体族选择的具体指令时,为了增强换行适配的 可复现性,鼓励作者使用 monospaceSerifproportionalSansSerif 通用字体 族,这些字体的参考字体度量在 A. 参考字体中定义。

如果 tts:fontFamily 的计算值为 "default",则 tts:fontFamily 的使用值 SHALL"monospaceSerif"

术语使用值在 CSS 2.1 中定义,[ttml2] 对其作了规范性引用。

8.1.10 #fontFamily

线性空白 SHOULD NOT 出现在 tts:fontFamily 指定值的各组成部分之间。

8.1.11 #fontVariant

tts:fontVariant 属性的计算值 SHALL 为 以下值之一:

  • normal
  • sub;或
  • super

8.1.12 #frameRate

如果文档实例包含任何使用 frames 项的时钟时间表达式,或任何使用 f 度量的偏移 时间表达式,则 ttp:frameRate 属性 SHALL 存在于 tt 元素上。

8.1.13 #length-cell

c 单位 SHALL NOT 出现在 ebutts:linePadding 的值之外。

8.1.14 #length-negative

严格为负的 length 表达式 SHALL NOT 与以下属性以外的 属性一起使用:

  • tts:disparity;以及
  • tts:textShadow

8.1.15 #length-root-container-relative

当在 tts:extenttts:position 属性上指定时:

  • rh 单位 SHALL NOT 用于水平长度 分量;并且
  • rw 单位 SHALL NOT 用于垂直长度分量。

8.1.16 #lineHeight

tts:lineHeight 属性的指定值 SHOULD 使得每个 p 元素的指定样式集包含一个值不是 normaltts:lineHeight 属性。

在撰写本文时,normal 值的实现并不统一。

8.1.17 ebutts:linePadding

style 元素外,属性 ebutts:linePadding MAY 可指定在以下元素上:

  • region
  • body
  • div
  • p
  • initial

处理器

  • SHALL 仅将 ebutts:linePadding 应用于 p;并且
  • SHALLebutts:linePadding 视为可继承。

ebutts:linePadding 属性仅支持 c 长度单位。

与本规范不同,[EBU-TT-D] 指定属性 ebutts:linePadding 仅允许出现在 style 元素上。

8.1.18 ebutts:multiRowAlign

style 元素外,属性 ebutts:multiRowAlign MAY 可指定在以下元素上:

  • region
  • body
  • div
  • p
  • initial

处理器

  • SHALL 仅将 ebutts:multiRowAlign 应用于 p; 并且
  • SHALLebutts:multiRowAlign 视为可继承。

与本规范不同,[EBU-TT-D] 指定属性 ebutts:multiRowAlign 仅允许出现在 style 元素上。

8.1.19 #origin

tts:origin 属性的值 SHALL 由两个 使用像素 (px) 或百分比 (%) 单位的长度表达式组成。

如果 tts:position 属性在文档实例中的任何位置被指定,则 tts:origin 属性 SHALL NOT 在该 文档实例中的任何位置被指定。

8.1.20 #position

tts:position 属性值的所有 length 分量 SHALL 使用像素 (px)、百分比 (%) 或根 容器相对单位。

如果 tts:origin 属性在文档 实例中的任何位置被指定,则 tts:position 属性 SHALL NOT 在该 文档实例中的任何位置被指定。

8.1.21 #resources

resources 元素 SHALL 不得包含以下任何 子元素:

  • audio
  • data;以及
  • image

8.1.22 #rubyAlign

tts:rubyAlign 属性的指定值 SHALL 使得其计算值为 centerspaceAround

8.1.23 倾斜的 日语文本

本节为非规范性内容。

由于 (a) 日语字体通常不包含 italicoblique 字形, 并且 (b) 日语倾斜竖排文本由沿垂直方向倾斜的字符组成 (而不是 水平方向),因此建议指定 tts:shear 来倾斜 日语文本 ——而不是指定 tts:fontStyle="italic"tts:fontStyle="oblique"

8.1.24 #textOutline-unblurred

tts:textOutline 属性的指定值 SHALL 使得其在任何 span 元素上的计算值不超过同一 元素上 tts:fontSize 属性计算值的 10%。

8.1.25 #textShadow

tts:textShadow 属性的指定值 SHALL NOT 具有超过 4 个 <shadow> 值。

8.1.26 #tickRate

如果文档包含任何使用 t 度量的时间表达式,则 ttp:tickRate SHALL 存在于 tt 元素上。

8.1.27 #timeBase-media

本节为非规范性内容。

[ttml2] 指定,如果未在 tt 上指定 ttp:timeBase,则默认时间基为 "media"

8.1.28 #time-clock-with-frames

本节为非规范性内容。

如 [ttml2] 中所指定, #time-clock-with-frames 表达式会根据 M = 3600 · hours + 60 · minutes + seconds + (frames ÷ (ttp:frameRateMultiplier · ttp:frameRate)) 转换为媒体时间 M。

8.1.29 #timing

对于任何包含 br 元素或文本节点的内容元素, begin 属性以及 enddur 属性之一 SHOULD 指定在该内容元素或其至少一个 祖先上。

8.1.30 usesForced 命名元数据项

本节为非规范性内容。

usesForced 命名元数据项不适用,因为 condition 属性被 禁止。

itts:forcedDisplay 属性用于指定强制内容语义。

8.1.31 #zIndex

本节为非规范性内容。

此特性没有作用,因为如 8.13.2 尺寸和位置中所指定,呈现区域文档实例中不会重叠。

8.2 文档复杂度

文本配置文件文档 SHOULD 符合 [imsc-hrm] 中指定的假想渲染模型。

这限制了文本配置文件文档的复杂度,使 播放系统能够以作者指定的显示时间同步渲染 内容。

8.3 文档编码

文档实例 SHALL 具体编码为格式良好的 XML 1.0 [xml] 文档,并使用 [UNICODE] 中指定的 UTF-8 字符编码。

生成的 [xml] 文档 SHOULD NOT 包含以下任何物理结构:

这些物理结构旨在本规范的未来版本中被禁止。

生成的 [xml] 文档可以 包含字符引用,以及对 预定义实体实体引用

8.4 扩展词汇

8.4.1 ittp:activeArea

文档实例活动 区域根容器区域内作者 期望至少能被观看者看到的区域。该区域通常完全包含 文档实例内所有被引用的区域。

在正常情况下,会呈现整个根 容器区域。但是,在特殊 情况下,例如相关视频对象被 裁剪时,系统可以例如使用 ittp:activeArea 参数,以避免裁剪根容器区域中原本打算 对观看者可见的区域。然而,系统的具体行为被有意留为未定义:系统可以 选择适合显示形状、用户偏好等的呈现模式。 ittp:activeArea 类似于广播 应用中常用的 Active Format Description (AFD) 元数据。

活动区域使用 ittp:activeArea 属性指定。

如果存在,ittp:activeArea 属性 SHALL 符合 以下语法:

ittp:activeArea
  : leftOffset topOffset width height

leftOffset | topOffset | width | height
  : <percentage>                // 其中 <percentage> 为非负且不大于 100%。

width 百分比值相对于根容器区域的宽度。

height 百分比值相对于根容器区域的高度。

widthheight 百分比值是活动区域的宽度和高度。

leftOffsettopOffset 百分比值指定 根 容器区域活动区域之间的对齐点。

活动区域原点左上角 {x, y} 百分比坐标 SHALL 按如下方式计算:

x = leftOffset * (1 - width/100)
y = topOffset * (1 - height/100)

left 和 top 偏移位置的使用,与 [css3-background] background-position 属性中使用两个百分比值位置的情形相一致。

ittp:activeArea 参数的语法使得活动区域不能在任何维度上延伸到 根容器区域之外。

ittp:activeArea 属性仅在指定于 tt 元素上时才被认为是有意义的。

如果未指定 ittp:activeArea 属性,则活动区域 SHALL根容器 区域

<?xml version="1.0" encoding="UTF-8"?>
<tt xml:lang="en"
    xmlns="http://www.w3.org/ns/ttml"
    xmlns:ttm="http://www.w3.org/ns/ttml#metadata" 
    xmlns:tts="http://www.w3.org/ns/ttml#styling"
    xmlns:ttp="http://www.w3.org/ns/ttml#parameter" 
    xmlns:ittp="http://www.w3.org/ns/ttml/profile/imsc1#parameter"
    ittp:activeArea="50% 50% 80% 80%"
    tts:extent="640px 480px"
    ttp:contentProfiles="http://www.w3.org/ns/ttml/profile/imsc1.3/text">
    
    <head>
        <layout>
            <region xml:id="area1" tts:origin="10% 10%" tts:extent="80% 10%" tts:backgroundColor="blue" tts:displayAlign="center" tts:textAlign="center" tts:color="white" tts:fontSize="24px"/>
            <region xml:id="area2" tts:origin="10% 80%" tts:extent="80% 10%" tts:backgroundColor="blue" tts:displayAlign="center" tts:textAlign="center" tts:color="white" tts:fontSize="24px"/>
            <region xml:id="area3" tts:origin="10% 92%" tts:extent="80% 6%" tts:backgroundColor="red" tts:displayAlign="center" tts:textAlign="center" tts:color="yellow" tts:fontSize="24px"/>
        </layout>
    </head>
    <body>
        <div>
            <p region="area1" begin="0s" end="6s">This region is within the editorial area.</p>
            <p region="area2" begin="0s" end="6s">This region is within the editorial area.</p>
            <p region="area3" begin="0s" end="6s">This region is not.</p>
        </div>
    </body>
</tt>

8.4.2 ittm:altText

#altText 特性在本规范定义的配置文件中被指定为 允许但已弃用altText 命名元数据项提供等价 语义。

ittm:altText 允许作者为元素提供等价的文本字符串,该字符串 MAY 用于 支持内容索引,或便于对文档进行质量检查。它也可以供辅助 技术使用。

#altText 特性主要用于为基于图像的 字幕和说明字幕提供文本替代,而文本配置文件不支持这类字幕。

与 [HTML] 中 alt 属性的常见用法不同, ittm:altText 属性内容并非旨在当元素未加载时替代该元素显示。

ittm:altText 元素 SHALL 符合以下语法:

<ittm:altText
  xml:id = ID
  xml:lang = string
  xml:space = (default|preserve)
  {any attribute not in the default namespace, any TT namespace or any IMSC namespace}>
  Content: #PCDATA
</ittm:altText>

ittm:altText 元素 SHALLmetadata 元素的子元素。

8.4.3 ittp:aspectRatio

#aspectRatio 特性在本规范定义的配置文件中被指定为 允许但已弃用#displayAspectRatio 特性提供等价 语义。

ittp:aspectRatio 属性允许作者控制文档实例根容器区域相关视频对象的每个图像帧的映射。

如果存在,ittp:aspectRatio 属性 SHALL 符合 以下语法:

ittp:aspectRatio
  : numerator denominator          // 其中 int(numerator) != 0 且 int(denominator) != 0
                                   // 其中 int(s) 将字符串 s 解析为十进制整数。

numerator | denominator
  : <digit>+                       // 不隐含也不允许线性空白
                                   // 出现在每个 <digit> 标记之间

ittp:aspectRatio 属性仅在指定于 tt 元素上时才被认为是有意义的。

如果指定在 tt 元素上,则 ittp:aspectRatio 属性指定 根容器区域的显示宽高比。如果未指定,则 根容器 区域的显示宽高比按照 [ttml2] 附录 H 确定。

8.4.4 itts:fillLineGap

itts:fillLineGap 属性允许作者控制 连续行区域之间背景的应用。

如果 itts:fillLineGap="true",则由 p 元素后代 span 生成的每个内联区域的背景 SHALL 延伸到其所在行区域的 before-edgeafter-edgebefore-edgeafter-edge 在 [XSL11] 第 4.2.3 节定义)。

itts:fillLineGap 属性 SHALL 符合以下规定:

值: false | true
初始值: false
适用于: p
可继承:
百分比: 不适用
可动画化: 离散

在以下示例中,p 指定了 itts:fillLineGap="true",因此, 其各行之间不存在间隙。

<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml"
    xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
    xmlns:tts="http://www.w3.org/ns/ttml#styling"
    xmlns:itts="http://www.w3.org/ns/ttml/profile/imsc1#styling"
    ttp:timeBase="media"
    xml:lang="en"
    ttp:cellResolution="50 30"
    ttp:contentProfiles="http://www.w3.org/ns/ttml/profile/imsc1.3/text">
  <head>
    <styling>
      <style xml:id="spanStyle" tts:color="#ffffff" tts:backgroundColor="#000000" />
      <style xml:id="spanStyleSmall" tts:color="#000000" tts:backgroundColor="#dfbb02" tts:fontSize="50%"/>
      <style xml:id="spanStyleBig" tts:color="#ffffff" tts:backgroundColor="#b75800" tts:fontSize="150%"/>
      <style xml:id="paragraphStyle" tts:fontFamily="monospaceSerif" tts:textAlign="center"
              tts:fontSize="200%" tts:lineHeight="165%"  itts:fillLineGap="true"/>
    </styling>
    <layout>
      <region xml:id="bottom" tts:origin="10% 10%" tts:extent="80% 80%" tts:displayAlign="after" />
    </layout>
  </head>
  <body>
    <div>
      <p xml:id="subtitle1" region="bottom" begin="00:00:00.000" end="00:00:30.000" style="paragraphStyle">
        <span style="spanStyle">##Line gaps##</span>
        <br/>
        <span style="spanStyle">The quick </span>
        <span style="spanStyleBig">brown</span>
        <span style="spanStyle"> fox</span>
        <br/>
        <span style="spanStyle">jumps over the </span>
        <span style="spanStyleSmall">lazy</span>
        <span style="spanStyle"> dog</span>
        <br/>
        <span style="spanStyle">##Line gaps##</span>
      </p>
    </div>
  </body>
</tt>
itts:fillLineGap 渲染示例 1
3 紧接上方示例的说明性呈现,其中 itts:fillLineGap="true" 被移除(左侧)或 保留(右侧)。蓝线已添加,用于显示每个行 区域的 before-edgeafter-edge,它们对于连续行区域是重合的。

此外,如下例所示,由于连续 p 元素的行区域是连续的,因此当 itts:fillLineGap="true" 时,两个连续 p 元素之间不存在间隙。

<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml"
    xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
    xmlns:tts="http://www.w3.org/ns/ttml#styling"
    xmlns:itts="http://www.w3.org/ns/ttml/profile/imsc1#styling"
    ttp:timeBase="media"
    xml:lang="en"
    ttp:cellResolution="50 30"
    ttp:contentProfiles="http://www.w3.org/ns/ttml/profile/imsc1.3/text">
  <head>
    <styling>
      <style xml:id="spanStyle" tts:color="#ffffff" tts:backgroundColor="#000000" />
      <style xml:id="paragraphStyleNoGap" tts:fontFamily="monospaceSerif" tts:textAlign="center" tts:fontSize="200%"
          tts:lineHeight="165%" itts:fillLineGap="true"/>
      <style xml:id="paragraphStyle" tts:fontFamily="monospaceSerif" tts:textAlign="center" tts:fontSize="200%"
          tts:lineHeight="165%" itts:fillLineGap="false"/>

    </styling>
    <layout>
      <region xml:id="bottom" tts:origin="10% 10%" tts:extent="80% 80%" tts:displayAlign="after" />
      <region xml:id="top" tts:origin="10% 10%" tts:extent="80% 80%" tts:displayAlign="before" />

    </layout>
  </head>
  <body>
    <div region="bottom" begin="00:00:00.000" end="00:00:30.000">
      <p xml:id="subtitle1" style="paragraphStyle">
        <span style="spanStyle">Paragraph 1</span>
      </p>
      <p xml:id="subtitle1" style="paragraphStyle">
        <span style="spanStyle">Paragraph 2</span>
      </p>
    </div>
    <div region="top" begin="00:00:00.000" end="00:00:30.000">
      <p xml:id="subtitle1" style="paragraphStyleNoGap">
        <span style="spanStyle">Paragraph 1</span>
      </p>
      <p xml:id="subtitle1" style="paragraphStyleNoGap">
        <span style="spanStyle">Paragraph 2</span>
      </p>
    </div>
  </body>
</tt>
itts:fillLineGap 渲染示例 2
4 紧接上方示例的说明性呈现,其中 顶部区域的两个段落上设置了 itts:fillLineGap="true",底部区域的两个段落上设置了 itts:fillLineGap="false"

8.4.5 itts:forcedDisplay

当处理器已通过应用参数 displayForcedOnlyMode 配置为这样做时,可使用 itts:forcedDisplay 属性隐藏内容。

附录 C. 强制内容 展示了 itts:forcedDisplay 在一种应用中的用法:单个 文档同时包含面向听力障碍者的说明字幕和翻译后的外语字幕,并使用 itts:forcedDisplay 始终显示翻译字幕,而不依赖于 面向听力障碍者的说明字幕是显示还是隐藏。

itts:forcedDisplay 属性 SHALL 符合 以下规定:

值: false | true
初始值: false
适用于: body, div, p, region, span
可继承:
百分比: 不适用
可动画化: 离散

当且仅当 displayForcedOnlyMode 的值为 "true" 时,itts:forcedDisplay 计算值为 "false" 的内容元素 SHALL NOT 产生任何可见渲染,而不论 tts:visibility 的计算值如何。

itts:forcedDisplay 属性对内容布局或组合没有影响,而只是 确定组合后的内容是否可见。

呈现处理器 SHALL 接受一个名为 displayForcedOnlyMode 的可选布尔参数, 其值 MAY呈现处理器外部的上下文设置。如果未设置, displayForcedOnlyMode 的值 SHALL 被假定为等于 "false"

根据 文档实例被呈现的具体情况来设置 displayForcedOnlyMode 参数的算法留给应用。

<?xml version="1.0" encoding="UTF-8"?>
<tt xml:lang="en"
    xmlns="http://www.w3.org/ns/ttml"
    xmlns:ttm="http://www.w3.org/ns/ttml#metadata" 
    xmlns:tts="http://www.w3.org/ns/ttml#styling"
    xmlns:ttp="http://www.w3.org/ns/ttml#parameter" 
    xmlns:itts="http://www.w3.org/ns/ttml/profile/imsc1#styling"
    ttp:displayAspectRatio="16 9"
    ttp:contentProfiles="http://www.w3.org/ns/ttml/profile/imsc1.3/text">
    
    <head>
        <layout>
            <region xml:id="r1" itts:forcedDisplay="true" tts:origin="10% 2%" tts:extent="80% 10%" tts:color="white" tts:backgroundColor="black" tts:showBackground="whenActive"/>
            <region xml:id="r2" tts:origin="10% 80%" tts:extent="80% 10%" tts:color="white" tts:backgroundColor="black" tts:showBackground="whenActive"/>
        </layout>
    </head>
    <body>
        <div>
            <p region="r1" begin="1s" end="6s">Lycée</p>

            <!-- 如果 displayForcedOnlyMode='true',以下内容将不会出现 -->
            <p region="r2" begin="4s" end="6s">Nous étions inscrits au même lycée.</p>
        </div>
    </body>
</tt>

如 [ttml2] 中所指定, 即使区域内所有活动内容的 tts:visibility 计算值都等于 "hidden",该区域的背景也可以可见。因此,对于 itts:forcedDisplay 等于 "true" 的区域,即使 区域内所有活动内容元素的 itts:forcedDisplay 都等于 "false",且 displayForcedOnlyMode 等于 "true",该区域的背景仍可能保持可见。作者可以避免这种情况,例如确保 内容元素及其流入的区域始终具有相同的 itts:forcedDisplay 值。

预计 itts:forcedDisplay 的功能将在本规范的未来修订版中映射 到条件式 样式构造。

itts:forcedDisplay 相关联的呈现语义旨在 与 [CFF] 中定义的 forcedDisplayMode 属性相关联的语义兼容。

8.4.6 ittp:progressivelyDecodable

#progressivelyDecodable 特性在本规范定义的 配置文件中被指定为 允许但已弃用

可渐进解码的文档 实例被结构化为便于在文档完整接收之前进行呈现,并可使用 ittp:progressivelyDecodable 属性识别。

可渐进解码的文档实例是一个符合以下条件的文档实例

  1. TTML 定时词汇的任何属性或元素均不存在于 head 元素内;
  2. 给定中间同步文档 AB,它们属于该文档实例,开始时间分别为 TATB,如果 A 包含一个 p 元素,且该元素在词法上 位于 B 包含的任何 p 元素之前,则 TA 不大于 TB
  3. TTML 定时词汇的任何属性均不存在于 p 的后代元素上; 并且
  4. 不存在元素 E1 显式引用另一个元素 E2,而 E2 的开始标签在词法上 位于 E1 的开始标签之后。

如果存在,ittp:progressivelyDecodable 属性 SHALL 符合以下语法:

ittp:progressivelyDecodable
  : "true"
  | "false"

ittp:progressivelyDecodable 属性仅在指定于 tt 元素上时才被认为是有意义的。

如果未指定,则 ittp:progressivelyDecodable 的值 SHALL 被认为等于 "false"

ittp:progressivelyDecodable 的计算值为 "true"文档实例 SHALL可渐进解码的文档 实例

ittp:progressivelyDecodable 的计算值为 "false"文档实例 既未被断言为可渐进解码的文档 实例,也未被断言为不是 可渐进解码的文档实例

<tt
  xmlns="http://www.w3.org/ns/ttml"
  xmlns:ttm="http://www.w3.org/ns/ttml#metadata"
  xmlns:tts="http://www.w3.org/ns/ttml#styling"
  xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
  xmlns:ittp="http://www.w3.org/ns/ttml/profile/imsc1#parameter"
  ittp:progressivelyDecodable="true"
  ttp:profile="..."
 >
 ...
</tt>

[ttml2] 明确规定了在以下情况下引用使用 xml:id 标识的元素:

  • body 中的元素引用 region 元素。在这种情况下, 上述要求 4 始终得到满足。
  • body 中的元素引用 style 元素。在这种情况下, 上述要求 4 始终得到满足。
  • region 元素引用 style 元素。在这种情况下, 上述要求 4 始终 得到满足。
  • style 元素引用其他 style 元素。在这种 情况下,要求 4 为 head 元素内 style 元素的排序提供了一种优化。
  • ttm:actor 元素引用 ttm:agent 元素。在这种 情况下,要求 4 为 文档内元数据元素的排序提供了优化。
  • 内容元素使用 ttm:agent 属性引用 ttm:agent 元素。在这种 情况下,要求 4 为文档内 元数据元素的排序提供了优化。

8.5 字体资源

呈现处理器 SHALL 支持以下媒体类型的字体资源, 如 [IANA-MEDIA-TYPES] 中所定义:

[IANA-MEDIA-TYPES] 指定媒体类型 font/otf 包括文件扩展名 .ttf.otf

8.6 外来元素和属性

文档实例 MAY 包含 既未由配置文件明确允许也未明确禁止的元素和属性。

转换处理器 SHOULD 尽可能保留此类元素或属性。

文档实例仍需 遵守 [ttml2] 第 3.1 节指定的内容一致性要求。 特别是,文档实例可以包含不在任何 TT 命名空间中的元素和属性,即位于外来命名空间中的元素和属性,因为在评估内容一致性之前, [ttml2] 第 4 节的算法会剪除这些元素和属性。

出于验证目的,为文档 实例中使用的所有外来命名空间元素 和属性定义并使用内容规范是一种良好实践。

8.8 命名空间

本规范使用以下命名空间(参见 [xml-names]):

名称 前缀 定义规范
XML xml http://www.w3.org/XML/1998/namespace [xml-names]
TT tt http://www.w3.org/ns/ttml [ttml2]
TT 参数 ttp http://www.w3.org/ns/ttml#parameter [ttml2]
TT 样式 tts http://www.w3.org/ns/ttml#styling [ttml2]
TT 特性 http://www.w3.org/ns/ttml/feature/ [ttml2]
EBU-TT 样式 ebutts urn:ebu:tt:style [EBU-TT-D]
EBU-TT 元数据 ebuttm urn:ebu:tt:metadata [EBU-TT-D]
IMSC 样式 itts http://www.w3.org/ns/ttml/profile/imsc1#styling 本规范
IMSC 参数 ittp http://www.w3.org/ns/ttml/profile/imsc1#parameter 本规范
IMSC 元数据 ittm http://www.w3.org/ns/ttml/profile/imsc1#metadata 本规范
IMSC 扩展 http://www.w3.org/ns/ttml/profile/imsc1/extension/ 本规范
IMSC 1.3 文本配置文件指示符 参见第 6.2 指示符

上面定义的命名空间前缀值是为了方便,文档实例 MAY 使用符合 [xml-names] 的任何前缀值。

本规范定义的命名空间是可变的 [namespaceState];这些命名空间中所有未定义的 名称均保留给 W3C 未来标准化使用。

8.9 溢出

文档实例 SHOULD 在编写时假定严格裁剪落在区域范围之外的内容, 而不考虑该区域的 tts:overflow 计算值。

8.10 配置文件信令

8.10.1 通用

ttp:contentProfiles 属性 SHOULD 存在于 tt 元素上,且其值中恰有一个 等于文本配置文件指示符。

ttp:contentProfiles 属性在某些配置文件中被禁止,例如 [EBU-TT-D], 如 I.2 EBU-TT-D中所讨论。

为最大限度降低不兼容风险,不建议在旨在符合基于 [TTML1] 的配置文件的文档中使用 ttp:contentProfiles 属性以及 [ttml2] 中引入的其他语法,例如 [SMPTE2052-1]、 [ttml-imsc1] 、[ttml-imsc1.0.1] ,或 [ttml10-sdp-us]。

ttp:contentProfiles 属性可以包含除本文所指定指示符以外的其他指示符, 包括本规范其他版本的指示符。

6.3 配置文件 解析语义指定用于确定与文档实例相关联的有效处理器配置文件 的过程。

8.10.2 使用 EBU-TT 元数据发送一致性信令

在使用 [EBU-TT-M] 中指定的 ebuttm:conformsToStandard 元素时,如果指示符合相应配置文件, SHALL 使用文本 配置文件的指示符。

关于遵循本节建议的文档实例示例, 参见 I.2 EBU-TT-D

8.12 参考字体

在渲染匹配 A. 参考字体中列出的 计算字体族与码点组合之一的码点时, 处理器 SHALL 使用一种字体,该字体生成的字形序列尺寸 与指定参考字体之一本应生成的字形序列基本 相同。

此条款仅适用于处理器支持的码点。关于处理器可能会遇到的各类语言的码点, 参见 8.11 推荐 字符集

当内容作者为字幕设置边界框时,他们希望最大限度提高文本 在由处理器显示时能够适配其中的可能性。如果处理器没有使用内容作者心中 的特定字体,实际使用的字体可能会导致文本尺寸变大,使其不再适配 边界框。这还会因字体具有更大的字形而导致换行方式差异而进一步加剧,可能 增加所用行数;行距增加也可能将部分文本推出 边界框之外。
为帮助确保文本大小、换行和行高等内容能够相对于内容作者设置的 边界框大小按预期表现,作者可以使用本规范定义的参考字体之一。本 规范要求处理器支持一种或多种具有与参考字体相似字体度量的字体。 但请注意,目前定义的参考字体仅覆盖少数书写 系统所使用的字符——特别是基于拉丁、希腊、西里尔、希伯来和阿拉伯文字的 子集。

实现可以使用 A. 参考字体中指定字体以外的字体。两个 度量相同的字体可以具有不同外观,但流排相同。

8.13 区域

8.13.1 呈现区域

呈现区域是满足以下 条件的时间上活动的区域:

  1. tts:opacity 的计算值不等于 "0.0";并且
  2. tts:display 的计算值不是 "none";并且
  3. tts:visibility 的计算值不是 "hidden";并且
  4. (a) 内容被选入该区域,或 (b) tts:showBackground 的计算值等于 "always",且 tts:backgroundColor 的计算值具有非透明 alpha。

8.13.2 尺寸和位置

所有区域 SHALL NOT 延伸超出根 容器区域,即每个区域坐标集合中的每个坐标 也位于根 容器区域的坐标集合中。

给定中间同步文档中的任意两个呈现区域 SHALL 不得重叠,即每个呈现区域内坐标集合的交集为空。

8.13.3 最大数量

给定中间同步文档中的呈现区域数量 SHALL NOT 大于 4。

8.15 样式解析

以下样式属性 SHALL 适用 [ttml2] 第 10.4 节指定的样式解析 程序:

上述样式属性可以指定为 [ttml2] 第 10.1.1 节指定的 initial 元素的属性。

A. 参考字体

计算字体族 码点 参考字体
monospaceSerif B. 常用字符集中指定的所有码点 Courier NewLiberation Mono
proportionalSansSerif B. 常用字符集中指定的所有码点,不包括 为希伯来文和阿拉伯文字定义的码点。 ArialHelveticaLiberation Sans

C. 强制内容

本节为非规范性内容。

下面的5展示了强制内容的使用,即 itts:forcedDisplaydisplayForcedOnlyMode。 带有 itts:forcedDisplay="true" 的内容是 “High School” 标志的法语翻译。带有 itts:forcedDisplay="false" 的内容是捕捉 旁白的法语字幕。

itts:forcedDisplay 用法示意图
5 itts:forcedDisplay 用法示意图

当用户选择法语作为播放语言但未选择法语字幕时, displayForcedOnlyMode 被设置为 "true",从而显示标志翻译,这对 任何法语使用者都有用,但隐藏旁白字幕,因为旁白已用法语听到。

如果用户选择法语作为播放语言并且也选择法语字幕,例如用户 听力障碍, displayForcedOnlyMode 被设置为 "false",从而显示标志翻译以及 旁白字幕。

设置 displayForcedOnlyMode 参数并选择适当的 字幕和音频轨道组合的算法取决于应用。

D. 无障碍考虑事项

D.1 WCAG 考虑事项

D.1.1 成功 标准 1.4.3 对比度(最低)

[WCAG22] 中的成功标准 1.4.3指定, 除某些例外情况外,文本和文本图像的视觉呈现具有至少 4.5:1 的对比度。

文本配置文件的上下文中,这是通过指定适当的 前景色和背景色实现的。

D.1.2 成功 标准 1.4.12 文本间距

[WCAG22] 中的成功标准 1.4.12 指定,当行、字母、单词和段落的间距按指定 量修改时,不会发生内容或 功能损失。

在本规范的上下文中,这是通过指定适当的 样式属性组合,以实现所需行高、字体大小、区域范围等来实现的。

D.1.3 成功标准 3.1.1 页面语言和 3.1.2 局部语言

[WCAG22] 中的成功标准 3.1.13.1.2 指定,内容中每一段或 短语的人类语言都可以以编程方式确定。

在本规范的上下文中,这是通过指定 xml:lang 实现的。

D.1.4 成功 标准 1.3.1 信息和关系

本节为非规范性内容。

[WCAG22] 中的成功标准 1.3.1 旨在确保当呈现格式 发生变化时,由视觉或听觉格式暗示的信息和关系得以保留。

作为本规范上下文中的一个示例,当实现将文档实例 渲染为带有 [CSS] 样式的 [HTML] 时,应确保生成的 [HTML] 文档能够被辅助技术理解, 即使用户样式表替换了作者提供的样式表。例如,在渲染 tts:fontVariant 时,仅使用 CSS vertical-align 属性可能 不足以让辅助技术识别相关字形是上标或下标。

D.2 MAUR 考虑事项

本节为非规范性内容。

鼓励作者和实现者查阅 [media-accessibility-reqs],其中 提出了残障用户在 Web 上对音频和视频具有的无障碍需求。

E. 示例文档实例

本节为非规范性内容。

以下示例文档实例符合文本 配置文件。这些示例 仅用于说明,并不旨在捕捉当前或未来实践,也不旨在覆盖 本规范中包含的所有 规范性正文。

<?xml version="1.0" encoding="UTF-8"?>
<tt xml:lang="en"
    xmlns="http://www.w3.org/ns/ttml"
    xmlns:ttm="http://www.w3.org/ns/ttml#metadata" 
    xmlns:tts="http://www.w3.org/ns/ttml#styling"
    xmlns:ttp="http://www.w3.org/ns/ttml#parameter" 
    ttp:displayAspectRatio="4 3"
    ttp:contentProfiles="http://www.w3.org/ns/ttml/profile/imsc1.3/text">
    
    <head>
        <layout>
            <region xml:id="area1" tts:origin="10% 10%" tts:extent="80% 10%" tts:backgroundColor="black" tts:displayAlign="center" tts:color="red"/>
        </layout>
    </head>
    <body>
        <div>
            <p region="area1" begin="0s" end="6s">Lorem ipsum dolor.</p>
        </div>
    </body>
</tt>

上述示例指定了两个中间同步 文档, 一个从 0 秒到 6 秒,渲染结果如6所示, 另一个从 6 秒起,渲染结果如7所示。

文本配置文件示例渲染 1,0s 到 6s
6 紧接上方示例的说明性呈现, 时间段为 0s 到 6s。

6显示了一个 黑色矩形区域,其位置使其 左上角从渲染区域顶部向下 10%, 并从渲染区域左边缘向右 10%, 其宽度为渲染区域的 80%, 高度为渲染区域的 10%。 该区域包含红色文本 “Lorem ipsum dolor.”, 使用默认字体和默认大小;该大小为 渲染区域高度的 1/15,并根据 ttp:cellResolution 参数("32 15") 和 ttp:fontSize"100%")样式属性的默认值计算得出, 因为这两者均从本文档中省略。

文本配置文件示例渲染 1,从 6s 起
7 紧接上方示例的说明性呈现, 时间段从 6s 起。

7显示了同一个 黑色矩形区域处于相同位置。 除黑色背景外,该区域为空, 但该背景仍然可见, 因为 tts:showBackground 属性未出现在 region 元素上,因此其默认值 always 适用。

F. 扩展

F.1 通用

以下各节定义扩展指示符,以相对于 IMSC 扩展命名空间基 URI 的相对 URI(片段标识符) 表示。

F.2 #activeArea

如果转换处理器能够识别并 转换 ittp:activeArea 属性的值,则它支持 #activeArea 特性。

如果呈现处理器实现对 ittp:activeArea 属性值的呈现语义 支持,则它支持 #activeArea 特性。

F.3 #altText

#altText 特性在本规范定义的 配置文件中被指定为允许但已弃用altText 命名元数据项提供等价 语义。

如果转换处理器能够识别并 转换 ittm:altText 元素的值,则它支持 #altText 特性。

如果呈现处理器实现对 ittm:altText 元素值的呈现语义支持, 则它支持 #altText 特性。

F.4 #aspectRatio

#aspectRatio 特性在本规范定义的 配置文件中被指定为允许但已弃用#displayAspectRatio 特性提供等价 语义。

如果转换处理器能够识别并 转换 ittp:aspectRatio 属性的值,则它支持 #aspectRatio 特性。

如果呈现处理器实现对 ittp:aspectRatio 属性值的呈现语义 支持,则它支持 #aspectRatio 特性。

F.5 #fillLineGap

如果转换处理器能够识别并 转换 itts:fillLineGap 属性的值,则它支持 #fillLineGap 特性。

如果呈现处理器实现对 itts:fillLineGap 属性值的呈现语义 支持,则它支持 #fillLineGap 特性。

F.6 #forcedDisplay

如果转换处理器能够识别并 转换 itts:forcedDisplay 属性的值,则它支持 #forcedDisplay 特性。

如果呈现处理器实现对 itts:forcedDisplay 属性值的呈现语义 支持,则它支持 #forcedDisplay 特性。

F.7 #linePadding

如果转换处理器能够识别并 转换 [EBU-TT-D] 中指定的 ebutts:linePadding 属性的值,则它支持 #linePadding 特性。

如果呈现处理器实现对 [EBU-TT-D] 中指定的 ebutts:linePadding 属性值的呈现语义 支持,则它支持 #linePadding 特性。

F.8 #multiRowAlign

如果转换处理器能够识别并 转换 [EBU-TT-D] 中指定的 ebutts:multiRowAlign 属性的值,则它支持 #multiRowAlign 特性。

如果呈现处理器实现对 [EBU-TT-D] 中指定的 ebutts:multiRowAlign 属性值的呈现语义 支持,则它支持 #multiRowAlign 特性。

F.9 #progressivelyDecodable

#progressivelyDecodable 特性在本规范定义的 配置文件中被指定为 允许但已弃用

如果转换处理器能够识别并 转换 ittp:progressivelyDecodable 属性的值,则它支持 #progressivelyDecodable 特性。

如果呈现处理器实现对 ittp:progressivelyDecodable 属性值的呈现语义支持,则它支持 #progressivelyDecodable 特性。

G. XML Schema 定义

本节为非规范性内容。

为方便起见,本规范定义的扩展 词汇的 XML Schema 定义(参见 [xmlschema-1])在此处提供。

这些定义是非规范性的,且不足以验证文档实例的一致性。

在本附录指定的定义与规范正文不一致的任何情况下,后者优先。

H. 可扩展性目标

本节为非规范性内容。

本节记录本规范的可扩展性目标。

本规范旨在允许:

I. 与其他基于 TTML 的规范的兼容性

本节为非规范性内容。

I.1 概述

本规范被设计为与 [ttml-imsc1]、 [ttml-imsc1.0.1]、 [ttml-imsc1.1]、 [ttml-imsc1.2]、 [SMPTE2052-1]、 [EBU-TT-D] 和 [ttml10-sdp-us] 兼容。 具体而言,通过选择本规范中定义的特性和 扩展的一个子集,可以创建一个文档,使其符合下列一个或 多个规范:[ttml-imsc1]、 [ttml-imsc1.0.1]、 [ttml-imsc1.1]、 [ttml-imsc1.2]、 [SMPTE2052-1]、 [EBU-TT-D] 或 [ttml10-sdp-us],并且 也符合文本配置文件

本规范还旨在允许将符合 [CFF] 文本配置文件的文档直接转换为文本配置文件

I.2 EBU-TT-D

文本配置文件是 [EBU-TT-D] 的严格语法超集。

因此,符合 [EBU-TT-D] 的文档 通常也符合文本配置文件,但有少数 例外,包括:

[ttml2] 中定义的配置文件词汇被 [EBU-TT-D] 禁止。 相反,如 [EBU-TT-M] 中所指定, 多个 ebuttm:conformsToStandard 元素可以可选地出现在 head 元素的 metadata 元素中,每个 ebuttm:conformsToStandard 均指示符合某个 规范, 包括本规范的其他版本。

可以按照 [ttml-imsc1.0.1] 中的定义, 通过包含 一个附加的 ebuttm:conformsToStandard 元素来指示符合某个 [ttml-imsc1.0.1] 配置文件,该元素的值等于文档实例所符合的 [ttml-imsc1.0.1] 配置文件的指示符。

以下是一个符合文本配置文件、 [ttml-imsc1.0.1] 文本配置文件和 [EBU-TT-D] 的文档示例。 请注意存在多个 ebuttm:conformsToStandard 元素,其中一个等于 文本 配置文件指示符:

<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://www.w3.org/ns/ttml" xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
    xmlns:tts="http://www.w3.org/ns/ttml#styling" xmlns:ttm="http://www.w3.org/ns/ttml#metadata"
    xmlns:ebutts="urn:ebu:tt:style" xml:lang="en" ttp:timeBase="media" xmlns:ebuttm="urn:ebu:tt:metadata" >
    <head>
        <metadata>
            <ebuttm:conformsToStandard>urn:ebu:tt:distribution:2014-01</ebuttm:conformsToStandard>
            <ebuttm:conformsToStandard>http://www.w3.org/ns/ttml/profile/imsc1/text</ebuttm:conformsToStandard>
            <ebuttm:conformsToStandard>http://www.w3.org/ns/ttml/profile/imsc1.1/text</ebuttm:conformsToStandard>
            <ebuttm:conformsToStandard>http://www.w3.org/ns/ttml/profile/imsc1.2/text</ebuttm:conformsToStandard>
            <ebuttm:conformsToStandard>http://www.w3.org/ns/ttml/profile/imsc1.3/text</ebuttm:conformsToStandard>
        </metadata>
        <styling>
            <style xml:id="baseStyle" tts:color="#FFFFFF" tts:lineHeight="100%" tts:fontFamily="sansSerif" ebutts:linePadding="0.5c"/>
            <style xml:id="black" tts:color="#000000"/>
            <style xml:id="blackBackground" tts:backgroundColor="#000000"/>
            <style xml:id="greenBackground" tts:backgroundColor="#00FF00"/>
            <style xml:id="startEnd" tts:textAlign="start" ebutts:multiRowAlign="end"/>
            <style xml:id="centerStart" tts:textAlign="center" ebutts:multiRowAlign="start"/>
        </styling>
        <layout>
            <region xml:id="area1" tts:origin="15% 10%" tts:extent="70% 20%" style="greenBackground" tts:displayAlign="center" tts:showBackground="whenActive"/>
            <region xml:id="area2" tts:origin="15% 70%" tts:extent="70% 20%" style="blackBackground" tts:displayAlign="center" tts:showBackground="whenActive"/>
        </layout>
    </head>
    <body>
        <div style="baseStyle">
            <p xml:id="s1" region="area1" style="startEnd black" begin="00:00:01" end="00:00:09">
                multiRowAlign="end"<br/>textAlign="start"
            </p>
            <p xml:id="s2" region="area2" style="centerStart" begin="00:00:01" end="00:00:09">
                multiRowAlign="start"<br/>textAlign="center"
            </p>
        </div>
    </body>
</tt>

上述示例会产生三个中间同步 文档, 一个从 0 秒到 1 秒,渲染结果如8所示, 下一个从 1 秒到 9 秒,渲染结果如9所示, 最后一个从 9 秒起,渲染结果如10所示。

文本配置文件和 EBU-TT-D 示例渲染 1,0s 到 1s
8 紧接上方示例的说明性呈现, 时间段为 0s 到 1s。

8显示 在 0s 到 1s 期间,文档没有生成任何像素。

文本配置文件和 EBU-TT-D 示例渲染 2,1s 到 9s
9 紧接上方示例的说明性呈现, 时间段为 1s 到 9s。

9显示 一个石灰绿色和一个黑色矩形区域。 绿色区域位于渲染区域的上部, 黑色区域位于下部, 这由 tts:origintts:extent 属性值决定。绿色区域中的文本为黑色, 黑色区域中的文本为白色。在这两种情况下,文本均使用通用 无衬线字体,并且按照每个区域上指定的 tts:displayAlign 属性 值,在区域内垂直居中。 每行文本的水平对齐 演示了 ebutts:multiRowAligntts:textAlign 属性的组合应用。 绿色区域中起始端(此处为左侧)对齐的文本 因应用于 div 元素的 ebutts:linePadding 样式属性而 从区域边缘略微偏移。

文本配置文件和 EBU-TT-D 示例渲染 3,从 9s 起
10 紧接上方示例的说明性呈现, 时间段从 9s 起。

10显示 在从 9s 起的时间段内, 文档没有生成任何像素。

I.3 SDP-US

文本配置文件是 [ttml10-sdp-us] 的严格语法超集。

因此,符合 [ttml10-sdp-us] 的文档 通常也符合文本配置文件,但有少数 例外,包括:

作为说明,[ttml10-sdp-us] 中的示例 3 同时符合 文本配置文件和 [ttml10-sdp-us]。

I.4 SMPTE-TT (SMPTE ST 2052-1)

[SMPTE2052-1] 指定使用 DFXP 完整配置文件(参见 [ttml2] 附录 F.3),并补充若干 扩展,包括 http://www.smpte-ra.org/schemas/2052-1/2010/smpte-tt#image

文本配置文件对 [SMPTE2052-1] 应用一组用于纯文本 字幕和说明字幕的实用约束和扩展。这些约束和扩展反映了行业实践和经验。

创建旨在根据 [SMPTE2052-1] 和文本配置文件 呈现处理器处理的文档时需要谨慎。特别是:

以下是一个同时符合文本配置文件和 [SMPTE2052-1] 的文档示例:

<?xml version="1.0" encoding="UTF-8"?>
<tt xml:lang="en"
    xmlns="http://www.w3.org/ns/ttml"
    xmlns:ttm="http://www.w3.org/ns/ttml#metadata" 
    xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
    ttp:profile="http://www.smpte-ra.org/schemas/2052-1/2010/profiles/smpte-tt-full"
    xmlns:tts="http://www.w3.org/ns/ttml#styling"
    ttp:frameRate="24">
    <head>
        <layout>
            <region xml:id="area1" tts:origin="10% 70%" tts:extent="80% 20%" tts:showBackground="whenActive" tts:backgroundColor="red" tts:displayAlign="center" tts:color="white"/>
        </layout>
    </head>
    <body tts:lineHeight="100%">
        <div>
            <p region="area1" begin="00:00:01.01" end="00:00:03">This should appear on frame 25.</p>
            <p region="area1" begin="00:00:04" end="00:00:06">This should appear on frame 96.</p>
            <p region="area1" begin="00:00:07.33" end="00:00:09">This should appear on frame 176.</p>
        </div>
    </body>
</tt>

I.5 CFF-TT

本规范派生自 [CFF] 第 6 节中指定的文本配置文件, 并且就能力而言旨在成为它的超集。 然而,通常需要额外处理才能将 [CFF] 文本配置文件文档 转换为符合文本配置文件规范的文档实例。特别是:

无法在不进行额外复杂处理(例如从图像中提取文本内容)的情况下, 将 [CFF] 图像配置文件文档转换为符合文本配置文件 规范的文档。

I.6 IMSC 的先前版本

符合 [ttml-imsc1] 或 [ttml-imsc1.0.1] 或 [ttml-imsc1.1] 或 [ttml-imsc1.2] 文本配置文件的文档 也符合本规范。

IMSC 文本配置文件先前版本中以前允许的若干特性, 在文本配置文件中被指定为 允许但已弃用。因此,使用此类特性的文档 可能会与本规范的未来版本不兼容。

本规范的早期版本指定了一种纯图像配置文件,称为图像配置文件, 本文中 不再指定该配置文件。需要此类纯图像配置文件的应用可以考虑引用 [ttml-imsc1.2]。

J. 致谢

本节为非规范性内容。

编辑感谢定时文本工作组的现任和前任成员、其他 W3C 工作 组的成员,以及其他论坛中的行业专家,他们直接或间接为本 文档的过程或内容做出了贡献。

编辑还希望特别感谢以下成员的贡献:Glenn Adams, Skynav;John Birch, 受邀专家;Mike Dolan, 受邀专家;Nigel Megitt, British Broadcasting Corporation;Thierry Michel, W3C;Andreas Tai, Institut für Rundfunktechnik;Stefan Pöschel, Institut für Rundfunktechnik。

编辑还希望感谢 Digital Entertainment Content Ecosystem (DECE) 为会员提交的初始 文档所做的贡献。

K. 隐私和安全 考虑事项

本节为非规范性内容。

除以下情况外,[ttml2] 的安全和隐私考虑事项适用:

L. 实质性变更摘要

本节为非规范性内容。

L.1 概述

本附录总结了相对于 [ttml-imsc1.2] 所做的变更。

L.2 变更

L.2.1 日语字符集

B. 常用字符集中的补充字符集添加了日语(ja)集合。

L.2.2 假想渲染模型

假想渲染模型的定义已从本文档中移除,并替换为对 [imsc-hrm] 的引用。

L.2.3 图像配置文件

本规范早期版本中指定的图像配置文件已被移除。

L.2.4 新增特性

增加了对以下特性的支持(部分或完整)。

相对于 TT 特性命名空间
#fontVariant

L.2.5 弃用特性

M. 参考文献

M.1 规范性参考文献

[ARIB-STD-B62]
STD-B62, 数字广播(第二代)多媒体 编码规范,版本 2.2(分册 1). ARIB. URL: https://www.arib.or.jp/english/std_tr/broadcasting/std-b62.html
[CLDR]
Unicode 通用语言环境数据仓库. Unicode Consortium. URL: https://cldr.unicode.org/
[css-fonts-3]
CSS 字体模块 Level 3. John Daggett; Myles Maxfield; Chris Lilley. W3C. 2018 年 9 月 20 日. W3C 推荐标准. URL: https://www.w3.org/TR/css-fonts-3/
[EBU-TT-D]
Tech 3380, EBU-TT-D 字幕 分发格式版本 1.0.1. European Broadcasting Union (EBU). URL: https://tech.ebu.ch/docs/tech/tech3380v1_0_1.pdf
[EBU-TT-M]
Tech 3390, EBU-TT-M 元数据 定义 1.0. European Broadcasting Union (EBU). URL: https://tech.ebu.ch/docs/tech/tech3390v1_0.pdf
[IANA-MEDIA-TYPES]
媒体类型. IANA. URL: https://www.iana.org/assignments/media-types/
[imsc-hrm]
IMSC 假想渲染模型. Pierre-Anthony Lemieux. W3C. 2024 年 4 月 25 日. W3C 推荐标准. URL: https://www.w3.org/TR/imsc-hrm/
[ISO10646]
ISO/IEC 10646:2020 信息技术 — 通用编码字符集 (UCS). International Organization for Standardization. URL: https://www.iso.org/standard/76835.html
[namespaceState]
XML 命名空间中 名称的处置. Norman Walsh. W3C. 2006 年 3 月 29 日. W3C 工作草案. URL: https://www.w3.org/TR/2006/WD-namespaceState-20060329/
[RFC2119]
RFC 中用于表示 要求级别的关键词. S. Bradner. IETF. 1997 年 3 月. 当前最佳实践. URL: https://www.rfc-editor.org/rfc/rfc2119
[RFC8174]
RFC 2119 关键词中大写与小写的歧义. B. Leiba. IETF. 2017 年 5 月. 当前最佳实践. URL: https://www.rfc-editor.org/rfc/rfc8174
[ttml-imsc1.0.1]
用于互联网 媒体字幕和说明字幕的 TTML 配置文件 1.0.1 (IMSC1). Pierre-Anthony Lemieux. W3C. 2018 年 4 月 24 日. W3C 推荐标准. URL: https://www.w3.org/TR/2018/REC-ttml-imsc1.0.1-20180424/
[ttml-imsc1.1]
用于互联网媒体字幕和 说明字幕的 TTML 配置文件 1.1. Pierre-Anthony Lemieux. W3C. 2018 年 11 月 8 日. W3C 推荐标准. URL: https://www.w3.org/TR/ttml-imsc1.1/
[ttml-imsc1.2]
用于互联网媒体字幕和 说明字幕的 TTML 配置文件 1.2. Pierre-Anthony Lemieux. W3C. 2020 年 8 月 4 日. W3C 推荐标准. URL: https://www.w3.org/TR/ttml-imsc1.2/
[ttml10-sdp-us]
用于隐藏式说明字幕(美国)的 TTML 简单交付配置文件. Glenn Adams; Monica Martin; Sean Hayes. W3C. 2013 年 2 月 5 日. W3C 工作组说明. URL: https://www.w3.org/TR/2013/NOTE-ttml10-sdp-us-20130205/
[ttml2]
定时文本标记语言 2 (ttml2) (第二版). W3C. 2021 年 3 月 9 日. 候选推荐标准快照. URL: https://www.w3.org/TR/2021/CR-ttml2-20210309
[UNICODE]
Unicode 标准. Unicode Consortium. URL: https://www.unicode.org/versions/latest/
[WCAG22]
Web 内容无障碍指南 (WCAG) 2.2. Michael Cooper; Andrew Kirkpatrick; Alastair Campbell; Rachael Bradley Montgomery; Charles Adams. W3C. 2024 年 12 月 12 日. W3C 推荐标准. URL: https://www.w3.org/TR/2024/REC-WCAG22-20241212/
[xml]
可扩展标记语言 (XML) 1.0 (第五版). Tim Bray; Jean Paoli; Michael Sperberg-McQueen; Eve Maler; François Yergeau 等. W3C. 2008 年 11 月 26 日. W3C 推荐标准. URL: https://www.w3.org/TR/2008/REC-xml-20081126/
[xml-names]
XML 1.0 命名空间(第三 版). Tim Bray; Dave Hollander; Andrew Layman; Richard Tobin; Henry Thompson 等. W3C. 2009 年 12 月 8 日. W3C 推荐标准. URL: https://www.w3.org/TR/2009/REC-xml-names-20091208/
[XSL11]
可扩展样式表语言 (XSL) 版本 1.1. Anders Berglund. W3C. 2006 年 12 月 5 日. W3C 推荐标准. URL: https://www.w3.org/TR/2006/REC-xsl11-20061205/

M.2 资料性参考文献

[ARIB-TR-B39]
TR-B39, 高级数字卫星广播运行 指南,版本 2.11(分册 2)(英文 翻译). ARIB. URL: https://www.arib.or.jp/english/std_tr/broadcasting/tr-b39.html
[BBC-SUB]
BBC 字幕 指南. BBC. URL: https://www.bbc.co.uk/accessibility/forproducts/guides/subtitles/
[CFF]
通用文件格式与媒体格式规范 (CFF) 版本 2.2. Digital Entertainment Content Ecosystem (DECE). URL: https://www.uvcentral.com
[CSS]
CSS Snapshot 2026. Tab Atkins Jr.; Elika Etemad; Florian Rivoal; Chris Lilley; Sebastian Zartner. W3C. 2026 年 3 月 26 日. W3C 工作组说明. URL: https://www.w3.org/TR/css-2026/
[css3-background]
CSS 背景和边框模块 Level 3. Elika Etemad; Brad Kemper. W3C. 2024 年 3 月 11 日. 候选推荐标准草案. URL: https://www.w3.org/TR/css-backgrounds-3/
[HTML]
HTML 标准. Anne van Kesteren; Domenic Denicola; Dominic Farolino; Ian Hickson; Philip Jägenstedt; Simon Pieters. WHATWG. 现行标准. URL: https://html.spec.whatwg.org/multipage/
[media-accessibility-reqs]
媒体 无障碍用户需求. Shane McCarron; Michael Cooper; Mark Sadecki. W3C. 2015 年 12 月 3 日. W3C 工作组说明. URL: https://www.w3.org/TR/2015/NOTE-media-accessibility-reqs-20151203/
[MPEGDASH]
信息技术 — 基于 HTTP 的动态自适应 流媒体 (DASH) — 第 1 部分:媒体呈现描述和分段 格式. ISO/IEC. 开发中. URL: https://www.iso.org/standard/89027.html
[SMPTE2052-1]
SMPTE ST 2052-1:2010 “Timed Text Format (SMPTE-TT)”. SMPTE. URL: https://doi.org/10.5594/SMPTE.ST2052-1.2010
[SUBM]
用于互联网媒体字幕和说明字幕的 TTML 文本和 图像配置文件(会员提交,2013 年 6 月 7 日). World Wide Web Consortium (W3C). URL: https://www.w3.org/Submission/2013/SUBM-ttml-ww-profiles-20130607/
[ttml-imsc1]
用于互联网 媒体字幕和说明字幕的 TTML 配置文件 1.0 (IMSC1). Pierre-Anthony Lemieux. W3C. 2018 年 6 月 26 日. W3C 推荐标准. URL: https://www.w3.org/TR/2018/SPSD-ttml-imsc1-20180626/
[ttml-profile-registry]
TTML 媒体类型定义和配置文件 注册表. Mike Dolan; Nigel Megitt; Glenn Adams. W3C. 2020 年 11 月 19 日. W3C 工作组说明. URL: https://www.w3.org/TR/ttml-profile-registry/
[TTML1]
定时文本标记语言 1 (TTML1) (第三版). Glenn Adams; Pierre-Anthony Lemieux. W3C. 2018 年 11 月 8 日. W3C 推荐标准. URL: https://www.w3.org/TR/2018/REC-ttml1-20181108/
[xmlschema-1]
XML Schema 第 1 部分:结构 第二版. Henry Thompson; David Beech; Murray Maloney; Noah Mendelsohn 等. W3C. 2004 年 10 月 28 日. W3C 推荐标准. URL: https://www.w3.org/TR/2004/REC-xmlschema-1-20041028/