Почему шрифты иногда выглядят “толстыми” на Mac OS X?

Иногда, когда возобновление от приостанавливает, шрифты в Mac OS X выглядят "толще", чем нормальный. К сожалению, прямо сейчас я не могу заставить свой MacBook Pro показывать "нормальное" поведение для сравнения, это было аварийным вчера и сегодня. Если я могу получить снимки экрана того, что я думаю, 'нормально', я добавлю их.

"Фиксация" этого была случайна. Я использую внешний монитор и иногда отключение его и включающий назад, или даже выключающий его и назад на работал. Иногда с присоединенным дисплеем (или не) обнаруживающие работы дисплеев. Иногда выходить из системы или перезагрузка полностью - то, что это берет.

Дисплеи использовали:

  • MacBook Pro 15-дюймовый встроенный дисплей
  • Dell 27 дюймов жидкокристаллический дисплей (модель 2009 года)

Программное обеспечение, где я вижу, что это происходит, по крайней мере, больше всего noticably:

  • Firefox (снимки экрана ниже)
  • iTerm
  • Вещи
  • MacIrssi (снимки экрана ниже)

Я использую Mac OS X 10.5.8.

Представление "Abnormal" от MacIrssi с Inconsolata 16 ПБ.

abnormal (Macirssi)

Представление "Abnormal" из Firefox.

abnormal (Firefox)

Наконец заставил это переключаться назад, хотя после возобновления от приостанавливают его спину к "жиру" :-(.

normal (Macirssi)

И 'нормальный' в Firefox:

normal (Firefox)

19
задан 13.09.2011, 05:53

3 ответа

Проблема становится очевидной, когда Вы увеличиваете масштаб изображений:

Zoomed in screen shot of "fat" fonts, showing colored pixels
Zoomed in screen shot of "skinny" fonts, showing greyscale pixels

Как Вы видите, тощая версия является совершенно шкалой полутонов, в то время как толстая версия имеет некоторые пиксели, которые являются немного красноватыми, и некоторые, которые являются немного синеватыми.

Это происходит из-за субпиксельного сглаживания. Жидкокристаллический экран на самом деле не содержит квадратные пиксели, которые могут быть любым цветом; вместо этого, это имеет три тощих прямоугольных элемента, которые являются красными, зелеными, и синими. (Изображения ниже из Википедии).

Pixel Patterns on various displays

При сглаживании шрифтов, вместо того, чтобы просто использовать оттенки серого, можно варьироваться интенсивность каждого из трех цветов, чтобы позволить Вам представлять в три раза горизонтальном разрешении, которого можно достигнуть просто путем сглаживания с оттенками серого. Увеличенные изображения, которые я предоставил, на самом деле не представляют то, что Вы видите; вместо этого, шрифты должны выглядеть значительно более гладкими из-за формы и размещения пикселей. Это было бы больше с точностью до рендеринга это что-то вроде этого:

Example of Sub-Pixel anti-aliased text

Так, что Вы видите, то, что иногда шрифт представляется с субпиксельным сглаживанием, и иногда это представляется с нормальным сглаживанием. Я предположил бы, что субпиксельные используемые алгоритмы сглаживания оптимизированы для черного текста на белом фоне, который может объяснить, почему текст смотрит немного "жира" при просмотре как белый текст на черном фоне.

С другой стороны, это может просто быть более точный рендеринг фактического шрифта. Если Вы смотрите на, правильно увеличил масштаб версии того же шрифта, это выглядит немного более смелым и менее тонким, чем "тощая" версия, показанная выше:

Example text at higher font size

Причина, которую это переключает назад и вперед между этими двумя версиями, вероятно, из-за Вашего второго монитора. Я не знаю точно, когда ОС решает это, или как она делает, но она, вероятно, обнаруживает жидкокристаллический дисплей с неизвестным субпиксельным расположением. Поскольку это не знает расположение пикселей, это идет с более безопасным сглаживанием стандарта (поскольку субпиксельное сглаживание может выглядеть действительно странным при отображении на жидкокристаллическом дисплее с неправильным расположением). Кажется, что так или иначе, Вы иногда заставляете это принимать одно решение и иногда заставляете это делать другой. Я полагаю, что, после того как приложение запущено в определенном режиме рендеринга, оно не изменится, пока Вы не выйдете и повторно запускаете приложение, которое объяснило бы, почему Вы видите ошибочное поведение; от чего может зависеть поведение, которое Вы получаете, точно при подключении внешнего монитора наряду с тем, когда Вы запускаете свои приложения.

Если Вы просто хотите сделать это последовательным через все приложения, неважно, используете ли Вы второй жидкокристаллический дисплей или не и всегда используете тощие шрифты, можно просто выключить сглаживание шрифта в системной предпочтительной панели Появления:

Highlighting "Use LCD Font Smoothing When Available" in Appearance system preference panel

Конечно, затем Вы теряете субпиксель, сглаживающийся везде. Как John Rudy указывает, можно получить несколько более мелкомодульный контроль путем следования инструкциям для установки уровня вручную с помощью defaults программа; или если Вы еще не находитесь на Snow Leopard, затем необходимо все еще иметь более мелкомодульные средства управления в наличии для Вас в Установках системы.

21
ответ дан 07.12.2019, 10:18

Это похоже на различия в сглаживании, которое могло иметь смысл, если Вы видите, что это поведение в приостанавливает/возобновляет и соединение/разъединение внешнего монитора. Могло случиться так, что Ваш монитор Dell инициировал изменение в сглаживающемся режиме, используемом системой.

В зависимости от Вашей версии Mac OS X у Вас могут быть опции управлять сглаживанием шрифта, используемым системой в окне Appearance System Preferences. (С Snow Leopard я только вижу флажок для "использования жидкокристаллического сглаживания шрифта когда доступный". Это, кажется, соответствует старой установке "Automatic - Best for Main Display".)

Можно все еще настроить это через системные свойства в Terminal.app. Эта статья объясняет детали, которые я буду суммировать ниже:

Существует пять настроек для сглаживания шрифта:

  1. Автоматический - лучше всего для основного дисплея
  2. Стандарт - лучше всего для CRT (опция 1)
  3. Свет (опция 2)
  4. Носитель - лучше всего для плоской панели (опция 3)
  5. Сильный (опция 4)

Для строгого контроля этого так, чтобы Вы больше не были в автоматическом мире используйте Terminal.app для изменения свойства в масштабе всей системы. Я подозреваю, делаете ли Вы это, переключение дисплея (между мониторами, и я подозреваю, возможно, что Ваша экранная заставка для приостанавливает/возобновляет), больше не должен смешивать с Вашими настройками.

В Terminal.app войдите:

    defaults -currentHost write -globalDomain AppleFontSmoothing -int 2

Изменитесь 2 для того, какой бы ни опция (из списка выше, используют числа опции после текста), Вам нравится больше всего.

12
ответ дан 07.12.2019, 10:18

При использовании CRT можно ожидать некоторое искажение цветов, яркостного контраста и соотношения сторон во время, пока CRT полностью не подогреется. Какой монитор Вы используете?

0
ответ дан 07.12.2019, 10:18

Теги

Похожие вопросы