View Full Version : Subtitute font when rending PDF on small screen


caritas
06-29-2008, 09:09 PM
The effect of PDF rending on small screen device (like sony ereader) is not good now. One reason is that the font used in PDF is designed for printing (> 300 dpi) not for low-resolution small screen (166dpi for ereader).

Considering desktop PC font rending, ordinary resolution of desktop PC is 72dpi or 96dpi, but even the small font of menu is quite readable. And the effect of PDF rending on PC is worse than menu for same font size. One reason is that the menu font is designed for low-resolution.

So if the font in PDF is substituted with font for low-resolution, the rending effect will be better. Fortunately, the font substitution function is available in libpoppler (and xpdf), but it is not configurable now. As an experiment, I substitute Times by "Bitstream Vera Sans" through hard-coding that in libpopper/poppler/GfxFont.cc.

The rending effect is attached.

1. chap6.pdf is the example PDF.
2. org.png is rended with original PDF font (Times).
3. nf.png is rended with "Bitstream Vera Sans".
4. pl.png is rended with pdf2lrf

The patch is attached too as ttf.patch

Known issues:

- "fi" is not displayed correctly with replaced font because of font encoding. This can be resolved by modifying the font with tools such as "fontforge".

RWood
06-29-2008, 10:32 PM
For low resolution devices I have found the best font is Nomad. That said, I do not like the font and avoid using it when I can.

caritas
06-30-2008, 07:41 AM
The patch is not needed, because fontconfig is used by libpoppler, font substitution can be done via fontconfig. Put the fonts.conf attached in your home directory via .fonts.conf (Linux), the Times font will be replaced by "Calibri" font.