The Color Naming System (CNS) is a systematic notation for named colors for computer applications using English terms created by Berk et al. in 1982.[1]
CNS uses ten color names, three of which (black, white, gray) are special, and has them combined or prefixed with several modifiers.
The system expressed in Backus–Naur form looks something like this:.[2] [3]
gray-color := 'black' | 'white' | lightness graygray := 'gray' | 'grey'
chromatic-color := [tint | shade ] hue | [lightness | saturation ]? huetint := '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-colorbase-color := 'red' | 'orange' | 'brown' | 'yellow' | 'green' | 'blue' | 'purple'splash-color := 'reddish' | 'orangish' | 'brownish' | 'yellowish' | 'greenish' | 'bluish' | 'purplish'
There have been variations of the CNS proposed for inclusion into CSS that are more compatible with existing schemes.[4]
saturation := absolute saturation-value | saturation-value relativesaturation-value := 'dull' | 'bright'lightness := absolute lightness-value | lightness-value relativelightness-value := 'dark' | 'light'absolute := [modifier '-']?modifier := 'extra' | 'semi'relative := 'er'
transparency := ['semi-']? opacity-valueopacity-value := 'opaque' | 'transparent'
hue := prime | general | specialprime := 'red' | 'green' | 'blue' | 'cyan' | 'magenta' | 'yellow' | 'white' | 'black'general := 'navy' | 'lime' | 'teal' | 'aqua' | 'maroon' | 'purple' | 'fuchsia' | 'olive' | 'gray' | 'silver'special := extra | composite ; composite ≈ prime '-' primeextra := 'pink' | 'brown' | 'tan' | 'orange'composite := 'yellow-green' | 'green-cyan' | 'cyan-blue' | 'blue-magenta' | 'magenta-red' | …
ISCC-NBS System - a competing color naming system