Color Naming System

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.{{Cite journal | last1 = Berk | first1 = Toby | last2 = Brownston | first2 = Lee | last3 = Kaufman | first3 = Arie | doi = 10.1109/MCG.1982.1674223 | title = A New Color-Naming System for Graphics Languages | journal = IEEE Computer Graphics and Applications | volume = 2 | issue = 3 | pages = 37 | year = 1982 | s2cid = 16846774 }}

System

File:CNS syntax diagram.svg

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:[http://www.xanthir.com/blog/b4JS1 Tab Atkins Jr.: The CNS Color Naming System] on adding CNS to CSS Color level 4{{cite web|url=http://webdesign.crissov.de/Farbsysteme/CNS.xhtml|title=CNS|access-date=1 August 2013|website=Crissov|archive-url=https://web.archive.org/web/20130122184704/http://webdesign.crissov.de/Farbsysteme/CNS|archive-date=22 January 2013|url-status=dead}}

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

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.{{cite web|url=http://lists.w3.org/Archives/Public/www-style/2002May/0201.html|author=Benjamin D. Gray|date=May 2002|title=New CSS3 Color Names}}

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

ISCC-NBS System - a competing color naming system

References