[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug in FreeType? (normal digits rendered as old style figures with lmodern 0.99.3)



[ Ugh, sorry to send this again, but I typed 'Cc::' instead of 'Cc:',
  which caused my first message to bounce... ]

Dear vorlon,

We have noticed that the latest lmodern version (a set of PostScript
Type 1 fonts), 0.99.3, is rendered in bizarre ways by FreeType.
Specifically, some digits seem to be rendered in "old style" (smaller
height and/or vertical shift) while the other ones are rendered
normally.

The set of digits rendered in old style depends on the version of the X
server in use (presumably, it actually depends on the version of
FreeType used by the X server). In my sid chroot displaying on XFree86
from sarge, the following command:

  xfontsel -pattern "-unregistered-latin modern roman-medium-r-normal--0-0-0-0-p-0-iso8859-15" -scaled

gives, after setting pxlsz to 60 in xfontsel, the following screenshot:

  http://people.via.ecp.fr/~flo/tmp/lmodern-screenshots/0.99.3/xfontsel-XFree86-lmr10.png

There, the abnormally-rendered digits are 2, 3, 4 and 5. On the other
hand, when the X server is Xorg from unstable, I get this:

  http://people.via.ecp.fr/~flo/tmp/lmodern-screenshots/0.99.3/xfontsel-Xorg-lmr10.png

(OK, the first one is with ISO-8859-15 and the second one with
ISO-8859-1, but that doesn't change anything here)

Same thing (same digits in old style) with ftstring:

  http://people.via.ecp.fr/~flo/tmp/lmodern-screenshots/0.99.3/ftstring-lmr10.png
So, it seems that various FreeType versions give different results.
Moreover, as I mentioned in
http://lists.debian.org/debian-tetex-maint/2006/04/msg00363.html, t1lib
renders the font correctly.

However, I must say that an older lmodern version (0.92) is rendered
correctly even by the FreeType in unstable. We noticed with t1disasm
that the PFB files differ between 0.92 and 0.99.3 in that the one from
0.99.3 (/usr/share/fonts/X11/Type1/lmr10.pfb) declares glyphs with names
'two.oldstyle' and 'twooldstyle' whereas 0.92 only declares
'twooldstyle'. But this is the case for every digit between 0 and 9, so
it doesn't seem enough to explain why in 0.99.3, only *some* digits are
rendered in oldstyle with FreeType.

I suggest that you read the aforementioned message:

  http://lists.debian.org/debian-tetex-maint/2006/04/msg00363.html

for the summary of my experiments with test programs from t1lib and
FreeType (xglyph and ftstring, respectively). In this message, you'll
also read about a small caps issue (LMRoman10 appears to be small caps
with lmodern 0.99.3 and fontconfig-using programs---not t1lib, not
'xterm -fa', not ftstring but for instance gedit or gucharmap; but
again, this doesn't happen with lmodern 0.92). We don't know the cause
of this problem either, but it doesn't seem to be related to FreeType.

Any help you could give us to understand these problems would be much
appreciated.

For your convenience, the thread starts at:

  http://lists.debian.org/debian-tetex-maint/2006/04/msg00181.html

and there is an open bug about the small caps issue: #354537.

TIA,

-- 
Florent



Reply to: