Normalmente prefiero Adobe Reader (todavía v9 en Linux) a todos los demás visores de PDF porque creo que tiene la mejor calidad de representación, a pesar de que otros se han puesto al día últimamente. Esta calidad de representación parece deberse en gran parte a CoolType, la implementación de Adobe de la representación de subpíxeles. Desafortunadamente, descubrí que Adobe Reader apaga constantemente la representación de subpíxeles (por página) tan pronto como la página contiene elementos transparentes. Un ejemplo:
La forma azul es opaca, el texto se representa con subpíxeles:
La forma azul es 50% transparente, el texto se representa con antialiasing estándar:
Los dos archivos pdf correspondientes se han generado exactamente de la misma manera (usando TikZ / PGF con pdflatex), excepto para especificar la transparencia en el segundo caso. Yo mismo hice estos archivos PDF, pero con frecuencia he observado el mismo efecto con archivos PDF de fuentes completamente diferentes. Curiosamente, Foxit Reader y Okular reproducen los mismos dos archivos PDF de una manera exactamente idéntica (excepto, por supuesto, para la parte transparente en sí), pero en mi humilde opinión, en general, de peor calidad.
Mi pregunta: ¿Alguien sabe por qué sucede esto y si / cómo se puede evitar?
fuente
Respuestas:
La representación de subpíxeles se realiza utilizando los colores individuales de un píxel. Cada píxel en una pantalla está formado por un píxel aún más pequeño con el color rojo, verde y azul.
Si desea renderizar un objeto que tiene 10.3 píxeles de ancho, usaría solo el color rojo del undécimo píxel. La pantalla emitiría luz desde 31 subpíxeles, es decir, 10 píxeles completos y luego un tercio de píxel.
Si intenta simular este efecto usted mismo, simplemente dibujando 10 píxeles blancos de ancho y luego un píxel rojo a la derecha sobre un fondo negro, verá el efecto usted mismo.
El problema es que notarías que el borde derecho sería rojo, esto si simplemente lo haces de esa manera. Lo más probable es que Adobe tenga que usar algoritmos avanzados para cancelar ese efecto, posiblemente amplificando el valor del rojo y el verde del décimo píxel.
Agregar transparencia a un algoritmo que ya está bastante avanzado es probablemente algo que aún no han resuelto y, por lo tanto, simplemente deshabilitan la representación de subpíxeles.
Creo que este es el caso, porque he intentado implementar el renderizado de subpíxeles de esta manera ingenua y vi ese efecto de "lado coloreado".
fuente
Esto puede ser un error en Adobe, mejor planteado en sus foros.
Para mejorar la visualización de fuentes en Linux, puede intentar usar Infinality:
Ver :
Mejor representación de fuentes en Linux con Infinality Archlinux
Font Configuration - Infinality .
fuente