From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: martin rudalics Newsgroups: gmane.emacs.devel Subject: Re: Pixel-based display functions Date: Sat, 07 Feb 2015 12:45:27 +0100 Message-ID: <54D5FAD7.1060109@gmx.at> References: <87ioflq0dz.fsf@building.gnus.org> <54CE2187.9070003@gmx.at> <83lhkhiq8t.fsf@gnu.org> <54CE54A3.1020707@gmx.at> <838ughilmo.fsf@gnu.org> <54CE6BD2.8000402@gmx.at> <8361bliin0.fsf@gnu.org> <83386piiby.fsf@gnu.org> <87oap9yoti.fsf@building.gnus.org> <874mqzvnwo.fsf@building.gnus.org> <83h9uzeb4a.fsf@gnu.org> <87bnl7jrr7.fsf@building.gnus.org> <831tm3dt8u.fsf@gnu.org> <87k2zvgj4d.fsf@building.gnus.org> <83siejcahb.fsf@gnu.org> <87bnl7gh7x.fsf@building.gnus.org> <87zj8qcqjv.fsf@building.gnus.org> <87r3u2cn46.fsf@building.gnus.org> <838ugacfd3.fsf@gnu.org> <87fvaiccjk.fsf@building.gnus.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1423309553 1012 80.91.229.3 (7 Feb 2015 11:45:53 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 7 Feb 2015 11:45:53 +0000 (UTC) Cc: emacs-devel@gnu.org To: Lars Ingebrigtsen , Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Feb 07 12:45:52 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YK3pf-0003Yi-T5 for ged-emacs-devel@m.gmane.org; Sat, 07 Feb 2015 12:45:52 +0100 Original-Received: from localhost ([::1]:52494 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YK3pf-0008F8-C4 for ged-emacs-devel@m.gmane.org; Sat, 07 Feb 2015 06:45:51 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:50466) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YK3pc-0008F0-LV for emacs-devel@gnu.org; Sat, 07 Feb 2015 06:45:49 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YK3pZ-0000oc-Dt for emacs-devel@gnu.org; Sat, 07 Feb 2015 06:45:48 -0500 Original-Received: from mout.gmx.net ([212.227.15.18]:54807) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YK3pZ-0000oT-3v; Sat, 07 Feb 2015 06:45:45 -0500 Original-Received: from [62.46.211.15] ([62.46.211.15]) by mail.gmx.com (mrgmx001) with ESMTPSA (Nemesis) id 0MOf5S-1YF61P2mgw-00650v; Sat, 07 Feb 2015 12:45:37 +0100 In-Reply-To: <87fvaiccjk.fsf@building.gnus.org> X-Provags-ID: V03:K0:fuj/cSEVGRGqt2+5977oHOQbH54jaSTzuM4EjhSSwLml1k89B8Q r1clSOfZGPuypQKnevT4Ar8OCUoW8Xr/OCtcyuUrvJFzYUYUSvcvYX8Ofqzr+9GVRhoET5Z HEG0d8c8S3P1oI9UXt0VSloCCyxIyYqgAHLm649x9xMS6+l1mAaH37PD4vPJCmsDVX1zDQ3 HLYtS2xoVPjz0OEpqX9LQ== X-UI-Out-Filterresults: notjunk:1; X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [generic] X-Received-From: 212.227.15.18 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:182585 Archived-At: > The torture test part of the page isn't shown by default. It's the bi= t > at the end that says "Extant Carnivora species [Show]". So IIUC you want to lay out text in cells like this Nandiniidae Nandinia African palm civet (N. binotata) Atilax Marsh mongoose (A. paludinosus) Bdeogale Bushy-tailed mongoose (B. crassicauda) Jackson'= s mongoose (B. jacksoni) Black-footed mongoose (B. nigripes) Then we could proceed as follows: (1) Turn on word wrap. (2) For each cell put the text in a buffer and show the buffer in a window. Arrange that the text width of the window is as wide as the= desired with of the the cell (you can split the window or adjust its= fringes for that). (3) Run `window-text-pixel-size' or `vertical-motion' over it to get the maximum height of the text in the cell. Proceed with the next cell in the same row. "All" that's missing is one thing: The word wrap algorithm would have to inform you where each visual line in step (3) ends, either by inserting something like a CR or a text property into the buffer or by returning a list of all buffer positions where it broke the line. This should be manageable with God's and Eli's help. Using these indications you could add the necessary inter-cell whitespaces. Then make each cell as high as the maximum value returned by the (3) steps in one "row" and continue with the next row. And before I forget: We don't support different line heights with this approach. Actually this means that in Bdeogale Bushy-tailed mongoose (B. crassicauda) Jackson'= s mongoose (B. jacksoni) Black-footed mongoose (B. nigripes) Bdeogale would have to appear on the same of either of the two lines on the right. Firefox can do better - it centers the line here. I suppose Linn=E9 wouldn't complain, though ... martin