Si ha prestado mucha atención a la ventana de la terminal de Linux, o la consola de Windows, es factible que observe que el texto solo viene en un conjunto limitado de colores. ¿Por qué los colores se ven así? La forma en que IBM eligió representar el color del texto en la PC original estableció el estándar a seguir para el color del texto.
La computadora personal IBM original de 1981 usaba una pantalla monocromática, donde todo el texto era verde sobre un fondo negro liso. Poco después, IBM presentó el Adaptador de gráficos en color, o CGA, que fue el primero en admitir el color. En esos primeros días de la historia de las PC, la memoria era limitada, por lo que IBM exprimió la mayoría de las funciones de esos datos limitados.
Puede mostrar cualquier color combinando diferentes cantidades de luz roja, verde y azul pura. Esta combinación de rojo + verde + azul (o “RGB”) es la base de todos los colores de PC. Comencemos con el caso más simple en el que puede mezclar cantidades iguales de luz roja, verde y azul. Representar esta combinación necesita un valor de «encendido» o «apagado» para cada componente de «RGB». Y recuerde que un «encendido» o «apagado» además se denomina «bit» en la terminología informática: 1 o 0.
En ese caso más simple, puede hacerse cargo que un bit representa cada color: rojo, verde y azul. Si alguno de los bits “RGB” es 1, entonces muestre la luz roja, verde o azul a máxima intensidad. Esto da ocho colores posibles:
000 Negro | |
001 azul | |
010 verde | |
011 cian | |
100 rojo | |
101 Magenta | |
110 Amarillo | |
111 Blanco |
Puede duplicar la cantidad de colores agregando un bit extra, y así es como IBM definió el estándar CGA. En lugar de solo tres bits como «RGB», CGA implementó colores como «iRGB», donde el primer bit fue la «intensidad». Si el primer bit se establece en 1, entonces la PC mostraría el color con brillo total. Si el primer bit se estableciera en 0, entonces mostraría el color con un brillo más bajo.
IBM en realidad implementó un modelo «iRGB» modificado. Si el bit de «intensidad» era 0, entonces cualquier 1 en «RGB» significaba que los colores rojo, verde o azul estaban configurados en dos tercios de brillo. Y si el bit de «intensidad» era 1, entonces cualquier 1 en «RGB» significaba que el rojo, el verde o el azul estaban configurados en brillo completo, pero cualquier 0 en «RGB» se configuraba en un tercio de brillo. La única excepción fue 0110, que recibió un tercio de brillo verde («G»), que convirtió el «amarillo de baja intensidad» en un color naranja o marrón.
0000 Negro | 1000 negro brillante | ||
0001 Azul | 1001 azul brillante | ||
0010 Verde | 1010 verde brillante | ||
0011 Cian | 1011 Cian brillante | ||
0100 Rojo | 1100 rojo brillante | ||
0101 Magenta | 1101 Magenta brillante | ||
0110 Marrón | 1110 Amarillo | ||
0111 Blanco | 1111 Blanco brillante |
Con este modelo «iRGB», CGA fue capaz de mostrar dieciséis colores: ocho colores de «baja intensidad» y ocho colores de «alta intensidad». Por otras razones técnicas, la PC solo podía mostrar los ocho colores de «baja intensidad» como colores de fondo. Pero el texto en primer plano podría aprovechar los dieciséis colores.
En la actualidad, los emuladores de terminal como GNOME Terminal le posibilitan cambiar la paleta de colores. Dependiendo de los colores que elija, es factible que vea colores diferentes a los que se muestran aquí, pero aún está limitado a dieciséis colores de texto y ocho colores de fondo.