Crissov / unicode-proposals

Proposals for new characters to encode and canonic character sequences to register
https://crissov.github.io/unicode-proposals/
Creative Commons Zero v1.0 Universal
185 stars 13 forks source link

Color Swatch emojis #329

Open Crissov opened 7 years ago

Crissov commented 7 years ago

Note: This is a more focused spinoff or subset of the discussion about colored/material hearts #222.

The human eye and brain can distinguish thousands if not millions of colors, but in language, we regularly only refer to a very small and thus crude subset, which depends on the domain, of course. There is only a handful of canonical color names that are used in common parlance and several dozen color designations that one would roughly understand in a special setting.

Text is predominantly monochrome, i.e. a single foreground or ink color and a single background or canvas color. Colorful characters – like emojis usually are – has been used throughout history if and where possible, though. There are some (compatibility) emojis that could be reused as color swatches, but no shape (heart, square, diamond, circle, book) already has enough variations. Some of them also do not have good monochromatic fallback. There are some existing characters, however, that are not yet emojis, but could work as conventional representations of colors in B&W text: hatching squares.

There are various conventions to match colors (or surface materials) with hatching patterns, but the one originating from European heraldry is probably best known and most suitable. There are existing characters for, at least, blue, red, green, purple, black and white swatches, which would just require an emoji presentation variation selector U+FE0F (VS-16) appended. This would be recorded in emoji-variation-sequences.txt and could be done without waiting for an update to the Unicode Standard, since such emoji data is governed by UTS51. There was already a proposal to Unicode to add additional pattern squares, which would be introduced in a future release of the Unicode Standard (i.e. 11.0 in June 2018 or later).

Color Tincture Pattern Sample Description
black ink ■ U+25A0 filled, solid, opaque, foreground
white = silver argent □ U+25A1?
white canvas ▢ U+25A2? none, blank, empty, transparent, background
? ? ▣ U+25A3 (filled square inside empty square)
blue azure ▤ U+25A4 -- horizontal stripes
red gules ▥ U+25A5 \|\| vertical stripes
black sable ▦ U+25A6 ++ square pattern, orthogonal crosshatch
(lime) green vert ▧ U+25A7 \\ forward diagonals
purple purpure ▨ U+25A8 // backward diagonals
reddish purple murrey ▩ U+25A9 /\ diagonal crosshatch
dark-gray = iron, steel ▩ U+25A9 (X+2BxE) XX diamond pattern (German)
yellow = gold or X+2Bx0 .. dotted
dark red (maroon/pink) sanguine X+2Bx1 -\ horizontal-forward crosshatch
orange-tawny tenné X+2Bx2 -/ horizontal-backward crosshatch
brown brunâtre X+2Bx3 \|\ vertical-forward crosshatch
grey fey X+2Bx4 \|/ vertical-backward crosshatch (English)
(alternate) blood red (pink) (sanguine) X+2Bx4 \|/ vertical-backward crosshatch (German)
flesh, skin carnation X+2Bx7 \| vertical dashed
ash-gray cendrée X+2Bx8 \|- alternating dashed
sky-blue bleu-céleste X+2Bx9 -. horizontal dash-dotted (Spanish: green)
orange X+2BxA ! vertical dash-dotted
(alternate) green (vert) X+2BxB .-. dotted horizontal stripes (Spanish)
(alternate) orange-tawny (tenné) X+2By1 .\|. dotted vertical stripes (English)

Michael Everson's proposal from April 2011 had new Square With ... Fill characters at U+2B60..2B71. These codepoints have since been delegated to some arrows. The block Miscellaneous Symbols and Arrows U+2Bxy still has some other unassigned slots that could be used instead, e.g. U+2BD2..2BEB or U+2BF0..2BFF.

The 16 original CGA / VGA / HTML3.2 / CSS1 colors come in light/dark = high/low pairs:

Generalization Light Dark Hue
light □️ white ▢️ silver
dark ▦️ (ash) gray ■️ black
monochrome □️ white ■️ black
gray ▢️ silver ▦️ (ash) gray
red ▥️ (rose) red ▩️ maroon
orange/brown yellow olive 60°
green ▧️ lime � (grass) green 120°
cyan aqua teal 180°
blue ▤️ (cornflower) blue navy 240°
magenta/pink fuchsia ▨️ purple 300°

Once agreed upon (and added) as emojis, these color swatches could be used in Emoji ZWJ Sequences to designate the predominant color(s) of the emoji that precedes them. This could be a hair color, car paint, nail polish, blossom color, nib ink, symbol tint etc. Any frequent combination would be documented in emoji-zwj-sequences.txt. (Skin complexion is already dealt with by dedicated combining Emoji Modifier characters U+1F3FA..F that are based upon the Fitzpatrick scale, but combine its first two values into one. If added, X+2Bx7 carnation might need to become an Emoji Modifier Base.)

For UTC150 in November 2016, @pauldhunt (unsuccessfully) proposed 10 new characters for color swatches in L2/16-318, which map to U+25A5 ▥, U+2BxA, U+2Bx0, U+25A7 ▧, U+25A4 ▤, U+25A8 ▨, U+25A1 □, U+25A6 ▦, U+25A9 ▩/2BxE/2Bx8 and U+2Bx3 above:

  • RED
  • ORANGE
  • YELLOW
  • GREEN
  • BLUE
  • PURPLE
  • WHITE (may potentially use WHITE LARGE SQUARE, U+2B1C)
  • BLACK (may potentially use BLACK LARGE SQUARE, U+2B1B)
  • GREY
  • BROWN

Proposals

Standard References

Crissov commented 7 years ago

DIN 30601:1971 (now withdrawn) offered a more systematic approach for additive colors with lines for red, dashes for green and dots for blue. Hatchings of composite colors would use combinations of these basic patterns. They intentionally deviate from heraldic customs to ensure independence of drawing orientation. Black and White would be fully filled and completely blank, respectively.

Hatching patterns for additive colors after DIN 30601:1971 (withdrawn 2002): basic Red (lines), Green (dashed), Blue (dotted); simple composite colors Yellow (lines and dashes), Cyan (dashes and dots), Magenta (dots and lines)

Crissov commented 7 years ago

Henrik Theiling made an artificial writing system for the constructed language Toki Pona by Sonja Elen Kisa, which uses some of the patterned squares for different colors:

Char Codepoint Color
U+25A0 black
U+25A4 red
U+25A5 yellow, light green
U+25A6 blue-green, cyan
U+25A7 colorful
U+2610 white

Michael Everson submitted an updated proposal, published as L2/17-394 in the Unicode document repository. The number of proposed characters and their suggested codepoints have changed:

Crissov commented 7 years ago

David P. Kendal and for 12 emoji color modifiers in L2/17-355.

This set was apparently identified by Berlin and Kay in a linguistic study.

Crissov commented 6 years ago

Emoji 12.0 (2019) will add several colored hearts, squares and circles to complete the following set of color swatches:

There are still some missing, at least:

For consistency, they should also be added as Heart, Circle and Square.