Perché i caratteri a volte sembrano "grassi" su Mac OS X?


19

A volte quando si riprende dalla sospensione, i caratteri in Mac OS X sembrano "più grassi" del normale. Sfortunatamente in questo momento non riesco a far comparire il mio Macbook Pro al comportamento "normale", è stato anomalo ieri e oggi. Se riesco a ottenere schermate di ciò che penso sia "normale", le aggiungerò.

"Correzione" questo è stato casuale. Uso un monitor esterno e a volte scollegarlo e ricollegarlo, o anche spegnerlo e riaccenderlo ha funzionato. A volte con il display collegato (o meno) il rilevamento dei display funziona. A volte è necessario disconnettersi o riavviare completamente.

Display utilizzati:

  • Macbook Pro 15 "display integrato
  • Dell 27 "LCD (modello 2009)

Software in cui lo vedo accadere, almeno in particolare:

  • Firefox (schermate di seguito)
  • iTerm
  • Cose
  • MacIrssi (schermate di seguito)

Sto usando Mac OS X 10.5.8.

Vista "anormale" da MacIrssi con Inconsolata 16 pt.

anormale (Macirssi)

Vista "Anormale" da Firefox.

anormale (Firefox)

Finalmente è riuscito a tornare indietro, anche se dopo aver ripreso da sospendere le spalle a "grasso" :-(.

normale (Macirssi)

E 'normale' in Firefox:

normale (Firefox)


Come si fa a riportare i caratteri alla normalità? Reboot?
Stephen Jennings,

Finora è stato casuale. A volte il rilevamento dei display lo fa, quando uso il mio monitor esterno, spento / acceso o scollegando e collegando le opere, ecco perché sto ponendo questa domanda, suppongo :-).
jtimberman,

@Arjan, ho aggiornato il post. Al momento è "anormale".
jtimberman,

1
Puoi aggiungere uno screenshot ora della versione "anormale"?
Brian Campbell,

Perché sono più felici e si sentono più a loro agio su Apple ... quindi "lasciano passare il tempo", per così dire, imbronciato per la loro grassa comodità. Ed è per questo che alcuni caratteri su un Mac sembrano più grassi ...

Risposte:


21

Il problema diventa evidente quando si ingrandisce l'immagine:

Zoom nella schermata di caratteri "grassi", con pixel colorati
Zoom nella schermata di caratteri "magri", che mostra pixel in scala di grigi

Come puoi vedere, la versione scarna è interamente in scala di grigi, mentre la versione grassa ha alcuni pixel leggermente rossastri e altri leggermente bluastri.

Ciò si verifica a causa dell'antialiasing sub-pixel . Uno schermo LCD in realtà non contiene pixel quadrati che possono essere di qualsiasi colore; invece, ha tre elementi magri rettangolari che sono rosso, verde e blu. (Immagini sotto da Wikipedia).

Pixel Patterns su vari display

Quando i caratteri anti-aliasing, invece di utilizzare semplicemente le sfumature di grigio, è possibile variare l'intensità di ciascuno dei tre colori, per consentire di eseguire il rendering a una risoluzione tre volte superiore a quella orizzontale che è possibile ottenere semplicemente mediante l'anti-aliasing con sfumature di grigio. Le immagini ingrandite che ho fornito in realtà non rappresentano ciò che stai vedendo; invece, i caratteri dovrebbero apparire notevolmente più fluidi a causa della forma e del posizionamento dei pixel. Sarebbe più preciso renderlo in questo modo:

Esempio di testo anti-aliasing Sub-Pixel

Quindi, quello che stai vedendo è che a volte il carattere viene renderizzato con l'antialiasing dei pixel secondari, e talvolta viene visualizzato con il normale anti-aliasing. Immagino che gli algoritmi anti-aliasing sub-pixel utilizzati siano ottimizzati per il testo nero su uno sfondo bianco, il che potrebbe spiegare perché il testo appare un po '"grasso" se visto come testo bianco su uno sfondo nero.

D'altra parte, potrebbe essere semplicemente un rendering più accurato del carattere reale. Se guardi una versione correttamente ridimensionata dello stesso carattere, appare un po 'più audace e meno sfocato rispetto alla versione "scarna" mostrata sopra:

Testo di esempio con caratteri più grandi

Il motivo per cui si passa avanti e indietro tra le due versioni è probabilmente a causa del secondo monitor. Non so esattamente quando il sistema operativo lo decida o come lo fa, ma probabilmente rileva un LCD con un layout subpixel sconosciuto. Poiché non conosce il layout dei pixel, si abbina all'antialiasing standard più sicuro (poiché l'antialiasing dei pixel secondari può sembrare davvero strano se visualizzato su un LCD con un layout errato). Sembra che in qualche modo, a volte riesci a prendere una decisione, a volte a prendere l'altra. Credo che una volta avviata un'applicazione in una determinata modalità di rendering, non cambierà fino a quando non esci e riavvii l'applicazione, il che spiegherebbe perché stai riscontrando un comportamento irregolare;

Se vuoi semplicemente renderlo coerente su tutte le applicazioni, indipendentemente dal fatto che tu usi il secondo LCD o meno e usi sempre i caratteri scarni, puoi semplicemente disattivare il livellamento dei caratteri nel pannello delle preferenze del sistema Aspetto:

Evidenziando "Usa smussatura caratteri LCD quando disponibile" nel pannello delle preferenze del sistema Aspetto

Naturalmente, allora perdi l'antialiasing sub-pixel ovunque. Come sottolinea John Rudy, puoi ottenere un controllo un po 'più preciso seguendo le istruzioni per impostare manualmente il livello usando il defaultsprogramma ; o se non sei ancora su Snow Leopard, dovresti comunque avere i controlli più dettagliati disponibili nelle Preferenze di Sistema.


Cordiali saluti, sto ottenendo i migliori risultati sui display del mio laptop quando deseleziono "Usa livellamento caratteri LCD quando disponibile".
jtimberman,

12

Sembra differenze nell'antialiasing, il che potrebbe avere senso se stai vedendo questo comportamento alla sospensione / ripresa e alla connessione / disconnessione del monitor esterno. È possibile che il monitor Dell stia attivando una modifica della modalità di antialiasing utilizzata dal sistema.

A seconda della versione di Mac OS X in uso, potresti avere delle opzioni per controllare il livellamento dei caratteri utilizzato dal sistema nella finestra Preferenze di sistema dell'aspetto. (A partire da Snow Leopard, vedo solo una casella di spunta per "utilizzare il livellamento dei caratteri LCD quando disponibile." Questo sembra corrispondere alla vecchia impostazione "Automatico - Migliore per display principale".)

Puoi ancora configurarlo tramite le proprietà di sistema in Terminal.app. Questo articolo spiega i dettagli, che riassumerò di seguito:

Esistono cinque impostazioni per smussare i caratteri:

  1. Automatico - Ideale per display principale
  2. Standard - Migliore per CRT (opzione 1)
  3. Luce (opzione 2)
  4. Medio - Ideale per schermo piatto (opzione 3)
  5. Forte (opzione 4)

Per controllarlo attentamente in modo da non essere più nel mondo automatico, usa Terminal.app per modificare la proprietà a livello di sistema. Sospetto che, se lo fai, la commutazione del display (tra i monitor e sospetto che forse il tuo screen saver per la sospensione / ripresa) non dovrebbe più interferire con le tue impostazioni.

In Terminal.app, inserisci:

    defaults -currentHost write -globalDomain AppleFontSmoothing -int 2

Cambia l' 2opzione in qualsiasi (dall'elenco sopra, usa i numeri di opzione dopo il testo) che ti piace di più.


Ottimo riferimento! Il suo "invece affidarsi agli LCD per segnalare quali impostazioni dovrebbero essere utilizzate" potrebbe effettivamente causare cambiamenti improvvisi, immagino.
Arjan,

Uso iTerm, non Terminal.app, e gli screenshot monospaziali sono di Macirssi.
jtimberman,

Poiché sto usando Leopard e non Snow Leopard, l'opzione è disponibile in Preferenze di Sistema -> Aspetto. "Standard ... CRT" in realtà mi sembra "normale" sul display del Macbook, anche se dovrò aspettare per controllare l'LCD esterno quando torno in ufficio domani.
jtimberman,

2
@jtimberman, per quanto riguarda iTerm, non Terminal.app nota che il comando dato da John non ha alcun effetto solo su Terminal. Puoi anche usare iTerm per eseguirlo.
Arjan,

0

Se stai usando un CRT, puoi aspettarti una certa distorsione di colori, luminosità e proporzioni nel tempo fino a quando il CRT non si sarà completamente riscaldato. Che monitor stai usando?


Display lcd macbook interno. Non possiedo nemmeno più un CRT.
jtimberman,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.