CSS Text Module Level 3 CR Test Suite

White Space Processing Details (84 tests)

Test Refs Flags Info
+ 4 White Space Processing Details
+ 4.1 The White Space Processing Rules
bidi-004 = AhemOptional The bidi algorithm and inlines in CSS
+ 4.1.1 Phase I: Collapsing and Transformation
+ 4.1.2 Segment Break Transformation Rules
seg-break-transformation-000 Script Whitespace and line break transformation
  • All spaces and tabs immediately preceding or following a segment break are removed. If no F, H, W or ZWSP characters involved, the segment break is converted to a space.
seg-break-transformation-001 Script Wide characters around line break
  • If the East Asian Width property of both the character before and after the line feed is W and neither side is Hangul, then the segment break is removed.
seg-break-transformation-002 Script Fullwidth characters around line break
  • If the East Asian Width property of both the character before and after the line feed is F and neither side is Hangul, then the segment break is removed.
seg-break-transformation-003 Script Halfwidth characters around line break
  • If the East Asian Width property of both the character before and after the line feed is H and neither side is Hangul, then the segment break is removed.
seg-break-transformation-004 Script Won and halfwidth characters around line break
  • If the East Asian Width property of both the character before and after the line feed is F or H and neither side is Hangul, then the segment break is removed.
seg-break-transformation-005 Script Wide character and non-wide character around line break
  • If the East Asian Width property of only one character before and after the line feed is F, W or H and neither side is Hangul, then the segment break is converted to a space.
seg-break-transformation-006 Script Fullwidth character and non-fullwidth character around line break
  • If the East Asian Width property of only one character before and after the line feed is F, W or H and neither side is Hangul, then the segment break is converted to a space.
seg-break-transformation-007 Script Halfwidth character and non-halfwidth character around line break
  • If the East Asian Width property of only one character before and after the line feed is F, W or H and neither side is Hangul, then the segment break is converted to a space.
seg-break-transformation-008 Script Wide and fullwidth characters around line break
  • If the East Asian Width property of both the character before and after the line feed is F, W or H and neither side is Hangul, then the segment break is removed.
seg-break-transformation-009 Script Fullwidth and halfwidth characters around line break
  • If the East Asian Width property of both the character before and after the line feed is F, W or H and neither side is Hangul, then the segment break is removed.
seg-break-transformation-010 Script Hangul characters around line break
  • If the East Asian Width property of both the character before and after the line feed is F, W or H and neither side is Hangul, then the segment break is removed. Otherwise, the segment break is converted to a space.
seg-break-transformation-011 Script Hangul jamo characters around line break
  • If the East Asian Width property of both the character before and after the line feed is F, W or H and neither side is Hangul, then the segment break is removed. Otherwise, the segment break is converted to a space.
seg-break-transformation-012 Script Hangul halfwidth jamo characters around line break
  • If the East Asian Width property of both the character before and after the line feed is F, W or H and neither side is Hangul, then the segment break is removed. Otherwise, the segment break is converted to a space.
seg-break-transformation-014 Script Thai characters around line break
  • If the East Asian Width property of both the character before and after the line feed is F, W or H and neither side is Hangul, then the segment break is removed. Otherwise, the segment break is converted to a space.
seg-break-transformation-015 Script Thai and Latin characters around line break
  • If the East Asian Width property of both the character before and after the line feed is F, W or H and neither side is Hangul, then the segment break is removed. Otherwise, the segment break is converted to a space.
seg-break-transformation-016 Script Thai with ZWSP before line break
  • If the character immediately before or immediately after the segment break is the zero-width space character (U+200B), then the break is removed, leaving behind the zero-width space.
seg-break-transformation-017 Script Thai with ZWSP after line break
  • If the character immediately before or immediately after the segment break is the zero-width space character (U+200B), then the break is removed, leaving behind the zero-width space.
segment-break-transformation-removable-1 = CSS Text 4.1.2. Segment Break Transformation Rules
  • Test checks that a collapsible segment break should be removed correctly, if the character immediately before/after the segment break is the zero-width space character (U+200B), or both the character before/after the segment break is F, W, or H (not A), and neither side is Hangul.
segment-break-transformation-removable-2 = CSS Text 4.1.2. Segment Break Transformation Rules
  • Test checks that multiple segment breaks should be removed correctly, if the character immediately before/after the segment breaks is the zero-width space character (U+200B), or both the character before/after the segment breaks is F, W, or H (not A), and neither side is Hangul.
segment-break-transformation-removable-3 = CSS Text 4.1.2. Segment Break Transformation Rules
  • Test checks that a sequence which consists of a collapsible segment break surrounded by multiple white spaces should be removed correctly, if the character immediately before/after the sequence is the zero-width space character (U+200B), or both the character before/after the sequence is F, W, or H (not A), and neither side is Hangul.
segment-break-transformation-removable-4 = CSS Text 4.1.2. Segment Break Transformation Rules
  • Test checks that a sequence which consists of multiple collapsible segment breaks mixed with multiple white spaces should be removed correctly, if the character immediately before/after the sequence is the zero-width space character (U+200B), or both the character before/after the sequence is F, W, or H (not A), and neither side is Hangul.
segment-break-transformation-rules-001 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Full-width (F)/East Asian Full-width (F) in front/back of the semgment break.
segment-break-transformation-rules-002 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Full-width (F)/East Asian Half-width (H) in front/back of the semgment break.
segment-break-transformation-rules-003 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Full-width (F)/East Asian Wide (W) except Hangul in front/back of the semgment break.
segment-break-transformation-rules-004 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Full-width (F)/East Asian Narrow (Na) in front/back of the semgment break.
segment-break-transformation-rules-005 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Full-width (F)/East Asian Ambiguous (A) in front/back of the semgment break.
segment-break-transformation-rules-006 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Full-width (F)/Not East Asian (Neutral) in front/back of the semgment break.
segment-break-transformation-rules-007 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Full-width (F)/Hangul in front/back of the semgment break.
segment-break-transformation-rules-008 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Half-width (H)/East Asian Full-width (F) in front/back of the semgment break.
segment-break-transformation-rules-009 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Half-width (H)/East Asian Half-width (H) in front/back of the semgment break.
segment-break-transformation-rules-010 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Half-width (H)/East Asian Wide (W) except Hangul in front/back of the semgment break.
segment-break-transformation-rules-011 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Half-width (H)/East Asian Narrow (Na) in front/back of the semgment break.
segment-break-transformation-rules-012 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Half-width (H)/East Asian Ambiguous (A) in front/back of the semgment break.
segment-break-transformation-rules-013 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Half-width (H)/Not East Asian (Neutral) in front/back of the semgment break.
segment-break-transformation-rules-014 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Half-width (H)/Hangul in front/back of the semgment break.
segment-break-transformation-rules-015 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Wide (W) except Hangul/East Asian Full-width (F) in front/back of the semgment break.
segment-break-transformation-rules-016 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Wide (W) except Hangul/East Asian Half-width (H) in front/back of the semgment break.
segment-break-transformation-rules-017 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Wide (W) except Hangul/East Asian Wide (W) except Hangul in front/back of the semgment break.
segment-break-transformation-rules-018 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Wide (W) except Hangul/East Asian Narrow (Na) in front/back of the semgment break.
segment-break-transformation-rules-019 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Wide (W) except Hangul/East Asian Ambiguous (A) in front/back of the semgment break.
segment-break-transformation-rules-020 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Wide (W) except Hangul/Not East Asian (Neutral) in front/back of the semgment break.
segment-break-transformation-rules-021 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Wide (W) except Hangul/Hangul in front/back of the semgment break.
segment-break-transformation-rules-022 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Narrow (Na)/East Asian Full-width (F) in front/back of the semgment break.
segment-break-transformation-rules-023 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Narrow (Na)/East Asian Half-width (H) in front/back of the semgment break.
segment-break-transformation-rules-024 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Narrow (Na)/East Asian Wide (W) except Hangul in front/back of the semgment break.
segment-break-transformation-rules-025 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Narrow (Na)/East Asian Narrow (Na) in front/back of the semgment break.
segment-break-transformation-rules-026 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Narrow (Na)/East Asian Ambiguous (A) in front/back of the semgment break.
segment-break-transformation-rules-027 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Narrow (Na)/Not East Asian (Neutral) in front/back of the semgment break.
segment-break-transformation-rules-028 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Narrow (Na)/Hangul in front/back of the semgment break.
segment-break-transformation-rules-029 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Ambiguous (A)/East Asian Full-width (F) in front/back of the semgment break.
segment-break-transformation-rules-030 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Ambiguous (A)/East Asian Half-width (H) in front/back of the semgment break.
segment-break-transformation-rules-031 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Ambiguous (A)/East Asian Wide (W) except Hangul in front/back of the semgment break.
segment-break-transformation-rules-032 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Ambiguous (A)/East Asian Narrow (Na) in front/back of the semgment break.
segment-break-transformation-rules-033 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Ambiguous (A)/East Asian Ambiguous (A) in front/back of the semgment break.
segment-break-transformation-rules-034 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Ambiguous (A)/Not East Asian (Neutral) in front/back of the semgment break.
segment-break-transformation-rules-035 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Ambiguous (A)/Hangul in front/back of the semgment break.
segment-break-transformation-rules-036 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with Not East Asian (Neutral)/East Asian Full-width (F) in front/back of the semgment break.
segment-break-transformation-rules-037 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with Not East Asian (Neutral)/East Asian Half-width (H) in front/back of the semgment break.
segment-break-transformation-rules-038 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with Not East Asian (Neutral)/East Asian Wide (W) except Hangul in front/back of the semgment break.
segment-break-transformation-rules-039 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with Not East Asian (Neutral)/East Asian Narrow (Na) in front/back of the semgment break.
segment-break-transformation-rules-040 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with Not East Asian (Neutral)/East Asian Ambiguous (A) in front/back of the semgment break.
segment-break-transformation-rules-041 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with Not East Asian (Neutral)/Not East Asian (Neutral) in front/back of the semgment break.
segment-break-transformation-rules-042 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with Not East Asian (Neutral)/Hangul in front/back of the semgment break.
segment-break-transformation-rules-043 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with Hangul/East Asian Full-width (F) in front/back of the semgment break.
segment-break-transformation-rules-044 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with Hangul/East Asian Half-width (H) in front/back of the semgment break.
segment-break-transformation-rules-045 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with Hangul/East Asian Wide (W) except Hangul in front/back of the semgment break.
segment-break-transformation-rules-046 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with Hangul/East Asian Narrow (Na) in front/back of the semgment break.
segment-break-transformation-rules-047 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with Hangul/East Asian Ambiguous (A) in front/back of the semgment break.
segment-break-transformation-rules-048 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with Hangul/Not East Asian (Neutral) in front/back of the semgment break.
segment-break-transformation-rules-049 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with Hangul/Hangul in front/back of the semgment break.
segment-break-transformation-unremovable-1 = CSS Text 4.1.2. Segment Break Transformation Rules
  • Test checks that a collapsible segment break should be converted to a white space (U+0020), if both the character before/after the segment break is Hangul.
segment-break-transformation-unremovable-2 = CSS Text 4.1.2. Segment Break Transformation Rules
  • Test checks that multiple segment breaks should be converted to a white space (U+0020), if both the character before/after the segment breaks is Hangul.
segment-break-transformation-unremovable-3 = CSS Text 4.1.2. Segment Break Transformation Rules
  • Test checks that a sequence which consists of a collapsible segment break surrounded by multiple white spaces should be converted to a white space (U+0020), if both the character before/after the sequence is Hangul.
segment-break-transformation-unremovable-4 = CSS Text 4.1.2. Segment Break Transformation Rules
  • Test checks that a sequence which consists of multiple collapsible segment breaks mixed with multiple white spaces should be converted to a white space (U+0020), if both the character before/after the sequence is Hangul.
white-space-collapse-000 Script White space collapse
  • Every tab is converted to a space. Any space immediately following another collapsible space is collapsed to have zero advance width.
white-space-collapse-001 Script White space and non-ASCII spaces
  • Any space immediately following another collapsible space is collapsed to have zero advance width. Only refers to U+0020, not other Unicode spaces.
white-space-collapse-002 Script Whitespace and bidi control characters
  • All spaces and tabs immediately preceding or following a segment break are removed, ignoring bidi formatting characters as if they were not there.
+ 4.1.3 Phase II: Trimming and Positioning
+ 4.2 Tab Character Size: the ‘tab-size’ property
tab-size-integer-001 = tab-size: 4
  • Tab should be rendered as 4 times the space character’s advance width (U+0020)
tab-size-integer-002 = tab-size: -4
  • Tab-size negative values are not allowed
tab-size-integer-003 = tab-size: 0
  • Tab should be rendered as 0 times the space character’s advance width (U+0020)
tab-size-length-001 = tab-size: 1em
  • Tab should be rendered as 1em (20px)
tab-size-length-002 = tab-size: -1em
  • Tab-size negative length values are not allowed
tab-size-percent-001 = tab-size: 100%
  • Tab-size percentage values are not allowed