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


9

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

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

불투명체

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

투명한

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

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


Adobe에서 버그 일 수 있으며 포럼에서 더 잘 나올 수 있습니다. Infinality 를 사용하여 Linux에서 글꼴 표시를 개선하려고 시도 할 수 있습니다 (어떤 버전?) . archlinux Font Configuration-Infinality 도 참조하십시오 .
harrymc

@harrymc 나는 이것이 Adobe Reader 글꼴 렌더링에 영향을 미치는지 의심하지만 그렇지 않으면 흥미로운 팁입니다. 아마도 Okular는 이런 식으로 나아질 것입니다. 감사!
A. Donda

@ slhck, 나는 이것에 현상금을 넣었다고 생각 했습니까? 당신은 어떻게 든 이것을 인수 했습니까, 아니면 그냥 혼란입니까? 어쨌든 감사합니다!
A. Donda

답변:


1

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

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

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

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

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

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


예, 컬러 가장자리 효과가 분명히 있습니다. 위의 확대 스크린 샷에서도 볼 수 있으며 어떻게 피할 수 있는지 알 수 없습니다. 서브 픽셀 렌더링은 전체 픽셀이 이미 작을 때만 의미가 있다고 생각합니다. 어쩌면 당신이 옳을 수도 있습니다. 너무 복잡합니다.
A. Donda

나는 그들이 너무 복잡하다고 생각합니다. 그렇지 않다면,이 기술은 멋진 이름에 합당하지 않을 것입니다 :)
frodeborli

참고 사항 : 하위 픽셀의 순서가 항상 RGB가 아닐 수도 있습니다. OP에서 제공 한 스크린 샷을 보면 BGR 순서로 나타납니다. 왼쪽 가장자리의 하위 픽셀은 빨간색이고 오른쪽 가장자리의 하위 픽셀은 파란색입니다.
Johan Boulé

0

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

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

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

보다 :

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


팁에 감사 드리며 Adobe 포럼에서 질문 할 것입니다. 그러나 이것이 대답이라고 생각하지는 않습니다.
A. Donda

문제 없어요. 이걸 삭제하겠습니까?
harrymc

아니요, 난 왜 내가지지하지 않는지 설명하고 싶었습니다.
A. Donda

불행히도, 이것은 당신이 얻을 유일한 대답처럼 보입니다.
harrymc
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.