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
-
-
-![TTML rubyOverflow style property]() |
-
-
-
-
- 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
-
-
-![TTML rubyOverhang style property]() |
-
-
-
-
- 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
-
-
-![TTML rubyOverhangClass style property]() |
-
-
-
-
- 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"
-
-
-
-
-
-
-Reference |
-insert ref |
-
-
-Model |
-insert model |
-
-
-Values |
-insert values |
-
-
-Notes |
-insert notes |
-
-
-
-
-
-tts:rubyOverhangClass
-
-Complete when/if a derivation is available, or specify "none"
-
-
-
-
-
-
-Reference |
-insert ref |
-
-
-Model |
-insert model |
-
-
-Values |
-insert values |
-
-
-Notes |
-insert 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 @@
-
-
-