Как отключить ClearType и использовать сглаживание всего пикселя в Windows 7?

34627
netvope

В Windows XP можно использовать сглаживание целых пикселей, задав для параметра «Использовать следующий метод сглаживание краев экранных шрифтов» значение «Стандартный», или использовать сглаживание субпикселей (для ЖК-мониторов), установив параметр на "ClearType".

В Windows 7 я больше не могу найти способ включить сглаживание целых пикселей, что обеспечивает лучшую читаемость на DLP-проекторах и мониторах с ЭЛТ (эти экраны не соответствуют шаблонам RGB или BGR, встречающимся на ЖК-экранах). Это либо ClearType, либо нет сглаживания вообще. Я попробовал сторонний инструмент ( ClearType Switch ), но сняв флажок «Использовать ClearType», оставив флажок «Включить сглаженные края для экранных шрифтов» отключает все формы сглаживания.

Как отключить ClearType и использовать сглаживание всего пикселя в Windows 7?


Редактировать: Согласно статье в блоге Microsoft «Инженерные изменения в ClearType в Windows 7», включение «Сглаживания краев экранных шрифтов» в параметрах производительности и отключение ClearType с помощью ClearType Tuner даст вам сглаживание шрифта в оттенках серого (то есть, что я хочу). Однако, это просто не так. Он отключает все формы сглаживания (или, по их терминологии, он дает вам двухуровневый рендеринг).

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

22
Интересно, поможет ли ответ [Гейба] (http://stackoverflow.com/questions/5208676/windows-7-gdi-acceleration-mystery-can-we-enable-it-programmatics-yes-we-k)? После того, как вы выключите Cleartype. opsin 12 лет назад 0
@opsin: это не выглядит актуально. Я что-то пропустил? netvope 12 лет назад 0
Если вы используете мастер настройки ClearType во время использования проектора, следующие экраны после выключения ClearTYpe могут позволить вам визуально выбрать опцию сглаживания субпикселя. harrymc 12 лет назад 0
@harrymc: На шаге «3 из 4» самый правильный выбор - сглаживание целых пикселей (то есть то, что я хочу). Однако, если я включу ClearType в самом начале, Windows продолжит использовать субпиксельное сглаживание (не учитывая мой выбор в последующих шагах); и если я отключу ClearType в самом начале, Windows отключит все формы сглаживания. netvope 12 лет назад 0
Когда я отключаю ClearType в мастере, я могу на шаге «3 из 4» щелкнуть крайний справа. Вы имеете в виду, что это не имеет никакого эффекта? harrymc 12 лет назад 0
@harrymc: Правильно, если я отключу ClearType в самом начале процедуры настройки, Windows отключит все формы сглаживания в конце, независимо от моего выбора в шаге «3 из 4». netvope 12 лет назад 0
Что в этой ситуации говорит вкладка «Дополнительно» Microsoft [ClearType Tuner PowerToy для XP] (http://www.microsoft.com/typography/ClearTypePowerToy.mspx) (которая работает в Windows 7) о сглаживании шрифтов? harrymc 12 лет назад 0
@harrymc: «Стандарт», но на самом деле все сглаживание получается. Вот [скриншот] (http://img15.imageshack.us/img15/9831/cleartypestandard.png). Будьте осторожны, если вы увеличиваете / изменяете размер изображения, что может сгладить края шрифта в зависимости от метода передискретизации. netvope 12 лет назад 0
Что-то попробовать: (осторожно) заменить `C: \ Windows \ System32 \ DWrite.dll` на [оболочка DWrite.dll] (http://www.softwareninjas.ca/dwrite-dll-wrapper). Вы можете попробовать сначала собрать его вместе с исполняемым файлом, который вы используете. harrymc 12 лет назад 0
Я вижу пример проблемы с мастером ClearType - похоже, он будет устанавливать сглаживание всего пикселя, но затем все возвращается к субпиксельному. Argh. jerwood 12 лет назад 0
ClearType Switch работал прекрасно для меня. Он отключил cleartype везде, кроме IE 9. Есть страница [здесь] (http://answers.microsoft.com/en-us/windows/forum/windows_7-desktop/disable-all-font-smoothing-in-windows -7-ie / f180e803-3317-4433-8fd2-63aadaecc2d2), в котором говорится о том, что системный шрифт Segoe недоступен, и заменен на Tahoma. bobobobo 12 лет назад 0

4 ответа на вопрос

11
kinokijuf

Чтобы использовать целочисленное сглаживание:

[HKEY_CURRENT_USER\Control Panel\Desktop]  "FontSmoothing"="2" "FontSmoothingType"=dword:00000001 

Обратите внимание, что большинство шрифтов Windows специально настроены не на сглаживание 1 при нормальных (7-13) размерах (самые дорогие шрифты даже отключают cleartype при этих размерах).


Чтобы вообще отключить сглаживание:

[HKEY_CURRENT_USER\Control Panel\Desktop]  "FontSmoothing"="0" "FontSmoothingType"=dword:00000000 


Чтобы включить очистить тип:

[HKEY_CURRENT_USER\Control Panel\Desktop]  "FontSmoothing"="2" "FontSmoothingType"=dword:00000002 

Настройки реестра взяты с машины XP.


1 Выше 9 PPEM сглаживание отключается до тех пор, пока основные основы шрифта не станут шириной около двух пикселей, что составляет от 13 до 20 точек, в зависимости от шрифта. (…) Обычно выбираются основы шириной в два пикселя, потому что обычно достаточно «основы» цветных пикселей переднего плана для поддержания высокого контраста. (…) Таким образом, хотя сглаживание шрифтов было по умолчанию, большинство шрифтов при отображении текста с типичными размерами чтения будут отображать их на двухуровневом уровне.

Спасибо за вдохновение. Теперь я вижу, что проблема в шрифтах, а не в конфигурации ClearType. Для многих шрифтов (Arial, Courier New, Georgia, Tahoma, Times New Roman, Verdana) сглаживание целого пикселя отключено при нормальных размерах, но оно включается на уровне 14 + pt, что является неубедительным. На мой взгляд, сглаживание гораздо важнее при меньших размерах. Напротив, новые шрифты Windows Vista / 7 (Calibri, Cambria, Candara, Consolas, Segoe UI) могут иметь сглаживание целых пикселей при нормальных размерах. Возможно, Microsoft сделает так, чтобы продвигать свои новые шрифты. netvope 12 лет назад 2
@netvope Это, вероятно, для целей обратной совместимости. Эти шрифты уже существовали до того, как сглаживание шрифтов было введено в Win95, и не было много места, чтобы добавить сглаживание и сохранить существующие метрики шрифта. С cleartype вы получаете 3x горизонтальное пространство с другой стороны. kinokijuf 12 лет назад 0
Я могу ошибаться, но я думаю, что сглаживание на целых пикселях сработало для этих шрифтов в XP при нормальных размерах. Если это так, возникает вопрос, можно ли принудительно использовать сглаживание целых пикселей для старых шрифтов. Если сглаживание целых пикселей основывается на некоторых подсказках от шрифтов, Microsoft могла бы удалить их в старых шрифтах, чтобы сделать это технически невозможным. netvope 12 лет назад 0
Нет, это невозможно. Я видел, как шрифты MS выглядят на Mac, который игнорирует подсказки, и они выглядят ужасно. kinokijuf 12 лет назад 0
@netvope Я в настоящее время использую XP, и шрифты выглядят одинаково (без сглаживания). На самом деле, я получил эти цифры путем экспериментов. kinokijuf 12 лет назад 0
Понятно ... Спасибо за информацию. netvope 12 лет назад 0
Но работают ли эти настройки в Windows 7? Это то, что хочет спрашивающий. jerwood 12 лет назад 0
@ Джервуд Да. Cleartype не сильно изменился. kinokijuf 12 лет назад 0
2
Mr.Wizard

Я нашел решение этой проблемы, и это очень настраиваемый. Это называется MacType .

Это позволяет вам изменять визуализацию шрифтов всех программ, которые я пробовал, выборочно или массово.

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

profiles

Он даже работает внутри Sandboxie, поэтому вы можете попробовать его, не беспокоясь о том, что он может сделать с вашей системой.

Я использую его всего десять минут, поэтому не знаю, насколько он стабилен, но сейчас я очень рад, что нашел его.

Это очень интересное решение и, по сути, единственное, которое позволяет применять сглаживание в оттенках серого во всей системе для шрифтов любого размера. К сожалению, это никак не влияет на Chrome или Firefox. Они должны использовать разные вызовы API, которые не перехватываются. blade 7 лет назад 0
@blade Я не продолжал использовать MacType. Быстрый поиск «MacType Chrome» привел меня к комментарию Reddit: https://www.reddit.com/r/chrome/comments/4xh41g/mactype_font_smoothing_broken_after_chrome_52/d6fzq1v/ * «Ах, DirectWrite объясняет это. Это по сути аппаратное ускорение для рендеринг текста в этом случае. Если они не позволят вам его отключить, у вас нет возможности провести его через путь, который приводит к тому, что ваш пропатченный GDI рендерит текст на экране. "* Mr.Wizard 7 лет назад 0
Согласно [this] (https://github.com/snowie2000/mactype/issues/197) и [this] (https://github.com/snowie2000/mactype/issues/215), MacType имеет экспериментальную поддержку DirectWrite, это необходимо включить вручную, добавив `DirectWrite = 1` в профиль. Но Chrome использует DW нестандартным образом, что делает его несовместимым с MacType. blade 7 лет назад 1
0
Brian Chavez

В дополнение к следующему @kinokijuf и если вы хотите избежать подобных проблем:

enter image description here

Вам также необходимо удалить IE9, IE10 или IE11 . Только IE8 будет восстанавливать встроенные объекты веб-управления (описание служб в расширенном представлении диспетчера управления службами) обратно в их исходные аналоги по умолчанию без сглаживания шрифтов.

-1

Computer, Properties, Advanced system settings link in left side pane, Advanced, Performance, Settings, Visual Effects, Untick Smooth edges of screen fonts, OK.

-1 Это вообще отключит сглаживание шрифта kinokijuf 10 лет назад 0