Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 431934 - Wrong spacing in liberation mono =media-fonts/liberation-fonts-2.00.0
Summary: Wrong spacing in liberation mono =media-fonts/liberation-fonts-2.00.0
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Jeffrey Gardner (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-08-19 08:21 UTC by Thomas Kahle (RETIRED)
Modified: 2013-06-09 04:21 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
1d (d1.png,2.60 KB, text/plain)
2012-08-19 08:22 UTC, Thomas Kahle (RETIRED)
Details
some d (d2.png,2.49 KB, text/plain)
2012-08-19 08:22 UTC, Thomas Kahle (RETIRED)
Details
many d (d3.png,2.53 KB, text/plain)
2012-08-19 08:22 UTC, Thomas Kahle (RETIRED)
Details
one d (d1.png,2.60 KB, image/png)
2012-08-19 08:23 UTC, Thomas Kahle (RETIRED)
Details
a couple of d (d2.png,2.49 KB, image/png)
2012-08-19 08:23 UTC, Thomas Kahle (RETIRED)
Details
many d (d3.png,2.53 KB, image/png)
2012-08-19 08:24 UTC, Thomas Kahle (RETIRED)
Details
Two lines of 106 characters which do not align in kwrite with inconsolata (bug-inconsolata-kwrite.png,14.03 KB, image/png)
2012-10-05 15:49 UTC, J.Borme
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Kahle (RETIRED) gentoo-dev 2012-08-19 08:21:32 UTC
I experience spacing problems with the recently stabilized media-fonts/liberation-fonts-2.00.0, particularly the monospace font.  

The attached screenshots demonstrate what happens.  I'm on a shell and pressing a series of 'd's which move the curser too far out.  This also leads to all sorts of other misdisplays, but seems to be connected to the curser being around. For instance a line may be looking just fine if it does not contain the curser but gets messed up once the curser is moved to the line.

Version 1.07.2 does not have this problem.

Reproducible: Always



Expected Results:  
# emerge --info
Portage 2.1.11.10 (default/linux/amd64/10.0/desktop/kde, gcc-4.5.3, glibc-2.15-r2, 3.4.2-gentoo-r1 x86_64)
=================================================================
System uname: Linux-3.4.2-gentoo-r1-x86_64-Intel-R-_Core-TM-_i5-2520M_CPU_@_2.50GHz-with-gentoo-2.1
Timestamp of tree: Sat, 18 Aug 2012 22:00:01 +0000
app-shells/bash:          4.2_p20
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.3-r2, 3.2.3
dev-util/cmake:           2.8.8-r3
dev-util/pkgconfig:       0.27
sys-apps/baselayout:      2.1-r1
sys-apps/openrc:          0.9.8.4
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.9.6-r3, 1.10.3, 1.11.6
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.5.3-r2
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r3
sys-kernel/linux-headers: 3.4-r2 (virtual/os-headers)
sys-libs/glibc:           2.15-r2
Repositories: gentoo science emacs sunrise sage-on-gentoo TomOverlay
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA nauty PUEL googleearth google-talkplugin AdobeFlash-10.1 AdobeFlash-10.3 dlj-1.1 skype-eula skype-4.0.0.7-copyright IBM-J1.6 google-chrome Oracle-BCLA-JavaSE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--autounmask-write --quiet-build=n"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs collision-protect config-protect-if-modified distlocks ebuild-locks fixlafiles multilib-strict news parallel-fetch parse-eapi-ebuild-head protect-owned sandbox sfperms sign splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu"
LINGUAS="en en_US de"
MAKEOPTS="-j5 -l5"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/science /var/lib/layman/emacs /var/lib/layman/sunrise /var/lib/layman/sage-on-gentoo /home/tom/tom-overlay"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa amd64 anthy apache2 avahi bash-completion berkdb branding bzip2 cairo cdda cddb cdparanoia cdr cjk cli consolekit cracklib crypt ctype cups curl cxx daap dbus declarative djvu dri dts dvb dvd dvdr emacs encode exif expat fam fbcon ffmpeg firefox flac fortran ftp gd gdbm gif gimp glut gmp gnome gnome-keyring gnutls gpm graphviz gstreamer gtk guile hdaps iconv icu ieee1394 imagemagick imap imlib ipod ipv6 java javascript jit jpeg kde kipi latex lcms ldap leim libnotify lm_sensors lzma m17n-lib mad migemo mime mmx mng modules mp3 mp4 mpeg mplayer mtp mudflap mule multilib musicbrainz mysql mysqli ncurses nls nptl nsplugin obex ocaml ogg oggvorbis openal opengl openmp pam pango pcmcia pcre pdf perl phonon php plasma plotutils png policykit ppds pppd pulseaudio python qt3support qt4 readline sasl sdl semantic-desktop session slang smartcard spell sqlite sqlite3 sse sse2 ssl ssse3 startup-notification svg tcpd texlive theora threads tiff tk truetype udev udisks uim unicode upower usb v4l v4l2 visualization vorbis wicd wifi wxwidgets wxwindows x264 xcb xcomposite xft xine xinerama xml xscreensaver xulrunner xv xvid zeroconf zlib zsh-completion" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en en_US de" PHP_TARGETS="php5-3" PYTHON_TARGETS="python3_2 python2_7" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="intel vesa fbdev" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYT
Comment 1 Thomas Kahle (RETIRED) gentoo-dev 2012-08-19 08:22:01 UTC
Created attachment 321672 [details]
1d
Comment 2 Thomas Kahle (RETIRED) gentoo-dev 2012-08-19 08:22:14 UTC
Created attachment 321674 [details]
some d
Comment 3 Thomas Kahle (RETIRED) gentoo-dev 2012-08-19 08:22:25 UTC
Created attachment 321676 [details]
many d
Comment 4 Thomas Kahle (RETIRED) gentoo-dev 2012-08-19 08:23:11 UTC
Created attachment 321678 [details]
one d
Comment 5 Thomas Kahle (RETIRED) gentoo-dev 2012-08-19 08:23:47 UTC
Created attachment 321680 [details]
a couple of d
Comment 6 Thomas Kahle (RETIRED) gentoo-dev 2012-08-19 08:24:03 UTC
Created attachment 321682 [details]
many d
Comment 7 Thomas Kahle (RETIRED) gentoo-dev 2012-08-20 08:06:46 UTC
More observations
-> The same thing happens with other fonts such as media-fonts/inconsolata
-> The problem is not present in all applications.  In an emacs frame both are displayed fine.

Maybe this is a bug in konsole or a case of complicated relationship?  Let's ask kde folks.
Comment 8 Johannes Huber (RETIRED) gentoo-dev 2012-08-21 10:16:49 UTC
No idea. I would suggest to file a bug usptream.
Comment 9 Thomas Kahle (RETIRED) gentoo-dev 2012-08-21 14:39:48 UTC
Ok, upstream bug is here:
https://bugs.kde.org/show_bug.cgi?id=305555
This is a problem with konsole, it does not happen with kate.
Comment 10 Johannes Huber (RETIRED) gentoo-dev 2012-08-21 14:42:37 UTC
(In reply to comment #9)
> Ok, upstream bug is here:
> https://bugs.kde.org/show_bug.cgi?id=305555
> This is a problem with konsole, it does not happen with kate.

Thanks, we will track the upstream bug.
Comment 11 Johannes Huber (RETIRED) gentoo-dev 2012-08-23 10:40:34 UTC
KDE upstream comment:

> Thanks. On your system, Qt indeed returns different widths for different 
> characters (the first "w" value). This could be a Qt bug, or a 
> fontconfig/freetype bug.
Comment 12 J.Borme 2012-10-05 15:48:34 UTC
Thomas Kahle gentoo-dev 2012-08-21 14:39:48 UTC
> This is a problem with konsole, it does not happen with kate.

Well, I have a very similar issue with kwrite (any katePart I guess) and Inconsolata. Spacings of different characters of Inconsolata are not the same as they should, and the monospaced characters do not align between the different lines.

See attached image of two lines of code with exactly 106 characters each.

Also the bold version of inconsolata characters do not have the same width as the other characters, which make syntax highlight worsen the problem.

> Johannes Huber gentoo-dev 2012-08-23 10:40:34 UTC
>KDE upstream comment:
>> Thanks. On your system, Qt indeed returns different widths for different 
>> characters (the first "w" value). This could be a Qt bug, or a 
>> fontconfig/freetype bug.

I tested the FontTest test case attached in the upstream bug and I do have the same issue (below: w is 9 for some characters, 10 for others).

Font "Inconsolata" Size 15 Height 21 xHeight 9.10938 avgWidth 10 maxWidth 10 
    ch 'a' w 9 900 s 10 901 bw 11 902 tw 11 902 
    ch 'b' w 9 900 s 10 901 bw 11 902 tw 11 902 
    ch 'c' w 10 1000 s 10 1000 bw 11 1001 tw 11 1001 
    ch 'd' w 10 1000 s 11 1001 bw 12 1002 tw 12 1002 

Using : inconsolata 20090222, kde 4.9.2, Qt 4.8.3, fontconfig 1.1, freetype 2.4.9-r1
Comment 13 J.Borme 2012-10-05 15:49:44 UTC
Created attachment 325724 [details]
Two lines of 106 characters which do not align in kwrite with inconsolata
Comment 14 J.Borme 2012-10-05 17:08:16 UTC
I have the issue with Qt Creator, so this is definitely not a Konsole bug.

KDE: https://bugs.kde.org/show_bug.cgi?id=305555
-> not their fault, can't reproduce, maybe freetype/fontconfig.

Qt: https://bugreports.qt-project.org/browse/QTBUG-27174
-> not their fault, can't reproduce, maybe fontconfig.
Comment 15 Thomas Kahle (RETIRED) gentoo-dev 2012-10-05 23:26:26 UTC
(In reply to comment #14)
> I have the issue with Qt Creator, so this is definitely not a Konsole bug.
> 
> KDE: https://bugs.kde.org/show_bug.cgi?id=305555
> -> not their fault, can't reproduce, maybe freetype/fontconfig.
> 
> Qt: https://bugreports.qt-project.org/browse/QTBUG-27174
> -> not their fault, can't reproduce, maybe fontconfig.

Great that you can reproduce this.  I thought this would just be lost.  Please note that in the QT-Bug you should change the status from "Need More Info" to something like "open".  Otherwise nobody will every reply.  It's their workflow.
Comment 16 J.Borme 2012-10-09 22:07:19 UTC
With geany (gtk-based) :
- the issue (mismatch of character width within the same font) happens with Inconsolata in certain font sizes only
- no problem at all with Luxi Mono and DejaVu Sans Mono
Comment 17 J.Borme 2012-10-11 09:00:19 UTC
(In reply to comment #11)
> KDE upstream comment:
> 
> > Thanks. On your system, Qt indeed returns different widths for different 
> > characters (the first "w" value). This could be a Qt bug, or a 
> > fontconfig/freetype bug.

Try the following.

package.keywords:
  =media-libs/freetype-2.4.10-r1 ~amd64
  =app-admin/eselect-infinality-1 ~amd64
  =app-admin/eselect-lcdfilter-1 ~amd64

# USE="infinality" emerge =media-libs/freetype-2.4.10-r1
# eselect fontconfig enable 52-infinality.conf
# eselect infinality set linux
# eselect lcdfilter set linux

restart X.

(actually I have USE="fontforge -auto-hinter infinality")
(also, you might need to tune the fonts, my fluxbox fonts look tiny now)

Font "Inconsolata" Size 13 Height 19 xHeight 7.75 avgWidth 8.5 maxWidth 9 
    ch 'a' w 9 900 s 9 900 bw 10 901 tw 10 901 
    ch 'b' w 9 900 s 9 900 bw 9 900 tw 9 900 
    ch 'c' w 9 900 s 9 900 bw 10 901 tw 10 901 
    ch 'd' w 9 900 s 9 900 bw 10 901 tw 10 901 
    ch 'e' w 9 900 s 9 900 bw 10 901 tw 10 901 

It solves my issue. Sadly, eselect fontconfig enable 52-infinality.conf breaks gv and gv-related stuff (epstopdf, some latex things, I guess printing filters as well).

gv error on a valid eps I produced beforehand:
  Error: /invalidfont in /findfont
  Operand stack:
     Symbol-Oblique   Symbol

I think this bug should be reopened, it was marked as "resolved upstream" at a point it was supposed to be KDE. But it is related to freetype and nobody reported to them.
Comment 18 Thomas Kahle (RETIRED) gentoo-dev 2012-10-14 00:52:47 UTC
Reopening... may be a bug in the font or freetype.