9

Я обычно предпочитаю Adobe Reader (все еще v9 в Linux) всем другим программам просмотра PDF, потому что я думаю, что он имеет лучшее качество рендеринга, хотя в последнее время другие догоняли его. Такое качество рендеринга, по-видимому, во многом благодаря CoolType, реализации Adobe субпиксельного рендеринга. К сожалению, я обнаружил, что Adobe Reader последовательно отключает субпиксельный рендеринг (для каждой страницы), как только страница содержит прозрачные элементы. Пример:

Синяя форма непрозрачна, текст отображается с использованием субпикселей:

непрозрачный

Синяя форма прозрачна на 50%, текст отображается стандартным сглаживанием:

прозрачный

Два соответствующих файла pdf были сгенерированы точно таким же образом (используя TikZ/PGF с pdflatex), за исключением указания прозрачности во втором случае. Я сделал эти PDF-файлы сам, но я часто наблюдал тот же эффект с PDF-файлами из совершенно разных источников. Как ни странно, Foxit Reader и Okular отрисовывают одинаковые два файла pdf абсолютно одинаковым образом (за исключением, конечно, самой прозрачной части), но с качеством IMHO в целом хуже.

Мой вопрос: знает ли кто-нибудь, почему это происходит, и можно ли / как этого избежать?

2 ответа2

1

Субпиксельная визуализация выполняется с использованием отдельных цветов пикселя. Каждый пиксель на экране состоит из еще меньшего пикселя с цветом красного, зеленого и синего.

Если вы хотите визуализировать объект шириной 10,3 пикселя, вы должны использовать только красный цвет 11-го пикселя. Затем экран будет излучать свет из 31 субпикселя, то есть 10 полных пикселей, а затем треть пикселя.

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

Проблема в том, что вы заметите, что правый край будет красным, если вы просто сделаете это таким образом. Скорее всего, Adobe должна использовать продвинутые алгоритмы, чтобы отменить этот эффект - возможно, путем усиления значения красного и зеленого 10-го пикселя.

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

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

0

Это может быть ошибка в Adobe, лучше поднята на их форумах.

Чтобы улучшить отображение шрифтов в Linux, вы можете попробовать использовать Infinality:

Infinality - это набор патчей Freetype, которые пытаются улучшить визуализацию шрифтов для Linux, а также позволяют легко настраивать их, чтобы пользователи могли изменять настройки по своему вкусу. Используя его, вы можете легко установить стиль шрифта для эмуляции OSX, OSX2, Windows 98, Windows XP или Windows 7 или использовать стили "Linux" или "Infinality" (по умолчанию).

Увидеть :

Лучший рендеринг шрифтов в Linux с бесконечностью
Настройка шрифта archlinux - Бесконечность.

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