Created
March 6, 2024 19:47
-
-
Save viridia/0143965eaa7805145a115b85b04b79fd to your computer and use it in GitHub Desktop.
Python script to generate bevy_color tables
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
X11_COLORS = ''' | |
alice_blue #F0F8FF 240 248 255 | |
antique_white #FAEBD7 250 235 215 | |
aqua #00FFFF 0 255 255 | |
aquamarine #7FFFD4 127 255 212 | |
azure #F0FFFF 240 255 255 | |
beige #F5F5DC 245 245 220 | |
bisque #FFE4C4 255 228 196 | |
black #000000 0 0 0 | |
blanched_almond #FFEBCD 255 235 205 | |
blue #0000FF 0 0 255 | |
blue_violet #8A2BE2 138 43 226 | |
brown #A52A2A 165 42 42 | |
burlywood #DEB887 222 184 135 | |
cadet_blue #5F9EA0 95 158 160 | |
chartreuse #7FFF00 127 255 0 | |
chocolate #D2691E 210 105 30 | |
coral #FF7F50 255 127 80 | |
cornflower_blue #6495ED 100 149 237 | |
cornsilk #FFF8DC 255 248 220 | |
crimson #DC143C 220 20 60 | |
cyan #00FFFF 0 255 255 | |
dark_blue #00008B 0 0 139 | |
dark_cyan #008B8B 0 139 139 | |
dark_goldenrod #B8860B 184 134 11 | |
dark_gray #A9A9A9 169 169 169 | |
dark_green #006400 0 100 0 | |
dark_grey #A9A9A9 169 169 169 | |
dark_khaki #BDB76B 189 183 107 | |
dark_magenta #8B008B 139 0 139 | |
dark_olivegreen #556B2F 85 107 47 | |
dark_orange #FF8C00 255 140 0 | |
dark_orchid #9932CC 153 50 204 | |
dark_red #8B0000 139 0 0 | |
dark_salmon #E9967A 233 150 122 | |
dark_sea_green #8FBC8F 143 188 143 | |
dark_slate_blue #483D8B 72 61 139 | |
dark_slate_gray #2F4F4F 47 79 79 | |
dark_slate_grey #2F4F4F 47 79 79 | |
dark_turquoise #00CED1 0 206 209 | |
dark_violet #9400D3 148 0 211 | |
deep_pink #FF1493 255 20 147 | |
deep_sky_blue #00BFFF 0 191 255 | |
dim_gray #696969 105 105 105 | |
dim_grey #696969 105 105 105 | |
dodger_blue #1E90FF 30 144 255 | |
fire_brick #B22222 178 34 34 | |
floral_white #FFFAF0 255 250 240 | |
forest_green #228B22 34 139 34 | |
fuchsia #FF00FF 255 0 255 | |
gainsboro #DCDCDC 220 220 220 | |
ghost_white #F8F8FF 248 248 255 | |
gold #FFD700 255 215 0 | |
goldenrod #DAA520 218 165 32 | |
gray #808080 128 128 128 | |
green #008000 0 128 0 | |
green_yellow #ADFF2F 173 255 47 | |
grey #808080 128 128 128 | |
honeydew #F0FFF0 240 255 240 | |
hot_pink #FF69B4 255 105 180 | |
indian_red #CD5C5C 205 92 92 | |
indigo #4B0082 75 0 130 | |
ivory #FFFFF0 255 255 240 | |
khaki #F0E68C 240 230 140 | |
lavender #E6E6FA 230 230 250 | |
lavender_blush #FFF0F5 255 240 245 | |
lawn_green #7CFC00 124 252 0 | |
lemon_chiffon #FFFACD 255 250 205 | |
light_blue #ADD8E6 173 216 230 | |
light_coral #F08080 240 128 128 | |
light_cyan #E0FFFF 224 255 255 | |
light_goldenrod_yellow #FAFAD2 250 250 210 | |
light_gray #D3D3D3 211 211 211 | |
light_green #90EE90 144 238 144 | |
light_grey #D3D3D3 211 211 211 | |
light_pink #FFB6C1 255 182 193 | |
light_salmon #FFA07A 255 160 122 | |
light_sea_green #20B2AA 32 178 170 | |
light_sky_blue #87CEFA 135 206 250 | |
light_slate_gray #778899 119 136 153 | |
light_slate_grey #778899 119 136 153 | |
light_steel_blue #B0C4DE 176 196 222 | |
light_yellow #FFFFE0 255 255 224 | |
lime #00FF00 0 255 0 | |
limegreen #32CD32 50 205 50 | |
linen #FAF0E6 250 240 230 | |
magenta #FF00FF 255 0 255 | |
maroon #800000 128 0 0 | |
medium_aquamarine #66CDAA 102 205 170 | |
medium_blue #0000CD 0 0 205 | |
medium_orchid #BA55D3 186 85 211 | |
medium_purple #9370DB 147 112 219 | |
medium_sea_green #3CB371 60 179 113 | |
medium_slate_blue #7B68EE 123 104 238 | |
medium_spring_green #00FA9A 0 250 154 | |
medium_turquoise #48D1CC 72 209 204 | |
medium_violet_red #C71585 199 21 133 | |
midnight_blue #191970 25 25 112 | |
mint_cream #F5FFFA 245 255 250 | |
misty_rose #FFE4E1 255 228 225 | |
moccasin #FFE4B5 255 228 181 | |
navajo_white #FFDEAD 255 222 173 | |
navy #000080 0 0 128 | |
old_lace #FDF5E6 253 245 230 | |
olive #808000 128 128 0 | |
olive_drab #6B8E23 107 142 35 | |
orange #FFA500 255 165 0 | |
orange_red #FF4500 255 69 0 | |
orchid #DA70D6 218 112 214 | |
pale_goldenrod #EEE8AA 238 232 170 | |
pale_green #98FB98 152 251 152 | |
pale_turquoise #AFEEEE 175 238 238 | |
pale_violetred #DB7093 219 112 147 | |
papaya_whip #FFEFD5 255 239 213 | |
peachpuff #FFDAB9 255 218 185 | |
peru #CD853F 205 133 63 | |
pink #FFC0CB 255 192 203 | |
plum #DDA0DD 221 160 221 | |
powder_blue #B0E0E6 176 224 230 | |
purple #800080 128 0 128 | |
rebecca_purple #663399 102 51 153 | |
red #FF0000 255 0 0 | |
rosy_brown #BC8F8F 188 143 143 | |
royal_blue #4169E1 65 105 225 | |
saddle_brown #8B4513 139 69 19 | |
salmon #FA8072 250 128 114 | |
sandy_brown #F4A460 244 164 96 | |
sea_green #2E8B57 46 139 87 | |
seashell #FFF5EE 255 245 238 | |
sienna #A0522D 160 82 45 | |
silver #C0C0C0 192 192 192 | |
sky_blue #87CEEB 135 206 235 | |
slate_blue #6A5ACD 106 90 205 | |
slate_gray #708090 112 128 144 | |
slate_grey #708090 112 128 144 | |
snow #FFFAFA 255 250 250 | |
spring_green #00FF7F 0 255 127 | |
steel_blue #4682B4 70 130 180 | |
tan #D2B48C 210 180 140 | |
teal #008080 0 128 128 | |
thistle #D8BFD8 216 191 216 | |
tomato #FF6347 255 99 71 | |
turquoise #40E0D0 64 224 208 | |
violet #EE82EE 238 130 238 | |
wheat #F5DEB3 245 222 179 | |
white #FFFFFF 255 255 255 | |
white_smoke #F5F5F5 245 245 245 | |
yellow #FFFF00 255 255 0 | |
yellow_green #9ACD32 154 205 50 | |
''' | |
print('''//! [Extended colors from the CSS4 specification](https://en.wikipedia.org/wiki/Web_colors#Extended_colors), | |
//! Alsow known as X11 colors, which were standardized in HTML 4.0. | |
// This file generated by gen_x11_colors.py. Do not edit directly. | |
use crate::Srgba; | |
''') | |
for line in X11_COLORS.split('\n'): | |
if line: | |
name, hex, r, g, b = line.split(' ') | |
r = round((int(r) / 255) * 1000) / 1000 | |
g = round((int(g) / 255) * 1000) / 1000 | |
b = round((int(b) / 255) * 1000) / 1000 | |
print(f'/// <div style="background-color:rgb({r * 100}%, {g * 100}%, {b * 100}%); width: 10px; padding: 10px; border: 1px solid;"></div>') | |
print(f'pub const {name.upper()}: Srgba = Srgba::new({r}, {g}, {b}, 1.0);') |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment