X ウィンドウシステムの色の対応

多種類のディスプレイに対応する必要から、X ウィンドウシステムの色の扱い方は複雑になっています。X ウィンドウシステムは、カラーマップおよび色名データベースを使って色に対応しています。この項目は、Reflection X Advantage の構成方法について述べるためではなく、X ウィンドウシステムの色の対応をもっと深く理解したいユーザのために設けられています。

カラーマップ

画面上に見える色は、赤、緑、および青の 3 原色が混合されて造り出されます。これは RGB カラーモデルと呼ばれており、カラーディスプレイでは最も広く用いられている方式です。RGB の色の定義は、X サーバに格納されている (カラーマップと呼ばれる) 対応表の (カラーセルと呼ばれる) 要素に保管されています。X サーバはすべて、色の要求が少ない X クライアントによって利用される (また、共有される) 既定のカラーマップを作成します。色の要求が多い X クライアントは、独自のカラーマップを作成することがあります。

クライアントアプリケーションは、色を使用しようとする時点では、指定された色で描画するために該当するセルに入れるピクセル値や色は指定しません。代わりに、カラーマップ中のカラーセルへのアクセスを要求し、特定のピクセル値を受け取ります。

画面上で利用できる色数はビットプレーン数の関数 (ピクセルの深度。表示可能な色数を決定する) であり、ハードウェアに割り当てられる色数 (各 primary に 8 ビットが使用可能な場合は、約 1,600 万色) です。

X ウィンドウシステムは仮想カラーマップに対応しています。これは、一度に使用できるカラーマップ数が制限されていても任意の数のカラーマップを保持できるようにするためです。仮想カラーマップは、ウィンドウマネージャによって、ハードウェアカラーマップの「スロット」経由で切り換えられます。

ビジュアル

ビジュアルとは、特定の画面の表示形式のことです。ビジュアルには、ディスプレイハードウェアの機能の使用方法に関する情報が含まれています。数種類の応用可能なビジュアルがあります。

ビジュアルの 6 つの分類は、カラー (RGB) か白黒 (Monochrome/Gray) か、カラーマップが読み書き可能 (Read/Write) か、書込み禁止 (Read-only) か、またピクセル値がカラーマップへの単一索引 (Single index) を提供しているか、それとも赤、緑、青に分かれた索引の組み合わせ (Separate indices) を提供しているかなどで区別されます。以下は、ビジュアルの種類 (Visual type) の比較表です。

ビジュアルの種類

読み取り/書き込み

読み取り専用

白黒

陰影 (GrayScale)

単色固定 (StaticGray)

RGB の単一索引

調合色 (PseudoColor)

固定色 (StaticColor)

RGB の索引の組み合わせ

直接色 (DirectColor)

天然色 (TrueColor)

DirectColor に対応する画面は、論理的には 6 つのビジュアル分類のいずれにも対応します。PseudoColor に対応する画面は、GrayScale、StaticColor、または StaticGray にも対応します。画面が GrayScale に対応している場合は、StaticGray にも対応しています。

ある特定のビジュアル分類が論理的にディスプレイハードウェアシステムの能力で対応可能な場合でも、そのビジュアル分類に対応するかどうかは X サーバの能力によって決まります。

関連項目

色の操作