Copyright © 2020 W3C ® ( MIT , ERCIM , Keio , Beihang ). W3C liability , trademark and document use rules apply.
This specification defines two profiles of [ ttml2 ]: 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.
This specification improves on [ ttml-imsc1.1 ] by supporting contemporary practices, while retaining compatibility with [ ttml-imsc1.1 ] documents. Relative to [ ttml-imsc1.1 ], any addition or deprecation of features are summarized at § L. Summary of substantive changes .
This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at https://www.w3.org/TR/.
This document was published by the Timed Text Working Group as an Editor's Draft.
GitHub
Issues
are
preferred
for
discussion
of
this
specification.
Alternatively,
you
can
send
comments
to
our
mailing
list.
Please
send
them
to
public-tt@w3.org
(
archives
)
with
[imsc]
at
the
start
of
your
email's
subject
.
Please see the Working Group's implementation report .
A list of the substantive changes applied since the initial Working Draft is found at substantive-changes-summary.txt .
Publication as an Editor's Draft does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.
This document was produced by a group operating under the W3C Patent Policy . W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy .
This document is governed by the 1 March 2019 W3C Process Document .
This specification defines two profiles of [ ttml2 ]: 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.
This specification maintains the scope of [ ttml-imsc1.1 ] while adding the minimal set of features necessary to support contemporary practices for worldwide subtitling and captioning delivery.
The specification is designed such that:
The Text Profile is a syntactic superset of [ ttml10-sdp-us ], and a document can simultaneously conform to both [ ttml10-sdp-us ] and the Text Profile .
This section is non-normative.
This specification defines a document exchange format and associated validation and presentation requirements for subtitle and caption delivery worldwide, including dialog language translation, content description, captions for deaf and hard of hearing, etc. It is based on [ ttml2 ] and includes extensions specified in [ SMPTE2052-1 ] and [ EBU-TT-D ].
Two profiles are defined: in the Text Profile , timed text is expressed exclusively using code points defined in The Unicode Standard , whereas, in the Image Profile , timed text is expressed exclusively using bitmap images. The clear distinction between the two profiles reduces authoring and processing complexity. For example, it allows systems to unambiguously specify whether timed text in text and/or image form is permitted.
Timed text in image form can be used in scenarios where the required text rendering functionality is not available, for example if the required fonts can not be distributed, or if the receiving processor has insufficient computing resources to present text while displaying video. They can also be used to achieve a visual effect that is beyond the capabilities of this specification, e.g. illuminated letters.
As detailed in § D.1.1 Success Criterion 1.1.1 Non-text Content , two distinct mechanisms are used to associate text alternative with timed text in image form:
altText
named
metadata
item
can
be
used
to
associate
a
simple
text
string
with
each
image.
As detailed in § 6.4 Profile Resolution Semantics and § I. Compatibility with other TTML-based specifications , this specification is designed to be compatible with other TTML-based timed text formats, including [ ttml-imsc1 ], [ ttml-imsc1.0.1 ], [ SMPTE2052-1 ], [ EBU-TT-D ], [ ttml10-sdp-us ] and [ CFF ].
To improve rendering fidelity, § A. Reference Fonts defines reference fonts and requires Processors to support one or more fonts with similar font metrics as these reference fonts. Similarly, in order to increase the confidence that text will be presented correctly by Processors targeting specific languages, § B. Common Character Sets defines common character sets that authors are encouraged to use.
To assist implementers in developing Processors that can render all Document Instances , § 11. Hypothetical Render Model specifies an hypothetical rendering model that is used to measure and limiting Document Instance complexity.
Both Text Profile and the Image Profile were based on [ SUBM ].
This specification uses the same conventions as [ ttml2 ] for the specification of parameter attributes, styling attributes and metadata elements. In particular:
This specification uses Feature and Extension designations as defined in Appendices E.1 and F.1 at [ ttml2 ]:
If the name of an element referenced in this specification is not namespace qualified, then the TT namespace applies (see § 8.3 Namespaces .)
Associated
region
.
The
region
element
associated
with
an
element
according
to
the
[associate
region]
procedure
defined
in
[
ttml2
].
Character Information Item . See Section 2.2 at [ ttml2 ].
Document Instance . See Section 2.2 at [ ttml2 ].
Default Processor Profile . As defined in [ ttml2 ].
Default Region . See Section 9.3.1 at [ ttml2 ].
Extension . See Section 2.2 at [ ttml2 ].
External Data Resource . See Section 2.2 at [ ttml2 ].
Feature . See Section 2.2 at [ ttml2 ].
Intermediate Synchronic Document . See Section 9.3.2 at [ ttml2 ].
Document Interchange Context . See Section 2.2 at [ ttml2 ].
Document Processing Context . As defined in [ ttml2 ].
Effective Processor Profile . As defined in [ ttml2 ].
Font Resource . As defined in [ ttml2 ].
Image Profile transformation processor . A transformation processor that conforms to the Image Profile .
Image Profile presentation processor . A presentation processor that conforms to the Image Profile .
Linear White-Space . See Section 2.3 at [ ttml2 ].
non-text content . As defined in [ WCAG21 ].
Override Content Profile . As defined in [ ttml2 ].
Processor . Either a Presentation processor or a Transformation processor .
Presentation processor . See Section 2.2 at [ ttml2 ].
Specified Value . As defined in [ ttml2 ].
Transformation processor . See Section 2.2 at [ ttml2 ].
Processor Profile . As defined in [ ttml2 ].
Related Media Object . See Section 2.2 at [ ttml2 ].
Related Video Object . A Related Media Object that consists of a sequence of image frames, each a rectangular array of pixels.
Root Container Region . See Section 2.2 at [ ttml2 ].
text alternative . As defined in [ WCAG21 ].
Text Profile transformation processor . A transformation processor that conforms to the Text Profile .
Text Profile presentation processor . A presentation processor that conforms to the Text Profile .
As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.
The key words MAY , SHALL , SHALL NOT , SHOULD , and SHOULD NOT in this document are to be interpreted as described in BCP 14 [ RFC2119 ] [ RFC8174 ] when, and only when, they appear in all capitals, as shown here.
A Document Instance that conforms to a profile defined herein:
A Document Instance , by definition, satisfies the requirements of Section 3.1 at [ ttml2 ], and hence a Document Instance that conforms to a profile defined herein is also a conforming TTML1 Document Instance.
A presentation processor that conforms to a profile defined in this specification:
A transformation processor that conforms to a profile defined in this specification:
A Feature or Extension currently designated permitted-deprecated is intended to be designated as optional or prohibited in future versions of this specification.
A Feature or Extension designated as partially supported is neither completely prohibited nor completely permitted . Instead, the disposition of each of its subset Feature or Extension is specified individually.
[ ttml2 ] makes a distinction between a presentation processor , whose purpose is to present a Document Instance , and transformation processor , whose purpose is to process a Document Instance without presenting it. A renderer embedded in the media pipeline of a mobile device is an example of a presentation processor , whereas a validator is an example of a transformation processor .
A processor that conforms to one profile defined in this specification is not required to conform to the other profile. For convenience, the terms Image Profile transformation processor , Text Profile transformation processor , Image Profile presentation processor , and Text Profile presentation processor are defined.
The use of the term presentation processor ( transformation processor ) within this specification does not imply conformance to the DFXP Presentation Profile (DFXP Transformation Profile) specified in [ ttml2 ]. In other words, it is not considered an error for a presentation processor ( transformation processor ) to conform to a profile defined in this specification without also conforming to the DFXP Presentation Profile (DFXP Transformation Profile).
This specification does not specify presentation processor or transformation processor behavior when processing or transforming a non-conformant Document Instance .
The
permitted
and
prohibited
dispositions
do
not
refer
to
the
specification
of
a
ttp:feature
or
ttp:extension
element
as
being
permitted
or
prohibited
within
a
ttp:profile
element.
Notwithstanding
special
cases,
e.g.
a
Document
Instance
that
contains
no
p
,
span
,
br
,
image
element
and
no
smpte:backgroundImage
attribute,
it
is
generally
not
possible
to
construct
a
Document
Instance
that
conforms
to
the
Text
Profile
and
Image
Profile
simultaneously,
and
it
is
not
possible
to
construct
a
Document
Instance
that
results
in
the
presentation
of
both
text
data
and
image
data.
The Text Profile consists of Sections § 7. Supported Features and Extensions , § 8. Common Provisions and § 9. Text Profile Provisions .
The Image Profile consists of Sections § 7. Supported Features and Extensions , § 8. Common Provisions and § 10. Image Profile Provisions .
The Profile Semantics specified in [ ttml2 ] apply.
The
default
value
of
prohibited
attributes,
e.g.
ttp:contentProfileCombination
,
applies.
The Text Profile processor profile includes all of the features required by each of the following processor profiles :
The Image Profile processor profile includes all of the features required by each of the following processor profiles :
Authors can use TTML content verification tools to detect and warn about overly constrained uses of content and processor profile attribute vocabulary, e.g. warn if (a) a document simultaneously (i) specifies conformance to content profile X and (ii) requires use of processor profile Y, and (b) profiles X and Y are semantically incompatible.
If
one
or
more
ebuttm:conformsToStandard
elements,
as
specified
in
[
EBU-TT-M
],
are
set
to
any
of
the
following
designators,
then
the
override
content
profile
SHALL
be
set
to
the
profile
associated
with
any
one
of
the
matching
designators:
urn:ebu:tt:distribution:2014-01
,
as
specified
in
[
EBU-TT-D
]
urn:ebu:tt:distribution:2018-04
,
as
specified
in
[
EBU-TT-D
]
See § 5. Conformance for a definition of permitted , prohibited , optional and permitted-deprecated .
Feature or Extension | Text Profile Disposition | Image Profile Disposition |
---|---|---|
Relative
to
the
TT
Feature
namespace
All features specified in [ ttml2 ] are prohibited unless specified otherwise below |
||
#animation
|
permitted | |
#animation-version-2
|
Partially
supported
via
#animation
.
|
|
#background
|
Partially
supported
via
#backgroundColor
.
|
|
#backgroundColor
|
permitted |
Partially
supported
via
#backgroundColor-region
and
#backgroundColor-block
.
|
#backgroundColor-block
|
permitted | |
#backgroundColor-inline
|
permitted | prohibited |
#backgroundColor-region
|
permitted | |
#base
|
permitted | |
#base-version-2
|
Partially
supported
via
#base
.
|
|
#bidi
|
permitted |
Partially
supported
via
#writingMode-horizontal
.
|
#bidi-version-2
|
Partially
supported
via
#bidi
and
#unicodeBidi-version-2
.
|
prohibited |
#cellResolution
|
permitted | |
#color
|
permitted
Section § 9.5.1
#color
specifies
additional
constraints.
|
prohibited |
#content
|
permitted |
permitted
Section § 10.4.1
#content
specifies
additional
constraints.
|
#contentProfiles
|
permitted | |
#core
|
permitted | |
#direction
|
permitted | prohibited |
#disparity
|
permitted | |
#display
|
permitted | |
#display-block
|
permitted | |
#display-inline
|
permitted | |
#display-region
|
permitted | |
#display-version-2
|
Partially
supported
via
#display
,
#display-block
,
#display-inline
,
and
#display-region
.
|
|
#displayAlign
|
permitted | prohibited |
#displayAlign-region
|
permitted | prohibited |
#displayAlign-relative
|
permitted | prohibited |
#displayAlign-version-2
|
Partially
supported
via
#displayAlign-region
,
and
#displayAlign-relative
.
|
prohibited |
#displayAspectRatio
|
permitted
Section § 8.12.5
#displayAspectRatio
specifies
additional
constraints.
|
|
#embedded-audio
|
prohibited
#embedded-data
is
however
partially
supported
.
|
prohibited . |
#embedded-content
|
Partially
supported
via
#embedded-font
.
|
prohibited |
#embedded-data
|
Partially
supported
via
#resources
and
#source
.
|
prohibited |
#embedded-font
|
Partially
supported
via
#embedded-data
and
#font
.
|
prohibited |
#embedded-image
|
prohibited
#embedded-data
is
however
partially
supported
.
|
Partially
supported
via
#image
.
|
#extent
|
permitted | |
#extent-full-version-2
|
Partially
supported
via
#extent-version-2
.
|
|
#extent-image
|
prohibited |
permitted
Section § 10.4.4
TTML
#image
Feature
specifies
additional
constraints.
|
#extent-length
|
permitted | |
#extent-length-version-2
|
permitted |
See
the
disposition
of
#length-version-2
.
|
#extent-region
|
Partially
supported
via
#extent-length
.
Section § 9.5.2
#extent-region
specifies
additional
constraints.
|
Partially
supported
via
#extent-length
.
Section § 10.4.2
#extent-region
specifies
additional
constraints.
|
#extent-region-version-2
|
Partially
supported
via
#extent-region
.
|
|
#extent-root
|
Partially
supported
via
#extent-length
.
Section § 8.12.6
#extent-root
specifies
additional
constraints.
|
|
#extent-root-version-2
|
Partially
supported
via
#extent-root
.
|
|
#extent-version-2
|
Partially
supported
via
#extent
and
#extent-region-version-2
.
|
Partially
supported
via
#extent
,
#extent-image
,
and
#extent-region-version-2
.
|
#font
|
permitted
Section § 9.5.3
#font
and
#source
specifies
additional
constraints.
|
prohibited |
#fontFamily
|
permitted
Section § 9.5.5
#fontFamily
specifies
additional
constraints.
|
prohibited |
#fontFamily-generic
|
permitted
Section § 9.5.4
#fontFamily-generic
specifies
additional
constraints.
|
prohibited |
#fontFamily-non-generic
|
permitted | prohibited |
#fontSize
|
Partially
supported
via
#fontSize-isomorphic
.
|
prohibited |
#fontSize-isomorphic
|
permitted | prohibited |
#fontStyle
|
permitted | prohibited |
#fontStyle-italic
|
permitted
Section § 9.5.16 Slanted Japanese-language text provides additional information. |
prohibited |
#fontStyle-oblique
|
permitted
Section § 9.5.16 Slanted Japanese-language text provides additional information. |
prohibited |
#fontWeight
|
permitted | prohibited |
#fontWeight-bold
|
permitted | prohibited |
#frameRate
|
permitted
Section § 8.12.7
#frameRate
specifies
additional
constraints.
|
|
#frameRateMultiplier
|
permitted | |
#image
|
prohibited |
permitted
Section § 10.4.4
TTML
#image
Feature
specifies
additional
constraints.
|
#image-png
|
prohibited |
permitted
Section § 10.3 Image Resources specifies additional constraints. |
#initial
|
permitted | prohibited |
#layout
|
permitted
Section § 8.12.1 Region specifies additional constraints. |
|
#length
|
permitted |
Partially
supported
via
#length-integer
,
#length-real
,
#length-positive
,
#length-negative
,
#length-cell
,
#length-percentage
,
and
#length-pixel
.
|
#length-cell
|
permitted
Section § 8.12.8
#length-cell
specifies
additional
constraints.
|
|
#length-em
|
permitted | prohibited |
#length-integer
|
permitted | |
#length-negative
|
permitted
Section § 9.5.6
#length-negative
specifies
additional
constraints.
|
permitted
Section § 10.4.3
#length-negative
specifies
additional
constraints.
|
#length-percentage
|
permitted | |
#length-pixel
|
permitted | |
#length-positive
|
permitted | |
#length-real
|
permitted | |
#length-root-container-relative
|
permitted
Section § 8.12.9
#length-root-container-relative
specifies
additional
constraints.
|
prohibited |
#length-version-2
|
permitted |
Partially
supported
via
#length
.
|
#lineBreak-uax14
|
The
processor
SHALL
implement
the
|
No processor requirement is specified. |
#lineHeight
|
permitted
Section § 9.5.7
#lineHeight
specifies
additional
constraints.
|
prohibited |
#luminanceGain
|
permitted | |
#metadata
|
permitted | |
#metadata-item
|
permitted
Section § 8.12.2
altText
named
metadata
item
specifies
additional
constraints.
|
|
#metadata-version-2
|
permitted | |
#nested-div
|
permitted | prohibited |
#nested-span
|
permitted | prohibited |
#opacity
|
permitted | |
#opacity-region
|
permitted | |
#opacity-version-2
|
Partially
supported
via
#opacity
.
|
|
#origin
|
permitted
Section § 9.5.8
#origin
specifies
additional
constraints.
|
permitted |
#overflow
|
permitted | |
#overflow-visible
|
permitted | |
#padding
|
permitted | prohibited |
#padding-1
|
permitted | prohibited |
#padding-2
|
permitted | prohibited |
#padding-3
|
permitted | prohibited |
#padding-4
|
permitted | prohibited |
#padding-region
|
permitted | prohibited |
#padding-version-2
|
Partially
supported
via
#padding
,
#padding-1
,
#padding-2
,
#padding-3
,
#padding-4
,
and
#padding-region
|
prohibited |
#position
|
permitted
Section § 9.5.9
#position
specify
additional
constraints.
|
prohibited |
#presentation
|
permitted | |
#presentation-version-2
|
Partially
supported
via
#presentation
and
#profile-version-2
|
|
#profile
|
permitted | |
#profile-full-version-2
|
Partially
supported
via
#contentProfiles
,
#profile
,
and
#profile-version-2
.
|
|
#profile-version-2
|
Partially
supported
via
#contentProfiles
,
and
#profile
.
|
|
#region-timing
|
permitted | |
#resources
|
permitted
Section § 9.5.10
#resources
specify
additional
constraints.
|
prohibited |
#ruby
|
permitted | prohibited |
#ruby-full
|
Partially
supported
via
#ruby
,
#rubyAlign
,
#rubyPosition
,
and
#rubyReserve
.
|
prohibited |
#rubyAlign
|
Partially
supported
via
#rubyAlign-minimal
.
|
prohibited |
#rubyAlign-minimal
|
permitted
Section § 9.5.11
#rubyAlign
specifies
additional
constraints.
|
prohibited |
#rubyPosition
|
permitted | prohibited |
#rubyReserve
|
permitted | prohibited |
#set
|
permitted | |
#shear
|
permitted
Section § 9.5.16 Slanted Japanese-language text provides additional information. |
prohibited |
#showBackground
|
permitted | |
#source
|
permitted
Section § 9.5.3
#font
and
#source
specify
additional
constraints.
|
prohibited |
#structure
|
permitted | |
#styling
|
permitted | |
#styling-chained
|
permitted | |
#styling-inheritance-content
|
permitted | |
#styling-inheritance-region
|
permitted | |
#styling-inline
|
permitted | |
#styling-nested
|
permitted | |
#styling-referential
|
permitted | |
#textAlign
|
permitted | prohibited |
#textAlign-absolute
|
permitted | prohibited |
#textAlign-relative
|
permitted | prohibited |
#textAlign-version-2
|
Partially
supported
via
#textAlign
,
#textAlign-relative
,
and
#textAlign-absolute
.
|
prohibited |
#textCombine
|
permitted | prohibited |
#textDecoration
|
permitted | prohibited |
#textDecoration-over
|
permitted | prohibited |
#textDecoration-through
|
permitted | prohibited |
#textDecoration-under
|
permitted | prohibited |
#textEmphasis
|
Partially
supported
via
#textEmphasis-minimal
.
|
prohibited |
#textEmphasis-minimal
|
permitted | prohibited |
#textOutline
|
Partially
supported
via
#textOutline-unblurred
.
|
prohibited |
#textOutline-unblurred
|
permitted
Section § 9.5.12
#textOutline-unblurred
specifies
additional
constraints.
|
prohibited |
#textShadow
|
permitted
Section § 9.5.13
#textShadow
specifies
additional
constraints.
|
prohibited |
#tickRate
|
permitted
Section § 8.12.10
#tickRate
specifies
additional
constraints.
|
|
#timeBase-media
|
permitted | |
#timeContainer
|
permitted | |
#time-clock
|
permitted | |
#time-clock-with-frames
|
permitted | |
#time-offset
|
permitted | |
#time-offset-with-frames
|
permitted | |
#time-offset-with-ticks
|
permitted | |
#timing
|
permitted
Section § 8.12.13
#timing
specifies
additional
constraints.
|
|
#transformation
|
permitted | |
#transformation-version-2
|
Partially
supported
via
#transformation
and
#profile-version-2
.
|
|
#unicodeBidi
|
permitted | prohibited |
#unicodeBidi-version-2
|
Partially
supported
via
#unicodeBidi
.
|
prohibited |
#visibility
|
permitted |
Partially
supported
via
#visibility-block
and
#visibility-region
.
|
#visibility-block
|
permitted | |
#visibility-image
|
prohibited | permitted |
#visibility-inline
|
permitted | prohibited |
#visibility-region
|
permitted | |
#visibility-version-2
|
Partially
supported
via
#visibility
.
|
Partially
supported
via
#visibility
and
#visibility-image
.
|
#wrapOption
|
permitted | prohibited |
#writingMode
|
permitted |
Partially
supported
via
#writingMode-horizontal
.
|
#writingMode-horizontal
|
permitted |
Partially
supported
via
#writingMode-horizontal-lr
and
#writingMode-horizontal-rl
.
|
#writingMode-horizontal-lr
|
permitted | |
#writingMode-horizontal-rl
|
permitted | permitted-deprecated |
#writingMode-vertical
|
permitted | prohibited |
#zIndex
|
permitted-deprecated | |
Relative to the SMPTE-TT Extension Namespace | ||
#image
|
prohibited |
permitted-deprecated
Section § 10.4.5
SMPTE
#image
Extension
specifies
additional
constraints.
|
Relative to the IMSC Extension namespace | ||
#activeArea
|
permitted | |
#altText
|
permitted-deprecated
Section § 8.12.3
#altText
specifies
additional
constraints.
|
|
#aspectRatio
|
permitted-deprecated
Section § 8.12.4
#aspectRatio
specifies
additional
constraints.
|
|
#fillLineGap
|
permitted | prohibited |
#forcedDisplay
|
permitted | |
#linePadding
|
permitted
Section § 9.5.14
ebutts:linePadding
specifies
additional
constraints.
|
permitted-deprecated |
#multiRowAlign
|
permitted
Section § 9.5.15
ebutts:multiRowAlign
specifies
additional
constraints.
|
permitted-deprecated |
#progressivelyDecodable
|
permitted-deprecated |
A Document Instance SHALL be concretely encoded as a well-formed XML 1.0 [ xml ] document using the UTF-8 character encoding as specified in [ UNICODE ].
The resulting [ xml ] document SHOULD NOT contain any of the following physical structures:
These physical structures are intended to be prohibited in future versions of this specification.
The resulting [ xml ] document can contain character references , and entity references to predefined entities .
A Document Instance MAY contain elements and attributes that are neither specifically permitted nor forbidden by a profile.
A transformation processor SHOULD preserve such elements or attributes whenever possible.
Document Instances remain subject to the content conformance requirements specified at Section 3.1 of [ ttml2 ]. In particular, a Document Instance can contain elements and attributes not in any TT namespace, i.e. in foreign namespaces, since such elements and attributes are pruned by the algorithm at Section 4 of [ ttml2 ] prior to evaluating content conformance.
The following namespaces (see [ xml-names ]) are used in this specification:
Name | Prefix | Value | Defining Specification |
---|---|---|---|
XML |
xml
|
http://www.w3.org/XML/1998/namespace
|
[ xml-names ] |
TT |
tt
|
http://www.w3.org/ns/ttml
|
[ ttml2 ] |
TT Parameter |
ttp
|
http://www.w3.org/ns/ttml#parameter
|
[ ttml2 ] |
TT Styling |
tts
|
http://www.w3.org/ns/ttml#styling
|
[ ttml2 ] |
TT Feature | none |
http://www.w3.org/ns/ttml/feature/
|
[ ttml2 ] |
SMPTE-TT Extension |
smpte
|
http://www.smpte-ra.org/schemas/2052-1/2010/smpte-tt
|
[ SMPTE2052-1 ] |
EBU-TT Styling |
ebutts
|
urn:ebu:tt:style
|
[ EBU-TT-D ] |
EBU-TT Metadata |
ebuttm
|
urn:ebu:tt:metadata
|
[ EBU-TT-D ] |
IMSC Styling |
itts
|
http://www.w3.org/ns/ttml/profile/imsc1#styling
|
This specification |
IMSC Parameter |
ittp
|
http://www.w3.org/ns/ttml/profile/imsc1#parameter
|
This specification |
IMSC Metadata |
ittm
|
http://www.w3.org/ns/ttml/profile/imsc1#metadata
|
This specification |
IMSC Extension | none |
http://www.w3.org/ns/ttml/profile/imsc1/extension/
|
This specification |
IMSC 1.2 Text Profile Designator | none | See Section § 9.1 Profile Designator | |
IMSC 1.2 Image Profile Designator | none | See Section § 10.1 Profile Designator |
The namespace prefix values defined above are for convenience and Document Instances MAY use any prefix value that conforms to [ xml-names ].
The namespaces defined by this specification are mutable [ namespaceState ]; all undefined names in these namespaces are reserved for future standardization by the W3C .
A
Document
Instance
SHOULD
be
authored
assuming
strict
clipping
of
content
that
falls
out
of
region
areas,
regardless
of
the
computed
value
of
tts:overflow
for
the
region.
As
specified
in
[
ttml2
],
tts:overflow
has
no
effect
on
the
extent
of
the
region,
and
hence
the
total
normalized
drawing
area
S(E
n
)
at
§
11.3
Paint
Regions
.
Each intermediate synchronic document of the Document Instance is intended to be displayed on a specific frame and removed on a specific frame of the Related Video Object .
When mapping a media time expression M to a frame F of a Related Video Object , e.g. for the purpose of rendering a Document Instance onto the Related Video Object , the presentation processor SHALL map M to the frame F with the presentation time that is the closest to, but not less, than M.
In typical scenario, the same video program (the Related Video Object ) will be used for Document Instance authoring, delivery and user playback. The mapping from media time expression to Related Video Object above allows the author to precisely associate subtitle video content with video frames, e.g. around scene transitions. In circumstances where the video program is downsampled during delivery, the application can specify that, at playback, the relative video object be considered the delivered video program upsampled to is original rate, thereby allowing subtitle content to be rendered at the same temporal locations it was authored.
The
#aspectRatio
feature
is
designated
as
permitted-deprecated
in
the
profiles
defined
by
this
specification.
The
#displayAspectRatio
feature
provides
equivalent
semantics.
The
ittp:aspectRatio
attributes
allows
authorial
control
of
the
mapping
of
the
Root
Container
Region
of
a
Document
Instance
to
each
image
frame
of
the
Related
Video
Object
.
If
present,
the
ittp:aspectRatio
attribute
SHALL
conform
to
the
following
syntax:
ittp:aspectRatio : numerator denominator // with int(numerator) != 0 and int(denominator) != 0 // where int(s) parses string s as a decimal integer. numerator | denominator : <digit>+ // no linear white-space is implied or permitted // between each <digit> token |
An
ittp:aspectRatio
attribute
is
considered
to
be
significant
only
when
specified
on
the
tt
element.
If
specified
on
the
tt
element,
the
ittp:aspectRatio
attribute
specifies
the
display
aspect
ratio
of
the
Root
Container
Region
.
If
not
specified,
then
the
display
aspect
ratio
of
the
Root
Container
Region
is
determined
according
to
Appendix
H
of
[
ttml2
].
The
#progressivelyDecodable
feature
is
designated
as
permitted-deprecated
in
the
profiles
defined
by
this
specification.
A
progressively
decodable
Document
Instance
is
structured
to
facilitate
presentation
before
the
document
is
received
in
its
entirety,
and
can
be
identified
using
ittp:progressivelyDecodable
attribute.
A progressively decodable Document Instance is a Document Instance that conforms to the following:
head
element;
p
element
that
lexically
precedes
any
p
element
that
B
includes;
p
;
and
If
present,
the
ittp:progressivelyDecodable
attribute
SHALL
conform
to
the
following
syntax:
ittp:progressivelyDecodable : "true" | "false" |
An
ittp:progressivelyDecodable
attribute
is
considered
to
be
significant
only
when
specified
on
the
tt
element.
If
not
specified,
the
value
of
ittp:progressivelyDecodable
SHALL
be
considered
to
be
equal
to
"false"
.
A
Document
Instance
for
which
the
computed
value
of
ittp:progressivelyDecodable
is
"true"
SHALL
be
a
progressively
decodable
Document
Instance
.
A
Document
Instance
for
which
the
computed
value
of
ittp:progressivelyDecodable
is
"false"
is
neither
asserted
to
be
a
progressively
decodable
Document
Instance
nor
asserted
not
to
be
a
progressively
decodable
Document
Instance
.
<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
]
specifies
explicitly
referencing
of
elements
identified
using
xml:id
in
the
following
circumstances:
body
referencing
region
elements.
In
this
case,
Requirement
4
above
is
always
satisfied.
body
referencing
style
elements.
In
this
case,
Requirement
4
above
is
always
satisfied.
region
element
referencing
style
elements.
In
this
case,
Requirement
4
above
is
always
satisfied.
style
element
referencing
other
style
elements.
In
this
case,
Requirement
4
provides
an
optimization
of
style
element
ordering
within
the
head
element.
ttm:actor
element
referencing
a
ttm:agent
element.
In
this
case,
Requirement
4
provides
optimization
of
metadata
elements
ordering
within
the
document.
ttm:agent
elements
using
the
ttm:agent
attribute.
In
this
case,
Requirement
4
provides
optimization
of
metadata
elements
ordering
within
the
document.
itts:forcedDisplay
can
be
used
to
hide
content
whose
computed
value
of
tts:visibility
is
"visible"
when
the
processor
has
been
configured
to
do
so
via
the
application
parameter
displayForcedOnlyMode
.
If
and
only
if
the
value
of
displayForcedOnlyMode
is
"true"
,
a
content
element
with
a
itts:forcedDisplay
computed
value
of
"false"
SHALL
NOT
produce
any
visible
rendering,
regardless
of
the
computed
value
of
tts:visibility
.
The
itts:forcedDisplay
attribute
has
no
effect
on
content
layout
or
composition,
but
merely
determines
whether
composed
content
is
visible
or
not.
The
itts:forcedDisplay
attribute
SHALL
conform
to
the
following:
Values: |
false
|
true
|
Initial: |
false
|
Applies to: |
body
,
div
,
p
,
region
,
span
|
Inherited: | yes |
Percentages: | N/A |
Animatable: | discrete |
Annex
§
C.
Forced
content
illustrates
the
use
of
itts:forcedDisplay
in
an
application
in
which
a
single
document
contains
both
hard
of
hearing
captions
and
translated
foreign
language
subtitles,
using
itts:forcedDisplay
to
display
translation
subtitles
always,
independently
of
whether
the
hard
of
hearing
captions
are
displayed
or
hidden.
The
presentation
processor
SHALL
accept
an
optional
boolean
parameter
called
displayForcedOnlyMode
,
whose
value
MAY
be
set
by
a
context
external
to
the
presentation
processor
.
If
not
set,
the
value
of
displayForcedOnlyMode
SHALL
be
assumed
to
be
equal
to
"false"
.
The
algorithm
for
setting
the
displayForcedOnlyMode
parameter
based
on
the
circumstances
under
which
the
Document
Instance
is
presented
is
left
to
the
application.
<?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.2/text">
<head>
<layout>
<region xml:id="r1" tts:showBackground="whenActive" tts:origin="10% 2%" tts:extent="80% 10%" tts:color="white" itts:forcedDisplay="true" tts:backgroundColor="black"/>
<region xml:id="r2" tts:showBackground="whenActive" tts:origin="10% 80%" tts:extent="80% 10%" tts:color="white" tts:backgroundColor="black"/>
</layout>
</head>
<body>
<div>
<p region="r1" begin="1s" end="6s">Lycée</p>
<!-- the following will not appear if displayForcedOnlyMode='true' -->
<p region="r2" begin="4s" end="6s">Nous étions inscrits au même lycée.</p>
</div>
</body>
</
tt
>
As
specified
in
[
ttml2
],
the
background
of
a
region
can
be
visible
even
if
the
computed
value
of
tts:visibility
equals
"hidden"
for
all
active
content
within.
The
background
of
a
region
for
which
itts:forcedDisplay
equals
"true"
can
therefore
remain
visible
even
if
itts:forcedDisplay
equals
"false"
for
all
active
content
elements
within
the
region
and
displayForcedOnlyMode
equals
"true"
.
Authors
can
avoid
this
situation,
for
instance,
by
ensuring
that
content
elements
and
the
regions
that
they
are
flowed
into
always
have
the
same
value
of
itts:forcedDisplay
.
Although
itts:forcedDisplay
,
like
all
the
TTML
style
attributes,
has
no
defined
semantics
on
a
br
content
element,
itts:forcedDisplay
will
apply
to
a
br
content
element
if
it
is
either
defined
on
an
ancestor
content
element
of
the
br
content
element
or
it
is
applied
to
a
region
element
corresponding
to
a
region
that
the
br
content
element
is
being
flowed
into.
It
is
expected
that
the
functionality
of
itts:forcedDisplay
will
be
mapped
to
a
conditional
style
construct
in
a
future
revision
of
this
specification.
The
presentation
semantics
associated
with
itts:forcedDisplay
are
intended
to
be
compatible
with
those
associated
with
the
forcedDisplayMode
attribute
defined
in
[
CFF
].
The
#altText
feature
is
designated
as
permitted-deprecated
in
the
profiles
defined
by
this
specification.
The
altText
named
metadata
item
provides
equivalent
semantics.
ittm:altText
allows
an
author
to
provide
a
text
string
equivalent
for
an
element,
typically
an
image.
This
text
alternative
MAY
be
used
to
support
indexing
of
the
content,
facilitate
quality
checking
of
the
document
during
authoring
and
make
a
Image
Profile
Document
Instance
accessible
to
timed
text
authors
with
(visual)
disabilities
in
absence
of
a
corresponding
Text
Profile
Document
Instance
.
The
ittm:altText
element
SHALL
conform
to
the
following
syntax:
<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> |
The
ittm:altText
element
SHALL
be
a
child
of
the
metadata
element.
§
10.
Image
Profile
Provisions
specifies
the
use
of
the
ittm:altText
element
with
images.
<?xml version="1.0" encoding="UTF-8"?>
<tt xml:lang="fr"
xmlns="http://www.w3.org/ns/ttml"
xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
ttp:profile="http://www.w3.org/ns/ttml/profile/imsc1/image"
xmlns:tts="http://www.w3.org/ns/ttml#styling"
xmlns:smpte="http://www.smpte-ra.org/schemas/2052-1/2010/smpte-tt"
xmlns:ittm="http://www.w3.org/ns/ttml/profile/imsc1#metadata" tts:extent="320px 240px">
<head>
<layout>
<region xml:id="area1" tts:origin="20px 215px" tts:extent="180px 20px"/>
</layout>
</head>
<body>
<div begin="1s" end="9s" region="area1" smpte:backgroundImage="altText1-img.png">
<metadata>
<ittm:altText>Nous étions inscrits au même lycée.</ittm:altText>
</metadata>
</div>
</body>
</
tt
>
In
contrast
to
the
common
use
of
alt
attributes
in
[
HTML
],
the
ittm:altText
attribute
content
is
not
intended
to
be
displayed
in
place
of
the
element
if
the
element
is
not
loaded.
The
ittm:altText
attribute
content
can
however
be
read
and
used
by
assistive
technologies.
The Active Area of a Document Instance is the area within the Root Container Region that the author intends to be minimally visible to the viewer. This area typically fully contains all of the referenced regions within the Document Instance .
Under
normal
circumstances,
the
entirety
of
the
Root
Container
Region
is
presented.
However,
under
special
circumstances,
such
as
when
the
related
video
object
is
cropped,
a
system
can,
for
instance,
use
the
ittp:activeArea
parameter
to
avoid
cropping
areas
of
the
Root
Container
Region
that
are
intended
to
be
visible
to
the
viewer.
The
specific
behavior
of
the
system
is
however
left
undefined
intentionally:
the
system
can
select
a
presentation
mode
appropriate
to
the
display
shape,
user
preferences,
etc.
The
ittp:activeArea
is
analogous
to
the
Active
Format
Description
(AFD)
metadata
commonly
used
in
broadcast
applications.
The
Active
Area
is
specified
using
the
ittp:activeArea
attribute.
If
present,
the
ittp:activeArea
attribute
SHALL
conform
to
the
following
syntax:
ittp:activeArea : leftOffset topOffset width height leftOffset | topOffset | width | height : <percentage> // where <percentage> is non-negative and not greater than 100%. |
The
width
percentage
value
is
relative
to
the
width
of
the
Root
Container
Region
.
The
height
percentage
value
is
relative
to
the
height
of
the
Root
Container
Region
.
The
width
and
height
percentage
values
are
the
width
and
height
of
the
Active
Area
.
The
leftOffset
and
topOffset
percentage
values
specify
an
alignment
point
between
the
Root
Container
Region
and
the
Active
Area
.
The origin top left {x, y} percentage coordinates of the Active Area SHALL be calculated as follows:
x = leftOffset * (1 - width/100) y = topOffset * (1 - height/100)
The
use
of
left
and
top
offset
positions
is
co-incident
with
the
[
css3-background
]
background-position
property
where
a
two
percentage
value
position
is
used.
The
syntax
of
the
ittp:activeArea
parameter
is
such
that
the
Active
Area
cannot
extend
outside
the
Root
Container
Region
in
any
dimension.
The
ittp:activeArea
attribute
is
considered
to
be
significant
only
when
specified
on
the
tt
element.
If
the
ittp:activeArea
attribute
is
not
specified,
the
Active
Area
SHALL
be
the
Root
Container
Region
.
<?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.2/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
>
The
itts:fillLineGap
attribute
allows
the
author
to
control
the
application
of
background
between
successive
line
areas.
If
itts:fillLineGap="true"
then
the
background
of
each
inline
area
generated
by
descendant
spans
of
the
p
element
SHALL
extend
to
the
before-edge
and
after-edge
of
its
containing
line
area
(
before-edge
and
after-edge
are
defined
at
Section
4.2.3
of
[
XSL11
]).
The
itts:fillLineGap
attribute
SHALL
conform
to
the
following:
Values: |
false
|
true
|
Initial: |
false
|
Applies to: |
p
|
Inherited: | yes |
Percentages: | N/A |
Animatable: | discrete |
In
the
following
example,
the
p
specifies
itts:fillLineGap="true"
,
and,
as
a
result,
no
gap
exists
between
its
lines.
<?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.2/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"
removed
(left)
or
preserved
(right).
Blue
lines
have
been
added
to
show
the
before-edge
and
after-edge
of
each
line
area,
which
are
coincident
for
successive
line
areas.
Also,
as
illustrated
in
the
following
example,
because
the
line
areas
of
successive
p
elements
are
contiguous,
no
gap
exists
between
two
successive
p
elements
where
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.2/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"
on
the
two
paragraphs
of
the
top
region,
itts:fillLineGap="false"
on
the
two
paragraphs
of
the
bottom
region.
The
ttp:contentProfiles
attribute
SHOULD
be
present
on
the
tt
element,
with
exactly
one
of
its
values
equal
to
the
designator
of
the
profile
(either
Text
Profile
or
Image
Profile
)
to
which
the
Document
Instance
conforms.
The
ttp:contentProfiles
attribute
is
prohibited
in
some
profiles,
e.g.
[
EBU-TT-D
]
as
discussed
in
§
I.2
EBU-TT-D
.
To
minimize
the
risk
of
incompatibility,
the
use
of
the
ttp:contentProfiles
attribute
and
other
syntax
introduced
in
[
ttml2
]
is
not
recommended
in
documents
intended
to
conform
to
profiles
that
are
based
on
[
TTML1
],
e.g.
[
SMPTE2052-1
],
[
ttml-imsc1
]
,
[
ttml-imsc1.0.1
]
,
or
[
ttml10-sdp-us
].
The
ttp:contentProfiles
attribute
can
include
additional
designators,
beyond
those
specified
herein,
including
designators
for
other
versions
of
this
specification.
§ 6.4 Profile Resolution Semantics specifies the process by which the effective processor profile associated with the Document Instance is determined.
When
using
the
ebuttm:conformsToStandard
element
specified
in
[
EBU-TT-M
],
the
designators
of
the
Text
Profile
and
Image
Profile
SHALL
be
used
when
indicating
conformance
to
the
corresponding
profile.
See § I.2 EBU-TT-D for a sample Document Instance that follows the recommendations of this section.
It SHALL be possible to apply the Hypothetical Render Model specified in Section § 11. Hypothetical Render Model to any sequence of consecutive intermediate synchronic documents without error as defined in Section § 11.2 General .
The following style properties SHALL be subject to the Style Resolution procedures specified at Section 10.4 of [ ttml2 ]:
itts:fillLineGap
itts:forcedDisplay
ebutts:linePadding
ebutts:multiRowAlign
The
style
properties
above
can
be
specified
as
attributes
of
the
initial
element
specified
at
Section
10.1.1
of
[
ttml2
].
A presented region is a temporally active region that satisfies the following conditions:
tts:opacity
is
not
equal
to
"0.0"
;
and
tts:display
is
not
"none"
;
and
tts:visibility
is
not
"hidden"
;
and
tts:showBackground
is
equal
to
"always"
and
the
computed
value
of
tts:backgroundColor
has
non-transparent
alpha.
All regions SHALL NOT extend beyond the Root Container Region , i.e. every coordinate in the set of coordinates of each region is also in the set of coordinates of the Root Container Region .
No two presented regions in a given intermediate synchronic document SHALL overlap, i.e. the intersection of the sets of coordinates within each presented region is empty.
The number of presented regions in a given intermediate synchronic document SHALL NOT be greater than 4.
altText
named
metadata
item
A
altText
named
metadata
item
SHALL
NOT
be
present
in
a
Document
Instance
if
any
ittm:altText
element
is
also
present.
#altText
The
ittm:altText
element
SHOULD
NOT
be
present
unless
compatibility
with
[
ttml-imsc1.0.1
]
processors
is
desired.
A
ittm:altText
element
SHALL
NOT
be
present
in
a
Document
Instance
if
any
altText
named
metadata
item
element
is
also
present.
#aspectRatio
The
ittp:aspectRatio
attribute
SHOULD
NOT
be
present
in
a
Document
Instance
unless
compatibility
with
[
ttml-imsc1.0.1
]
processors
is
desired.
The
ittp:aspectRatio
attribute
SHALL
not
be
present
in
a
Document
Instance
if
any
ttp:displayAspectRatio
attribute
is
also
present.
#displayAspectRatio
The
ttp:displayAspectRatio
attribute
SHALL
not
be
present
in
a
Document
Instance
if
any
ittp:aspectRatio
attribute
is
also
present.
#extent-root
If
the
Document
Instance
includes
any
length
value
that
uses
the
px
unit,
tts:extent
SHALL
be
present
on
the
tt
element.
#frameRate
If
the
Document
Instance
includes
any
clock
time
expression
that
uses
the
frames
term
or
any
offset
time
expression
that
uses
the
f
metric,
the
ttp:frameRate
attribute
SHALL
be
present
on
the
tt
element.
#length-cell
c
units
SHALL
NOT
be
present
outside
of
the
value
of
ebutts:linePadding
.
#length-root-container-relative
When
specified
on
a
tts:extent
or
tts:position
attribute:
rh
units
SHALL
NOT
be
used
for
horizontal
length
components;
and
rw
units
SHALL
NOT
be
used
for
vertical
length
components.
#tickRate
ttp:tickRate
SHALL
be
present
on
the
tt
element
if
the
document
contains
any
time
expression
that
uses
the
t
metric.
#timeBase-media
This section is non-normative.
[
ttml2
]
specifies
that
the
default
timebase
is
"media"
if
ttp:timeBase
is
not
specified
on
tt
.
#time-offset-with-frames
This section is non-normative.
As
specified
in
[
ttml2
],
a
#time-offset-with-frames
expression
is
translated
to
a
media
time
M
according
to
M
=
3600
·
hours
+
60
·
minutes
+
seconds
+
(frames
÷
(
ttp:frameRateMultiplier
·
ttp:frameRate
)).
#timing
For
any
content
element
that
contains
br
elements
or
text
nodes
or
a
smpte:backgroundImage
attribute,
both
the
begin
attribute
and
one
of
either
the
end
or
dur
attributes
SHOULD
be
specified
on
the
content
element
or
at
least
one
of
its
ancestors.
usesForced
named
metadata
item
This section is non-normative.
The
usesForced
named
metadata
item
does
not
apply
since
the
condition
attribute
is
prohibited.
The
itts:forcedDisplay
attribute
is
used
to
specify
forced
content
semantics.
#zIndex
This section is non-normative.
This feature has no effect since, as specified at § 8.12.1.2 Dimensions and Position , presented regions do not overlap in a Document Instance .
This profile is associated with the following profile designator:
Profile Name | Profile Designator |
---|---|
IMSC 1.2 Text |
http://www.w3.org/ns/ttml/profile/imsc1.2/text
|
A Document Instance SHOULD be authored using characters selected from the sets specified in § B. Common Character Sets .
When rendering codepoints matching one of the combinations of computed font family and codepoints listed in § A. Reference Fonts , a processor SHALL use a font that generates a glyph sequence whose dimension is substantially identical to the glyph sequence that would have been generated by one of the specified reference fonts.
This clause only applies to codepoints supported by the processor. See § 9.2 Recommended Character Sets for codepoints that a processor is likely to encounter for various languages.
When
a
content
author
sets
a
bounding
box
for
a
subtitle,
they
want
to
maximize
the
likelihood
that
the
text
will
fit
within
it
when
displayed
by
the
processor.
If
the
processor
doesn't
use
the
specific
font
the
content
author
had
in
mind,
the
font
actually
used
might
cause
the
text
to
grow
in
size
so
that
it
no
longer
fits
in
the
bounding
box.
This
is
further
compounded
by
differences
in
the
way
text
wraps
when
a
font
has
bigger
glyphs,
which
might
increase
the
number
of
lines
used,
and
increased
line
spacing,
which
might
also
push
some
of
the
text
outside
the
bounding
box.
To
help
ensure
that
things
such
as
text
size,
line
breaking,
and
line
height
behave
as
expected
relative
to
the
size
of
the
bounding
box
set
by
the
content
author,
the
author
can
use
one
of
the
reference
fonts
defined
by
this
specification.
This
specification
requires
processors
to
support
one
or
more
fonts
with
similar
font
metrics
as
reference
fonts.
Note
that,
however,
the
reference
fonts
as
currently
defined
only
cover
characters
used
for
a
few
writing
systems
–
in
particular,
a
subset
of
those
based
on
Latin,
Greek,
Cyrillic,
Hebrew,
and
Arabic
scripts.
Implementations can use fonts other than those specified in § A. Reference Fonts . Two fonts with equal metrics can have a different appearance, but flow identically.
A Presentation Processor SHALL support font resources of the following media types, as defined in [ IANA-MEDIA-TYPES ]:
[
IANA-MEDIA-TYPES
]
specifies
that
the
media
type
font/otf
includes
file
extensions
.ttf
and
.otf
.
#color
The
initial
value
of
tts:color
SHALL
be
"white"
.
This is consistent with [ SMPTE2052-1 ].
The
named
color
green
defined
in
[
ttml2
]
is
equivalent
to
the
RGB
color
triple
#008000
and
is
not
full
luminance.
For
full
luminance
green,
an
author
can
specify
the
RGB
color
triple
#00ff00
or
the
named
color
lime
.
#extent-region
For
each
region
element
defined
in
the
Document
Instance
,
the
specified
value
of
the
tts:extent
style
property
SHALL
consist
of
two
length
expressions
that
use
pixel
(px),
percentage
(%),
or
root
container
relative
units.
If
no
region
element
is
defined
in
the
Document
Instance
,
then
content
flows
into
the
default
region
;
conversely,
if
one
or
more
region
elements
are
defined
in
the
Document
Instance
,
the
default
region
is
not
used.
The
requirement
above
requires
the
author
to
explicitly
specify
the
value
of
tts:extent
in
the
Document
Instance
,
e.g.
by
specifying
the
tts:extent
attribute
for
each
region
element.
#font
and
#source
A
font
element
in
the
Document
Instance
SHALL
not
specify
a
src
attribute.
All
source
elements
that
are
children
of
a
font
element
SHALL
reference
an
external
data
resource
.
A Processor MAY use the [ css-fonts-3 ] §5 font matching algorithm for associating a font with a run of text.
#fontFamily-generic
In
absence
of
specific
instructions
on
the
choice
of
font
families,
and
in
order
to
enhance
reproducibility
of
line
fitting,
authors
are
encouraged
to
use
the
monospaceSerif
or
proportionalSansSerif
generic
font
families,
for
which
reference
font
metrics
are
defined
at
§
A.
Reference
Fonts
.
If
the
computed
value
of
tts:fontFamily
is
"default"
,
then
the
used
value
of
tts:fontFamily
SHALL
be
"monospaceSerif"
.
The term used value is defined in CSS 2.1, as normatively referenced by [ ttml2 ].
#fontFamily
Linear
white-space
SHOULD
NOT
appear
between
components
of
the
specified
value
of
tts:fontFamily
.
#length-negative
Strictly
negative
length
expressions
SHALL
NOT
be
used
with
attributes
other
than:
tts:disparity
;
and
tts:textShadow
.
#lineHeight
The
specified
value
of
the
tts:lineHeight
attribute
SHOULD
be
such
that
specified
style
set
of
each
p
element
contains
a
tts:lineHeight
property
whose
value
is
not
normal
.
Implementation
of
the
normal
value
is
not
uniform
at
the
time
of
this
writing.
#origin
The
value
of
the
tts:origin
attribute
SHALL
consist
of
two
length
expressions
that
use
pixel
(px)
or
percentage
(%)
units.
If
the
tts:position
attribute
is
specified
anywhere
in
a
Document
Instance
,
then
the
tts:origin
attribute
SHALL
NOT
be
specified
anywhere
in
that
Document
Instance
.
#position
All
length
components
of
the
value
of
a
tts:position
attribute
SHALL
use
pixel
(px),
percentage
(%)
or
root
container
relative
units.
If
the
tts:origin
attribute
is
specified
anywhere
in
a
Document
Instance
,
then
the
tts:position
attribute
SHALL
NOT
be
specified
anywhere
in
that
Document
Instance
.
#resources
The
resources
element
SHALL
not
contain
any
of
the
following
children
elements:
audio
;
data
;
and
image
.
#rubyAlign
The
specified
value
of
the
tts:rubyAlign
attribute
SHALL
be
such
that
its
computed
value
is
center
or
spaceAround
.
#textOutline-unblurred
The
specified
value
of
the
tts:textOutline
attribute
SHALL
be
such
that
its
computed
value
on
any
span
element
is
10%
or
less
than
the
computed
value
of
tts:fontSize
attribute
on
the
same
element.
#textShadow
The
specified
value
of
the
tts:textShadow
attribute
SHALL
NOT
have
more
than
4
<shadow>
values.
ebutts:linePadding
In
addition
to
the
style
element,
the
attribute
ebutts:linePadding
MAY
be
specified
on
the
following
elements:
region
body
div
p
initial
The processor :
ebutts:linePadding
to
p
only;
and
ebutts:linePadding
as
inheritable.
The
ebutts:linePadding
attribute
only
supports
c
length
units.
In
contrast
to
this
specification,
[
EBU-TT-D
]
specifies
that
the
attribute
ebutts:linePadding
is
allowed
only
on
the
style
element.
ebutts:multiRowAlign
In
addition
to
the
style
element,
the
attribute
ebutts:multiRowAlign
MAY
be
specified
on
the
following
elements:
region
body
div
p
initial
The processor :
ebutts:multiRowAlign
to
p
only;
and
ebutts:multiRowAlign
as
inheritable.
In
contrast
to
this
specification,
[
EBU-TT-D
]
specifies
that
the
attribute
ebutts:multiRowAlign
is
allowed
only
on
the
style
element.
This section is non-normative.
Since
(a)
Japanese-language
fonts
typically
do
not
include
italic
or
oblique
faces,
and
(b)
Japanese-language
slanted
vertical
text
consists
of
characters
slanted
in
the
vertical
direction
(and
not
in
the
horizontal
direction),
it
is
recommended
that
tts:shear
be
specified
to
slant
Japanese-language
text
–
instead
of
specifying
tts:fontStyle="italic"
or
tts:fontStyle="oblique"
.
This profile is associated with the following profile designator:
Profile Name | Profile Designator |
---|---|
IMSC 1.1 Image |
http://www.w3.org/ns/ttml/profile/imsc1.1/image
|
This profile designator remains unchanged from [ ttml-imsc1.1 ] since this specification makes no substantive changes to the Image Profile.
A
presented
image
is
a
div
element:
smpte:backgroundImage
attribute
or
a
child
image
element;
and
A
presented
image
is
never
presented
in
the
default
region
since,
as
specified
in
§
10.4.4
TTML
#image
Feature
and
§
10.4.5
SMPTE
#image
Extension
,
it
is
always
associated
with
a
region
defined
in
the
Document
Instance
.
In
a
given
intermediate
synchronic
document
,
each
presented
region
SHALL
contain
at
most
one
div
element,
which
SHALL
be
a
presented
image
.
For
the
purposes
of
constructing
an
intermediate
synchronic
document
,
a
div
element
with
a
smpte:backgroundImage
attribute
SHALL
NOT
be
considered
empty.
An image resource is a PNG datastream as specified in [ PNG ].
If a pHYs chunk is present, it SHALL indicate square pixels.
[ PNG ] specifies that, if no pixel aspect ratio is carried, the default of square pixels is assumed.
#content
The
p
,
span
and
br
elements
SHALL
NOT
be
present.
Sections
below
specify
constraints
on
div
elements.
#extent-region
The
tts:extent
attribute
SHALL
be
present
on
each
region
element
defined
in
the
Document
Instance
and
its
value
SHALL
consist
of
two
length
expressions
that
use
pixel
(px)
units.
#length-negative
Strictly
negative
length
expressions
SHALL
NOT
be
used
with
attributes
other
than:
tts:disparity
.
TTML
#image
Feature
The
image
element
SHALL
only
be
used
in
a
image
presentation
context
.
The
image
element
SHALL
be
a
child
of
a
div
element
that
does
not
have
a
smpte:backgroundImage
attribute.
A
div
element
SHALL
have
zero
or
one
child
image
element.
A
div
element
that
has
a
child
image
element
SHALL
be
associated
with
a
region
element
defined
in
the
Document
Instance
.
A
div
element
that
contains
a
child
image
element
SHOULD
contain
a
metadata
element
containing
an
altText
named
metadata
item
that
is
a
text
alternative
of
the
image
resource
referenced
by
the
image
element.
An
image
element
SHALL
specify
a
src
attribute,
which
references
an
image
resource
that
conforms
to
§
10.3
Image
Resources
.
An
image
element
SHALL
specify
a
type
attribute.
An
image
element
SHALL
specify
a
tts:extent
attribute,
which
shall
be
equal
to:
tts:extent
style
property
of
the
region
element
in
which
the
image
element
is
presented;
and
SMPTE
#image
Extension
smpte:backgroundImage
smpte:backgroundImage
MAY
be
used
with
the
semantics
of
the
attribute
defined
by
Sections
5.5.2
of
[
SMPTE2052-1
].
If
a
smpte:backgroundImage
attribute
is
applied
to
a
div
element:
div
element
SHALL
be
associated
with
a
region
element
defined
in
the
Document
Instance
;
smpte:backgroundImage
SHALL
be
equal
to
the
width
and
height
expressed
by
the
tts:extent
attribute
of
the
region
in
which
the
div
element
is
presented;
div
element
SHOULD
contain
a
metadata
element
containing
an
ittm:altText
element
that
is
a
text
alternative
of
the
image
referenced
by
the
smpte:backgroundImage
attribute;
smpte:backgroundImage
attribute
SHALL
reference
an
image
resource
that
conforms
to
§
10.3
Image
Resources
;
and
div
element
SHALL
NOT
have
any
image
element
as
a
descendant.
In
order
to
individually
position
multiple
div
elements,
each
div
can
be
associated
with
a
distinct
region
with
the
desired
tts:extent
and
tts:origin
.
The
rendering
semantics
of
smpte:backgroundImage
are
not
identical
to
those
of
background-image
specified
at
Section
7.8.3
of
[
XSL11
].
In
particular,
Section
5.5.6
at
[
SMPTE2052-1
]
amends
the
semantics
of
background-image
by
specifying
values
for
its
min-height
and
min-width
properties.
smpte:backgroundImageHorizontal
and
smpte:backgroundImageVertical
smpte:backgroundImageHorizontal
and
smpte:backgroundImageVertical
SHALL
NOT
be
used.
smpte:image
smpte:image
SHALL
NOT
be
used.
This section is non-normative.
This Section specifies the Hypothetical Render Model illustrated in Figure 3 .
The purpose of the model is to limit Document Instance complexity. It is not intended as a specification of the processing requirements for implementations. 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 neither requires the implementation of such a buffer, nor models the sub-pixel character positioning and anti-aliased glyph rendering that can be used to produce text output.
The model operates on successive intermediate synchronic documents obtained from an input Document Instance , and uses a simple double buffering model: while an intermediate synchronic document E n is being painted into Presentation Buffer P n (the "front buffer" of the model), the previous intermediate synchronic document E n-1 is available for display in Presentation Buffer P n-1 (the "back buffer" of the model).
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 n completes before the end of intermediate synchronic document E n-1 .
Whenever applicable, constraints are specified relative to Root Container Region dimensions, allowing subtitle sequences to be authored independently of Related Video Object resolution.
To enable 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 [ CEA-608 ] and [ CEA-708 ]), the Glyph Buffers G n and G n-1 store rendered glyphs across intermediate synchronic documents , allowing glyphs to be copied into the Presentation Buffer instead of rendered, a more costly operation.
Similarly, Decoded Image Buffers D n and D n-1 store decoded images across intermediate synchronic documents , allowing images to be copied into the Presentation Buffer instead of decoded.
The Presentation Compositor SHALL render in Presentation Buffer P n each successive intermediate synchronic document E n using the following steps in order:
The Presentation Compositor SHALL start rendering E n :
The duration DUR(E n ) for painting an intermediate synchronic document E n in the Presentation Buffer P n SHALL be:
DUR(E n ) = S(E n ) / BDraw + DUR T (E n ) + DUR I (E n )
where
The contents of the Presentation Buffer P n SHALL be transferred instantaneously to Presentation Buffer P n-1 at the presentation time of intermediate synchronic document E n , making the latter available for display.
It is possible for the contents of Presentation Buffer P n-1 to never be displayed. This can happen if Presentation Buffer P n is copied twice to Presentation Buffer P n-1 between two consecutive video frame boundaries of the Related Video Object .
It SHALL be an error for the Presentation Compositor to fail to complete painting pixels for E n before the presentation time of E n .
It SHALL be an error if the total retrieved font size exceeds 10 MiB.
Unless specified otherwise, the following table SHALL specify values for IPD and BDraw.
Parameter | Initial value |
---|---|
Initial Painting Delay (IPD) | 1 s |
Normalized background drawing performance factor (BDraw) | 12 s -1 |
BDraw effectively sets a limit on fillings regions - for example, assuming that the Root Container Region is ultimately rendered at 1920×1080 resolution, a BDraw of 12 s -1 would correspond to a fill rate of 1920×1080×12/s=23.7×2 20 pixels s -1 .
IPD effectively sets a limit on the complexity of any given intermediate synchronic document .
The total normalized drawing area S(E n ) for intermediate synchronic document E n SHALL be
S(E n ) = CLEAR(E n ) + PAINT(E n )
where CLEAR(E 0 ) = 0 and CLEAR(E n | n > 0 ) = 1, i.e. the Root Container Region in its entirety.
To ensure consistency of the Presentation Buffer, a new intermediate synchronic document requires clearing of the Root Container Region .
PAINT(E n ) SHALL be the normalized area to be painted for all regions that are used in intermediate synchronic document E n according to:
PAINT(E n ) = ∑ R i ∈R p NSIZE(R i ) ∙ NBG(R i )
where R_p SHALL be the set of presented regions in the intermediate synchronic document E n .
NSIZE(R i ) SHALL be given by:
NSIZE(R i ) = (width of R i ∙ height of R i ) ÷ ( Root Container Region height ∙ Root Container Region width)
NBG(R
i
)
SHALL
be
the
total
number
of
tts:backgroundColor
attributes
associated
with
the
given
region
R
i
in
the
intermediate
synchronic
document
.
A
tts:backgroundColor
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:
region
layout
element
that
defines
the
region;
or
div
,
p
,
span
or
br
content
element
that
is
to
be
flowed
into
the
region
for
presentation
in
the
intermediate
synchronic
document
(see
[
ttml2
]
for
more
details
on
when
a
content
element
is
followed
into
a
region);
or
set
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
[
ttml2
]
for
more
details
on
when
a
set
animation
element
is
applied
to
content
elements).
Even
if
a
specified
tts:backgroundColor
is
the
same
as
specified
on
the
nearest
ancestor
content
element
or
animation
element,
specifying
any
tts:backgroundColor
SHALL
require
an
additional
fill
operation
for
all
region
pixels.
The Presentation Compositor SHALL paint into the Presentation Buffer P n all visible pixels of presented images of intermediate synchronic document E n .
For each presented image , the Presentation Compositor SHALL either:
Two images SHALL be identical if and only if they reference the same encoded image source.
The duration DUR I (E n ) for painting images of an intermediate synchronic document E n in the Presentation Buffer SHALL be as follows:
DUR I (E n ) = ∑ I i ∈ I c NRGA(I i ) / ICpy + ∑ I j ∈ I d NSIZ(I j ) / IDec
where
NRGA(I i ) is the Normalized Image Area of presented image I i and SHALL be equal to:
NRGA(I i )= (width of I i ∙ height of I i ) ÷ ( Root Container Region height ∙ Root Container Region width )
NSIZ(I i ) SHALL be the number of pixels of presented image I i .
The contents of the Decoded Image Buffer D n SHALL be transferred instantaneously to Decoded Image Buffer D n-1 at the presentation time of intermediate synchronic document E n .
The total size occupied by images stored in Decoded Image Buffers D n or D n-1 SHALL be the sum of their Normalized Image Area.
The size of Decoded Image Buffers D n or D n-1 SHALL be the Normalized Decoded Image Buffer Size (NDIBS).
Unless specified otherwise, the following table SHALL specify ICpy, IDec, and NDBIS.
Parameter | Initial value |
---|---|
Normalized image copy performance factor (ICpy) | 6 |
Image Decoding rate (IDec) | 1 × 2 20 pixels s -1 |
Normalized Decoded Image Buffer Size (NDIBS) | 0.9885 |
In the context of this section, a glyph is a tuple consisting of (i) one character and (ii) the computed values of the following style properties:
tts:color
tts:fontFamily
tts:fontSize
tts:fontStyle
tts:fontWeight
tts:textDecoration
tts:textOutline
tts:textShadow
While one-to-one mapping between characters and typographical glyphs is generally the rule in some scripts, e.g. latin script, it is the exception in others. For instance, in arabic script, a character can yield multiple glyphs depending on its position in a word. The Hypothetical Render Model always assumes a one-to-one mapping, but reduces the performance of the glyph buffer for scripts where one-to-one mapping is not the general rule (see GCpy below).
For each glyph associated with a character in a presented region of intermediate synchronic document E n , the Presentation Compositor SHALL :
In
the
case
of
external
data
resource
retrieved
using
[
HTTP11
],
the
size
in
bytes
of
the
external
data
resource
is
the
entity-length
of
the
message.
The duration DUR T (E n ) for rendering the text of an intermediate synchronic document E n in the Presentation Buffer is as follows:
DUR T (E n ) = ∑ g i ∈ Γ r NRGA(g i ) / Ren(g i ) + ∑ g j ∈ Γ c NRGA(g j ) / GCpy
where
The Normalized Rendered Glyph Area NRGA(g i ) of a glyph g i SHALL be equal to:
NRGA(g i ) = (fontSize of g i as percentage of Root Container Region height) 2
NRGA(G i ) does not take into account decorations (e.g. underline), effects (e.g. outline) or actual typographical glyph aspect ratio. An implementation can determine an actual buffer size needs based on worst-case glyph size complexity.
The contents of the Glyph Buffer G n SHALL be copied instantaneously to Glyph Buffer G n-1 at the presentation time of intermediate synchronic document E n .
It SHALL be an error for the sum of NRGA(g i ) over all glyphs Glyph Buffer G n to be larger than the Normalized Glyph Buffer Size (NGBS).
Unless specified otherwise, the following table specifies values of GCpy, Ren and NGBS.
Normalized glyph copy performance factor (GCpy) | |
---|---|
Script property (see Standard Annex #24 at [ UNICODE ]) for the character of g i | GCpy |
latin, greek, cyrillic, hebrew or base | 12 |
any other value | 3 |
Text rendering performance factor Ren(G i ) | |
Block property (see [ UNICODE ]) for the character of g i | Ren(G i ) |
CJK Unified Ideograph | 0.6 |
any other value | 1.2 |
Normalized Glyph Buffer Size (NGBS) | |
1 |
The choice of font by the presentation processor can increase rendering complexity. For instance, a cursive font can generally result in a given character yielding different typographical glyphs depending on context, even if latin script is used.
Computed Font Family | Code Points | Reference Font |
---|---|---|
monospaceSerif
|
All code points specified in § B. Common Character Sets | Courier New or Liberation Mono |
proportionalSansSerif
|
All code points specified in § B. Common Character Sets , excluding the code points defined for Hebrew and Arabic scripts. | Arial or Helvetica or Liberation Sans |
While a Processor is required to accept, and encouraged to render, all Character Information Items , practical considerations can result in a Processor being capable of rendering only a subset of them. In order to increase the confidence that text will be presented correctly by Processors targeting specific languages, this section defines common character sets that authors are encouraged to use.
The common character sets defined herein are expected to evolve over time, and implementers are encouraged to review them regularly.
The definition of common character sets herein is in no way intended to limit the set of characters that a Processor renders.
Implementers are cautioned that a given sequence of characters can yield different visual representations depending on the context, including surrounding characters, language and font. In other words, there is not necessarily a one-to-one mapping between a character and its visual representation.
For
a
given
language
indicated
using
the
xml:lang
attribute,
the
common
character
set
is
equal
to
the
union
of
the
following
sets:
Some of the sets above can overlap.
Table 1 captures the set of characters intended to be always available to authors. The terms used in the table are defined in [ UNICODE ].
(Basic Latin) |
---|
U+0020 - U+007E |
(Latin-1 Supplement) |
U+00A0 - U+00FF |
(Latin Extended-A) |
U+0152 : LATIN CAPITAL LIGATURE OE |
U+0153 : LATIN SMALL LIGATURE OE |
U+0160 : LATIN CAPITAL LETTER S WITH CARON |
U+0161 : LATIN SMALL LETTER S WITH CARON |
U+0178 : LATIN CAPITAL LETTER Y WITH DIAERESIS |
U+017D : LATIN CAPITAL LETTER Z WITH CARON |
U+017E : LATIN SMALL LETTER Z WITH CARON |
(Latin Extended-B) |
U+0192 : LATIN SMALL LETTER F WITH HOOK |
(Spacing Modifier Letters) |
U+02DC : SMALL TILDE |
(Combining Diacritical Marks) |
U+0301 : COMBINING ACUTE ACCENT |
(General Punctuation) |
U+2010 - U+2015 : Dashes |
U+2016 - U+2027 : General punctuation |
U+2030 - U+203A : General punctuation |
(Currency symbols) |
U+20AC : EURO SIGN |
(Letterlike Symbols) |
U+2103 : DEGREES CELSIUS |
U+2109 : DEGREES FAHRENHEIT |
U+2120 : SERVICE MARK SIGN |
U+2122 : TRADE MARK SIGN |
(Number Forms) |
U+2153 - U+215F : Fractions |
(Mathematical Operators) |
U+2212 : MINUS SIGN |
U+221E : INFINITY |
(Box Drawing) |
U+2500 : BOX DRAWINGS LIGHT HORIZONTAL |
U+2502 : BOX DRAWINGS LIGHT VERTICAL |
U+250C : BOX DRAWINGS LIGHT DOWN AND RIGHT |
U+2510 : BOX DRAWINGS LIGHT DOWN AND LEFT |
U+2514 : BOX DRAWINGS LIGHT UP AND RIGHT |
U+2518 : BOX DRAWINGS LIGHT UP AND LEFT |
(Block Elements) |
U+2588 : FULL BLOCK |
(Geometric Shapes) |
U+25A1 : WHITE SQUARE |
(Musical Symbols) |
U+2669 : QUARTER NOTE |
U+266A : EIGHTH NOTE |
U+266B : BEAMED EIGHTH NOTES |
Table 2 specifies supplementary character set that have proven useful in captioning and subtitling applications for a number of selected languages. Table 2 is non-exhaustive, and will be extended as needs arise.
Primary language subtag | Characters |
---|---|
sq, fi, da, nl, en, de, is, no, sv, ca, fr, it | no supplementary characters |
lv, lt, et, tr, hr, cs, pl, sl, sk |
(Latin
Extended-A)
U+0100 - U+017F |
ro |
(Latin
Extended-A)
U+0100 - U+017F (Latin Extended-B) U+0218 - U+0219 U+021A - U+021B |
el |
(Combining
Diacritical
Marks)
U+0308 (Greek and Coptic) U+0386 - U+038A U+038C U+038E - U+03A1 U+03A3 - U+03CE |
pt, es |
(Currency
symbols)
U+20A1 - U+20A2 U+20B3 |
ar |
(Arabic)
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 |
(Hebrew)
U+05B0 - U+05C3 U+05D0 - U+05EA U+05F3 - U+05F4 |
bs, bg, mk, ru, sr, uk |
(Latin
Extended-A)
U+0100 - U+017F (Spacing Modifier Letters) U+02BC (Cyrillic) U+0400 - U+045F U+048A - U+04F9 (Letterlike Symbols) U+2116 |
kk |
(Latin
Extended-A)
U+0100 - U+017F (Cyrillic) U+0400 - U+045F U+048A - U+04F9 |
hu |
(Latin
Extended-A)
U+0100 - U+017F (General Punctuation) U+2052 (Miscellaneous Mathematical Symbols-A) U+27E8–U+27E9 |
This section is non-normative.
Figure
5
below
illustrates
the
use
of
forced
content,
i.e.
itts:forcedDisplay
and
displayForcedOnlyMode
.
The
content
with
itts:forcedDisplay="true"
is
the
French
translation
of
the
"High
School"
sign.
The
content
with
itts:forcedDisplay="false"
are
French
subtitles
capturing
a
voiceover.
When
the
user
selects
French
as
the
playback
language
but
does
not
select
French
subtitles,
displayForcedOnlyMode
is
set
to
"true"
,
causing
the
display
of
the
sign
translation,
which
is
useful
to
any
French
speaker,
but
hiding
the
voiceover
subtitles
as
the
voiceover
is
heard
in
French.
If
the
user
selects
French
as
the
playback
language
and
also
selects
French
subtitles,
e.g.
if
the
user
is
hard-of-hearing,
displayForcedOnlyMode
is
set
to
"false"
,
causing
the
display
of
both
the
sign
translation
and
the
voiceover
subtitles.
The
algorithm
for
setting
the
displayForcedOnlyMode
parameter
and
selecting
the
appropriate
combination
of
subtitle
and
audio
tracks
depends
on
the
application.
Success Criterion 1.1.1 at [ WCAG21 ] specifies that, with some exceptions, all non-text content that is presented to the user has a text alternative that serves the equivalent purpose.
As such, when an Image Profile Document Instance is made available to a consumer, a corresponding Text Profile Document Instance SHOULD simultaneously be offered and associated with the Image Profile Document Instance such that, when image content is encountered, assistive technologies have access to its text alternative . The method by which this association is made is left to each application.
In the context of this specification, text alternative is intended primarily to support users of the subtitles who cannot see images (the non-text content ). Since the images of an Image Profile Document Instance usually represent subtitle or caption text, the guidelines of Text that has been rendered to a graphic for typographical effect at [ HTML ] are appropriate.
Thus, for each subtitle in an Image Profile Document Instance , text alternative content in a Text Profile Document Instance SHOULD be written so that it conveys all essential content and fulfills the same function as the corresponding subtitle image. In the context of subtitling and captioning, this content will be (as a minimum) the verbatim equivalent of the image without précis or summarization. However, the author MAY include extra information to the text alternative in cases where styling is applied to the text image with a deliberate connotation, as a functional replacement for the applied style.
During
authoring,
the
altText
named
metadata
item
can
be
used
to
associate
a
simple
text
string
with
an
image
to,
for
example:
Success Criterion 1.4.3 at [ WCAG21 ] specifies that, with some exceptions, the visual presentation of text and images of text has a contrast ratio of at least 4.5:1.
In the context of Text Profile , this is achieved by specifying appropriate foreground and background colors.
Success Criterion 1.4.12 at [ WCAG21 ] specifies that no loss of content or functionality occur when spacing of lines, letters, words and paragraphs is modified by a specified amount.
In the context of this specification, this is achieved by specifying an appropriate combination of style properties to achieve the desired line height, font size, region extent, etc.
Success Criteria 3.1.1 and 3.1.2 at [ WCAG21 ] specify that the human language of each passage or phrase in the content can be programmatically determined.
In
the
context
of
this
specification,
this
is
achieved
by
specifying
xml:lang
.
This section is non-normative.
Authors and implementers are encouraged to consult [ media-accessibility-reqs ], which presents accessibility requirements users with disabilities have with respect to audio and video on the web.
This section is non-normative.
The following sample Document Instances conforms to the Text Profile and Image Profile , respectively. These samples are for illustration only, and are neither intended to capture current or future practice, nor exercise all normative prose contained in this specification.
<?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.2/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
>
<?xml version="1.0" encoding="UTF-8"?>
<tt xml:lang="fr"
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"
tts:extent="640px 480px"
ttp:frameRate="25"
ttp:contentProfiles="http://www.w3.org/ns/ttml/profile/imsc1.1/image">
<head>
<layout>
<region xml:id="region1" tts:origin="120px 410px" tts:extent="240px 40px" tts:showBackground="whenActive"/>
<region xml:id="region2" tts:origin="120px 20px" tts:extent="240px 40px" tts:showBackground="whenActive"/>
</layout>
</head>
<body>
<div region="region1" begin="00:00:01:00" end="00:00:02:00">
<image tts:extent="240px 40px" src="1.png" type="image/png"/>
</div>
<div region="region1" begin="00:00:03:20" end="00:00:04:12">
<image tts:extent="240px 40px" src="2.png" type="image/png"/>
</div>
<div region="region2" itts:forcedDisplay="true" begin="00:00:03:20" end="00:00:04:12">
<image tts:extent="240px 40px" src="3.png" type="image/png"/>
</div>
</body>
</
tt
>
The following sections define extension designations, expressed as relative URIs (fragment identifiers) relative to the IMSC Extension Namespace base URI.
The
#progressivelyDecodable
feature
is
designated
as
permitted-deprecated
in
the
profiles
defined
by
this
specification.
A
transformation
processor
supports
the
#progressivelyDecodable
feature
if
it
recognizes
and
is
capable
of
transforming
values
of
the
ittp:progressivelyDecodable
attribute.
A
presentation
processor
supports
the
#progressivelyDecodable
feature
if
it
implements
presentation
semantic
support
for
values
of
the
ittp:progressivelyDecodable
attribute.
The
#aspectRatio
feature
is
designated
as
permitted-deprecated
in
the
profiles
defined
by
this
specification.
The
#displayAspectRatio
feature
provides
equivalent
semantics.
A
transformation
processor
supports
the
#aspectRatio
feature
if
it
recognizes
and
is
capable
of
transforming
values
of
the
ittp:aspectRatio
attribute.
A
presentation
processor
supports
the
#aspectRatio
feature
if
it
implements
presentation
semantic
support
for
values
of
the
ittp:aspectRatio
attribute.
A
transformation
processor
supports
the
#forcedDisplay
feature
if
it
recognizes
and
is
capable
of
transforming
values
of
the
itts:forcedDisplay
attribute.
A
presentation
processor
supports
the
#forcedDisplay
feature
if
it
implements
presentation
semantic
support
for
values
of
the
itts:forcedDisplay
attribute.
The
#altText
feature
is
designated
as
permitted-deprecated
in
the
profiles
defined
by
this
specification.
The
altText
named
metadata
item
provides
equivalent
semantics.
A
transformation
processor
supports
the
#altText
feature
if
it
recognizes
and
is
capable
of
transforming
values
of
the
ittm:altText
element.
A
presentation
processor
supports
the
#altText
feature
if
it
implements
presentation
semantic
support
for
values
of
the
ittm:altText
element.
A
transformation
processor
supports
the
#linePadding
feature
if
it
recognizes
and
is
capable
of
transforming
values
of
the
ebutts:linePadding
attribute
specified
in
[
EBU-TT-D
].
A
presentation
processor
supports
the
#linePadding
feature
if
it
implements
presentation
semantic
support
for
values
of
the
ebutts:linePadding
attribute
specified
in
[
EBU-TT-D
].
A
transformation
processor
supports
the
#multiRowAlign
feature
if
it
recognizes
and
is
capable
of
transforming
values
of
the
ebutts:multiRowAlign
attribute
specified
in
[
EBU-TT-D
].
A
presentation
processor
supports
the
#multiRowAlign
feature
if
it
implements
presentation
semantic
support
for
values
of
the
ebutts:multiRowAlign
attribute
specified
in
[
EBU-TT-D
].
A
transformation
processor
supports
the
#activeArea
feature
if
it
recognizes
and
is
capable
of
transforming
values
of
the
ittp:activeArea
attribute.
A
presentation
processor
supports
the
#activeArea
feature
if
it
implements
presentation
semantic
support
for
values
of
the
ittp:activeArea
attribute.
A
transformation
processor
supports
the
#fillLineGap
feature
if
it
recognizes
and
is
capable
of
transforming
values
of
the
itts:fillLineGap
attribute.
A
presentation
processor
supports
the
#fillLineGap
feature
if
it
implements
presentation
semantic
support
for
values
of
the
itts:fillLineGap
attribute.
This section is non-normative.
XML Schema definitions (see [ xmlschema-1 ]) for extension vocabulary defined by this specification are provided here for convenience.
These definitions are non-normative and are not sufficient to validate conformance of a Document Instance .
In any case where a definition specified by this appendix diverge from the prose of the specification, then the latter takes precedence.
This section is non-normative.
This section documents extensibility objectives for this specification.
This specification is intended to allow:
This section is non-normative.
This specification is designed to be compatible with [ ttml-imsc1 ], [ ttml-imsc1.0.1 ], [ SMPTE2052-1 ], [ EBU-TT-D ] and [ ttml10-sdp-us ]. Specifically, by selecting a subset of the features and extensions defined in this specification, it is possible to create a document that:
This specification is also intended to allow straightforward conversion of a document that conforms to the text or image profiles of [ CFF ] to the Text Profile or Image Profile , respectively.
The Text Profile is a strict syntactic superset of [ EBU-TT-D ].
A document that conforms to [ EBU-TT-D ] therefore generally also conforms to the Text Profile , with a few exceptions, including:
The
profile
vocabulary
defined
in
[
ttml2
]
is
prohibited
by
[
EBU-TT-D
].
Instead,
as
specified
in
[
EBU-TT-M
],
multiple
ebuttm:conformsToStandard
elements
are
optionally
present
in
the
metadata
element
of
the
head
element,
with
each
ebuttm:conformsToStandard
indicating
conformance
to
a
specification,
including
other
versions
of
this
specification.
Conformance
to
a
[
ttml-imsc1.0.1
]
profile
can
be
indicated
as
defined
in
[
ttml-imsc1.0.1
],
by
including
an
additional
ebuttm:conformsToStandard
element
whose
value
is
equal
to
the
designator
of
the
[
ttml-imsc1.0.1
]
profile
to
which
the
Document
Instance
conforms.
It is not possible for a document that conforms to [ EBU-TT-D ] to also conform to Image Profile , and vice-versa, notwithstanding the special case where the document also conforms to Text Profile as noted at § 6. Profiles .
The
following
is
an
example
of
a
document
that
conforms
to
Text
Profile
,
[
ttml-imsc1.0.1
]
Text
Profile
and
[
EBU-TT-D
].
Note
the
presence
of
multiple
ebuttm:conformsToStandard
elements,
one
of
which
equals
the
Text
Profile
designator:
<?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>
</metadata>
<styling>
<style xml:id="baseStyle" tts:color="#FFFFFF" tts:lineHeight="100%"/>
<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"/>
<region xml:id="area2" tts:origin="15% 70%" tts:extent="70% 20%" style="blackBackground" tts:displayAlign="center"/>
</layout>
</head>
<body>
<div style="baseStyle">
<p xml:id="s1" region="area1" style="startEnd" 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
>
The Text Profile is a strict syntactic superset of [ ttml10-sdp-us ].
A document that conforms to [ ttml10-sdp-us ] therefore also generally conforms to the Text Profile , with a few exceptions, including:
It is not possible for a document that conforms to [ ttml10-sdp-us ] to also conform to Image Profile , and vice-versa, notwithstanding the special case where the document also conforms to Text Profile as noted at § 6. Profiles .
As an illustration, Example 3 at [ ttml10-sdp-us ] conforms to both Text Profile and [ ttml10-sdp-us ].
[
SMPTE2052-1
]
specifies
the
use
of
the
DFXP
Full
Profile
(see
Appendix
F.3
at
[
ttml2
])
supplemented
by
a
number
of
extensions,
including
http://www.smpte-ra.org/schemas/2052-1/2010/smpte-tt#image
.
This specification defines practical constraints on [ SMPTE2052-1 ], supplemented by extensions defined herein and selected [ ttml2 ] features. These constraints and extensions are intended to reflect industry practice.
As a result, particular care is required when creating a document intended to be processed according to [ SMPTE2052-1 ], and Text Profile or Image Profile . In particular:
smpte:backgroundImage
attributes
and
any
of
p
,
span
,
or
br
elements;
http://www.smpte-ra.org/schemas/2052-1/2010/smpte-tt#image
extension;
The following is an example of a document that conforms to both Text Profile and [ 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
>
This specification was derived from the text and image profiles specified in Section 6 at [ CFF ], and is intended to be a superset in terms of capabilities. Additional processing is however generally necessary to convert a document from [ CFF ] to this specification. In particular:
progressivelyDecodable
attribute
is
different;
forcedDisplayMode
attribute
in
[
CFF
]
is
renamed
to
forcedDisplay
in
this
specification;
ttp:frameRate
is
not
subject
to
the
requirements
specified
at
Section
§
8.12.7
#frameRate
;
and
use
attribute
of
the
ttp:profile
.
This
value
signals
a
processor
profile
that
is
not
compatible
with
the
processor
profiles
specified
in
this
specification.
The Text Profile is a strict superset of the [ ttml-imsc1 ], [ ttml-imsc1.0.1 ] and [ ttml-imsc1.1 ] Text Profile.
The Image Profile is a strict superset of the [ ttml-imsc1 ], [ ttml-imsc1.0.1 ] and [ ttml-imsc1.1 ] Image Profile.
A document that conforms to [ ttml-imsc1 ] or [ ttml-imsc1.0.1 ] or [ ttml-imsc1.1 ] therefore also conforms to this specification.
A number of features that were previously permitted in previous versions of IMSC are designated as permitted-deprecated in the Text Profile and Image Profile . Documents that use such features are therefore susceptible to being incompatible with future versions of this specification.
The following is an example of a document that conforms to both Image Profile and [ ttml-imsc1.0.1 ] Image Profile:
<?xml version="1.0" encoding="UTF-8"?>
<tt xml:lang="fr"
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:smpte="http://www.smpte-ra.org/schemas/2052-1/2010/smpte-tt"
xmlns:itts="http://www.w3.org/ns/ttml/profile/imsc1#styling"
tts:extent="640px 480px"
ttp:frameRate="25"
ttp:profile="http://www.w3.org/ns/ttml/profile/imsc1/image">
<head>
<layout>
<region xml:id="region1" tts:origin="120px 410px" tts:extent="240px 40px" tts:showBackground="whenActive"/>
<region xml:id="region2" tts:origin="120px 20px" tts:extent="240px 40px" tts:showBackground="whenActive"/>
</layout>
</head>
<body>
<div region="region1" begin="00:00:01:00" end="00:00:02:00" smpte:backgroundImage="1.png"/>
<div region="region1" begin="00:00:03:20" end="00:00:04:12" smpte:backgroundImage="2.png"/>
<div region="region2" itts:forcedDisplay="true" begin="00:00:03:20" end="00:00:04:12" smpte:backgroundImage="3.png"/>
</body>
</
tt
>
This section is non-normative.
The editor acknowledges the current and former members of the Timed Text Working Group, the members of other W3C Working Groups, and industry experts in other forums who have contributed directly or indirectly to the process or content of this document.
The editor wishes to especially acknowledge the following contributions by members: Glenn Adams, Skynav; John Birch, Invited expert; Mike Dolan, Invited expert; Nigel Megitt, British Broadcasting Corporation; Thierry Michel, W3C ; Andreas Tai, Institut für Rundfunktechnik; Stefan Pöschel, Institut für Rundfunktechnik.
The editor also wishes to acknowledge Digital Entertainment Content Ecosystem (DECE) for contributing to the initial document for the Member Submission.
This section is non-normative.
With the exception of the following, the security and privacy considerations of [ ttml2 ] apply:
condition
attribute
is
not
supported.
This section is non-normative.
This appendix summarizes changes made from [ ttml-imsc1.1 ].
Replaced normative references to [ WCAG20-20081211 ] with normative references to [ WCAG21 ].
In
the
Text
Profile
,
and
as
specified
at
§
9.5.2
#extent-region
,
the
specified
value
of
the
tts:extent
style
property
of
a
region
element
can
be
set
using
any
style
association
mechanism,
e.g.
nested
styling.
Revised the Text Profile designator .
Added support (partial or complete) for the following features.
Relative to the TT Feature namespace |
#font
|
#resources
|
#source
|
None