CSS Text Module Level 3 CR Test Suite

Introduction (20 tests)

Test Refs Flags Info
+ 1 Introduction
+ 1.1 Module Interactions
+ 1.2 Value Definitions
+ 1.3 Languages and Typesetting
writing-system-font-001 = font selection and writing sytem
  • An explicit writing system takes precedence over the content language for font selection
writing-system-line-break-001 = writing system and line breaking
  • breaks before U+301C when line-break is loose are allowed if the content language is Japanese, but not when the writing system is not Japanese/Chinese (e.g. Korean).
writing-system-line-break-002 = writing system and line breaking
  • breaks before U+FF1F when line-break is loose are allowed if the writing system is Japanese (which includes Hrkt), but even when the language not Japanese.
writing-system-segment-break-001 = writing system and segment break transformation
  • If the writing system of the segment break is Chinese, Japanese, or Yi, and the character before or after the segment break is punctuation or a symbol (Unicode general category P* or S*) and has an East Asian Width property of A or is Emoji, and the character on the other side of the segment break is F, W, or H, and not Hangul or Emoji, then the segment break is removed.
writing-system-text-transform-001 = text-transform and writing systems
  • text transform rules that depend on the language are overriden by a contradicting explicit script tag.
+ 1.4 Characters and Letters
line-breaking-013 = CSS Text — line breaking of emoji sequences that should form single clusters
  • A UA must use the extended grapheme cluster (not legacy grapheme cluster), as defined in [UAX29], as the basis for its typographic character unit.
line-breaking-014 = CSS Text — line breaking (with word-break:break-all) of emoji sequences that should form single clusters
  • A UA must use the extended grapheme cluster (not legacy grapheme cluster), as defined in [UAX29], as the basis for its typographic character unit.
+ 1.5 Text Processing
seg-break-transformation-018.tentative = inline element boundary and segment break transformations
  • intervening inline box boundaries must be ignored for segment break transformations
seg-break-transformation-019.tentative = out of flow elements and segment break transformations
  • Out-of-flow elements must be ignored for segment break transformations
shaping-join-001 = zwj and text-shaping
  • Arabic characters next to a ZERO WIDTH JOINER character must take their correct positional form.
shaping-join-002 = zwj and text-shaping, cross font, fallback
  • Arabic characters next to a ZERO WIDTH JOINER character must take their correct positional form, even if the ZWJ comes from a differnt font due to font fallback.
shaping-join-003 = zwj and text-shaping, cross font, explicit
  • Arabic characters next to a ZERO WIDTH JOINER character must take their correct positional form, even if the ZWJ comes from a differnt font due to being in a different element with an explicit different font.
shaping-no-join-001 = zwnj and text-shaping
  • Arabic characters next to a ZERO WIDTH NON JOINER character must not take their positional form.
shaping-no-join-002 = zwnj and text-shaping, cross font, fallback
  • Arabic characters next to a ZERO WIDTH NON JOINER character must not take their positional form, even if the ZWNJ comes from a differnt font due to font fallback.
shaping-no-join-003 = zwnj and text-shaping, cross font, explicit
  • Arabic characters next to a ZERO WIDTH NON JOINER character must not take their positional form, even if the ZWNJ comes from a differnt font due to being in a different element with an explicit different font.
shaping-tatweel-001 = tatweel and text-shaping
  • Arabic characters next to a U+0640 ARABIC TATWEEL character must take their correct positional form.
shaping-tatweel-002 = tatweel and text-shaping, cross font, fallback
  • Arabic characters next to a U+0640 ARABIC TATWEEL character must take their correct positional form, even if the tatweel comes from a differnt font via font due to font fallback.
shaping-tatweel-003 = tatweel and text-shaping, cross font, explicit
  • Arabic characters next to a U+0640 ARABIC TATWEEL character must take their correct positional form, even if the tatweel comes from a differnt font due to being in a different element with an explicit different font.
white-space-processing-048 = Ahem Floats and line opportunity with 'white-space'
  • A line breaking opportunity is not introduced with floats.
white-space-processing-049 = Ahem Floats and line-breaking opportunities with 'white-space'
  • A line breaking opportunity is not introduced with an absolutely positioned element.