コンテンツにスキップ

色の名前

出せる色は 256 色です。赤 3 ビット、緑 3 ビット、青 2 ビットを 1 バイトに詰めた 形 (RGB332) で、色を指定するところではこのバイトをそのまま書けます (0x1F など)。ただ、 ほとんどの色には名前も付いています。人が編集するファイルを人が読める状態に保つのは、 名前の方です。

名前は web のもので、本体が出せる 256 色に対応づけてあります。対応づけると重なる名前が 出るので (3-3-2 の格子では ivory と snow を区別できません)、一覧は 2 つに分かれています。 異なる色に 1 つずつ付いた 78 個と、すでに一覧にある色に重なる 23 個です。どちらも受け付け ますが、選択画面が示すのも、ファイルに書かれるのも 78 個の方です。

78 個

見本の色は、本体が展開したとおりの色です。ここで大まかに見える色は、画面でも同じように 見えます。

black
0x00
white
0xFF
red
0xE0
lime
0x1C
blue
0x03
yellow
0xFC
cyan
0x1F
magenta
0xE3
silver
0xB6
gray
0x92
maroon
0x80
olive
0x90
green
0x10
purple
0x82
teal
0x12
navy
0x02
orange
0xF4
gold
0xF8
pink
0xF6
hotpink
0xEE
deeppink
0xE6
crimson
0xC5
firebrick
0xA4
tomato
0xED
salmon
0xF1
orangered
0xE8
darkorange
0xF0
khaki
0xFA
tan
0xD6
peru
0xD1
chocolate
0xCC
saddlebrown
0x88
sienna
0x89
darkkhaki
0xB5
yellowgreen
0x99
olivedrab
0x70
greenyellow
0xBD
chartreuse
0x7C
springgreen
0x1D
limegreen
0x39
forestgreen
0x30
darkgreen
0x0C
seagreen
0x31
mediumseagreen
0x55
lightgreen
0x9E
darkseagreen
0x96
aquamarine
0x7E
turquoise
0x5A
darkturquoise
0x1A
lightseagreen
0x36
lightcyan
0xDF
paleturquoise
0xBF
powderblue
0xBB
skyblue
0x9B
deepskyblue
0x17
dodgerblue
0x33
cornflowerblue
0x73
steelblue
0x52
royalblue
0x4F
midnightblue
0x25
slateblue
0x6A
mediumpurple
0x8F
blueviolet
0x87
darkorchid
0x86
mediumorchid
0xAA
orchid
0xCF
violet
0xF3
plum
0xD3
thistle
0xD7
lavender
0xDB
indigo
0x42
mediumvioletred
0xA6
palevioletred
0xCE
mistyrose
0xFB
lightgray
0xDA
dimgray
0x6D
lightslategray
0x72
darkslategray
0x29

これも受け付けます

ファイルに書いても、シェルで打っても通ります。解決する先は右の色です。名前を聞き返すと、 そちらの名前が返ります。

受け付ける名前 同じ色になるもの
darkred maroon 0x80
coral tomato 0xED
lightyellow white 0xFF
ivory white 0xFF
beige white 0xFF
wheat khaki 0xFA
brown firebrick 0xA4
lawngreen chartreuse 0x7C
palegreen lightgreen 0x9E
darkcyan teal 0x12
mediumblue navy 0x02
darkblue navy 0x02
darkviolet purple 0x82
darkmagenta purple 0x82
lightpink pink 0xF6
darkgray silver 0xB6
slategray lightslategray 0x72
gainsboro lavender 0xDB
whitesmoke white 0xFF
snow white 0xFF
azure white 0xFF
honeydew white 0xFF
linen white 0xFF

名前が使える場所

/home/colors.toml bg = "midnightblue"
シェルの color コマンド color bg skybluecolor names で 78 個を並べます
エディタの Colors ダイアログ 書き込む先は同じファイルです
アプリから (FmrbColors) 下記

アプリから (FmrbColors)

メソッド
FmrbColors.by_name("skyblue") 値。こちらの名前でなければ nil
FmrbColors.to_color(str) 同じですが、"0x1F""31" も受け付けます
FmrbColors.to_text(value) その名前。無ければ "0x1F" の形。ファイルに書かれるのはこれです
FmrbColors.name_of(value) その名前、無ければ nil
FmrbColors.palette_size / name_at(i) / palette_value(i) 78 個を順に見る。選択画面はこれで作ります
FmrbColors.shade(色, avoid = nil) 一段暗い色。暗くすると avoid や元の色と同じになるときは明るい方へ。エディタの 2 本のバーはこれで作っています
FmrbColors.section("editor") 利用者の配色ファイルのその節を Hash で

こちらの名前でないものは、色ではなく nil になります。これは意図的です。配色ファイルの 打ち間違いで、アプリが真っ黒に塗られるのではなく、テーマの色がそのまま残ります。

関連