Jump to content

Color Naming System

From Wikipedia, the free encyclopedia

The Color Naming System (CNS) is a systematic notation for named colors for computer applications using English terms. It was created by Toby Berk, Lee Brownston and Arie Kaufman in 1982.[1]

System

[edit]
Syntax diagram of the Color Naming System

CNS uses ten color names and has them combined or prefixed with several modifiers. Of the three monochromatic gray colors, i.e. black, white and gray, only the latter can be modified and only by lightness. To form named hues, the seven chromatic base colors, i.e. red, orange, brown, yellow, green, blue and purple, can either be combined with each other and a hyphen in between or with a prefixed splash color, i.e. the same terms with an -ish suffix. The resulting hue may be varied by lightness, saturation or both. Alternatively, the hue may be modified by either a tint keyword for "whiteness" or a shade keyword for "blackness".

Lightness comes as dark or light with an optional very intensifier prefix. Saturation is one of grayish, strong and vivid. Both can also be set to be moderate or medium.

Tints are whitish, pale or brilliant. Shades are blackish, dim or deep. Both can also be vivid instead.

The system expressed in Backus–Naur form looks something like this:[2][3]

named-color     := gray-color | chromatic-color

gray-color      := 'black' | 'white' | [lightness] gray
gray            := 'gray' | 'grey'

chromatic-color := ( [ tint | shade ] | [ lightness | saturation ] ) hue
tint            := 'whitish' | 'pale' | 'brilliant' | 'vivid'
shade           := 'blackish' | 'dim' | 'deep' | 'vivid'
saturation      := 'grayish' | 'moderate' | 'strong' | 'vivid'
lightness       := 'moderate' | ['very'] ( 'dark' | 'light' )
hue             := [splash-color] base-color | ( base-color '-' base-color )
base-color      := 'red' | 'orange' | 'brown' | 'yellow' | 'green' | 'blue' | 'purple'
splash-color    := 'reddish' | 'orangish' | 'brownish' | 'yellowish' | 'greenish' | 'bluish' | 'purplish'

Derivations

[edit]

Several variations of the CNS, which were more compatible with existing schemes, e.g. by including all CSS 2.1 named colors as base color terms and transparency, had been proposed for inclusion into CSS, but they were all rejected.[4]

color            := [saturation || lightness || transparency] hue

saturation       := absolute saturation-value | saturation-value relative
saturation-value := 'dull' | 'bright'
lightness        := absolute lightness-value | lightness-value relative
lightness-value  := 'dark' | 'light'
absolute         := [modifier '-']
modifier         := 'extra' | 'semi'
relative         := 'er'

transparency     := ['semi-'] opacity-value
opacity-value    := 'opaque' | 'transparent'

hue              := prime | general | special
prime            := 'red' | 'green' | 'blue' | 'cyan' | 'magenta' | 'yellow' | 'white' | 'black'
general          := 'navy' | 'lime' | 'teal' | 'aqua' | 'maroon' | 'purple' | 'fuchsia' | 'olive' | 'gray' | 'silver'
special          := extra | composite   (* composite ≈ prime '-' prime *)
extra            := 'pink' | 'brown' | 'tan' | 'orange'
composite        := 'yellow-green' | 'green-cyan' | 'cyan-blue' | 'blue-magenta' | 'magenta-red' | 

See also

[edit]

ISCC-NBS System - a competing color naming system

References

[edit]
  1. ^ Berk, Toby; Brownston, Lee; Kaufman, Arie (1982). "A New Color-Naming System for Graphics Languages". IEEE Computer Graphics and Applications. 2 (3): 37. doi:10.1109/MCG.1982.1674223. S2CID 16846774.
  2. ^ Tab Atkins Jr.: The CNS Color Naming System on adding CNS to CSS Color level 4
  3. ^ "CNS". Crissov. Archived from the original on 22 January 2013. Retrieved 1 August 2013.
  4. ^ Benjamin D. Gray (May 2002). "New CSS3 Color Names".