另见 译文。
Copyright © 2026 World Wide Web Consortium. W3C® liability, trademark and document use rules apply.
本规范定义了 [ttml2] 的纯文本配置文件, 旨在用于全球范围内的字幕和说明字幕交付 应用。
它改进了 [ttml-imsc1.2] 中指定的文本配置文件, 改进内容概述见 L. 实质性变更摘要。
本节描述的是本文档在其发布时的状态。当前 W3C 出版物列表以及本技术报告的最新修订版本可在 W3C 标准和草案 索引中找到。
本文档由 Timed Text 工作组作为 推荐标准发布,采用 推荐标准 轨道。
W3C 建议将本规范作为 Web 标准广泛部署。
W3C 推荐标准是这样一种规范:经过广泛的 共识构建后,由 W3C 及其成员认可,并且 工作组成员承诺对其实现提供 免版税许可。
本文档由一个按照 W3C 专利 政策运作的小组制作。 W3C 维护着一份 任何专利 披露的公开列表, 这些披露与该小组的交付成果有关;该页面还包含 披露专利的说明。实际知晓某项专利且认为该专利包含 必要权利要求的个人, 必须按照 W3C 专利政策第 6 节 披露相关信息。
本文档受 2025 年 8 月 18 日 W3C 流程文档管辖。
本规范定义了 [ttml2] 的纯文本配置文件, 旨在用于全球范围内的字幕和说明字幕交付, 包括对话语言翻译、内容描述、面向聋人和听力障碍者的说明字幕等。
本规范的设计使得:
本节为非规范性内容。
本规范定义了一种文档交换格式,以及与之相关的验证和呈现 要求,用于全球范围内的字幕 和说明字幕交付,包括对话语言翻译、内容描述、面向聋人和 听力障碍者的说明字幕等。
该格式是 [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]。
下面的示例 演示了一个语法上 有效的文本配置文件和 [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 参数的图形化
表示。
此示例基于 [BBC-SUB]。
本规范使用与 [ttml2] 相同的约定来 指定参数属性、样式属性 和元数据元素。具体而言:
本规范使用 [ttml2] 附录 E.1 和 F.1 中定义的特性和扩展指示符:
如果本规范中引用的元素名称没有命名空间限定,则适用 TT 命名空间 (参见 8.8 命名空间。)
字符信息项。参见 [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 节。
除标记为非规范性的章节外,本规范中的所有编写指南、图示、示例和注释均为非规范性内容。 本规范中的其他所有内容均为规范性内容。
本文档中的关键词 MAY、SHALL、SHALL NOT、SHOULD 和 SHOULD NOT 按 BCP 14 [RFC2119] [RFC8174] 中所述进行解释,当且仅当它们以全 大写形式出现时,如此处所示。
当前指定为允许但已弃用的特性或 扩展, 旨在于本规范未来版本中被指定为 可选或禁止。
指定为部分支持的特性或 扩展既非完全 禁止,也非完全允许。相反,其每个子集特性或扩展的处置会被 分别指定。
[ttml2] 区分 呈现处理器和转换处理器,前者的目的是呈现 文档实例,后者的目的是在不 呈现文档实例的情况下处理它。 嵌入移动设备媒体管线中的渲染器是呈现处理器的示例, 而验证器是转换处理器的示例。
符合文本配置文件的处理器 不要求 符合任何其他配置文件。为方便起见,并为了与本规范以前版本保持一致, 定义了术语 文本配置文件转换处理器 和文本配置文件呈现处理器。
本规范中使用术语呈现处理器(转换处理器) 并不意味着符合 [ttml2] 中指定的 DFXP 呈现配置文件(DFXP 转换配置文件)。换言之, 呈现处理器(转换处理器)符合本规范中定义的 配置文件,而不同时符合 DFXP 呈现配置文件(DFXP 转换 配置文件),并不视为错误。
允许和禁止处置并不指
ttp:feature 或 ttp:extension 元素在
ttp:profile 元素中被允许或禁止指定。
文本配置文件 由7. 支持的特性和扩展和8. 附加规定两节组成。
此文本配置文件与以下配置文件 指示符相关联:
| 配置文件名称 | 配置文件指示符 |
|---|---|
| IMSC 1.3 Text | http://www.w3.org/ns/ttml/profile/imsc1.3/text |
适用 [ttml2] 中指定的配置文件语义。
禁止属性的默认值会适用,例如
ttp:contentProfileCombination。
文本配置文件处理器 配置文件包含以下每个 处理器配置文件所要求的全部特性:
作者可以使用 TTML 内容验证工具来检测 并警告内容和处理器配置文件属性词汇的过度约束用法,例如, 在以下情况下发出警告:(a) 文档同时 (i) 指定符合内容配置文件 X,且 (ii) 要求使用 处理器配置文件 Y,并且 (b) 配置文件 X 和 Y 在语义上 不兼容。
如果一个或多个 ebuttm:conformsToStandard 元素(如 [EBU-TT-M] 中指定)被设置为以下
任一指示符,则覆盖内容配置文件
SHALL 被设置为与任一
匹配指示符相关联的配置文件:
urn:ebu:tt:distribution:2014-01,如 [EBU-TT-D]
中指定
urn:ebu:tt:distribution:2018-04,如 [EBU-TT-D]
中指定
关于 允许、禁止、可选和 允许但已弃用的定义,参见 5. 一致性。
altText 命名元数据项 SHOULD NOT 存在,因为
文本配置文件文档实例中未使用
基于图像的定时文本信息。
如果还存在任何 ittm:altText 元素,则 altText 命名元数据项
SHALL NOT 存在于文档实例中。
ittm:altText 元素 SHOULD NOT 存在,因为
文本配置文件文档
实例中未使用基于图像的定时文本信息。
如果还存在任何 altText 命名元数据项元素,则 ittm:altText 元素
SHALL NOT 存在于文档实例中。
ittp:aspectRatio 属性 SHOULD NOT 存在于文档实例中,除非需要与
[ttml-imsc1.0.1]
处理器兼容。
如果还存在任何 ttp:displayAspectRatio 属性,则
ittp:aspectRatio 属性 SHALL 不得存在于文档实例中。
tts:color 的初始值 SHALL 为 "white"。
这与 [SMPTE2052-1] 一致。
[ttml2] 中定义的
命名颜色 green 等同于 RGB 颜色三元组
#008000,且并非满亮度。对于满亮度绿色,作者可以指定
RGB 颜色三元组
#00ff00 或命名颜色 lime。
如果还存在任何
ittp:aspectRatio 属性,则 ttp:displayAspectRatio 属性
SHALL 不得存在于
文档实例中。
如果文档实例包含任何使用
px 单位的长度值,则 tts:extent
SHALL 存在于 tt 元素上。
对于文档
实例中定义的每个 region 元素,tts:extent 样式
属性的指定值
SHALL 由两个长度表达式组成,这两个表达式使用像素 (px)、
百分比 (%) 或根容器相对单位。
上述要求要求作者在文档实例中显式指定
tts:extent 的值,
例如为每个 region 元素指定 tts:extent 属性。
文档实例中的
font 元素 SHALL 不得指定 src 属性。
作为 font 元素子元素的所有 source 元素
SHALL 引用一个外部数据
资源。
处理器 MAY 使用 [css-fonts-3] §5 字体 匹配算法,将字体与一段文本关联起来。
在没有关于字体族选择的具体指令时,为了增强换行适配的
可复现性,鼓励作者使用 monospaceSerif 或
proportionalSansSerif 通用字体
族,这些字体的参考字体度量在 A. 参考字体中定义。
如果 tts:fontFamily 的计算值为 "default",则
tts:fontFamily 的使用值
SHALL 为 "monospaceSerif"。
术语使用值在 CSS 2.1 中定义,[ttml2] 对其作了规范性引用。
线性空白 SHOULD NOT
出现在
tts:fontFamily 指定值的各组成部分之间。
tts:fontVariant 属性的计算值 SHALL 为
以下值之一:
normal;sub;或super。如果文档实例包含任何使用
frames 项的时钟时间表达式,或任何使用
f 度量的偏移
时间表达式,则 ttp:frameRate 属性 SHALL 存在于
tt 元素上。
c 单位 SHALL NOT 出现在
ebutts:linePadding 的值之外。
严格为负的 length 表达式 SHALL NOT 与以下属性以外的
属性一起使用:
tts:disparity;以及tts:textShadow。当在 tts:extent 或 tts:position 属性上指定时:
rh 单位 SHALL NOT 用于水平长度
分量;并且rw 单位 SHALL NOT 用于垂直长度分量。
tts:lineHeight 属性的指定值 SHOULD 使得每个
p 元素的指定样式集包含一个值不是
normal 的 tts:lineHeight 属性。
在撰写本文时,normal 值的实现并不统一。
除 style 元素外,属性 ebutts:linePadding MAY 可指定在以下元素上:
regionbodydivpinitial处理器:
ebutts:linePadding 应用于 p;并且
ebutts:linePadding 视为可继承。ebutts:linePadding 属性仅支持 c 长度单位。
与本规范不同,[EBU-TT-D]
指定属性
ebutts:linePadding 仅允许出现在 style 元素上。
除 style 元素外,属性 ebutts:multiRowAlign MAY 可指定在以下元素上:
regionbodydivpinitial处理器:
ebutts:multiRowAlign 应用于 p;
并且ebutts:multiRowAlign 视为可继承。与本规范不同,[EBU-TT-D]
指定属性
ebutts:multiRowAlign 仅允许出现在 style 元素上。
tts:origin 属性的值 SHALL 由两个
使用像素 (px) 或百分比 (%) 单位的长度表达式组成。
如果 tts:position 属性在文档实例中的任何位置被指定,则
tts:origin 属性 SHALL NOT 在该
文档实例中的任何位置被指定。
tts:position 属性值的所有 length 分量
SHALL 使用像素 (px)、百分比 (%) 或根
容器相对单位。
如果 tts:origin 属性在文档
实例中的任何位置被指定,则
tts:position 属性 SHALL NOT 在该
文档实例中的任何位置被指定。
resources 元素 SHALL 不得包含以下任何
子元素:
audio;data;以及image。tts:rubyAlign 属性的指定值 SHALL
使得其计算值为
center 或 spaceAround。
本节为非规范性内容。
由于 (a) 日语字体通常不包含 italic 或 oblique 字形,
并且
(b) 日语倾斜竖排文本由沿垂直方向倾斜的字符组成
(而不是
水平方向),因此建议指定 tts:shear 来倾斜
日语文本
——而不是指定 tts:fontStyle="italic" 或 tts:fontStyle="oblique"。
tts:textOutline 属性的指定值 SHALL
使得其在任何
span 元素上的计算值不超过同一
元素上 tts:fontSize
属性计算值的 10%。
tts:textShadow 属性的指定值 SHALL NOT
具有超过 4 个 <shadow>
值。
如果文档包含任何使用 t 度量的时间表达式,则
ttp:tickRate SHALL 存在于 tt 元素上。
本节为非规范性内容。
[ttml2] 指定,如果未在
tt 上指定 ttp:timeBase,则默认时间基为
"media"。
本节为非规范性内容。
如 [ttml2] 中所指定,
#time-clock-with-frames 表达式会根据
M = 3600 · hours + 60 · minutes + seconds + (frames ÷ (ttp:frameRateMultiplier ·
ttp:frameRate)) 转换为媒体时间 M。
对于任何包含 br 元素或文本节点的内容元素,
begin 属性以及
end 或 dur 属性之一 SHOULD
指定在该内容元素或其至少一个
祖先上。
本节为非规范性内容。
usesForced 命名元数据项不适用,因为
condition 属性被
禁止。
itts:forcedDisplay 属性用于指定强制内容语义。
本节为非规范性内容。
此特性没有作用,因为如 8.13.2 尺寸和位置中所指定,呈现区域在文档实例中不会重叠。
文本配置文件文档 SHOULD 符合 [imsc-hrm] 中指定的假想渲染模型。
这限制了文本配置文件文档的复杂度,使 播放系统能够以作者指定的显示时间同步渲染 内容。
文档实例 SHALL 具体编码为格式良好的 XML 1.0 [xml] 文档,并使用 [UNICODE] 中指定的 UTF-8 字符编码。
生成的 [xml] 文档 SHOULD NOT 包含以下任何物理结构:
这些物理结构旨在本规范的未来版本中被禁止。
生成的 [xml] 文档可以 包含字符引用,以及对 预定义实体的实体引用。
文档实例的活动 区域是根容器区域内作者 期望至少能被观看者看到的区域。该区域通常完全包含 文档实例内所有被引用的区域。
活动区域使用
ittp:activeArea 属性指定。
如果存在,ittp:activeArea 属性 SHALL 符合
以下语法:
ittp:activeArea : leftOffset topOffset width height leftOffset | topOffset | width | height : <percentage> // 其中 <percentage> 为非负且不大于 100%。 |
width 百分比值相对于根容器区域的宽度。
height 百分比值相对于根容器区域的高度。
width 和 height 百分比值是活动区域的宽度和高度。
leftOffset 和 topOffset 百分比值指定
根
容器区域与活动区域之间的对齐点。
活动区域原点左上角 {x, y} 百分比坐标 SHALL 按如下方式计算:
x = leftOffset * (1 - width/100) y = topOffset * (1 - height/100)
left 和 top 偏移位置的使用,与 [css3-background]
background-position
属性中使用两个百分比值位置的情形相一致。
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>
#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 元素 SHALL 是
metadata 元素的子元素。
#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 确定。
itts:fillLineGap 属性允许作者控制
连续行区域之间背景的应用。
如果 itts:fillLineGap="true",则由
p 元素后代 span 生成的每个内联区域的背景
SHALL 延伸到其所在行区域的 before-edge 和
after-edge
(before-edge 和 after-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="true" 被移除(左侧)或
保留(右侧)。蓝线已添加,用于显示每个行
区域的 before-edge 和
after-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="true",底部区域的两个段落上设置了
itts:fillLineGap="false"。
当处理器已通过应用参数
配置为这样做时,可使用 displayForcedOnlyModeitts: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 由呈现处理器外部的上下文设置。如果未设置,
的值 SHALL 被假定为等于 displayForcedOnlyMode"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 属性相关联的语义兼容。
#progressivelyDecodable 特性在本规范定义的
配置文件中被指定为
允许但已弃用。
可渐进解码的文档
实例被结构化为便于在文档完整接收之前进行呈现,并可使用
ittp:progressivelyDecodable 属性识别。
可渐进解码的文档实例是一个符合以下条件的文档实例:
head
元素内;p 元素,且该元素在词法上
位于 B 包含的任何 p
元素之前,则 TA 不大于 TB;
p 的后代元素上;
并且如果存在,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 为文档内
元数据元素的排序提供了优化。
呈现处理器 SHALL 支持以下媒体类型的字体资源, 如 [IANA-MEDIA-TYPES] 中所定义:
[IANA-MEDIA-TYPES] 指定媒体类型
font/otf 包括文件扩展名 .ttf 和 .otf。
文档实例 MAY 包含 既未由配置文件明确允许也未明确禁止的元素和属性。
转换处理器 SHOULD 尽可能保留此类元素或属性。
本规范使用以下命名空间(参见 [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 未来标准化使用。
文档实例 SHOULD
在编写时假定严格裁剪落在区域范围之外的内容,
而不考虑该区域的 tts:overflow 计算值。
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 配置文件 解析语义指定用于确定与文档实例相关联的有效处理器配置文件 的过程。
在使用 [EBU-TT-M] 中指定的
ebuttm:conformsToStandard 元素时,如果指示符合相应配置文件,
SHALL 使用文本
配置文件的指示符。
关于遵循本节建议的文档实例示例, 参见 I.2 EBU-TT-D。
在渲染匹配 A. 参考字体中列出的 计算字体族与码点组合之一的码点时, 处理器 SHALL 使用一种字体,该字体生成的字形序列尺寸 与指定参考字体之一本应生成的字形序列基本 相同。
此条款仅适用于处理器支持的码点。关于处理器可能会遇到的各类语言的码点, 参见 8.11 推荐 字符集。
当内容作者为字幕设置边界框时,他们希望最大限度提高文本
在由处理器显示时能够适配其中的可能性。如果处理器没有使用内容作者心中
的特定字体,实际使用的字体可能会导致文本尺寸变大,使其不再适配
边界框。这还会因字体具有更大的字形而导致换行方式差异而进一步加剧,可能
增加所用行数;行距增加也可能将部分文本推出
边界框之外。
为帮助确保文本大小、换行和行高等内容能够相对于内容作者设置的
边界框大小按预期表现,作者可以使用本规范定义的参考字体之一。本
规范要求处理器支持一种或多种具有与参考字体相似字体度量的字体。
但请注意,目前定义的参考字体仅覆盖少数书写
系统所使用的字符——特别是基于拉丁、希腊、西里尔、希伯来和阿拉伯文字的
子集。
实现可以使用 A. 参考字体中指定字体以外的字体。两个 度量相同的字体可以具有不同外观,但流排相同。
呈现区域是满足以下 条件的时间上活动的区域:
tts:opacity 的计算值不等于 "0.0";并且tts:display 的计算值不是 "none";并且tts:visibility 的计算值不是 "hidden";并且tts:showBackground 的计算值等于
"always",且 tts:backgroundColor 的计算值具有非透明
alpha。
所有区域 SHALL NOT 延伸超出根 容器区域,即每个区域坐标集合中的每个坐标 也位于根 容器区域的坐标集合中。
给定中间同步文档中的任意两个呈现区域 SHALL 不得重叠,即每个呈现区域内坐标集合的交集为空。
以下样式属性 SHALL 适用 [ttml2] 第 10.4 节指定的样式解析 程序:
itts:fillLineGapitts:forcedDisplayebutts:linePaddingebutts:multiRowAlign上述样式属性可以指定为
[ttml2] 第 10.1.1 节指定的
initial
元素的属性。
| 计算字体族 | 码点 | 参考字体 |
|---|---|---|
monospaceSerif |
B. 常用字符集中指定的所有码点 | Courier New 或 Liberation Mono |
proportionalSansSerif |
B. 常用字符集中指定的所有码点,不包括 为希伯来文和阿拉伯文字定义的码点。 | Arial 或 Helvetica 或 Liberation Sans |
虽然处理器需要接受,并鼓励渲染所有字符信息项,但实际 考虑可能导致处理器只能渲染其中一个子集。为了 增强面向特定语言的处理器能够正确呈现文本的可信度,本 节定义了鼓励作者使用的常用 字符集。
预计本文定义的常用字符集会随时间演变,鼓励实现者 定期审查它们。
本文对常用字符集的定义绝不旨在限制 处理器所渲染的字符集合。
提醒实现者注意,给定的字符序列可能会根据上下文产生不同的视觉 表示,包括周围字符、语言和字体。换言之,字符与其视觉表示之间 不一定存在 一一映射。
对于使用 xml:lang 属性指示的给定语言,常用字符集等于
以下集合的并集:
上述某些集合可能重叠。
表 1 收录了旨在始终可供作者使用的字符集合。表中使用的术语 在 [UNICODE] 中定义。
| (基本拉丁) |
|---|
| U+0020 - U+007E |
| (Latin-1 补充) |
| U+00A0 - U+00FF |
| (拉丁扩展-A) |
| U+0152 : 拉丁大写连字 OE |
| U+0153 : 拉丁小写连字 OE |
| U+0160 : 带抑扬符的拉丁大写字母 S |
| U+0161 : 带抑扬符的拉丁小写字母 S |
| U+0178 : 带分音符的拉丁大写字母 Y |
| U+017D : 带抑扬符的拉丁大写字母 Z |
| U+017E : 带抑扬符的拉丁小写字母 Z |
| (拉丁扩展-B) |
| U+0192 : 带钩的拉丁小写字母 F |
| (占距修饰字母) |
| U+02DC : 小波浪号 |
| (组合附加符号) |
| U+0301 : 组合锐音符 |
| (通用标点) |
| U+2010 - U+2015 : 破折号 |
| U+2016 - U+2027 : 通用标点 |
| U+2030 - U+203A : 通用标点 |
| (货币符号) |
| U+20AC : 欧元符号 |
| (类字母符号) |
| U+2103 : 摄氏度 |
| U+2109 : 华氏度 |
| U+2120 : 服务标记符号 |
| U+2122 : 商标符号 |
| (数字形式) |
| U+2153 - U+215F : 分数 |
| (数学运算符) |
| U+2212 : 减号 |
| U+221E : 无穷大 |
| (制表符号) |
| U+2500 : 轻横线制表符号 |
| U+2502 : 轻竖线制表符号 |
| U+250C : 轻下右制表符号 |
| U+2510 : 轻下左制表符号 |
| U+2514 : 轻上右制表符号 |
| U+2518 : 轻上左制表符号 |
| (方块元素) |
| U+2588 : 实心方块 |
| (几何形状) |
| U+25A1 : 白色方块 |
| (音乐符号) |
| U+2669 : 四分音符 |
| U+266A : 八分音符 |
| U+266B : 连杠八分音符 |
表 2 指定了已证明对若干选定语言的说明字幕和字幕 应用有用的补充字符集。表 2 并不穷尽,并会在需要时扩展。
| 主要语言子标签 | 码点 |
|---|---|
| sq, fi, da, nl, en, de, is, no, sv, ca, fr, it | 无补充字符 |
| lv, lt, et, tr, hr, cs, pl, sl, sk | (拉丁扩展-A) U+0100 - U+017F |
| ro | (拉丁扩展-A) U+0100 - U+017F (拉丁扩展-B) U+0218 - U+0219 U+021A - U+021B |
| el | (组合附加符号) U+0308 (希腊文和科普特文) U+0386 - U+038A U+038C U+038E - U+03A1 U+03A3 - U+03CE |
| pt, es | (货币符号) U+20A1 - U+20A2 U+20B3 |
| ar | (阿拉伯文) U+0609 U+060C - U+060D U+061B U+061E - U+061F U+0621 - U+063A U+0640 - U+0652 U+0660 - U+066D U+0670 |
| he | (希伯来文) U+05B0 - U+05C3 U+05D0 - U+05EA U+05F3 - U+05F4 |
| bs, bg, mk, ru, sr, uk | (拉丁扩展-A) U+0100 - U+017F (占距修饰字母) U+02BC (西里尔文) U+0400 - U+045F U+048A - U+04F9 (类字母符号) U+2116 |
| kk | (拉丁扩展-A) U+0100 - U+017F (西里尔文) U+0400 - U+045F U+048A - U+04F9 |
| hu | (拉丁扩展-A) U+0100 - U+017F (通用标点) U+2052 (杂项数学符号-A) U+27E8–U+27E9 |
| ja |
(基本日文集合) [ISO10646] 中的集合 285 (日文非表意文字扩展) [ISO10646] 中的集合 286 (JIS2004 表意文字扩展) [ISO10646] 中的集合 371 (附加符号和字符(第 1 部分)) [ARIB-STD-B62] 中的表 5-2 和 5-3 注
注
|
本节为非规范性内容。
下面的图
5展示了强制内容的使用,即
itts:forcedDisplay 和
。
带有 displayForcedOnlyModeitts:forcedDisplay="true" 的内容是
“High School” 标志的法语翻译。带有 itts:forcedDisplay="false" 的内容是捕捉
旁白的法语字幕。
当用户选择法语作为播放语言但未选择法语字幕时,
被设置为 displayForcedOnlyMode"true",从而显示标志翻译,这对
任何法语使用者都有用,但隐藏旁白字幕,因为旁白已用法语听到。
如果用户选择法语作为播放语言并且也选择法语字幕,例如用户
听力障碍,
被设置为 displayForcedOnlyMode"false",从而显示标志翻译以及
旁白字幕。
设置
参数并选择适当的
字幕和音频轨道组合的算法取决于应用。
displayForcedOnlyMode
[WCAG22] 中的成功标准 1.4.3指定, 除某些例外情况外,文本和文本图像的视觉呈现具有至少 4.5:1 的对比度。
在文本配置文件的上下文中,这是通过指定适当的 前景色和背景色实现的。
[WCAG22] 中的成功标准 1.4.12 指定,当行、字母、单词和段落的间距按指定 量修改时,不会发生内容或 功能损失。
在本规范的上下文中,这是通过指定适当的 样式属性组合,以实现所需行高、字体大小、区域范围等来实现的。
[WCAG22] 中的成功标准 3.1.1 和 3.1.2 指定,内容中每一段或 短语的人类语言都可以以编程方式确定。
在本规范的上下文中,这是通过指定
xml:lang
实现的。
本节为非规范性内容。
[WCAG22] 中的成功标准 1.3.1 旨在确保当呈现格式 发生变化时,由视觉或听觉格式暗示的信息和关系得以保留。
作为本规范上下文中的一个示例,当实现将文档实例
渲染为带有 [CSS] 样式的 [HTML] 时,应确保生成的
[HTML] 文档能够被辅助技术理解,
即使用户样式表替换了作者提供的样式表。例如,在渲染
tts:fontVariant 时,仅使用 CSS vertical-align 属性可能
不足以让辅助技术识别相关字形是上标或下标。
本节为非规范性内容。
鼓励作者和实现者查阅 [media-accessibility-reqs],其中 提出了残障用户在 Web 上对音频和视频具有的无障碍需求。
本节为非规范性内容。
以下示例文档实例符合文本 配置文件。这些示例 仅用于说明,并不旨在捕捉当前或未来实践,也不旨在覆盖 本规范中包含的所有 规范性正文。
<?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所示。
图
6显示了一个
黑色矩形区域,其位置使其
左上角从渲染区域顶部向下 10%,
并从渲染区域左边缘向右 10%,
其宽度为渲染区域的 80%,
高度为渲染区域的 10%。
该区域包含红色文本 “Lorem ipsum dolor.”,
使用默认字体和默认大小;该大小为
渲染区域高度的 1/15,并根据
ttp:cellResolution 参数("32 15")
和 ttp:fontSize("100%")样式属性的默认值计算得出,
因为这两者均从本文档中省略。
图
7显示了同一个
黑色矩形区域处于相同位置。
除黑色背景外,该区域为空,
但该背景仍然可见,
因为 tts:showBackground
属性未出现在 region
元素上,因此其默认值 always 适用。
以下各节定义扩展指示符,以相对于 IMSC 扩展命名空间基 URI 的相对 URI(片段标识符) 表示。
如果转换处理器能够识别并
转换 ittp:activeArea 属性的值,则它支持
#activeArea 特性。
如果呈现处理器实现对
ittp:activeArea 属性值的呈现语义
支持,则它支持
#activeArea 特性。
#altText 特性在本规范定义的
配置文件中被指定为允许但已弃用。
altText 命名元数据项提供等价
语义。
如果转换处理器能够识别并
转换 ittm:altText 元素的值,则它支持
#altText 特性。
如果呈现处理器实现对
ittm:altText 元素值的呈现语义支持,
则它支持
#altText 特性。
#aspectRatio 特性在本规范定义的
配置文件中被指定为允许但已弃用。
#displayAspectRatio 特性提供等价
语义。
如果转换处理器能够识别并
转换 ittp:aspectRatio 属性的值,则它支持
#aspectRatio 特性。
如果呈现处理器实现对
ittp:aspectRatio 属性值的呈现语义
支持,则它支持
#aspectRatio 特性。
如果转换处理器能够识别并
转换 itts:fillLineGap 属性的值,则它支持
#fillLineGap 特性。
如果呈现处理器实现对
itts:fillLineGap 属性值的呈现语义
支持,则它支持
#fillLineGap 特性。
如果转换处理器能够识别并
转换 itts:forcedDisplay 属性的值,则它支持
#forcedDisplay 特性。
如果呈现处理器实现对
itts:forcedDisplay 属性值的呈现语义
支持,则它支持
#forcedDisplay 特性。
如果转换处理器能够识别并
转换 [EBU-TT-D]
中指定的 ebutts:linePadding 属性的值,则它支持
#linePadding 特性。
如果呈现处理器实现对
[EBU-TT-D]
中指定的 ebutts:linePadding 属性值的呈现语义
支持,则它支持
#linePadding 特性。
如果转换处理器能够识别并
转换 [EBU-TT-D]
中指定的 ebutts:multiRowAlign 属性的值,则它支持
#multiRowAlign 特性。
如果呈现处理器实现对
[EBU-TT-D]
中指定的 ebutts:multiRowAlign 属性值的呈现语义
支持,则它支持
#multiRowAlign 特性。
#progressivelyDecodable 特性在本规范定义的
配置文件中被指定为
允许但已弃用。
如果转换处理器能够识别并
转换 ittp:progressivelyDecodable
属性的值,则它支持
#progressivelyDecodable 特性。
如果呈现处理器实现对
ittp:progressivelyDecodable
属性值的呈现语义支持,则它支持
#progressivelyDecodable 特性。
本节为非规范性内容。
为方便起见,本规范定义的扩展 词汇的 XML Schema 定义(参见 [xmlschema-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],并且 也符合文本配置文件。
因此,符合 [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所示。
图 8显示 在 0s 到 1s 期间,文档没有生成任何像素。
图
9显示
一个石灰绿色和一个黑色矩形区域。
绿色区域位于渲染区域的上部,
黑色区域位于下部,
这由 tts:origin 和 tts:extent
属性值决定。绿色区域中的文本为黑色,
黑色区域中的文本为白色。在这两种情况下,文本均使用通用
无衬线字体,并且按照每个区域上指定的 tts:displayAlign 属性
值,在区域内垂直居中。
每行文本的水平对齐
演示了
ebutts:multiRowAlign 和
tts:textAlign 属性的组合应用。
绿色区域中起始端(此处为左侧)对齐的文本
因应用于
div 元素的 ebutts:linePadding 样式属性而
从区域边缘略微偏移。
图 10显示 在从 9s 起的时间段内, 文档没有生成任何像素。
文本配置文件是 [ttml10-sdp-us] 的严格语法超集。
因此,符合 [ttml10-sdp-us] 的文档 通常也符合文本配置文件,但有少数 例外,包括:
作为说明,[ttml10-sdp-us] 中的示例 3 同时符合 文本配置文件和 [ttml10-sdp-us]。
[SMPTE2052-1]
指定使用 DFXP 完整配置文件(参见 [ttml2] 附录 F.3),并补充若干
扩展,包括 http://www.smpte-ra.org/schemas/2052-1/2010/smpte-tt#image。
文本配置文件对 [SMPTE2052-1] 应用一组用于纯文本 字幕和说明字幕的实用约束和扩展。这些约束和扩展反映了行业实践和经验。
创建旨在根据 [SMPTE2052-1] 和文本配置文件 呈现处理器处理的文档时需要谨慎。特别是:
http://www.smpte-ra.org/schemas/2052-1/2010/smpte-tt#image
扩展;
以下是一个同时符合文本配置文件和 [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>
本规范派生自 [CFF] 第 6 节中指定的文本配置文件, 并且就能力而言旨在成为它的超集。 然而,通常需要额外处理才能将 [CFF] 文本配置文件文档 转换为符合文本配置文件规范的文档实例。特别是:
progressivelyDecodable 属性的命名空间不同;forcedDisplayMode 属性在本
规范中重命名为 forcedDisplay;ttp:frameRate 属性不受第 8.1.12
#frameRate 节指定要求的约束;并且
ttp:profile 的 use 属性值。该值
传达一个与本规范中指定的处理器配置文件不兼容的
处理器配置文件。无法在不进行额外复杂处理(例如从图像中提取文本内容)的情况下, 将 [CFF] 图像配置文件文档转换为符合文本配置文件 规范的文档。
符合 [ttml-imsc1] 或 [ttml-imsc1.0.1] 或 [ttml-imsc1.1] 或 [ttml-imsc1.2] 文本配置文件的文档 也符合本规范。
IMSC 文本配置文件先前版本中以前允许的若干特性, 在文本配置文件中被指定为 允许但已弃用。因此,使用此类特性的文档 可能会与本规范的未来版本不兼容。
本规范的早期版本指定了一种纯图像配置文件,称为图像配置文件, 本文中 不再指定该配置文件。需要此类纯图像配置文件的应用可以考虑引用 [ttml-imsc1.2]。
本节为非规范性内容。
编辑感谢定时文本工作组的现任和前任成员、其他 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) 为会员提交的初始 文档所做的贡献。
本节为非规范性内容。
除以下情况外,[ttml2] 的安全和隐私考虑事项适用:
condition 属性。
本节为非规范性内容。
本附录总结了相对于 [ttml-imsc1.2] 所做的变更。
向 B. 常用字符集中的补充字符集添加了日语(ja)集合。
假想渲染模型的定义已从本文档中移除,并替换为对 [imsc-hrm] 的引用。
本规范早期版本中指定的图像配置文件已被移除。
增加了对以下特性的支持(部分或完整)。
| 相对于 TT 特性命名空间 |
#fontVariant |
无
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in: