diff --git a/spec/profiles/ttml2-full.xml b/spec/profiles/ttml2-full.xml index e1740aabc..ab2f5e08f 100644 --- a/spec/profiles/ttml2-full.xml +++ b/spec/profiles/ttml2-full.xml @@ -155,9 +155,6 @@ #ruby-non-nested-full #rubyAlign #rubyOffset - #rubyOverflow - #rubyOverhang - #rubyOverhangClass #rubyPosition #rubyReserve #showBackground diff --git a/spec/profiles/ttml2-presentation.xml b/spec/profiles/ttml2-presentation.xml index a2d65f4f9..07d7abb4f 100644 --- a/spec/profiles/ttml2-presentation.xml +++ b/spec/profiles/ttml2-presentation.xml @@ -160,9 +160,6 @@ #ruby-non-nested-full #rubyAlign #rubyOffset - #rubyOverflow - #rubyOverhang - #rubyOverhangClass #rubyPosition #rubyReserve #showBackground diff --git a/spec/profiles/ttml2-transformation.xml b/spec/profiles/ttml2-transformation.xml index f6c2ac5a2..39b1f4cc7 100644 --- a/spec/profiles/ttml2-transformation.xml +++ b/spec/profiles/ttml2-transformation.xml @@ -162,9 +162,6 @@ #ruby-non-nested-full #rubyAlign #rubyOffset - #rubyOverflow - #rubyOverhang - #rubyOverhangClass #rubyPosition #rubyReserve #showBackground diff --git a/spec/ttml2.xml b/spec/ttml2.xml index a20e65977..59ab6c155 100644 --- a/spec/ttml2.xml +++ b/spec/ttml2.xml @@ -3430,9 +3430,6 @@ Styling Attributes tts:ruby, tts:rubyAlign, tts:rubyOffset, -tts:rubyOverflow, -tts:rubyOverhang, -tts:rubyOverhangClass, tts:rubyPosition, tts:rubyReserve, tts:showBackground, @@ -7961,9 +7958,6 @@ that support inline style specifications:

-

-

-

@@ -12067,6 +12061,26 @@ base delimiter text delimiter =

The inter-character positioning mode for ruby annotations, such as used with bopomofo characters, is not supported by this version of this specification due to lack of market requirements.

+ +Special Semantics +

In the absence of implementation specific requirements, constraints on alignment between ruby annotation text and ruby base text that would potentially +give rise to overflowing a line area should be resolved by shifting ruby annotation text away from the start or end edge of the line area.

+ +

See , §3.3.8, Adjustments of Ruby with Length Longer than that of the Base Characters, +and , §5, Edge Effects, for further information.

+
+

In the absence of implementation specific requirements, ruby annotation text should be allowed to overhang ruby base text only when the +base text is in any of the following character classes as defined by , Appendix A, Character Classes:

+ +

hiragana

+

ideographic

+

punctuationMarks

+
+ +

See , §3.3.8, Adjustments of Ruby with Length Longer than that of the Base Characters for +further information.

+
+
tts:rubyAlign @@ -12312,394 +12326,6 @@ such an offset.

for emphasis.

- -tts:rubyOverflow -

The tts:rubyOverflow attribute is used to specify constraint resolution rules for handling certain edge effects -involving ruby text in potential overflow scenarios. For example, if the inline progression dimension of a ruby text area exceeds the -inline progression dimension of its associated base text, and that base text appears at the start or end edge of a line area, then -the ruby text may potentially overflow its containing block area depending on the applicable ruby text alignment as determined by -the tts:rubyAlign style property.

-

This attribute may be specified by any element type that permits use of attributes in the TT Style Namespaces; however, -this attribute applies as a style property only to those element types indicated in the following table.

- --- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Values: -shiftRuby | -shiftBase | -overflow -
Initial:shiftRuby
Applies to: -span only if the computed value of tts:ruby is container. -
Inherited:yes
Percentages:N/A
Animatable:discrete
Semantic basis:rubyOverflow derivation
-

-

If specified, the value of tts:rubyOverflow expresses how to resolve potential overflow scenarios where ruby text -may otherwise overflow its containing block in line start or end edge contexts.

-

If the value of this attribute is overflow, then ruby text in these line edge contexts is allowed to overflow its containing block, -in which case the semantics of tts:overflow apply; that is, both base text to line edge alignment and -ruby text to base text alignment is preserved, while allowing the ruby text to overflow the containing block area.

-

If the value of this attribute is shiftBase, then overflow is prevented by relaxing the base text to line edge alignment by -inseting the base text while preserving ruby text to base alignment.

-

If the value of this attribute is shiftRuby, then overflow is prevented by relaxing the ruby text to base text alignment by -inseting the ruby text while preserving base text to line edge alignment. When inseting ruby text, the semantics of -tts:overHang apply for the purpose of determining whether and how much overhang is permitted between the inset ruby text and -adjacent base text.

-

When inseting ruby text or base text in order to resolve a potential overflow scenario, only the minimum (non-negative) inset is applied.

-

The tts:rubyOverflow style is illustrated by the following example.

- - - - - - - -
Example Fragment – Ruby Overflow
- -<p region="top"> - <span tts:ruby="container" tts:rubyOverflow="overflow"> - <span tts:ruby="base">あ</span> - <span tts:ruby="text">ああああああ</span> - </span> - <span>いうえ</span> -</p> -<p region="middle"> - <span tts:ruby="container" tts:rubyOverflow="shiftRuby"> - <span tts:ruby="base">あ</span> - <span tts:ruby="text">ああああああ</span> - </span> - <span>いうえ</span> -</p> -<p region="bottom"> - <span tts:ruby="container" tts:rubyOverflow="shiftBase"> - <span tts:ruby="base">あ</span> - <span tts:ruby="text">ああああああ</span> - </span> - <span>いうえ</span> -</p> - -
-

- - - - - - - -
Example Rendition – Ruby Overflow
- -

In the above example, whitespace has been introduced into and around span elements as an aid to formatting; - in order to produce the example rendition as shown, it is necessary to remove that extra whitespace lest - it appear in the rendered output. The yellow vertical line that appears in each region is the left edge of the region; - the first example region shows the effects of allowing ruby text to overflow the region's boundary at this left edge, - which corresponds with the start edge of the outer area generated by its content.

-
- -

The semantics of the style property represented by this attribute are intended to provide authorial -control over the special cases of ruby presentation described in -, §3.3.8, Adjustments of Ruby with Length Longer than that of the Base Characters, -and , §5, Edge Effects.

-
-
- -tts:rubyOverhang -

The tts:rubyOverhang attribute is used to specify constraint resolution rules for handling potential cases of overhang between -ruby text and adjacent base text, where by adjacent base text is meant baseline aligned inline content that is immediately adjacent to -the base text associated with the ruby text. In the case where the inline progression dimension of the ruby text exceeds the -inline progression dimension of its associated base text, or in ruby overflow cases where the ruby text must be inset, then it is possible -that the ruby text may overhang content set on the baseline that is not part of the ruby text's associated base text. In such -cases, the tts:rubyOverhang attribute may be used to determine whether and how much overhang is allowed to occur.

-

This attribute may be specified by any element type that permits use of attributes in the TT Style Namespaces; however, -this attribute applies as a style property only to those element types indicated in the following table.

- --- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Values: -none | -allow | -always | -overlap -
Initial:allow
Applies to: -span only if the computed value of tts:ruby is -container.
Inherited:yes
Percentages:N/A
Animatable:discrete
Semantic basis:rubyOverhang derivation
-

-

If specified, the value of tts:rubyOverhang expresses how to resolve potential overhang scenarios where ruby text -may otherwise overhang adjacent base text.

-

If the value of this attribute is none, then overhang is prevented by inserting filler space before and/or after the -base text associated with the ruby text. When inserting such filler (space), only the minimum (non-negative) filler is applied to prevent overlap.

-

If the value of this attribute is allow, then overhang is allowed to occur in accordance with the semantics -of tts:rubyOverhangClass while preventing overlap between adjacent ruby text containers.

-

If the value of this attribute is always, then apply the semantics of allow such that -the overhang class is the character class containing all characters.

-

If the value of this attribute is overlap, then apply the semantics of always except that no filler -is inserted in order to prevent overlap between adjacent ruby text containers. In this case, the author would need to explcitly insert -significant white space or filler in order to prevent overlap.

-

The tts:rubyOverhang style is illustrated by the following example.

- - - - - - - -
Example Fragment – Ruby Overhang
- -<p region="top"> - <span>因</span> - <span tts:ruby="container" tts:rubyOverhang="overlap"> - <span tts:ruby="baseContainer"> - <span tts:ruby="base">果</span> - <span tts:ruby="base">応</span> - </span> - <span tts:ruby="textContainer"> - <span tts:ruby="text">果果果果果果</span> - <span tts:ruby="text">応応応応応応</span> - </span> - </span> - <span>報</span> -</p> -<p region="middle"> - <span>因</span> - <span tts:ruby="container" tts:rubyOverhang="always"> - <span tts:ruby="baseContainer"> - <span tts:ruby="base">果</span> - <span tts:ruby="base">応</span> - </span> - <span tts:ruby="textContainer"> - <span tts:ruby="text">果果果果果果</span> - <span tts:ruby="text">応応応応応応</span> - </span> - <span>報</span> -</p> -<p region="bottom"> - <span>因</span> - <span tts:ruby="container" tts:rubyOverhang="none"> - <span tts:ruby="baseContainer"> - <span tts:ruby="base">果</span> - <span tts:ruby="base">応</span> - </span> - <span tts:ruby="textContainer"> - <span tts:ruby="text">果果果果果果</span> - <span tts:ruby="text">応応応応応応</span> - </span> - <span>報</span> -</p> - -
-

- - - - - - - -
Example Rendition – Ruby Overhang
- -

In the above example, whitespace has been introduced into and around span elements as an aid to formatting; - in order to produce the example rendition as shown, it is necessary to remove that extra whitespace lest - it appear in the rendered output.

-
- -

The semantics of the style property represented by this attribute are intended to provide authorial -control over the special cases of ruby presentation described in -, §3.3.8, Adjustments of Ruby with Length Longer than that of the Base Characters, -and , §5, Edge Effects.

-
-
- -tts:rubyOverhangClass -

The tts:rubyOverhangClass attribute is used to provide fine-grained control over the semantics of -the style property expressed by the tts:rubyOverhang attribute. In particular, it used to specify the set -of base text characters which accept overhanging ruby text. If a base text character is not in this specified set, then ruby -text is prevented from overhanging that character.

-

This attribute may be specified by any element type that permits use of attributes in the TT Style Namespaces; however, -this attribute applies as a style property only to those element types indicated in the following table.

- --- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Values: -auto | -( -<named-character-class> | -<character-class> -)+ -
Initial:auto
Applies to: -span only if the computed value of tts:ruby is -container.
Inherited:yes
Percentages:N/A
Animatable:discrete
Semantic basis:rubyOverhangClass derivation
-

-

If specified, the value of tts:rubyOverhangClass expresses constraints on which base characters allow ruby text to overhang them.

-

If the value of this attribute is auto, then the character class that permits overhang is implementation dependent; however, the -following recommendations apply in the absence of more specific implementation requirements:

- -

If the language of the base text is specified or can be inferred as Japanese, then auto should be interpreted as if the following -were specified: ideographic hiragana punctuationMarks.

-

If the language of the base text is specified or can be inferred as Chinese or Korean, then auto should be interpreted as if the -following were specified: ideographic punctuationMarks.

-
-

If a base character is encountered that is not in the computed value of the tts:rubyOverhangClass, then ruby text must not overhang -that character.

-

The tts:rubyOverhangClass style is illustrated by the following example.

- - - - - - - -
Example Fragment – Ruby Overhang Class
- -<p region="top"> - <span>AB</span> - <span tts:ruby="container" tts:rubyOverhangClass="hiragana western"> - <span tts:ruby="base">あ</span> - <span tts:ruby="text">ああああああ</span> - </span> - <span>いう</span> - <span tts:ruby="container" tts:rubyOverhangClass="hiragana western"> - <span tts:ruby="base">え</span> - <span tts:ruby="text">ええええええ</span> - </span> - <span>CD</span> -</p> -<p region="middle"> - <span>AB</span> - <span tts:ruby="container" tts:rubyOverhangClass="hiragana"> - <span tts:ruby="base">あ</span> - <span tts:ruby="text">ああああああ</span> - </span> - <span>いう</span> - <span tts:ruby="container" tts:rubyOverhangClass="hiragana"> - <span tts:ruby="base">え</span> - <span tts:ruby="text">ええええええ</span> - </span> - <span>CD</span> -</p> -<p region="bottom"> - <span>AB</span> - <span tts:ruby="container" tts:rubyOverhangClass="western"> - <span tts:ruby="base">あ</span> - <span tts:ruby="text">ああああああ</span> - </span> - <span>いう</span> - <span tts:ruby="container" tts:rubyOverhangClass="western"> - <span tts:ruby="base">え</span> - <span tts:ruby="text">ええええええ</span> - </span> - <span>CD</span> -</p> - -
-

- - - - - - - -
Example Rendition – Ruby Overhang Class
- -

In the above example, whitespace has been introduced into and around span elements as an aid to formatting; - in order to produce the example rendition as shown, it is necessary to remove that extra whitespace lest - it appear in the rendered output.

-
- -

The semantics of the style property represented by this attribute are intended to provide authorial -control over the special cases of ruby presentation described in -, §3.3.8, Adjustments of Ruby with Length Longer than that of the Base Characters, -and , §5, Edge Effects.

-
-
tts:rubyPosition

The tts:rubyPosition attribute is used to specify the position of ruby text in the block progression dimension @@ -14802,7 +14428,6 @@ character content.

-

@@ -14816,7 +14441,6 @@ character content.

-

@@ -15063,47 +14687,6 @@ constraints: thickness(thin) < thickness(medium); thickness(medium) < thic

If a border thickness is expressed as a <length>, then it must not take the form of a percentage value; i.e., it must take the form of a scalar value.

- -<character-class> -

A <character-class> value is used to express an enumerated set of characters.

- - - - - - - -
Syntax Representation – <character-class>
- -<character-class> - : "[" ( class-character-range | class-character )+ "]" - -class-character-range - : class-character "-" class-character - -class-character - : unicode-escape - | { char - { specials } } - -unicode-escape - : "\\u" hexDigit{6} - | "\\u" hexDigit{4} - | "\\" char - -specials - : "-" - | "]" - | "\'" - | "\"" - | <whitespace> - -
-

In addition to adhering to the syntax rules specified above, the following semantic rules apply:

- -

The syntactic element char is to be interpreted according -to the Char production defined by  §2.2.

-
-
<color>

A <color> expression is used to specify a named color, exact RGB color triple, @@ -15644,49 +15227,6 @@ hard, i.e., mandatory, break points, even if that means overflowing the parent's - -<named-character-class> -

A <named-character-class> value is used to express an enumerated character class with a convenient name, where the character class -is defined by , Appendix A, Character Classes.

-

For the purpose of parsing, a distinction must not be made between lower and upper case.

- - - - - - - -
Syntax Representation – <named-character-class>
- -<named-character-class> - : "closeBrackets" // JLREQ cl-2 - | "closeWarichu" // JLREQ cl-29 - | "commas" // JLREQ cl-7 - | "fullStops" // JLREQ cl-6 - | "groupedNumerals" // JLREQ cl-24 - | "hiragana" // JLREQ cl-15 - | "hyphens" // JLREQ cl-3 - | "ideographic" // JLREQ cl-19 - | "ideographicSpace" // JLREQ cl-14 - | "inseparables" // JLREQ cl-8 - | "iterationMarks" // JLREQ cl-9 - | "katakana" // JLREQ cl-16 - | "mathOperators" // JLREQ cl-18 - | "mathSymbols" // JLREQ cl-17 - | "middleDots" // JLREQ cl-5 - | "openBrackets" // JLREQ cl-1 - | "openWarichu" // JLREQ cl-28 - | "postAbbreviations" // JLREQ cl-13 - | "preAbbreviations" // JLREQ cl-12 - | "punctuationMarks" // JLREQ cl-4 - | "smallKana" // JLREQ cl-11 - | "soundMarks" // JLREQ cl-10 - | "unitSymbols" // JLREQ cl-25 - | "western" // JLREQ cl-27 - | "westernWordSpace" // JLREQ cl-26 - -
-
<named-color>

A <named-color> is used to express an RGBA color with a convenient name, and where the applicable color space is @@ -21787,9 +21327,6 @@ supports the following features:

#ruby

#rubyAlign

#rubyOffset

-

#rubyOverflow

-

#rubyOverhang

-

#rubyOverhangClass

#rubyPosition

#rubyReserve

@@ -21824,9 +21361,6 @@ supports the following features:

#ruby-non-nested

#rubyAlign

#rubyOffset

-

#rubyOverflow

-

#rubyOverhang

-

#rubyOverhangClass

#rubyPosition

#rubyReserve

@@ -21849,33 +21383,6 @@ transforming the tts:rubyOffset#rubyOffset feature if it implements presentation semantic support for the tts:rubyOffset attribute.

- -#rubyOverflow -

A TTML transformation processor supports the -#rubyOverflow feature if it recognizes and is capable of -transforming the tts:rubyOverflow attribute.

-

A TTML presentation processor supports the -#rubyOverflow feature if it implements presentation semantic support for the -tts:rubyOverflow attribute.

-
- -#rubyOverhang -

A TTML transformation processor supports the -#rubyOverhang feature if it recognizes and is capable of -transforming the tts:rubyOverhang attribute.

-

A TTML presentation processor supports the -#rubyOverhang feature if it implements presentation semantic support for the -tts:rubyOverhang attribute.

-
- -#rubyOverhangClass -

A TTML transformation processor supports the -#rubyOverhangClass feature if it recognizes and is capable of -transforming the tts:rubyOverhangClass attribute.

-

A TTML presentation processor supports the -#rubyOverhangClass feature if it implements presentation semantic support for the -tts:rubyOverhangClass attribute.

-
#rubyPosition

A TTML transformation processor supports the @@ -23436,21 +22943,6 @@ is optional (O), for transformation and #rubyOverflow -O -O - - -#rubyOverhang -O -O - - -#rubyOverhangClass -O -O - - #rubyPosition O O @@ -27483,62 +26975,6 @@ The semantics of this style attribute are extended by this specification. - -tts:rubyOverhang - -Complete when/if a derivation is available, or specify "none" -

- --- - - - - - - - - - - - - - - - - - -
Referenceinsert ref
Modelinsert model
Valuesinsert values
Notesinsert notes
- - -tts:rubyOverhangClass - -Complete when/if a derivation is available, or specify "none" -

- --- - - - - - - - - - - - - - - - - - -
Referenceinsert ref
Modelinsert model
Valuesinsert values
Notesinsert notes
- tts:rubyPosition @@ -28960,9 +28396,6 @@ where chunking refers to the subdivision of resource content into c

tts:ruby

tts:rubyAlign

tts:rubyOffset

-

tts:rubyOverflow

-

tts:rubyOverhang

-

tts:rubyOverhangClass

tts:rubyPosition

tts:rubyReserve

tts:textCombine

diff --git a/spec/xsd/ttml2-datatypes.xsd b/spec/xsd/ttml2-datatypes.xsd index 124a9aa34..255b73919 100644 --- a/spec/xsd/ttml2-datatypes.xsd +++ b/spec/xsd/ttml2-datatypes.xsd @@ -568,27 +568,6 @@ - - - - - - - - - - - - - - - - - - auto | (characterClassNamed | characterClass)+ - - - diff --git a/spec/xsd/ttml2-styling-attribs.xsd b/spec/xsd/ttml2-styling-attribs.xsd index a50ec7446..5b197c10a 100644 --- a/spec/xsd/ttml2-styling-attribs.xsd +++ b/spec/xsd/ttml2-styling-attribs.xsd @@ -41,9 +41,6 @@ - - - @@ -97,9 +94,6 @@ - - -