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

Bug#880407: xterm: font issue with FreeType 2.8; should not use the rounded ascender and descender



Package: xterm
Version: 330-1
Severity: important

FreeType 2.8 uses different rounding rules for ascender and descender,
so that one can now have

  (src->ascent + src->descent) > src->height

in CACHE_XFT from fontutils.c (only because of rounding), which yields
a spurious blank line between lines of text. The consequences are:

1. Tables look a bit ugly.

2. Windows (with the same number of text lines) are unnecessarily
   higher than before.

3. This breaks existing configurations. For instance, the xterms
   started at the beginning of my X session appear partly off-screen.

Upstream now recommends to use the values from the FT_Face structure
and scale them manually:

------------------------------------------------------------------------

Global size metrics values in the `FT_Size_Metrics' structure can be
different for TrueType fonts. Reason is that in older FreeType
versions the metrics were rounded differently to integer pixels
compared to all other font formats, yielding an inconsistent behaviour
if you used non-native hinting. Starting with this version, global
size metrics for TrueType fonts are handled the same as other font
formats: `ascender' gets rounded up, `descender' getsrounded down,
`height' gets normally rounded, and `max_advance' gets normally
rounded, too.

If you need more precise values of (global) ascender, descender,
height, or `max_advance', please take the corresponding values from
the `FT_Face' structure and scale them manually.

------------------------------------------------------------------------

See the discussion:
  https://savannah.nongnu.org/bugs/?52165

Here's my original Debian bug report about FreeType:
  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=866960

-- System Information:
Debian Release: buster/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'stable-updates'), (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.13.0-1-amd64 (SMP w/12 CPU cores)
Locale: LANG=POSIX, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=POSIX (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages xterm depends on:
ii  libc6           2.24-17
ii  libfontconfig1  2.12.3-0.2
ii  libice6         2:1.0.9-2
ii  libtinfo5       6.0+20170902-1
ii  libutempter0    1.1.6-3
ii  libx11-6        2:1.6.4-3
ii  libxaw7         2:1.0.13-1+b2
ii  libxft2         2.3.2-1+b2
ii  libxinerama1    2:1.1.3-1+b3
ii  libxmu6         2:1.1.2-2
ii  libxpm4         1:3.5.12-1
ii  libxt6          1:1.1.5-1
ii  xbitmaps        1.1.1-2

Versions of packages xterm recommends:
ii  x11-utils  7.7+3+b1

Versions of packages xterm suggests:
pn  xfonts-cyrillic  <none>

-- no debconf information


Reply to: