19

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

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

Используемые дисплеи:

  • Macbook Pro 15 "встроенный дисплей
  • Dell 27 "LCD (модель 2009 года)

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

  • Firefox (скриншоты ниже)
  • Iterm
  • вещи
  • MacIrssi (скриншоты ниже)

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

"Ненормальный" вид от Макирсси с Inconsolata 16 pt.

ненормальный (Macirssi)

"Ненормальный" вид из Firefox.

ненормальный (Firefox)

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

нормальный (Macirssi)

И «нормально» в Firefox:

нормальный (Firefox)

3 ответа3

21

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

Увеличенный снимок экрана «жирных» шрифтов с цветными пикселями
Увеличенный снимок экрана с «худыми» шрифтами, показывающий пиксели в оттенках серого

Как видите, тощая версия полностью в оттенках серого, в то время как в жирной версии некоторые пиксели имеют слегка красноватый оттенок, а некоторые - слегка голубоватый.

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

Пиксельные узоры на различных дисплеях

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

Пример сглаженного субпиксельного текста

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

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

Пример текста с увеличенным размером шрифта

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

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

Выделите «Использовать сглаживание шрифтов на ЖК-дисплее, если доступно» на панели настроек системы «Внешний вид».

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

12

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

В зависимости от вашей версии Mac OS X у вас могут быть опции для управления сглаживанием шрифтов, используемым системой, в окне Appearance System Preferences. (Что касается Snow Leopard, я вижу только флажок «использовать сглаживание шрифтов на ЖК-дисплее, когда оно доступно». Похоже, это соответствует старой настройке «Автоматически - лучше всего для основного дисплея».)

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

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

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

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

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

    defaults -currentHost write -globalDomain AppleFontSmoothing -int 2

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

0

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .