From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: bojohan+news@dd.chalmers.se (Johan =?utf-8?Q?Bockg=C3=A5rd?=) Newsgroups: gmane.emacs.devel Subject: Bad drawing of xft fonts overlapping box cursor Date: Sun, 17 Feb 2008 21:47:13 +0100 Message-ID: References: <87fxvzsdf3.fsf@escher.local.home> <87skzs1mlz.fsf@escher.local.home> <87d4qvpw7o.fsf@escher.local.home> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: ger.gmane.org 1203281262 30927 80.91.229.12 (17 Feb 2008 20:47:42 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 17 Feb 2008 20:47:42 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Feb 17 21:48:06 2008 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1JQqQe-0002RA-UE for ged-emacs-devel@m.gmane.org; Sun, 17 Feb 2008 21:48:05 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JQqQA-0005Pr-Fq for ged-emacs-devel@m.gmane.org; Sun, 17 Feb 2008 15:47:34 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JQqQ6-0005Pe-DJ for emacs-devel@gnu.org; Sun, 17 Feb 2008 15:47:30 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JQqQ3-0005N9-QJ for emacs-devel@gnu.org; Sun, 17 Feb 2008 15:47:30 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JQqQ3-0005Mw-Lr for emacs-devel@gnu.org; Sun, 17 Feb 2008 15:47:27 -0500 Original-Received: from main.gmane.org ([80.91.229.2] helo=ciao.gmane.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1JQqQ1-0007CU-Rd for emacs-devel@gnu.org; Sun, 17 Feb 2008 15:47:26 -0500 Original-Received: from list by ciao.gmane.org with local (Exim 4.43) id 1JQqPw-00086s-2g for emacs-devel@gnu.org; Sun, 17 Feb 2008 20:47:20 +0000 Original-Received: from remote2.student.chalmers.se ([129.16.29.80]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 17 Feb 2008 20:47:20 +0000 Original-Received: from bojohan+news by remote2.student.chalmers.se with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 17 Feb 2008 20:47:20 +0000 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: emacs-devel@gnu.org Original-Lines: 87 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: remote2.student.chalmers.se Mail-Copies-To: never User-Agent: Gnus/5.110007 (No Gnus v0.7) Emacs/23.0.50 (gnu/linux) Cancel-Lock: sha1:zdSoC03P6NNPTP0rJsLF/lSKoyo= X-detected-kernel: by monty-python.gnu.org: Linux 2.6, seldom 2.4 (older, 4) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:89392 Archived-At: --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit bojohan+news@dd.chalmers.se (Johan Bockgård) writes: > Actually, I had already discovered another problem with precisely this > code [draw_glyphs] /* If there are any glyphs with lbearing < 0 or rbearing > width in the row, redraw some glyphs in front or following the glyph strings built above. */ > that I had been planning to report. So here is that report: In some fonts certain characters can produce overlaps with the box cursor. This leads to uglily drawn characters. emacs -Q -xrm \ 'emacs*font: bitstream vera sans mono:pixelsize=17 Xft.hintstyle: hintmedium' \ -fg white -bg black -cr green (progn (switch-to-buffer "*test*") (insert "W\nW\nW") (dotimes (_ 50) (redisplay) (goto-char 4) (redisplay) (goto-char 6))) It looks like what happens is that each time the cursor is placed next to the problematic character another copy of the character is drawn. For antialiased fonts this produces the effect that the half transparent pixels become more and more solid. --=-=-= Content-Type: image/png Content-Disposition: inline; filename=emacs-badfont.png Content-Transfer-Encoding: base64 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 --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit -- Johan Bockgård --=-=-=--