From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: YAMAMOTO Mitsuharu Newsgroups: gmane.emacs.devel Subject: Re: Printing Date: Tue, 07 Apr 2009 18:46:01 +0900 Organization: Faculty of Science, Chiba University Message-ID: References: <5f0660120903280331y780c80b7i57a8115dc4b029eb@mail.gmail.com> <49CE3A84.9070705@swipnet.se> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: multipart/mixed; boundary="Multipart_Tue_Apr__7_18:46:01_2009-1" X-Trace: ger.gmane.org 1239097630 2994 80.91.229.12 (7 Apr 2009 09:47:10 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 7 Apr 2009 09:47:10 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Apr 07 11:48:28 2009 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 1Lr7up-0005SH-98 for ged-emacs-devel@m.gmane.org; Tue, 07 Apr 2009 11:48:24 +0200 Original-Received: from localhost ([127.0.0.1]:39759 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Lr7tR-0001AN-2z for ged-emacs-devel@m.gmane.org; Tue, 07 Apr 2009 05:46:57 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Lr7sj-00011n-2b for emacs-devel@gnu.org; Tue, 07 Apr 2009 05:46:13 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Lr7se-0000zg-1e for emacs-devel@gnu.org; Tue, 07 Apr 2009 05:46:12 -0400 Original-Received: from [199.232.76.173] (port=47952 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Lr7sd-0000zO-OR for emacs-devel@gnu.org; Tue, 07 Apr 2009 05:46:07 -0400 Original-Received: from ntp.math.s.chiba-u.ac.jp ([133.82.132.2]:53824 helo=mathmail.math.s.chiba-u.ac.jp) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Lr7sc-0004mQ-KY for emacs-devel@gnu.org; Tue, 07 Apr 2009 05:46:07 -0400 Original-Received: from church.math.s.chiba-u.ac.jp (church [133.82.132.36]) by mathmail.math.s.chiba-u.ac.jp (Postfix) with ESMTP id 3FF412C43 for ; Tue, 7 Apr 2009 18:46:01 +0900 (JST) In-Reply-To: User-Agent: Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.8 (=?ISO-8859-4?Q?Shij=F2?=) APEL/10.6 Emacs/22.3 (sparc-sun-solaris2.8) MULE/5.0 (SAKAKI) X-detected-operating-system: by monty-python.gnu.org: NetBSD 3.0 (DF) 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:110114 Archived-At: --Multipart_Tue_Apr__7_18:46:01_2009-1 Content-Type: text/plain; charset=US-ASCII >>>>> On Sat, 04 Apr 2009 11:44:27 +0900, YAMAMOTO Mitsuharu said: >> I tried making a really preliminary proof-of-concept cairo port. :-) >> It's still rough and has several glitches/limitations, but at least >> it can generate a "resolution-independent screenshot" PDF as >> attached. Maybe I'll clean up the code this weekend and hopefully >> post a patch. > Here's the patch for the Emacs 23.0.92 pretest (not the trunk HEAD). > * Currently, texts, rectangles (filling and stroking), and trapezoids > for reliefs are drawn using cairo by hooking the corresponding > drawing routine calls in xterm.c. They use X11 GC (with extension > data) for colors and clipping rectangles, but operations on them can > easily be ported to non-X11 (e.g., terminal-only) environments just > like the Carbon port. > * Images could also be drawn with cairo, but I didn't do that because > the image drawing in xterm.c depends on X-specific data structures. > As a result, you can't see any images in the exported screenshot as > of now. I added fringe bitmap drawing with cairo because it can be added without using X-specific data structures. Handa-san, could you check if the following change to ftfont.c is correct? It is also included in the revised patch below. *************** ftfont_text_extents (font, code, nglyphs *** 1255,1261 **** metrics->lbearing = m->horiBearingX >> 6; metrics->rbearing = (m->horiBearingX + m->width) >> 6; metrics->ascent = m->horiBearingY >> 6; ! metrics->descent = (m->horiBearingY + m->height) >> 6; } first = 0; } --- 1255,1261 ---- metrics->lbearing = m->horiBearingX >> 6; metrics->rbearing = (m->horiBearingX + m->width) >> 6; metrics->ascent = m->horiBearingY >> 6; ! metrics->descent = (m->height - m->horiBearingY) >> 6; } first = 0; } *************** ftfont_text_extents (font, code, nglyphs *** 1269,1276 **** = width + ((m->horiBearingX + m->width) >> 6); if (metrics->ascent < (m->horiBearingY >> 6)) metrics->ascent = m->horiBearingY >> 6; ! if (metrics->descent > ((m->horiBearingY + m->height) >> 6)) ! metrics->descent = (m->horiBearingY + m->height) >> 6; } width += m->horiAdvance >> 6; } --- 1269,1276 ---- = width + ((m->horiBearingX + m->width) >> 6); if (metrics->ascent < (m->horiBearingY >> 6)) metrics->ascent = m->horiBearingY >> 6; ! if (metrics->descent < ((m->height - m->horiBearingY) >> 6)) ! metrics->descent = (m->height - m->horiBearingY) >> 6; } width += m->horiAdvance >> 6; } YAMAMOTO Mitsuharu mituharu@math.s.chiba-u.ac.jp --Multipart_Tue_Apr__7_18:46:01_2009-1 Content-Type: application/octet-stream; type=gzip Content-Disposition: attachment; filename="emacs-23.0.92-cairo.patch.gz" Content-Transfer-Encoding: base64 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 --Multipart_Tue_Apr__7_18:46:01_2009-1--