투명도가 Adobe Reader에서 서브 픽셀 렌더링을 비활성화하는 이유는 무엇입니까? : 파란색 모양이

나는 다른 PDF 뷰어에 대해 Adobe Reader (여전히 Linux에서는 여전히 v9)를 선호합니다. 다른 사람들이 최근에 따라 잡았지만 최고의 렌더링 품질을 가지고 있다고 생각하기 때문입니다. 이 렌더링 품질은 Adobe의 서브 픽셀 렌더링 구현 인 CoolType으로 인해 큰 부분을 차지합니다. 불행히도 페이지에 투명 요소가 포함되어있는 즉시 Adobe Reader가 서브 픽셀 렌더링을 페이지 단위로 지속적으로 해제한다는 것을 알았습니다. 예를 들면 :

파란색 모양이 불투명하고 하위 픽셀을 사용하여 텍스트가 렌더링됩니다.

불투명체

파란색 모양은 50 % 투명하고 텍스트는 표준 앤티 앨리어싱으로 렌더링됩니다.

두 개의 해당 pdf 파일은 두 번째 경우에 투명도를 지정하는 것을 제외하고 정확히 동일한 방식으로 생성되었습니다 (pdflatex와 함께 TikZ / PGF 사용). 이 PDF 파일을 직접 만들었지 만 완전히 다른 출처의 PDF에서 동일한 효과를 자주 관찰했습니다. 이상하게도 Foxit Reader와 Okular는 동일한 두 개의 PDF를 정확히 동일한 방식으로 렌더링하지만 (투명한 부분 자체는 제외) 일반적으로 품질이 낮은 IMHO입니다.

내 질문 : 누군가 왜 이런 일이 발생하는지, 어떻게 피할 수 있는지 여부를 알고 있습니까?



답변

서브 픽셀 렌더링은 픽셀의 개별 색상을 사용하여 수행됩니다. 화면의 모든 픽셀은 빨강, 녹색 및 파랑 색상의 더 작은 픽셀로 구성됩니다.

너비가 10.3 픽셀 인 객체를 렌더링하려면 11 번째 픽셀의 붉은 색 만 사용합니다. 그러면 스크린은 31 개의 서브 픽셀, 즉 10 개의 풀 픽셀에서 픽셀의 3 분의 1의 빛을 방출합니다.

이 효과를 직접 시뮬레이트하려고하면 단순히 10 개의 흰색 픽셀 너비를 그린 다음 오른쪽에 검은 색 배경의 빨간색 픽셀을 그려서 효과를 직접 볼 수 있습니다.

문제는 오른쪽 가장자리가 빨간색으로 표시된다는 것입니다. 대부분의 경우 Adobe는 10 번째 픽셀의 빨강 및 녹색 값을 증폭하여 고급 알고리즘을 사용하여 해당 효과를 취소해야합니다.

이미 상당히 고급 인 알고리즘에 투명성을 추가하는 것은 아마도 아직 해결되지 않은 것일 수 있으므로 단순히 서브 픽셀 렌더링을 비활성화합니다.

나는 이것이 순진한 방식으로 서브 픽셀 렌더링을 구현하려고 시도했기 때문에 이것이 사실이라고 생각하며 “컬러 사이드”효과를 직접 보았습니다.


답변

Adobe에서 버그 일 수 있으며 포럼에서 더 잘 나올 수 있습니다.

Linux에서 글꼴 표시를 개선하려면 Infinality를 사용해보십시오.

Infinality는 Linux에 향상된 글꼴 렌더링을 제공하고 사용자 정의를 쉽게하여 사용자가 취향에 맞게 설정을 조정할 수있는 Freetype 패치 세트입니다. 이를 사용하여 OSX, OSX2, Windows 98, WIndows XP 또는 Windows 7을 에뮬레이트하도록 글꼴 스타일을 쉽게 설정하거나 “Linux”또는 “Infinality”(기본) 스타일을 사용할 수 있습니다.

보다 :

무한대의 리눅스에서 더 나은 폰트 렌더링
archlinux 폰트 설정-무한대 .