Giter VIP home page Giter VIP logo

namedcolors.jl's Introduction

NamedColors

Build Status

Build status

Coverage Status

codecov.io

Colors.jl supports about 660 colors as named colorants. NamedColors.jl supports about 4,000. Honestly, the named colors in Colors.jl, and/or its capacity to generate good palettes, are far more useful.

But don't you want the quiet smugness the comes from knowing that your presentation is colored with XKCD's booger; or to really razzle dazzle them with Crayola's Razzle Dazzle Rose?

Perhaps you enjoy taking standardization to the next level, with the well defined colours from the NBS, ranging from oliveblack to vividgreenishblue.

A plot showing a random sample of colors from each set

Code for the above chart

All the colors:

Chart showing all colors sorted by Luv luminance

Link to full size PDF

Code to generate the PDF

Usage

For most users, the main function you are interested in is the extensions to Color.jl's colorant macro. This does all the normal things that the colorant string macro did before. But if it fails to find a color using the ones Color.jl has defined, then it goes and searches the big list. If it still fails to find a named color, it will give suggestions for the color you meant โ€” this is the easiest way to search for a color name.

Image showing usage

Code for the above usage example

Further to this, every exported function has docstrings. So if in doubt try:

?named_color

Over-riding color index

The big dictionary of colors is defined by a const global ALL_COLORS, which has every color defined by this package. This is used as the default source of colors, by most functions, and by the colorant string macro. You can change this โ€” to use a different, perhaps smaller, color list. Though it will not change already compiled uses of a colorant string macro. It also will not remove the webcolors that Color.jl defines.

julia> using NamedColors
julia> delete!.([ALL_COLORS], collect(keys(ALL_COLORS)))
julia> merge!(ALL_COLORS, load_xkcd())

Dict{String,ColorTypes.RGB24} with 949 entries:
  "chocolate"                  => RGB24{U8}(0.239,0.11,0.008)
  "light olive green"          => RGB24{U8}(0.643,0.745,0.361)
  "blue green"                 => RGB24{U8}(0.075,0.494,0.427)
  "copper"                     => RGB24{U8}(0.714,0.388,0.145)
  "pale"                       => RGB24{U8}(1.0,0.976,0.816)
  "clay brown"                 => RGB24{U8}(0.698,0.443,0.239)
  ...
  "turquoise green"            => RGB24{U8}(0.016,0.957,0.537)
  "jade"                       => RGB24{U8}(0.122,0.655,0.455)
  "dark sand"                  => RGB24{U8}(0.659,0.561,0.349)
  "cadet blue"                 => RGB24{U8}(0.306,0.455,0.588)
  "soft purple"                => RGB24{U8}(0.651,0.435,0.71)
  "kermit green"               => RGB24{U8}(0.361,0.698,0.0)

Sources

Futher Reading

Naming colors is actually something experts exist in. This package is one for pragmatic use, color names are more complex than many-one lookup tables can provide. A lot of these colors come from the dictionaries collected by

Some of the licenses on the data files are scary

The code is MIT licensed. The datafiles are each individually licensed.

One should be aware that you can not copyright a color. You can trademark it, but that is a different thing, and not a concern here. Similarly you can trademark its name, but that is still not a concern. Trademarking protects agaist someone using your branding, as a attempt to imitate you.

What is a concern is that you can copyright the lists as a whole. And most of the lists (except XKCD) have been copyrighted as such, but licensed for use. The lists I am distributing are being distributed according to those licenses. The scariest license is actually the CC-SSA from wikipedia for the Crayola color names.

But in it is all fine, the licenses are on the data, not on the code. The code is not derived from the data -- the package as a whole is a "Collection" incorporating several works. roughly speaking, CC-SSA imposes it's viral restrictions on Derivative Works, not on Collections (the license actually goes into some detail about this).

namedcolors.jl's People

Contributors

cormullion avatar cortinah avatar juliatagbot avatar oxinabox avatar rdeits avatar scls19fr avatar staticfloat avatar tkelman avatar visr avatar waldyrious avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.