Skip to content

[css-text-decor] Informal Western text emphasis and arbitrary marks #13284

Description

@Crissov

Emphasis marks are currently tailored to sinographic scripts, and rightfully so. However, there are also some – mostly informal, handwritten – traditions within eurographic scripts (and probably others) to mark individual characters for emphasis, e.g. in personal letters and invitation cards. Those marks tend to be closer incorporated with the glyphs, which could seem to place them in the domain of fonts, particularly stylistic variants and alternates, but those alterations can be defined (and should be applicable) independent of features the font implements.

To support these styles, text-emphasis-position would need several additional, non-exclusive values:

  • counter for whitespace fully enclosed by the glyph outlines, prototypically within the letter o (and its equivalents in Cyrillic and Greek)
    • the partial values filled and open of the text-emphasis-style property determine whether the solid emphasis mark is drawn separately within the counter or the counter itself becomes the hollow part of the mark
    • for characters with multiple counters, e.g. B & 8, all should be affected by default, but the classic position values could be reused to limit this, i.e. above would be the upper counter and below the lower
  • tittle for diacritic dots which are non-essential, i.e. would get replaced by an eventual accent mark, particularly atop Latin i and j
    • possibly could also cover either hamza or ʾiʿǧām dots in Arabic or dagesh in Hebrew etc.
    • the emphasis mark substitutes the tittle
  • dot for tittle and any dot in punctuation marks like .?!;: or in diacritic marks like umlaut / trema ö
  • diacritic or accent for marks added to a base letter
    • the emphasis mark replaces any diacritic mark, even if both are part of the same precomposed character and even if there are multiple ones stacked
    • if the diacritic mark consists of separate parts like the two dots in a diaeresis, they should still be substituted collectively (unlike for dot)
  • inside shorthand for both counter and tittle since they rarely occur together, treated as top in scripts neither applies

The most common monochrome emphasis marks encountered in informal texts, which should inform new values for the text-emphasis-style property, include:

  • ⭐️ five-spoked stars, less often pentagrams and six-spoked stars
  • 💟 hearts
  • 🙂 smiley faces, also frownies
  • ☀️ sun
  • 🔆🌟💢 rays – different and more complex than sun because they should surround their scope, in particular they would better apply to bowls than counters, therefore minor priority
  • ✨ sparkles – same caveat as rays

Instead of new style keywords, <basic-shape> could be added as a value. Its reference box would be the minimum rectangle of the mark or counter to replace for the proposed position keywords, so differ for each glyph, and something arbitrary / ruby-based for the existing positions.


Since these decorations are neither available as combining characters (including variation selectors) nor within precomposed letters in Unicode, (@)text-transform could not handle them. There are few exceptions for punctuation marks as dingbats, e.g. a heart-shaped exclamation mark at U+2763 ❣.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions