Por que o texto no terminal tem apenas dezesseis cores

Conteúdo

Se você prestou muita atenção à janela do terminal Linux, ou o console do Windows, você pode notar que o texto vem apenas em um conjunto limitado de cores. Por que as cores são assim?? A maneira que a IBM escolheu para renderizar a cor do texto no PC original definiu o padrão para a cor do texto a seguir.

O computador pessoal IBM original da 1981 usou uma tela monocromática, onde todo o texto era verde em um fundo preto simples. Pouco depois, IBM apresentou o Color Graphics Adapter, o CGA, quem foi o primeiro a admitir cor. Naqueles primeiros dias da história do PC, memória era limitada, então a IBM espremeu a maioria das funções desses dados limitados.

Ele pode exibir qualquer cor combinando diferentes quantidades de luz vermelha, puro verde e azul. Esta combinação de vermelho + verde + azul (sobre “RGB”) é a base para todas as cores do PC. Vamos começar com o caso mais simples, onde você pode misturar quantidades iguais de luz vermelha, verde e azul. Representar essa combinação precisa de um valor de “em” o “desligado” para cada componente de “RGB”. E lembre-se que um “em” o “desligado” também é chamado “pedaço” em terminologia computacional: 1 o 0.

Nesse caso mais simples, pode cuidar para que um bit represente cada cor: vermelho, verde e azul. Se algum dos bits “RGB” for 1, então mostra luz vermelha, verde ou azul em intensidade total. Isso dá oito cores possíveis:

000 negro
001 azul
010 verde
011 cian
100 vermelho
101 Magenta
110 Amarelo
111 Branco

Você pode dobrar o número de cores adicionando um pouco mais, e é assim que a IBM definiu o padrão CGA. Em vez de apenas três bits como “RGB”, CGA implementou cores como “iRGB”, onde a primeira parte foi o “intensidade”. Se o primeiro bit for definido como 1, então o PC exibiria a cor com brilho total. Se o primeiro bit fosse definido como 0, então mostraria a cor com um brilho menor.

A IBM realmente implementou um modelo “iRGB” modificado. Se o pouco de “intensidade” era 0, então qualquer 1 sobre “RGB” significava que as cores vermelhas, verde ou azul foram definidos para brilho de dois terços. E se o pouco de “intensidade” era 1, então qualquer 1 sobre “RGB” significava que vermelho, verde ou azul foi definido com brilho total, mas qualquer 0 sobre “RGB” foi definido para um terço de brilho. A única exceção foi 0110, que recebeu um terceiro brilho verde (“G”), que converteu o “amarelo de baixa intensidade” em uma cor laranja ou marrom.

0000 negro 1000 preto brilhante
0001 Azul 1001 azul claro
0010 Verde 1010 Verde brilhante
0011 Cian 1011 Ciano brilhante
0100 vermelho 1100 vermelho brilhante
0101 Magenta 1101 Magenta brilhante
0110 marrom 1110 Amarelo
0111 Branco 1111 Branco brilhante

Com este modelo “iRGB”, CGA foi capaz de exibir dezesseis cores: oito cores de “baixa intensidade” e oito cores de “alta intensidade”. Por outras razões técnicas, o PC só poderia exibir todas as oito cores de “baixa intensidade” como cores de fundo. Mas o texto em primeiro plano pode tirar proveito das dezesseis cores.

Na atualidade, emuladores de terminal como o Terminal GNOME permitem que você mude a paleta de cores. Dependendo das cores que você escolher, você pode ver cores diferentes das mostradas aqui, mas ainda limitado a dezesseis cores de texto e oito cores de fundo.

Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.