color 1.7.1 → 2.0.0.pre.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -13
- data/CHANGELOG.md +298 -0
- data/CODE_OF_CONDUCT.md +128 -0
- data/CONTRIBUTING.md +70 -0
- data/CONTRIBUTORS.md +10 -0
- data/LICENCE.md +27 -0
- data/Manifest.txt +11 -21
- data/README.md +54 -0
- data/Rakefile +74 -53
- data/SECURITY.md +34 -0
- data/lib/color/cielab.rb +348 -0
- data/lib/color/cmyk.rb +279 -213
- data/lib/color/grayscale.rb +128 -160
- data/lib/color/hsl.rb +205 -173
- data/lib/color/rgb/colors.rb +177 -163
- data/lib/color/rgb.rb +534 -537
- data/lib/color/version.rb +5 -0
- data/lib/color/xyz.rb +214 -0
- data/lib/color/yiq.rb +91 -46
- data/lib/color.rb +208 -141
- data/test/fixtures/cielab.json +444 -0
- data/test/minitest_helper.rb +20 -4
- data/test/test_cmyk.rb +49 -71
- data/test/test_color.rb +58 -106
- data/test/test_grayscale.rb +35 -56
- data/test/test_hsl.rb +72 -76
- data/test/test_rgb.rb +195 -267
- data/test/test_yiq.rb +12 -30
- metadata +165 -150
- checksums.yaml.gz.sig +0 -0
- data/.autotest +0 -5
- data/.gemtest +0 -0
- data/.hoerc +0 -2
- data/.minitest.rb +0 -2
- data/.travis.yml +0 -35
- data/Contributing.rdoc +0 -60
- data/Gemfile +0 -9
- data/History.rdoc +0 -172
- data/Licence.rdoc +0 -27
- data/README.rdoc +0 -50
- data/lib/color/css.rb +0 -7
- data/lib/color/palette/adobecolor.rb +0 -260
- data/lib/color/palette/gimp.rb +0 -104
- data/lib/color/palette/monocontrast.rb +0 -164
- data/lib/color/palette.rb +0 -4
- data/lib/color/rgb/contrast.rb +0 -57
- data/lib/color/rgb/metallic.rb +0 -28
- data/test/test_adobecolor.rb +0 -405
- data/test/test_css.rb +0 -19
- data/test/test_gimp.rb +0 -87
- data/test/test_monocontrast.rb +0 -130
- data.tar.gz.sig +0 -0
- metadata.gz.sig +0 -0
@@ -1,164 +0,0 @@
|
|
1
|
-
require 'color/palette'
|
2
|
-
|
3
|
-
# Generates a monochromatic constrasting colour palette for background and
|
4
|
-
# foreground. What does this mean?
|
5
|
-
#
|
6
|
-
# Monochromatic: A single colour is used to generate the base palette, and
|
7
|
-
# this colour is lightened five times and darkened five times to provide
|
8
|
-
# eleven distinct colours.
|
9
|
-
#
|
10
|
-
# Contrasting: The foreground is also generated as a monochromatic colour
|
11
|
-
# palette; however, all generated colours are tested to see that they are
|
12
|
-
# appropriately contrasting to ensure maximum readability of the foreground
|
13
|
-
# against the background.
|
14
|
-
class Color::Palette::MonoContrast
|
15
|
-
# Hash of CSS background colour values.
|
16
|
-
#
|
17
|
-
# This is always 11 values:
|
18
|
-
#
|
19
|
-
# 0:: The starting colour.
|
20
|
-
# +1..+5:: Lighter colours.
|
21
|
-
# -1..-5:: Darker colours.
|
22
|
-
attr_reader :background
|
23
|
-
# Hash of CSS foreground colour values.
|
24
|
-
#
|
25
|
-
# This is always 11 values:
|
26
|
-
#
|
27
|
-
# 0:: The starting colour.
|
28
|
-
# +1..+5:: Lighter colours.
|
29
|
-
# -1..-5:: Darker colours.
|
30
|
-
attr_reader :foreground
|
31
|
-
|
32
|
-
DEFAULT_MINIMUM_BRIGHTNESS_DIFF = (125.0 / 255.0)
|
33
|
-
|
34
|
-
# The minimum brightness difference between the background and the
|
35
|
-
# foreground, and must be between 0..1. Setting this value will regenerate
|
36
|
-
# the palette based on the base colours. The default value for this is 125
|
37
|
-
# / 255.0. If this value is set to +nil+, it will be restored to the
|
38
|
-
# default.
|
39
|
-
attr_reader :minimum_brightness_diff
|
40
|
-
def minimum_brightness_diff=(bd) #:nodoc:
|
41
|
-
@minimum_brightness_diff = if bd.nil?
|
42
|
-
DEFAULT_MINIMUM_BRIGHTNESS_DIFF
|
43
|
-
elsif bd > 1.0
|
44
|
-
1.0
|
45
|
-
elsif bd < 0.0
|
46
|
-
0.0
|
47
|
-
else
|
48
|
-
bd
|
49
|
-
end
|
50
|
-
regenerate(@background[0], @foreground[0])
|
51
|
-
end
|
52
|
-
|
53
|
-
DEFAULT_MINIMUM_COLOR_DIFF = (500.0 / 255.0)
|
54
|
-
|
55
|
-
# The minimum colour difference between the background and the foreground,
|
56
|
-
# and must be between 0..3. Setting this value will regenerate the palette
|
57
|
-
# based on the base colours. The default value for this is 500 / 255.0.
|
58
|
-
attr_reader :minimum_color_diff
|
59
|
-
def minimum_color_diff=(cd) #:nodoc:
|
60
|
-
@minimum_color_diff = if cd.nil?
|
61
|
-
DEFAULT_MINIMUM_COLOR_DIFF
|
62
|
-
elsif cd > 3.0
|
63
|
-
3.0
|
64
|
-
elsif cd < 0.0
|
65
|
-
0.0
|
66
|
-
else
|
67
|
-
cd
|
68
|
-
end
|
69
|
-
regenerate(@background[0], @foreground[0])
|
70
|
-
end
|
71
|
-
|
72
|
-
# Generate the initial palette.
|
73
|
-
def initialize(background, foreground = nil)
|
74
|
-
@minimum_brightness_diff = DEFAULT_MINIMUM_BRIGHTNESS_DIFF
|
75
|
-
@minimum_color_diff = DEFAULT_MINIMUM_COLOR_DIFF
|
76
|
-
regenerate(background, foreground)
|
77
|
-
end
|
78
|
-
|
79
|
-
# Generate the colour palettes.
|
80
|
-
def regenerate(background, foreground = nil)
|
81
|
-
foreground ||= background
|
82
|
-
background = background.to_rgb
|
83
|
-
foreground = foreground.to_rgb
|
84
|
-
|
85
|
-
@background = {}
|
86
|
-
@foreground = {}
|
87
|
-
|
88
|
-
@background[-5] = background.darken_by(10)
|
89
|
-
@background[-4] = background.darken_by(25)
|
90
|
-
@background[-3] = background.darken_by(50)
|
91
|
-
@background[-2] = background.darken_by(75)
|
92
|
-
@background[-1] = background.darken_by(85)
|
93
|
-
@background[ 0] = background
|
94
|
-
@background[+1] = background.lighten_by(85)
|
95
|
-
@background[+2] = background.lighten_by(75)
|
96
|
-
@background[+3] = background.lighten_by(50)
|
97
|
-
@background[+4] = background.lighten_by(25)
|
98
|
-
@background[+5] = background.lighten_by(10)
|
99
|
-
|
100
|
-
@foreground[-5] = calculate_foreground(@background[-5], foreground)
|
101
|
-
@foreground[-4] = calculate_foreground(@background[-4], foreground)
|
102
|
-
@foreground[-3] = calculate_foreground(@background[-3], foreground)
|
103
|
-
@foreground[-2] = calculate_foreground(@background[-2], foreground)
|
104
|
-
@foreground[-1] = calculate_foreground(@background[-1], foreground)
|
105
|
-
@foreground[ 0] = calculate_foreground(@background[ 0], foreground)
|
106
|
-
@foreground[+1] = calculate_foreground(@background[+1], foreground)
|
107
|
-
@foreground[+2] = calculate_foreground(@background[+2], foreground)
|
108
|
-
@foreground[+3] = calculate_foreground(@background[+3], foreground)
|
109
|
-
@foreground[+4] = calculate_foreground(@background[+4], foreground)
|
110
|
-
@foreground[+5] = calculate_foreground(@background[+5], foreground)
|
111
|
-
end
|
112
|
-
|
113
|
-
# Given a background colour and a foreground colour, modifies the
|
114
|
-
# foreground colour so that it will have enough contrast to be seen
|
115
|
-
# against the background colour.
|
116
|
-
#
|
117
|
-
# Uses #mininum_brightness_diff and #minimum_color_diff.
|
118
|
-
def calculate_foreground(background, foreground)
|
119
|
-
nfg = nil
|
120
|
-
# Loop through brighter and darker versions of the foreground color. The
|
121
|
-
# numbers here represent the amount of foreground color to mix with
|
122
|
-
# black and white.
|
123
|
-
[100, 75, 50, 25, 0].each do |percent|
|
124
|
-
dfg = foreground.darken_by(percent)
|
125
|
-
lfg = foreground.lighten_by(percent)
|
126
|
-
|
127
|
-
dbd = brightness_diff(background, dfg)
|
128
|
-
lbd = brightness_diff(background, lfg)
|
129
|
-
|
130
|
-
if lbd > dbd
|
131
|
-
nfg = lfg
|
132
|
-
nbd = lbd
|
133
|
-
else
|
134
|
-
nfg = dfg
|
135
|
-
nbd = dbd
|
136
|
-
end
|
137
|
-
|
138
|
-
ncd = color_diff(background, nfg)
|
139
|
-
|
140
|
-
break if nbd >= @minimum_brightness_diff and ncd >= @minimum_color_diff
|
141
|
-
end
|
142
|
-
nfg
|
143
|
-
end
|
144
|
-
|
145
|
-
# Returns the absolute difference between the brightness levels of two
|
146
|
-
# colours. This will be a decimal value between 0 and 1. W3C accessibility
|
147
|
-
# guidelines for {colour contrast}[http://www.w3.org/TR/AERT#color-contrast]
|
148
|
-
# suggest that this value be at least approximately 0.49 (125 / 255.0) for
|
149
|
-
# proper contrast.
|
150
|
-
def brightness_diff(c1, c2)
|
151
|
-
(c1.brightness - c2.brightness).abs
|
152
|
-
end
|
153
|
-
|
154
|
-
# Returns the contrast between to colours, a decimal value between 0 and
|
155
|
-
# 3. W3C accessibility guidelines for {colour
|
156
|
-
# contrast}[http://www.w3.org/TR/AERT#color-contrast] suggest that this
|
157
|
-
# value be at least approximately 1.96 (500 / 255.0) for proper contrast.
|
158
|
-
def color_diff(c1, c2)
|
159
|
-
r = (c1.r - c2.r).abs
|
160
|
-
g = (c1.g - c2.g).abs
|
161
|
-
b = (c1.b - c2.b).abs
|
162
|
-
r + g + b
|
163
|
-
end
|
164
|
-
end
|
data/lib/color/palette.rb
DELETED
data/lib/color/rgb/contrast.rb
DELETED
@@ -1,57 +0,0 @@
|
|
1
|
-
# -*- ruby encoding: utf-8 -*-
|
2
|
-
|
3
|
-
class Color::RGB
|
4
|
-
# Outputs how much contrast this color has with another RGB color.
|
5
|
-
# Computes the same regardless of which one is considered foreground. If
|
6
|
-
# the other color does not have a #to_rgb method, this will throw an
|
7
|
-
# exception. Anything over about 0.22 should have a high likelihood of
|
8
|
-
# being legible, but the larger the difference, the more contrast.
|
9
|
-
# Otherwise, to be safe go with something > 0.3
|
10
|
-
def contrast(other)
|
11
|
-
other = coerce(other)
|
12
|
-
|
13
|
-
# The following numbers have been set with some care.
|
14
|
-
((diff_brightness(other) * 0.65) +
|
15
|
-
(diff_hue(other) * 0.20) +
|
16
|
-
(diff_luminosity(other) * 0.15))
|
17
|
-
end
|
18
|
-
|
19
|
-
private
|
20
|
-
# Provides the luminosity difference between two rbg vals
|
21
|
-
def diff_luminosity(other)
|
22
|
-
other = coerce(other)
|
23
|
-
l1 = (0.2126 * (other.r) ** 2.2) +
|
24
|
-
(0.7152 * (other.b) ** 2.2) +
|
25
|
-
(0.0722 * (other.g) ** 2.2);
|
26
|
-
|
27
|
-
l2 = (0.2126 * (self.r) ** 2.2) +
|
28
|
-
(0.7152 * (self.b) ** 2.2) +
|
29
|
-
(0.0722 * (self.g) ** 2.2);
|
30
|
-
|
31
|
-
((([l1, l2].max) + 0.05) / ( ([l1, l2].min) + 0.05 ) - 1) / 20.0
|
32
|
-
end
|
33
|
-
|
34
|
-
# Provides the brightness difference.
|
35
|
-
def diff_brightness(other)
|
36
|
-
other = other.to_rgb
|
37
|
-
br1 = (299 * other.r + 587 * other.g + 114 * other.b)
|
38
|
-
br2 = (299 * self.r + 587 * self.g + 114 * self.b)
|
39
|
-
(br1 - br2).abs / 1000.0;
|
40
|
-
end
|
41
|
-
|
42
|
-
# Provides the euclidean distance between the two color values
|
43
|
-
def diff_euclidean(other)
|
44
|
-
other = other.to_rgb
|
45
|
-
((((other.r - self.r) ** 2) +
|
46
|
-
((other.g - self.g) ** 2) +
|
47
|
-
((other.b - self.b) ** 2)) ** 0.5) / 1.7320508075688772
|
48
|
-
end
|
49
|
-
|
50
|
-
# Difference in the two colors' hue
|
51
|
-
def diff_hue(other)
|
52
|
-
other = other.to_rgb
|
53
|
-
((self.r - other.r).abs +
|
54
|
-
(self.g - other.g).abs +
|
55
|
-
(self.b - other.b).abs) / 3
|
56
|
-
end
|
57
|
-
end
|
data/lib/color/rgb/metallic.rb
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
# -*- ruby encoding: utf-8 -*-
|
2
|
-
|
3
|
-
class Color::RGB
|
4
|
-
# This namespace contains some RGB metallic colours suggested by Jim
|
5
|
-
# Freeze.
|
6
|
-
module Metallic; end
|
7
|
-
|
8
|
-
class << self
|
9
|
-
private
|
10
|
-
def metallic(rgb, *names)
|
11
|
-
__named_color(Metallic, new(*rgb), *names)
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
metallic [0x99, 0x99, 0x99], :Aluminum
|
16
|
-
metallic [0xd9, 0x87, 0x19], :CoolCopper
|
17
|
-
metallic [0xb8, 0x73, 0x33], :Copper
|
18
|
-
metallic [0x4c, 0x4c, 0x4c], :Iron
|
19
|
-
metallic [0x19, 0x19, 0x19], :Lead
|
20
|
-
metallic [0xb3, 0xb3, 0xb3], :Magnesium
|
21
|
-
metallic [0xe6, 0xe6, 0xe6], :Mercury
|
22
|
-
metallic [0x80, 0x80, 0x80], :Nickel
|
23
|
-
metallic [0x60, 0x00, 0x00], :PolySilicon, :Poly
|
24
|
-
metallic [0xcc, 0xcc, 0xcc], :Silver
|
25
|
-
metallic [0x66, 0x66, 0x66], :Steel
|
26
|
-
metallic [0x7f, 0x7f, 0x7f], :Tin
|
27
|
-
metallic [0x33, 0x33, 0x33], :Tungsten
|
28
|
-
end
|
data/test/test_adobecolor.rb
DELETED
@@ -1,405 +0,0 @@
|
|
1
|
-
# -*- ruby encoding: utf-8 -*-
|
2
|
-
|
3
|
-
require 'color'
|
4
|
-
require 'color/palette/adobecolor'
|
5
|
-
require 'minitest_helper'
|
6
|
-
|
7
|
-
module TestColor
|
8
|
-
module TestPalette
|
9
|
-
class TestAdobeColor < Minitest::Test
|
10
|
-
include Color::Palette
|
11
|
-
|
12
|
-
# This is based on the Visibone Anglo-Centric Color Code List; this is
|
13
|
-
# an Adobe Color swatch version 1 (RGB colours only).
|
14
|
-
VISIBONE_V1 = <<-EOS
|
15
|
-
AAEA2AAA/wD/AP8AAAAAAMwAzADMAAAAAACZAJkAmQAAAAAAZgBmAGYAAAAA
|
16
|
-
ADMAMwAzAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAP8AMwAzAAAAAADMAAAA
|
17
|
-
AAAAAAAA/wBmAGYAAAAAAMwAMwAzAAAAAACZAAAAAAAAAAAA/wCZAJkAAAAA
|
18
|
-
AMwAZgBmAAAAAACZADMAMwAAAAAAZgAAAAAAAAAAAP8AzADMAAAAAADMAJkA
|
19
|
-
mQAAAAAAmQBmAGYAAAAAAGYAMwAzAAAAAAAzAAAAAAAAAAAA/wAzAAAAAAAA
|
20
|
-
AP8AZgAzAAAAAADMADMAAAAAAAAA/wCZAGYAAAAAAMwAZgAzAAAAAACZADMA
|
21
|
-
AAAAAAAA/wBmAAAAAAAAAP8AmQAzAAAAAADMAGYAAAAAAAAA/wDMAJkAAAAA
|
22
|
-
AMwAmQBmAAAAAACZAGYAMwAAAAAAZgAzAAAAAAAAAP8AmQAAAAAAAAD/AMwA
|
23
|
-
ZgAAAAAAzACZADMAAAAAAJkAZgAAAAAAAADMAJkAAAAAAAAA/wDMADMAAAAA
|
24
|
-
AP8AzAAAAAAAAAD/AP8AAAAAAAAA/wD/ADMAAAAAAMwAzAAAAAAAAAD/AP8A
|
25
|
-
ZgAAAAAAzADMADMAAAAAAJkAmQAAAAAAAAD/AP8AmQAAAAAAzADMAGYAAAAA
|
26
|
-
AJkAmQAzAAAAAABmAGYAAAAAAAAA/wD/AMwAAAAAAMwAzACZAAAAAACZAJkA
|
27
|
-
ZgAAAAAAZgBmADMAAAAAADMAMwAAAAAAAADMAP8AAAAAAAAAzAD/ADMAAAAA
|
28
|
-
AJkAzAAAAAAAAADMAP8AZgAAAAAAmQDMADMAAAAAAGYAmQAAAAAAAACZAP8A
|
29
|
-
AAAAAAAAmQD/ADMAAAAAAGYAzAAAAAAAAADMAP8AmQAAAAAAmQDMAGYAAAAA
|
30
|
-
AGYAmQAzAAAAAAAzAGYAAAAAAAAAZgD/AAAAAAAAAJkA/wBmAAAAAABmAMwA
|
31
|
-
MwAAAAAAMwCZAAAAAAAAAGYA/wAzAAAAAAAzAMwAAAAAAAAAMwD/AAAAAAAA
|
32
|
-
AAAA/wAAAAAAAAAzAP8AMwAAAAAAAADMAAAAAAAAAGYA/wBmAAAAAAAzAMwA
|
33
|
-
MwAAAAAAAACZAAAAAAAAAJkA/wCZAAAAAABmAMwAZgAAAAAAMwCZADMAAAAA
|
34
|
-
AAAAZgAAAAAAAADMAP8AzAAAAAAAmQDMAJkAAAAAAGYAmQBmAAAAAAAzAGYA
|
35
|
-
MwAAAAAAAAAzAAAAAAAAAAAA/wAzAAAAAAAzAP8AZgAAAAAAAADMADMAAAAA
|
36
|
-
AGYA/wCZAAAAAAAzAMwAZgAAAAAAAACZADMAAAAAAAAA/wBmAAAAAAAzAP8A
|
37
|
-
mQAAAAAAAADMAGYAAAAAAJkA/wDMAAAAAABmAMwAmQAAAAAAMwCZAGYAAAAA
|
38
|
-
AAAAZgAzAAAAAAAAAP8AmQAAAAAAZgD/AMwAAAAAADMAzACZAAAAAAAAAJkA
|
39
|
-
ZgAAAAAAMwD/AMwAAAAAAAAAzACZAAAAAAAAAP8AzAAAAAAAAAD/AP8AAAAA
|
40
|
-
ADMA/wD/AAAAAAAAAMwAzAAAAAAAZgD/AP8AAAAAADMAzADMAAAAAAAAAJkA
|
41
|
-
mQAAAAAAmQD/AP8AAAAAAGYAzADMAAAAAAAzAJkAmQAAAAAAAABmAGYAAAAA
|
42
|
-
AMwA/wD/AAAAAACZAMwAzAAAAAAAZgCZAJkAAAAAADMAZgBmAAAAAAAAADMA
|
43
|
-
MwAAAAAAAADMAP8AAAAAADMAzAD/AAAAAAAAAJkAzAAAAAAAZgDMAP8AAAAA
|
44
|
-
ADMAmQDMAAAAAAAAAGYAmQAAAAAAAACZAP8AAAAAADMAmQD/AAAAAAAAAGYA
|
45
|
-
zAAAAAAAmQDMAP8AAAAAAGYAmQDMAAAAAAAzAGYAmQAAAAAAAAAzAGYAAAAA
|
46
|
-
AAAAZgD/AAAAAABmAJkA/wAAAAAAMwBmAMwAAAAAAAAAMwCZAAAAAAAzAGYA
|
47
|
-
/wAAAAAAAAAzAMwAAAAAAAAAMwD/AAAAAAAAAAAA/wAAAAAAMwAzAP8AAAAA
|
48
|
-
AAAAAADMAAAAAABmAGYA/wAAAAAAMwAzAMwAAAAAAAAAAACZAAAAAACZAJkA
|
49
|
-
/wAAAAAAZgBmAMwAAAAAADMAMwCZAAAAAAAAAAAAZgAAAAAAzADMAP8AAAAA
|
50
|
-
AJkAmQDMAAAAAABmAGYAmQAAAAAAMwAzAGYAAAAAAAAAAAAzAAAAAAAzAAAA
|
51
|
-
/wAAAAAAZgAzAP8AAAAAADMAAADMAAAAAACZAGYA/wAAAAAAZgAzAMwAAAAA
|
52
|
-
ADMAAACZAAAAAABmAAAA/wAAAAAAmQAzAP8AAAAAAGYAAADMAAAAAADMAJkA
|
53
|
-
/wAAAAAAmQBmAMwAAAAAAGYAMwCZAAAAAAAzAAAAZgAAAAAAmQAAAP8AAAAA
|
54
|
-
AMwAZgD/AAAAAACZADMAzAAAAAAAZgAAAJkAAAAAAMwAMwD/AAAAAACZAAAA
|
55
|
-
zAAAAAAAzAAAAP8AAAAAAP8AAAD/AAAAAAD/ADMA/wAAAAAAzAAAAMwAAAAA
|
56
|
-
AP8AZgD/AAAAAADMADMAzAAAAAAAmQAAAJkAAAAAAP8AmQD/AAAAAADMAGYA
|
57
|
-
zAAAAAAAmQAzAJkAAAAAAGYAAABmAAAAAAD/AMwA/wAAAAAAzACZAMwAAAAA
|
58
|
-
AJkAZgCZAAAAAABmADMAZgAAAAAAMwAAADMAAAAAAP8AAADMAAAAAAD/ADMA
|
59
|
-
zAAAAAAAzAAAAJkAAAAAAP8AZgDMAAAAAADMADMAmQAAAAAAmQAAAGYAAAAA
|
60
|
-
AP8AAACZAAAAAAD/ADMAmQAAAAAAzAAAAGYAAAAAAP8AmQDMAAAAAADMAGYA
|
61
|
-
mQAAAAAAmQAzAGYAAAAAAGYAAAAzAAAAAAD/AAAAZgAAAAAA/wBmAJkAAAAA
|
62
|
-
AMwAMwBmAAAAAACZAAAAMwAAAAAA/wAzAGYAAAAAAMwAAAAzAAAAAAD/AAAA
|
63
|
-
MwAAAA==
|
64
|
-
EOS
|
65
|
-
|
66
|
-
# This is based on the Visibone Anglo-Centric Color Code List; this is
|
67
|
-
# an Adobe Color swatch version 2 (with names).
|
68
|
-
VISIBONE_V2 = <<-EOS
|
69
|
-
AAIA2AAA/wD/AP8AAAAAAAAGAFcAaABpAHQAZQAAAADMAMwAzAAAAAAAAAoA
|
70
|
-
UABhAGwAZQAgAEcAcgBhAHkAAAAAmQCZAJkAAAAAAAALAEwAaQBnAGgAdAAg
|
71
|
-
AEcAcgBhAHkAAAAAZgBmAGYAAAAAAAAKAEQAYQByAGsAIABHAHIAYQB5AAAA
|
72
|
-
ADMAMwAzAAAAAAAADQBPAGIAcwBjAHUAcgBlACAARwByAGEAeQAAAAAAAAAA
|
73
|
-
AAAAAAAAAAYAQgBsAGEAYwBrAAAAAP8AAAAAAAAAAAAABABSAGUAZAAAAAD/
|
74
|
-
ADMAMwAAAAAAAA8ATABpAGcAaAB0ACAASABhAHIAZAAgAFIAZQBkAAAAAMwA
|
75
|
-
AAAAAAAAAAAADgBEAGEAcgBrACAASABhAHIAZAAgAFIAZQBkAAAAAP8AZgBm
|
76
|
-
AAAAAAAAEABMAGkAZwBoAHQAIABGAGEAZABlAGQAIABSAGUAZAAAAADMADMA
|
77
|
-
MwAAAAAAABEATQBlAGQAaQB1AG0AIABGAGEAZABlAGQAIABSAGUAZAAAAACZ
|
78
|
-
AAAAAAAAAAAAAA8ARABhAHIAawAgAEYAYQBkAGUAZAAgAFIAZQBkAAAAAP8A
|
79
|
-
mQCZAAAAAAAADgBQAGEAbABlACAARAB1AGwAbAAgAFIAZQBkAAAAAMwAZgBm
|
80
|
-
AAAAAAAADwBMAGkAZwBoAHQAIABEAHUAbABsACAAUgBlAGQAAAAAmQAzADMA
|
81
|
-
AAAAAAAOAEQAYQByAGsAIABEAHUAbABsACAAUgBlAGQAAAAAZgAAAAAAAAAA
|
82
|
-
AAARAE8AYgBzAGMAdQByAGUAIABEAHUAbABsACAAUgBlAGQAAAAA/wDMAMwA
|
83
|
-
AAAAAAAOAFAAYQBsAGUAIABXAGUAYQBrACAAUgBlAGQAAAAAzACZAJkAAAAA
|
84
|
-
AAAPAEwAaQBnAGgAdAAgAFcAZQBhAGsAIABSAGUAZAAAAACZAGYAZgAAAAAA
|
85
|
-
ABAATQBlAGQAaQB1AG0AIABXAGUAYQBrACAAUgBlAGQAAAAAZgAzADMAAAAA
|
86
|
-
AAAOAEQAYQByAGsAIABXAGUAYQBrACAAUgBlAGQAAAAAMwAAAAAAAAAAAAAR
|
87
|
-
AE8AYgBzAGMAdQByAGUAIABXAGUAYQBrACAAUgBlAGQAAAAA/wAzAAAAAAAA
|
88
|
-
AAAPAFIAZQBkAC0AUgBlAGQALQBPAHIAYQBuAGcAZQAAAAD/AGYAMwAAAAAA
|
89
|
-
ABEATABpAGcAaAB0ACAAUgBlAGQALQBPAHIAYQBuAGcAZQAAAADMADMAAAAA
|
90
|
-
AAAAABAARABhAHIAawAgAFIAZQBkAC0ATwByAGEAbgBnAGUAAAAA/wCZAGYA
|
91
|
-
AAAAAAARAEwAaQBnAGgAdAAgAE8AcgBhAG4AZwBlAC0AUgBlAGQAAAAAzABm
|
92
|
-
ADMAAAAAAAASAE0AZQBkAGkAdQBtACAATwByAGEAbgBnAGUALQBSAGUAZAAA
|
93
|
-
AACZADMAAAAAAAAAABAARABhAHIAawAgAE8AcgBhAG4AZwBlAC0AUgBlAGQA
|
94
|
-
AAAA/wBmAAAAAAAAAAASAE8AcgBhAG4AZwBlAC0ATwByAGEAbgBnAGUALQBS
|
95
|
-
AGUAZAAAAAD/AJkAMwAAAAAAABIATABpAGcAaAB0ACAASABhAHIAZAAgAE8A
|
96
|
-
cgBhAG4AZwBlAAAAAMwAZgAAAAAAAAAAEQBEAGEAcgBrACAASABhAHIAZAAg
|
97
|
-
AE8AcgBhAG4AZwBlAAAAAP8AzACZAAAAAAAAEQBQAGEAbABlACAARAB1AGwA
|
98
|
-
bAAgAE8AcgBhAG4AZwBlAAAAAMwAmQBmAAAAAAAAEgBMAGkAZwBoAHQAIABE
|
99
|
-
AHUAbABsACAATwByAGEAbgBnAGUAAAAAmQBmADMAAAAAAAARAEQAYQByAGsA
|
100
|
-
IABEAHUAbABsACAATwByAGEAbgBnAGUAAAAAZgAzAAAAAAAAAAAUAE8AYgBz
|
101
|
-
AGMAdQByAGUAIABEAHUAbABsACAATwByAGEAbgBnAGUAAAAA/wCZAAAAAAAA
|
102
|
-
AAAVAE8AcgBhAG4AZwBlAC0ATwByAGEAbgBnAGUALQBZAGUAbABsAG8AdwAA
|
103
|
-
AAD/AMwAZgAAAAAAABQATABpAGcAaAB0ACAATwByAGEAbgBnAGUALQBZAGUA
|
104
|
-
bABsAG8AdwAAAADMAJkAMwAAAAAAABUATQBlAGQAaQB1AG0AIABPAHIAYQBu
|
105
|
-
AGcAZQAtAFkAZQBsAGwAbwB3AAAAAJkAZgAAAAAAAAAAEwBEAGEAcgBrACAA
|
106
|
-
TwByAGEAbgBnAGUALQBZAGUAbABsAG8AdwAAAADMAJkAAAAAAAAAABMARABh
|
107
|
-
AHIAawAgAFkAZQBsAGwAbwB3AC0ATwByAGEAbgBnAGUAAAAA/wDMADMAAAAA
|
108
|
-
AAAUAEwAaQBnAGgAdAAgAFkAZQBsAGwAbwB3AC0ATwByAGEAbgBnAGUAAAAA
|
109
|
-
/wDMAAAAAAAAAAAVAFkAZQBsAGwAbwB3AC0AWQBlAGwAbABvAHcALQBPAHIA
|
110
|
-
YQBuAGcAZQAAAAD/AP8AAAAAAAAAAAcAWQBlAGwAbABvAHcAAAAA/wD/ADMA
|
111
|
-
AAAAAAASAEwAaQBnAGgAdAAgAEgAYQByAGQAIABZAGUAbABsAG8AdwAAAADM
|
112
|
-
AMwAAAAAAAAAABEARABhAHIAawAgAEgAYQByAGQAIABZAGUAbABsAG8AdwAA
|
113
|
-
AAD/AP8AZgAAAAAAABMATABpAGcAaAB0ACAARgBhAGQAZQBkACAAWQBlAGwA
|
114
|
-
bABvAHcAAAAAzADMADMAAAAAAAAUAE0AZQBkAGkAdQBtACAARgBhAGQAZQBk
|
115
|
-
ACAAWQBlAGwAbABvAHcAAAAAmQCZAAAAAAAAAAASAEQAYQByAGsAIABGAGEA
|
116
|
-
ZABlAGQAIABZAGUAbABsAG8AdwAAAAD/AP8AmQAAAAAAABEAUABhAGwAZQAg
|
117
|
-
AEQAdQBsAGwAIABZAGUAbABsAG8AdwAAAADMAMwAZgAAAAAAABIATABpAGcA
|
118
|
-
aAB0ACAARAB1AGwAbAAgAFkAZQBsAGwAbwB3AAAAAJkAmQAzAAAAAAAAEQBE
|
119
|
-
AGEAcgBrACAARAB1AGwAbAAgAFkAZQBsAGwAbwB3AAAAAGYAZgAAAAAAAAAA
|
120
|
-
FABPAGIAcwBjAHUAcgBlACAARAB1AGwAbAAgAFkAZQBsAGwAbwB3AAAAAP8A
|
121
|
-
/wDMAAAAAAAAEQBQAGEAbABlACAAVwBlAGEAawAgAFkAZQBsAGwAbwB3AAAA
|
122
|
-
AMwAzACZAAAAAAAAEgBMAGkAZwBoAHQAIABXAGUAYQBrACAAWQBlAGwAbABv
|
123
|
-
AHcAAAAAmQCZAGYAAAAAAAATAE0AZQBkAGkAdQBtACAAVwBlAGEAawAgAFkA
|
124
|
-
ZQBsAGwAbwB3AAAAAGYAZgAzAAAAAAAAEQBEAGEAcgBrACAAVwBlAGEAawAg
|
125
|
-
AFkAZQBsAGwAbwB3AAAAADMAMwAAAAAAAAAAFABPAGIAcwBjAHUAcgBlACAA
|
126
|
-
VwBlAGEAawAgAFkAZQBsAGwAbwB3AAAAAMwA/wAAAAAAAAAAFQBZAGUAbABs
|
127
|
-
AG8AdwAtAFkAZQBsAGwAbwB3AC0AUwBwAHIAaQBuAGcAAAAAzAD/ADMAAAAA
|
128
|
-
AAAUAEwAaQBnAGgAdAAgAFkAZQBsAGwAbwB3AC0AUwBwAHIAaQBuAGcAAAAA
|
129
|
-
mQDMAAAAAAAAAAATAEQAYQByAGsAIABZAGUAbABsAG8AdwAtAFMAcAByAGkA
|
130
|
-
bgBnAAAAAMwA/wBmAAAAAAAAFABMAGkAZwBoAHQAIABTAHAAcgBpAG4AZwAt
|
131
|
-
AFkAZQBsAGwAbwB3AAAAAJkAzAAzAAAAAAAAFQBNAGUAZABpAHUAbQAgAFMA
|
132
|
-
cAByAGkAbgBnAC0AWQBlAGwAbABvAHcAAAAAZgCZAAAAAAAAAAATAEQAYQBy
|
133
|
-
AGsAIABTAHAAcgBpAG4AZwAtAFkAZQBsAGwAbwB3AAAAAJkA/wAAAAAAAAAA
|
134
|
-
FQBTAHAAcgBpAG4AZwAtAFMAcAByAGkAbgBnAC0AWQBlAGwAbABvAHcAAAAA
|
135
|
-
mQD/ADMAAAAAAAASAEwAaQBnAGgAdAAgAEgAYQByAGQAIABTAHAAcgBpAG4A
|
136
|
-
ZwAAAABmAMwAAAAAAAAAABEARABhAHIAawAgAEgAYQByAGQAIABTAHAAcgBp
|
137
|
-
AG4AZwAAAADMAP8AmQAAAAAAABEAUABhAGwAZQAgAEQAdQBsAGwAIABTAHAA
|
138
|
-
cgBpAG4AZwAAAACZAMwAZgAAAAAAABIATABpAGcAaAB0ACAARAB1AGwAbAAg
|
139
|
-
AFMAcAByAGkAbgBnAAAAAGYAmQAzAAAAAAAAEQBEAGEAcgBrACAARAB1AGwA
|
140
|
-
bAAgAFMAcAByAGkAbgBnAAAAADMAZgAAAAAAAAAAFABPAGIAcwBjAHUAcgBl
|
141
|
-
ACAARAB1AGwAbAAgAFMAcAByAGkAbgBnAAAAAGYA/wAAAAAAAAAAFABTAHAA
|
142
|
-
cgBpAG4AZwAtAFMAcAByAGkAbgBnAC0ARwByAGUAZQBuAAAAAJkA/wBmAAAA
|
143
|
-
AAAAEwBMAGkAZwBoAHQAIABTAHAAcgBpAG4AZwAtAEcAcgBlAGUAbgAAAABm
|
144
|
-
AMwAMwAAAAAAABQATQBlAGQAaQB1AG0AIABTAHAAcgBpAG4AZwAtAEcAcgBl
|
145
|
-
AGUAbgAAAAAzAJkAAAAAAAAAABIARABhAHIAawAgAFMAcAByAGkAbgBnAC0A
|
146
|
-
RwByAGUAZQBuAAAAAGYA/wAzAAAAAAAAEwBMAGkAZwBoAHQAIABHAHIAZQBl
|
147
|
-
AG4ALQBTAHAAcgBpAG4AZwAAAAAzAMwAAAAAAAAAABIARABhAHIAawAgAEcA
|
148
|
-
cgBlAGUAbgAtAFMAcAByAGkAbgBnAAAAADMA/wAAAAAAAAAAEwBHAHIAZQBl
|
149
|
-
AG4ALQBHAHIAZQBlAG4ALQBTAHAAcgBpAG4AZwAAAAAAAP8AAAAAAAAAAAYA
|
150
|
-
RwByAGUAZQBuAAAAADMA/wAzAAAAAAAAEQBMAGkAZwBoAHQAIABIAGEAcgBk
|
151
|
-
ACAARwByAGUAZQBuAAAAAAAAzAAAAAAAAAAAEABEAGEAcgBrACAASABhAHIA
|
152
|
-
ZAAgAEcAcgBlAGUAbgAAAABmAP8AZgAAAAAAABIATABpAGcAaAB0ACAARgBh
|
153
|
-
AGQAZQBkACAARwByAGUAZQBuAAAAADMAzAAzAAAAAAAAEwBNAGUAZABpAHUA
|
154
|
-
bQAgAEYAYQBkAGUAZAAgAEcAcgBlAGUAbgAAAAAAAJkAAAAAAAAAABEARABh
|
155
|
-
AHIAawAgAEYAYQBkAGUAZAAgAEcAcgBlAGUAbgAAAACZAP8AmQAAAAAAABAA
|
156
|
-
UABhAGwAZQAgAEQAdQBsAGwAIABHAHIAZQBlAG4AAAAAZgDMAGYAAAAAAAAR
|
157
|
-
AEwAaQBnAGgAdAAgAEQAdQBsAGwAIABHAHIAZQBlAG4AAAAAMwCZADMAAAAA
|
158
|
-
AAAQAEQAYQByAGsAIABEAHUAbABsACAARwByAGUAZQBuAAAAAAAAZgAAAAAA
|
159
|
-
AAAAEwBPAGIAcwBjAHUAcgBlACAARAB1AGwAbAAgAEcAcgBlAGUAbgAAAADM
|
160
|
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-
AEQAYQByAGsAIABEAHUAbABsACAAVABlAGEAbAAAAAAAAGYAMwAAAAAAABIA
|
178
|
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-
AHUAcgBlACAARAB1AGwAbAAgAEMAeQBhAG4AAAAAzAD/AP8AAAAAAAAPAFAA
|
196
|
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-
IABEAHUAbABsACAAQQB6AHUAcgBlAAAAAAAAZgD/AAAAAAAAEQBBAHoAdQBy
|
215
|
-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
-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
-
AGUAZABpAHUAbQAgAEEAegB1AHIAZQAtAEIAbAB1AGUAAAAAAAAzAJkAAAAA
|
218
|
-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
-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
-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
-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
-
AP8AAAAAAAAFAEIAbAB1AGUAAAAAMwAzAP8AAAAAAAAQAEwAaQBnAGgAdAAg
|
223
|
-
AEgAYQByAGQAIABCAGwAdQBlAAAAAAAAAADMAAAAAAAADwBEAGEAcgBrACAA
|
224
|
-
SABhAHIAZAAgAEIAbAB1AGUAAAAAZgBmAP8AAAAAAAARAEwAaQBnAGgAdAAg
|
225
|
-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
-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
-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
-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
-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
-
YQByAGsAIABEAHUAbABsACAAQgBsAHUAZQAAAAAAAAAAZgAAAAAAABIATwBi
|
231
|
-
AHMAYwB1AHIAZQAgAEQAdQBsAGwAIABCAGwAdQBlAAAAAMwAzAD/AAAAAAAA
|
232
|
-
DwBQAGEAbABlACAAVwBlAGEAawAgAEIAbAB1AGUAAAAAmQCZAMwAAAAAAAAQ
|
233
|
-
AEwAaQBnAGgAdAAgAFcAZQBhAGsAIABCAGwAdQBlAAAAAGYAZgCZAAAAAAAA
|
234
|
-
EQBNAGUAZABpAHUAbQAgAFcAZQBhAGsAIABCAGwAdQBlAAAAADMAMwBmAAAA
|
235
|
-
AAAADwBEAGEAcgBrACAAVwBlAGEAawAgAEIAbAB1AGUAAAAAAAAAADMAAAAA
|
236
|
-
AAASAE8AYgBzAGMAdQByAGUAIABXAGUAYQBrACAAQgBsAHUAZQAAAAAzAAAA
|
237
|
-
/wAAAAAAABEAQgBsAHUAZQAtAEIAbAB1AGUALQBWAGkAbwBsAGUAdAAAAABm
|
238
|
-
ADMA/wAAAAAAABIATABpAGcAaAB0ACAAQgBsAHUAZQAtAFYAaQBvAGwAZQB0
|
239
|
-
AAAAADMAAADMAAAAAAAAEQBEAGEAcgBrACAAQgBsAHUAZQAtAFYAaQBvAGwA
|
240
|
-
ZQB0AAAAAJkAZgD/AAAAAAAAEgBMAGkAZwBoAHQAIABWAGkAbwBsAGUAdAAt
|
241
|
-
AEIAbAB1AGUAAAAAZgAzAMwAAAAAAAATAE0AZQBkAGkAdQBtACAAVgBpAG8A
|
242
|
-
bABlAHQALQBCAGwAdQBlAAAAADMAAACZAAAAAAAAEQBEAGEAcgBrACAAVgBp
|
243
|
-
AG8AbABlAHQALQBCAGwAdQBlAAAAAGYAAAD/AAAAAAAAEwBWAGkAbwBsAGUA
|
244
|
-
dAAtAFYAaQBvAGwAZQB0AC0AQgBsAHUAZQAAAACZADMA/wAAAAAAABIATABp
|
245
|
-
AGcAaAB0ACAASABhAHIAZAAgAFYAaQBvAGwAZQB0AAAAAGYAAADMAAAAAAAA
|
246
|
-
EQBEAGEAcgBrACAASABhAHIAZAAgAFYAaQBvAGwAZQB0AAAAAMwAmQD/AAAA
|
247
|
-
AAAAEQBQAGEAbABlACAARAB1AGwAbAAgAFYAaQBvAGwAZQB0AAAAAJkAZgDM
|
248
|
-
AAAAAAAAEgBMAGkAZwBoAHQAIABEAHUAbABsACAAVgBpAG8AbABlAHQAAAAA
|
249
|
-
ZgAzAJkAAAAAAAARAEQAYQByAGsAIABEAHUAbABsACAAVgBpAG8AbABlAHQA
|
250
|
-
AAAAMwAAAGYAAAAAAAAUAE8AYgBzAGMAdQByAGUAIABEAHUAbABsACAAVgBp
|
251
|
-
AG8AbABlAHQAAAAAmQAAAP8AAAAAAAAWAFYAaQBvAGwAZQB0AC0AVgBpAG8A
|
252
|
-
bABlAHQALQBNAGEAZwBlAG4AdABhAAAAAMwAZgD/AAAAAAAAFQBMAGkAZwBo
|
253
|
-
AHQAIABWAGkAbwBsAGUAdAAtAE0AYQBnAGUAbgB0AGEAAAAAmQAzAMwAAAAA
|
254
|
-
AAAWAE0AZQBkAGkAdQBtACAAVgBpAG8AbABlAHQALQBNAGEAZwBlAG4AdABh
|
255
|
-
AAAAAGYAAACZAAAAAAAAFABEAGEAcgBrACAAVgBpAG8AbABlAHQALQBNAGEA
|
256
|
-
ZwBlAG4AdABhAAAAAMwAMwD/AAAAAAAAFQBMAGkAZwBoAHQAIABNAGEAZwBl
|
257
|
-
AG4AdABhAC0AVgBpAG8AbABlAHQAAAAAmQAAAMwAAAAAAAAUAEQAYQByAGsA
|
258
|
-
IABNAGEAZwBlAG4AdABhAC0AVgBpAG8AbABlAHQAAAAAzAAAAP8AAAAAAAAX
|
259
|
-
AE0AYQBnAGUAbgB0AGEALQBNAGEAZwBlAG4AdABhAC0AVgBpAG8AbABlAHQA
|
260
|
-
AAAA/wAAAP8AAAAAAAAIAE0AYQBnAGUAbgB0AGEAAAAA/wAzAP8AAAAAAAAT
|
261
|
-
AEwAaQBnAGgAdAAgAEgAYQByAGQAIABNAGEAZwBlAG4AdABhAAAAAMwAAADM
|
262
|
-
AAAAAAAAEgBEAGEAcgBrACAASABhAHIAZAAgAE0AYQBnAGUAbgB0AGEAAAAA
|
263
|
-
/wBmAP8AAAAAAAAUAEwAaQBnAGgAdAAgAEYAYQBkAGUAZAAgAE0AYQBnAGUA
|
264
|
-
bgB0AGEAAAAAzAAzAMwAAAAAAAAVAE0AZQBkAGkAdQBtACAARgBhAGQAZQBk
|
265
|
-
ACAATQBhAGcAZQBuAHQAYQAAAACZAAAAmQAAAAAAABMARABhAHIAawAgAEYA
|
266
|
-
YQBkAGUAZAAgAE0AYQBnAGUAbgB0AGEAAAAA/wCZAP8AAAAAAAASAFAAYQBs
|
267
|
-
AGUAIABEAHUAbABsACAATQBhAGcAZQBuAHQAYQAAAADMAGYAzAAAAAAAABMA
|
268
|
-
TABpAGcAaAB0ACAARAB1AGwAbAAgAE0AYQBnAGUAbgB0AGEAAAAAmQAzAJkA
|
269
|
-
AAAAAAASAEQAYQByAGsAIABEAHUAbABsACAATQBhAGcAZQBuAHQAYQAAAABm
|
270
|
-
AAAAZgAAAAAAABUATwBiAHMAYwB1AHIAZQAgAEQAdQBsAGwAIABNAGEAZwBl
|
271
|
-
AG4AdABhAAAAAP8AzAD/AAAAAAAAEgBQAGEAbABlACAAVwBlAGEAawAgAE0A
|
272
|
-
YQBnAGUAbgB0AGEAAAAAzACZAMwAAAAAAAATAEwAaQBnAGgAdAAgAFcAZQBh
|
273
|
-
AGsAIABNAGEAZwBlAG4AdABhAAAAAJkAZgCZAAAAAAAAFABNAGUAZABpAHUA
|
274
|
-
bQAgAFcAZQBhAGsAIABNAGEAZwBlAG4AdABhAAAAAGYAMwBmAAAAAAAAEgBE
|
275
|
-
AGEAcgBrACAAVwBlAGEAawAgAE0AYQBnAGUAbgB0AGEAAAAAMwAAADMAAAAA
|
276
|
-
AAAVAE8AYgBzAGMAdQByAGUAIABXAGUAYQBrACAATQBhAGcAZQBuAHQAYQAA
|
277
|
-
AAD/AAAAzAAAAAAAABUATQBhAGcAZQBuAHQAYQAtAE0AYQBnAGUAbgB0AGEA
|
278
|
-
LQBQAGkAbgBrAAAAAP8AMwDMAAAAAAAAEwBMAGkAZwBoAHQAIABNAGEAZwBl
|
279
|
-
AG4AdABhAC0AUABpAG4AawAAAADMAAAAmQAAAAAAABIARABhAHIAawAgAE0A
|
280
|
-
YQBnAGUAbgB0AGEALQBQAGkAbgBrAAAAAP8AZgDMAAAAAAAAEwBMAGkAZwBo
|
281
|
-
AHQAIABQAGkAbgBrAC0ATQBhAGcAZQBuAHQAYQAAAADMADMAmQAAAAAAABQA
|
282
|
-
TQBlAGQAaQB1AG0AIABQAGkAbgBrAC0ATQBhAGcAZQBuAHQAYQAAAACZAAAA
|
283
|
-
ZgAAAAAAABIARABhAHIAawAgAFAAaQBuAGsALQBNAGEAZwBlAG4AdABhAAAA
|
284
|
-
AP8AAACZAAAAAAAAEgBQAGkAbgBrAC0AUABpAG4AawAtAE0AYQBnAGUAbgB0
|
285
|
-
AGEAAAAA/wAzAJkAAAAAAAAQAEwAaQBnAGgAdAAgAEgAYQByAGQAIABQAGkA
|
286
|
-
bgBrAAAAAMwAAABmAAAAAAAADwBEAGEAcgBrACAASABhAHIAZAAgAFAAaQBu
|
287
|
-
AGsAAAAA/wCZAMwAAAAAAAAPAFAAYQBsAGUAIABEAHUAbABsACAAUABpAG4A
|
288
|
-
awAAAADMAGYAmQAAAAAAABAATABpAGcAaAB0ACAARAB1AGwAbAAgAFAAaQBu
|
289
|
-
AGsAAAAAmQAzAGYAAAAAAAAPAEQAYQByAGsAIABEAHUAbABsACAAUABpAG4A
|
290
|
-
awAAAABmAAAAMwAAAAAAABIATwBiAHMAYwB1AHIAZQAgAEQAdQBsAGwAIABQ
|
291
|
-
AGkAbgBrAAAAAP8AAABmAAAAAAAADgBQAGkAbgBrAC0AUABpAG4AawAtAFIA
|
292
|
-
ZQBkAAAAAP8AZgCZAAAAAAAADwBMAGkAZwBoAHQAIABQAGkAbgBrAC0AUgBl
|
293
|
-
AGQAAAAAzAAzAGYAAAAAAAAQAE0AZQBkAGkAdQBtACAAUABpAG4AawAtAFIA
|
294
|
-
ZQBkAAAAAJkAAAAzAAAAAAAADgBEAGEAcgBrACAAUABpAG4AawAtAFIAZQBk
|
295
|
-
AAAAAP8AMwBmAAAAAAAADwBMAGkAZwBoAHQAIABSAGUAZAAtAFAAaQBuAGsA
|
296
|
-
AAAAzAAAADMAAAAAAAAOAEQAYQByAGsAIABSAGUAZAAtAFAAaQBuAGsAAAAA
|
297
|
-
/wAAADMAAAAAAAANAFIAZQBkAC0AUgBlAGQALQBQAGkAbgBrAAA=
|
298
|
-
EOS
|
299
|
-
|
300
|
-
EXERCISE = <<-EOS
|
301
|
-
AAIABwAAHgA8AFoAAAAAAAAEAFIARwBCAAAAAQKPGZn//wAAAAAABABIAFMA
|
302
|
-
QgAAAAIMzH//GZn//wAAAAUAQwBNAFkASwAAAAcbWOiQG1gAAAAAAAQATABB
|
303
|
-
AEIAAAAIFXwAAAAAAAAAAAAFAEcAcgBhAHkAAAAJCcQNrBGUBdwAAAAGAFcA
|
304
|
-
QwBNAFkASwAAAA0JxA2sEZQF3AAAAAsAVQBOAEsATgBPAFcATgAgADEAMwAA
|
305
|
-
EOS
|
306
|
-
|
307
|
-
# http://www.visibone.com/swatches/VisiBone.aco
|
308
|
-
# http://www.visibone.com/swatches/VisiBone2.aco
|
309
|
-
# http://www.visibone.com/swatches/VisiBone2_km.psppalette
|
310
|
-
# http://www.visibone.com/swatches/VisiBone2_km.pal
|
311
|
-
# http://www.visibone.com/swatches/VisiBone2_vaccc.ai
|
312
|
-
# http://www.visibone.com/swatches/VisiBone.gimp
|
313
|
-
# http://www.visibone.com/swatches/VisiBone.act
|
314
|
-
|
315
|
-
def setup
|
316
|
-
@filename = "test#{Process.pid}.aco"
|
317
|
-
end
|
318
|
-
|
319
|
-
def teardown
|
320
|
-
require 'fileutils'
|
321
|
-
FileUtils.rm_f @filename if File.exist? @filename
|
322
|
-
end
|
323
|
-
|
324
|
-
def test_version1
|
325
|
-
v1 = VISIBONE_V1.unpack("m*")[0]
|
326
|
-
@aco = AdobeColor.new(v1)
|
327
|
-
assert_equal(216, @aco.size)
|
328
|
-
assert_equal(1, @aco.version)
|
329
|
-
assert_equal({:rgb => 216}, @aco.statistics)
|
330
|
-
assert_equal(Color::RGB::White, @aco[0])
|
331
|
-
assert_equal("#ff0033", @aco[-1].html)
|
332
|
-
assert_equal(v1, @aco.to_aco)
|
333
|
-
end
|
334
|
-
|
335
|
-
def test_version2
|
336
|
-
v2 = VISIBONE_V2.unpack("m*")[0]
|
337
|
-
@aco = AdobeColor.new(v2)
|
338
|
-
assert_equal(216, @aco.size)
|
339
|
-
assert_equal(2, @aco.version)
|
340
|
-
assert_equal({:rgb => 216}, @aco.statistics)
|
341
|
-
assert_equal(Color::RGB::White, @aco[0])
|
342
|
-
assert_equal(Color::RGB::White,
|
343
|
-
@aco["\000W\000h\000i\000t\000e"][0])
|
344
|
-
assert_equal("#ff0033", @aco[-1].html)
|
345
|
-
assert_equal("#ff0033",
|
346
|
-
@aco["\000R\000e\000d\000-\000R\000e\000d\000-\000P\000i\000n\000k"][0].html)
|
347
|
-
assert_equal(v2, @aco.to_aco)
|
348
|
-
end
|
349
|
-
|
350
|
-
def test_bogus
|
351
|
-
o = VISIBONE_V2.unpack("m*")[0]
|
352
|
-
v = o.dup
|
353
|
-
v[0, 2] = [ 322 ].pack("n") # break the version
|
354
|
-
assert_raises(RuntimeError) { AdobeColor.new(v) }
|
355
|
-
v = o.dup
|
356
|
-
v[2, 2] = [ 217 ].pack("n") # break the colour count
|
357
|
-
assert_raises(IndexError) { @aco = AdobeColor.new(v) }
|
358
|
-
v = o.dup
|
359
|
-
v[14, 2] = [ 99 ].pack("n") # break the NULL before the name
|
360
|
-
assert_raises(IndexError) { @aco = AdobeColor.new(v) }
|
361
|
-
v = o.dup
|
362
|
-
v[16, 2] = [ 18 ].pack("n") # break the length of the name
|
363
|
-
assert_raises(IndexError) { @aco = AdobeColor.new(v) }
|
364
|
-
v = o.dup
|
365
|
-
v[28, 2] = [ 99 ].pack("n") # break the trailing null of the name
|
366
|
-
end
|
367
|
-
|
368
|
-
def test_exercise
|
369
|
-
File.open(@filename, "wb") do |f|
|
370
|
-
f.write EXERCISE.unpack("m*")[0]
|
371
|
-
end
|
372
|
-
@aco = AdobeColor.from_file(@filename)
|
373
|
-
assert_equal(5, @aco.size)
|
374
|
-
assert_equal(7, @aco.instance_variable_get(:@order).size)
|
375
|
-
end
|
376
|
-
|
377
|
-
def test_each
|
378
|
-
v1 = VISIBONE_V1.unpack("m*")[0]
|
379
|
-
@aco = AdobeColor.new(v1)
|
380
|
-
@aco.each { |c| assert_kind_of(Color::RGB, c) }
|
381
|
-
end
|
382
|
-
|
383
|
-
def test_each_name
|
384
|
-
v2 = VISIBONE_V2.unpack("m*")[0]
|
385
|
-
@aco = AdobeColor.new(v2)
|
386
|
-
assert_equal(216, @aco.size)
|
387
|
-
assert_equal(2, @aco.version)
|
388
|
-
@aco.each_name do |n, s|
|
389
|
-
assert_equal(0, n[0]) if RUBY_VERSION < "1.9"
|
390
|
-
assert_equal(1, s.size)
|
391
|
-
assert_kind_of(Color::RGB, s[0])
|
392
|
-
end
|
393
|
-
end
|
394
|
-
|
395
|
-
def test_values_at
|
396
|
-
v2 = VISIBONE_V2.unpack("m*")[0]
|
397
|
-
@aco = AdobeColor.new(v2)
|
398
|
-
assert_equal(216, @aco.size)
|
399
|
-
assert_equal(2, @aco.version)
|
400
|
-
assert_equal([Color::RGB::White, Color::RGB.from_html("#ff0033")],
|
401
|
-
@aco.values_at(0, -1))
|
402
|
-
end
|
403
|
-
end
|
404
|
-
end
|
405
|
-
end
|
data/test/test_css.rb
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
require 'color'
|
2
|
-
require 'color/css'
|
3
|
-
require 'minitest_helper'
|
4
|
-
|
5
|
-
module TestColor
|
6
|
-
class TestCSS < Minitest::Test
|
7
|
-
def test_index_with_known_name
|
8
|
-
assert_same(Color::RGB::AliceBlue, Color::CSS[:aliceblue])
|
9
|
-
assert_same(Color::RGB::AliceBlue, Color::CSS["AliceBlue"])
|
10
|
-
assert_same(Color::RGB::AliceBlue, Color::CSS["aliceBlue"])
|
11
|
-
assert_same(Color::RGB::AliceBlue, Color::CSS["aliceblue"])
|
12
|
-
assert_same(Color::RGB::AliceBlue, Color::CSS[:AliceBlue])
|
13
|
-
end
|
14
|
-
|
15
|
-
def test_index_with_unknown_name
|
16
|
-
assert_equal(nil, Color::CSS['redx'])
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|