LibreOfficeは、もうちょっとした表や図を作るには十分なのだけど、デフォルトだと色が選択しにくい。いくつかプリセットがあるもの、どうもしっくりこなかったので、自分で作った。
ダウンロードはここから: https://github.com/sunnyone/locolor/raw/master/sunnyone.soc
作ってみたはいいものの、使い勝手がいいかどうかはまだわからない。
特徴
色相と明度/彩度の2軸で選択可能
デフォルトのカラーテーブルは一部そういう部分もあるものの、表で見たときけっこうまばらなので選びづらい。順番に並んでいるカラーテーブルもあるのだけど、横8列であることを意識して作られていないので、まだらになってしまっている。
同じ色は縦に並んでいる(似通った濃さは横に並んでいる)
LibreOfficeは一番上のスクリーンショットの通り、2通りの色選択のUIがあり、リスト形式の場合は表の横の順に8つ出てくる。つまり、表の横1列が表示される。オフィスソフトで色を選択するときは、色相よりも先にトーン(濃さだとか)が決まっていることが多いので、同一トーンのものが一画面に出てくると選びやすい(はず)。使い方
一時的に試してみたい場合は、適当に図を挿入して、右クリック→「領域...」でダイアログが出てくるので、「色」タブからフォルダのアイコンをクリックして出てくるファイル選択の画面でsunnyone.socを選べばOK。デフォルトの設定にしてしまいたい場合は、LibreOfficeをいったん閉じたあと、configのディレクトリ(最近のWindowsならC:\Users\(Username)\AppData\Roaming\LibreOffice\4\user\config)のstandard.socをバックアップした後、入れ替えればOK。
作りかた
上の配色が気にいらない場合でも、このカラーテーブルの作りかたは参考になるかもしれないので、一応書いておく。1. 色相を選択する
マンセル環から色をチョイスする。マンセル表色系の色相は、5色とその間の5色、さらに倍…という感じなので、8色はちょっとつらいんだけど、がんばって4色+補色を選んだ。2. 彩度/明度を選択する
マンセル表色系では、色相によって最高彩度が違うのでしんどいのだけど、概ね横の三角形の形をしているので、三角形の頂点を決めたあと、間の点を機械的に選んだ(実際はマンセルの等色相面はいびつな形をしているので、本当はない色があるかもしれない)。詳しくはレポジトリに置いてあるシートを参照。
3. Color::Model::Munsell::Utilを使ってマンセル値からRGB値に変換
マンセル表色系に対応しているライブラリはけっこう少ないのだけど、PerlのColor::Model::Munsell::Utilは対応していたので、これで変換した。マンセル値は直接RGBにはできないので、テーブルでCIE-XYZに変換して、そこからsRGBに変換している(はず)。
出力はLibreOfficeで使っている簡単なXMLにするだけで、完了。
詳しくはリポジトリに置いてあるスクリプトを参照。
Q&A
なんでPCCSじゃないの?
色彩+トーン(彩度・明度)という考え方は、まさしくPCCS向けなのだけど、PCCSは(恐らく)物の色向けで、かつトーンの名前が人の感覚でつけられているので、RGBの世界に持ってくると、この手の世界になじみがない自分にはちょっと違和感があった。なので、類似した感じのマンセル表色系で色をチョイスした。機械的に計算するならHSVのほうがいいんじゃ?
できたあとに思った。実験してみてないのだけど、高明度の色は、HSVで機械的に出したほうがきれいな薄い色になったんじゃないかなーと思ったりもする。が、マンセル値にしておけば、表記が人の理解できる範囲になると思うので、これはこれでいいかなと思っている。
とても勉強になりました。ありがとうございます。しかし、とても残念なことに、当方のLibreOfficeバージョン: 4.2.2.1、OS:Windows7では、色の列が12になってまだらになってしまっています……参考にして、(時間があったら、ですが)12列のものを自作してみたいと思います。
返信削除