Alexander Monakov
2013-10-31 09:16:37 UTC
Hello,
This incomplete patch implements LCD subpixel antialiasing in mupdf
plugin by rendering a 3x wider (or taller) pixmap and then filtering
it. Credit for the general approach to subpixel-precise downsampling
goes to imageworsener. Credit for the filtering method goes to
Freetype. All four (horizontal/vertical rgb/bgr) LCD subpixel layouts
work.
The patch is incomplete as it implements the guts, but for now simply
hardcodes subpixel layout as horizontal RGB (most popular one). I
don't know what would be a good way to communicate layout information
to pdf_page_render from the viewer. It would need to account for
rotation. Filter weights are also hardcoded.
This patch needs my previous "deduplication" patches. Together with
those it's +99 lines of code.
Filtering is not gamma-correct, but may look good enough for a first step.
Alexander
-------------- next part --------------
This incomplete patch implements LCD subpixel antialiasing in mupdf
plugin by rendering a 3x wider (or taller) pixmap and then filtering
it. Credit for the general approach to subpixel-precise downsampling
goes to imageworsener. Credit for the filtering method goes to
Freetype. All four (horizontal/vertical rgb/bgr) LCD subpixel layouts
work.
The patch is incomplete as it implements the guts, but for now simply
hardcodes subpixel layout as horizontal RGB (most popular one). I
don't know what would be a good way to communicate layout information
to pdf_page_render from the viewer. It would need to account for
rotation. Filter weights are also hardcoded.
This patch needs my previous "deduplication" patches. Together with
those it's +99 lines of code.
Filtering is not gamma-correct, but may look good enough for a first step.
Alexander
-------------- next part --------------