緑のオレンジ

緑のオレンジは意外に甘酸っぱかったりする。
と思いきや滅茶苦茶酸っぱかったりもする。
あ、これはミカンの話ですね。
小学校の運動会で親が持ってきてくれる緑のミカンとナシは、塩の効いたおにぎり(おむすび?)の後にはこの上ないデザートであった。 でもミカンはオレンジでも、オレンジはミカンじゃなかったりする。

相変わらず、ワケわかんないことほざいてます。
もうちょっと、付き合ってね。
運動会といえば、開会式の体操がラジオ体操から菜の花体操になったのはいつだったっけ?(ごめん、思いっきり千葉県民ネタだった。)

そうそう、HTMLのお勉強ね。では、32ページ開いてください。

え〜、『虹色文字のしくみ』のフォントタグのところでも説明した通り、HTMLで色を指定する方法は2つあります。
COLOR="red"のように、色の名前を指定する方法と、COLOR="#3a90ff"のように赤緑青(RGB)のわりあいをそれぞれ00〜ffの16進数2桁で指定する方法です。

最初の方法では、色の名前を指定するってことだったけど、もちろん“あなた色”とかかいても、だめで、使用できる色の名前は決められてるのです。
NetscapeやMicrosoftのブラウザで使用できる色はこちら(色の名前)

それでは、決められていない色が指定されたらどうなるのか?
今まで気にしたことはなかったが、1998年11月28日のShinoの投稿で判明した。(ブラウザにもよるのだろうが)

色指定で、color="orange"とすべきところを、スペルミスでcolor="orenge"としたのである。
その結果がこれである。
color="orange"の場合→
color="orenge"の場合→
あら不思議、定義されていない名前にもかかわらず色がついている。もちろん、“orenge”なんて名前の色はないので、どっからこの黄緑がでてきたのか不思議であった。

それで、この黄緑がRGBの16進数でどう表されるのか調べてみたところ、#00e00eであった。
color="orenge"の場合→
color="#00e00e"の場合→

ん?
なるへそ!!
そうです、色をRGBの16進数で指定する時に‘#’をつけなくてもちゃんと解釈してくれるので、16進数で使われる文字以外、すなわち0123456789abcdef以外の文字は0に置き換えてるのです。
つまり、"orenge"="00e00e"="#00e00e"ということです。

それならばと、"beckan"="bec0a0"="#bec0a0"ってことか?ということでやってみると...
color="beckan"の場合→
color="#bec0a0"の場合→
おゝ、すんばらしい。これがべっかん色なのですね。(みょ〜に渋いけど...)

かもちぃとみゃが、付き合ってくれたのだが...
まず、みゃの場合"miya"="000a00"="#000a00"てな感じです。6文字未満の場合0が追加されるようですね。
color="miya"の場合→
color="#000a00"の場合→
ということは、"1971"="197100"="#197100"となる。
color="1971"の場合→
color="#197100"の場合→
で、問題はかもちぃなのです。そう、6文字以上の場合。単に、7文字以降を削除すると。
color="kamochy"の場合→
color="#0a00c0"の場合→
うお〜、全然違う!
確かに、color="#0a00c00"とすると、同じ色なんですけどねぇ。
color="#0a00c00"の場合→
で、この色をRGBの16進数でどう表すのか調べてみたところ...
color="#a0c000"の場合→
ということで、どうやら、aとcの前の0が落ちて、さらに最後に0が追加されてるってことですね。
なんとなく見えてきました。
7桁以上の場合、一度0を追加して9桁にするのでしょう。で、再度6桁に落とす。つまり...
"kamochy"="0a00c00"="0a00c0000"="a0c000"="#a0c000"ってことですかね。
じゃ、"1971umare"="197100a0e"="#97000e"かな?
color="1971umare"の場合→
color="#97000e"の場合→
なんなの?一体??
color="#1910a0"の場合→
むむ。
9桁、つまりRGBが3桁づつの場合、頭が0だと、残りの2桁が残り、頭が0以外だと、最初の2桁が残るのか...
"1971umare"="197100a0e"="#1910a0"ってことね。
奥が深すぎるぜ。えっ?10桁以上の場合?
知るもんかい!

そうそう、“あなた色”は、環境によっては、色がついてきます。
color="あなた色"の場合→
結論から言うと、"あなた色"="0000F0"なので、(主にパソコンの場合)
color="0000F0"の場合→
となります。
ここまで来たら、説明しちゃいましょう。では、426ページ開いてください。

上で主にパソコンの場合と書きましたが、WindowsやMacなどは日本語を扱うのに、Shift-JISと呼ばれる文字コードを採用しています。
一方、UNIX系のOSでは、EUC-JPという文字コードが使われています。半角の英数字は基本的に両方同じコードですが、全角文字のコードは全く異なるのです。よって、採用している漢字コードによって見え方が変わってしまうのです。
なぜかというと...
まず、下の表をごらんください。

文字0123456789
コード(共通)30313233343536373839
文字ABCDEF
コード(共通)414243444546
文字abcdef
コード(共通)616263646566
文字
コード(Shift-JIS)82A082C882BD9046
文字
コード(EUC-JP)A4A2A4CAA4BFBFA7

よく見るとShift-JISの‘色’の文字コードの中に‘F’の文字コード46が入ってますね。
つまり、あなた色→82A0-82C8-82BD-9046→82-A0-82-C8-82-BD-90-46→XXXXXXXFとなり、関係のない文字を0にして8桁の16進数にすると、0000000Fとなります。
ここからは先程とおなじ、9桁にして、頭の0をとって6桁にします。
そうすると、"0000000F"="0000000F0"="0000F0"="#0000F0"となります。
で、EUC-JPの場合は、“あなた色”の中に、使用できる文字コードがないため、全て0となってしまいます。つまり黒ってこと。

まぁ、そもそもHTMLの色指定で全角文字使うなんて言語道断ですから。って、COLOR="beckan"なんてのも、ダメなんだけどね。

ってことで、あなたはどんな色?
(半角の数字とアルファベット(最大24文字)しか受け付けませんのであしからず。)


● 1971の裏通り


Copyright© 1999 Beckan. All right reserved.
hillside@hk.airnet.ne.jp