Por que as fontes às vezes parecem "gordas" no Mac OS X?

19

Às vezes, ao retomar da suspensão, as fontes no Mac OS X ficam mais "gordas" do que o normal. Infelizmente, no momento, não consigo fazer com que o meu Macbook Pro exiba o comportamento "normal" para comparação; ele foi anormal ontem e hoje. Se eu conseguir capturas de tela do que acho 'normal', eu as adicionarei.

"Consertando" isso foi aleatório. Uso um monitor externo e, algumas vezes, desconectá-lo e reconectá-lo, ou até mesmo desligá-lo e ligá-lo, funcionou. Às vezes, com a tela conectada (ou não), a detecção de telas funciona. Às vezes, é necessário sair ou reiniciar completamente.

Exibe usado:

  • Ecrã incorporado MacBook Pro de 15 "
  • LCD de 27 "da Dell (modelo 2009)

Software em que vejo isso acontecer, pelo menos mais notavelmente:

  • Firefox (capturas de tela abaixo)
  • iTerm
  • Coisas
  • MacIrssi (screenshots abaixo)

Estou usando o Mac OS X 10.5.8.

Vista "anormal" de MacIrssi com Inconsolata 16 pt.

anormal (Macirssi)

Visualização "anormal" do Firefox.

anormal (Firefox)

Finalmente consegui voltar, embora depois de retomar de suspender as costas para "fat" :-(.

normal (Macirssi)

E 'normal' no Firefox:

normal (Firefox)

jtimberman
fonte
Como você faz com que as fontes voltem ao normal? Reiniciar?
Stephen Jennings
Até agora tem sido aleatório. Às vezes, detectar monitores faz isso, quando eu uso meu monitor externo, liga / desliga ou desconecta e conecta trabalhos, é por isso que estou fazendo essa pergunta, suponho :-).
precisa saber é o seguinte
@ Arjan, atualizei o post. É 'anormal' agora.
precisa
1
Você pode adicionar uma captura de tela agora da versão "anormal"?
Brian Campbell
Porque eles são mais felizes e se sentem mais à vontade na Apple ... então "deixam tudo sair", por assim dizer, amuando sua gordura confortável. E é por isso que algumas fontes em um olhar mais gordo Mac ...

Respostas:

21

O problema fica aparente quando você aumenta o zoom nas imagens:

Zoom na captura de tela de fontes "gordas", mostrando pixels coloridos
Ampliação da captura de tela de fontes "finas", mostrando pixels em escala de cinza

Como você pode ver, a versão mais fina é totalmente em escala de cinza, enquanto a versão mais gorda possui alguns pixels levemente avermelhados e alguns levemente azulados.

Isso ocorre devido ao anti-aliasing de sub-pixel . Na verdade, uma tela LCD não contém pixels quadrados que podem ser de qualquer cor; em vez disso, possui três elementos retangulares finos que são vermelhos, verdes e azuis. (Imagens abaixo da Wikipedia).

Padrões de pixels em vários monitores

Quando as fontes de suavização de serrilhado, em vez de simplesmente usar tons de cinza, você pode variar a intensidade de cada uma das três cores, para permitir render três vezes a resolução horizontal que você pode obter, simplesmente com suavização de borda com tons de cinza. As fotos ampliadas que forneci não representam realmente o que você está vendo; em vez disso, as fontes devem parecer consideravelmente mais suaves devido à forma e ao posicionamento dos pixels. Seria mais preciso torná-lo algo como isto:

Exemplo de texto sem serrilhado de sub-pixel

Então, o que você está vendo é que algumas vezes a fonte está sendo renderizada com anti-aliasing de sub-pixel e outras vezes com o anti-aliasing normal. Eu acho que os algoritmos de anti-aliasing de sub-pixel usados ​​são otimizados para texto em preto sobre fundo branco, o que pode explicar por que o texto parece um pouco "gordo" quando visto como texto em branco sobre fundo preto.

Por outro lado, pode ser simplesmente uma renderização mais precisa da fonte real. Se você olhar para uma versão adequadamente ampliada da mesma fonte, ela parecerá um pouco mais ousada e menos fina que a versão "skinny" mostrada acima:

Exemplo de texto com tamanho de fonte maior

A razão pela qual ele alterna entre as duas versões provavelmente é por causa do seu segundo monitor. Não sei exatamente quando o sistema operacional decide isso ou como o faz, mas provavelmente detecta um LCD com um layout de subpixel desconhecido. Como ele não conhece o layout dos pixels, ele acompanha o anti-aliasing padrão mais seguro (como o anti-aliasing de subpixels pode parecer realmente estranho quando exibido em um LCD com o layout errado). Parece que, de alguma forma, você às vezes consegue que tome uma decisão e às vezes consegue que tome outra. Acredito que uma vez iniciado um aplicativo em um determinado modo de renderização, ele não será alterado até que você saia e o reinicie, o que explicaria por que você está vendo um comportamento irregular;

Se você simplesmente deseja tornar isso consistente em todos os aplicativos, independentemente de usar o segundo LCD ou não, e sempre usar as fontes finas, basta desativar a suavização de fonte no painel de preferências do sistema Aparência:

Destaque "Usar suavização de fonte do LCD quando disponível" no painel de preferências do sistema Aparência

Obviamente, você perde o anti-aliasing de sub-pixel em qualquer lugar. Como John Rudy aponta, você pode obter um controle mais refinado, seguindo as instruções para definir o nível manualmente usando o defaultsprograma ; ou se você ainda não está no Snow Leopard, ainda deve ter os controles mais detalhados disponíveis nas Preferências do Sistema.

Brian Campbell
fonte
Para sua informação, estou obtendo melhores resultados nas telas do meu laptop ao desmarcar a opção "Usar suavização de fonte do LCD quando disponível".
jtimberman
12

Parece haver diferenças no anti-aliasing, o que pode fazer sentido se você estiver vendo esse comportamento em suspensão / retomada e conexão / desconexão do monitor externo. Pode ser que o seu monitor Dell esteja acionando uma alteração no modo de suavização de serrilhado usado pelo sistema.

Dependendo da sua versão do Mac OS X, você pode ter opções para controlar a suavização de fonte usada pelo sistema na janela Preferências do sistema de aparência. (No Snow Leopard, só vejo uma caixa de seleção para "usar a suavização da fonte do LCD quando disponível". Isso parece corresponder à antiga configuração "Automático - melhor para a tela principal".)

Você ainda pode configurar isso através das propriedades do sistema no Terminal.app. Este artigo explica os detalhes, que resumirei abaixo:

Existem cinco configurações para suavização de fonte:

  1. Automático - Melhor para a tela principal
  2. Padrão - Melhor para CRT (opção 1)
  3. Luz (opção 2)
  4. Médio - o melhor para tela plana (opção 3)
  5. Forte (opção 4)

Para controlar rigorosamente isso para que você não esteja mais no mundo automático, use o Terminal.app para alterar a propriedade em todo o sistema. Eu suspeito que, se você fizer isso, a alternância de exibição (entre monitores e eu suspeito que talvez seu protetor de tela para suspender / retomar) não deva mais mexer com suas configurações.

Em Terminal.app, digite:

    defaults -currentHost write -globalDomain AppleFontSmoothing -int 2

Altere 2para a opção (na lista acima, use os números da opção após o texto) que você mais gosta.

John Rudy
fonte
Ótima referência! É "confiar nos LCDs para relatar quais configurações devem ser usadas", de fato, pode causar mudanças repentinas, eu acho.
Arjan
Eu uso o iTerm, não o Terminal.app, e as capturas de tela monoespaciais são da Macirssi.
precisa saber é o seguinte
Como estou usando o Leopard e não o Snow Leopard, a opção está disponível em Preferências do Sistema -> Aparência. "Padrão ... CRT" realmente parece "normal" para mim na tela do Macbook, embora eu tenha que esperar para verificar o LCD externo quando voltar ao escritório amanhã.
precisa saber é o seguinte
2
@jtimberman, como eu uso o iTerm, não o Terminal.app, note que o comando dado por John não afeta apenas o Terminal. Você também pode usar o iTerm para executá-lo.
Arjan 27/01
0

Se você estiver usando um CRT, poderá esperar alguma distorção de cores, brilho e proporção no tempo até que o CRT esteja totalmente aquecido. Qual monitor você está usando?

Charles Stewart
fonte
Visor interno do macbook lcd. Eu nem tenho mais um CRT.
precisa