Fontconfig is the culprit. Evince calls Popper which calls FcFontSort in libfontconfig to find the font most similar to "Courier." The first font it gets is "Nimbus Mono L", "Bold Oblique". The right font is actually the next one, "Nimbus Mono L", "Regular".
I see this on "Hardy Heron" as well as "Intrepid Ibex." The problem is not visible in Evince or Poppler on "Ibex", probably due to extensive changes in Poppler. It may affect anything that calls libfontconfig, however. On "Heron", I hard wired Evince to choose the second font and everything worked perfectly.
I've attached a code fragment (fchello.c) modelled on the part of Poppler calling libfontconfig. To compile it do:
cc -c -o fchello.o fchello.c
cc -o fchello fchello.o -lfontconfig
The first lines of output look like this:
> 0: "Nimbus Mono L", "Bold Oblique", "/usr/share/fonts/type1/gsfonts/n022024l.pfb"
> 1: "Nimbus Mono L", "Regular", "/usr/share/fonts/type1/gsfonts/n022003l.pfb"
> 2: "Nimbus Mono L", "Bold", "/usr/share/fonts/type1/gsfonts/n022004l.pfb"
> 3: "Nimbus Mono L", "Regular Oblique", "/usr/share/fonts/type1/gsfonts/n022023l.pfb"
> 4: "DejaVu Sans Mono", "Book", "/usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono.ttf"
Note that "fc-match Courier" does the right thing (see above) even though this way of calling
libfontconfig does the wrong thing.
This is the "Ibex" release I tested:
> Description: Ubuntu 8.10
> Release: 8.10
This is the version of libfontconfig:
> libfontconfig1:
> Installed: 2.6.0-1ubuntu4
> Candidate: 2.6.0-1ubuntu4
> Version table:
> *** 2.6.0-1ubuntu4 0
> 500 http://us.archive.ubuntu.com intrepid/main Packages
> 100 /var/lib/dpkg/status
This is the "Heron" release I tested:
> Description: Ubuntu 8.04.2
> Release: 8.04
This is the version of libfontconfig:
> libfontconfig1:
> Installed: 2.5.0-2ubuntu3
> Candidate: 2.5.0-2ubuntu3
> Version table:
> *** 2.5.0-2ubuntu3 0
> 500 http://us.archive.ubuntu.com hardy/main Packages
> 100 /var/lib/dpkg/status
Fontconfig is the culprit. Evince calls Popper which calls FcFontSort in libfontconfig to find the font most similar to "Courier." The first font it gets is "Nimbus Mono L", "Bold Oblique". The right font is actually the next one, "Nimbus Mono L", "Regular".
I see this on "Hardy Heron" as well as "Intrepid Ibex." The problem is not visible in Evince or Poppler on "Ibex", probably due to extensive changes in Poppler. It may affect anything that calls libfontconfig, however. On "Heron", I hard wired Evince to choose the second font and everything worked perfectly.
I've attached a code fragment (fchello.c) modelled on the part of Poppler calling libfontconfig. To compile it do:
cc -c -o fchello.o fchello.c
cc -o fchello fchello.o -lfontconfig
The first lines of output look like this: fonts/type1/ gsfonts/ n022024l. pfb" fonts/type1/ gsfonts/ n022003l. pfb" fonts/type1/ gsfonts/ n022004l. pfb" fonts/type1/ gsfonts/ n022023l. pfb" fonts/truetype/ ttf-dejavu/ DejaVuSansMono. ttf"
> 0: "Nimbus Mono L", "Bold Oblique", "/usr/share/
> 1: "Nimbus Mono L", "Regular", "/usr/share/
> 2: "Nimbus Mono L", "Bold", "/usr/share/
> 3: "Nimbus Mono L", "Regular Oblique", "/usr/share/
> 4: "DejaVu Sans Mono", "Book", "/usr/share/
Note that "fc-match Courier" does the right thing (see above) even though this way of calling
libfontconfig does the wrong thing.
This is the "Ibex" release I tested:
> Description: Ubuntu 8.10
> Release: 8.10
This is the version of libfontconfig: us.archive. ubuntu. com intrepid/main Packages dpkg/status
> libfontconfig1:
> Installed: 2.6.0-1ubuntu4
> Candidate: 2.6.0-1ubuntu4
> Version table:
> *** 2.6.0-1ubuntu4 0
> 500 http://
> 100 /var/lib/
This is the "Heron" release I tested:
> Description: Ubuntu 8.04.2
> Release: 8.04
This is the version of libfontconfig: us.archive. ubuntu. com hardy/main Packages dpkg/status
> libfontconfig1:
> Installed: 2.5.0-2ubuntu3
> Candidate: 2.5.0-2ubuntu3
> Version table:
> *** 2.5.0-2ubuntu3 0
> 500 http://
> 100 /var/lib/