色の名前¶
出せる色は 256 色です。赤 3 ビット、緑 3 ビット、青 2 ビットを 1 バイトに詰めた
形 (RGB332) で、色を指定するところではこのバイトをそのまま書けます (0x1F など)。ただ、
ほとんどの色には名前も付いています。人が編集するファイルを人が読める状態に保つのは、
名前の方です。
名前は web のもので、本体が出せる 256 色に対応づけてあります。対応づけると重なる名前が 出るので (3-3-2 の格子では ivory と snow を区別できません)、一覧は 2 つに分かれています。 異なる色に 1 つずつ付いた 78 個と、すでに一覧にある色に重なる 23 個です。どちらも受け付け ますが、選択画面が示すのも、ファイルに書かれるのも 78 個の方です。
78 個¶
見本の色は、本体が展開したとおりの色です。ここで大まかに見える色は、画面でも同じように 見えます。
black0x00
white0xFF
red0xE0
lime0x1C
blue0x03
yellow0xFC
cyan0x1F
magenta0xE3
silver0xB6
gray0x92
maroon0x80
olive0x90
green0x10
purple0x82
teal0x12
navy0x02
orange0xF4
gold0xF8
pink0xF6
hotpink0xEE
deeppink0xE6
crimson0xC5
firebrick0xA4
tomato0xED
salmon0xF1
orangered0xE8
darkorange0xF0
khaki0xFA
tan0xD6
peru0xD1
chocolate0xCC
saddlebrown0x88
sienna0x89
darkkhaki0xB5
yellowgreen0x99
olivedrab0x70
greenyellow0xBD
chartreuse0x7C
springgreen0x1D
limegreen0x39
forestgreen0x30
darkgreen0x0C
seagreen0x31
mediumseagreen0x55
lightgreen0x9E
darkseagreen0x96
aquamarine0x7E
turquoise0x5A
darkturquoise0x1A
lightseagreen0x36
lightcyan0xDF
paleturquoise0xBF
powderblue0xBB
skyblue0x9B
deepskyblue0x17
dodgerblue0x33
cornflowerblue0x73
steelblue0x52
royalblue0x4F
midnightblue0x25
slateblue0x6A
mediumpurple0x8F
blueviolet0x87
darkorchid0x86
mediumorchid0xAA
orchid0xCF
violet0xF3
plum0xD3
thistle0xD7
lavender0xDB
indigo0x42
mediumvioletred0xA6
palevioletred0xCE
mistyrose0xFB
lightgray0xDA
dimgray0x6D
lightslategray0x72
darkslategray0x29
これも受け付けます¶
ファイルに書いても、シェルで打っても通ります。解決する先は右の色です。名前を聞き返すと、 そちらの名前が返ります。
| 受け付ける名前 | 同じ色になるもの | |
|---|---|---|
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 skyblue。color 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 になります。これは意図的です。配色ファイルの
打ち間違いで、アプリが真っ黒に塗られるのではなく、テーマの色がそのまま残ります。
関連¶
- 配色 (
colors.toml) — アプリの色を上書きする - システム設定 — システムのテーマの 9 色
- 描画 —
FmrbGfx自身の色定数と RGB332