From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Thien-Thi Nguyen Newsgroups: gmane.emacs.devel Subject: Re: inclusion of emacs-w3m Date: Tue, 11 Sep 2012 12:38:40 +0200 Message-ID: <87ehm87sjz.fsf@zigzag.favinet> References: <87txw9r9o2.fsf@kanis.fr> <871uihst4z.fsf@gnus.org> <87pq61k48h.fsf@kanis.fr> <87d320a6jd.fsf@gnus.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha1; protocol="application/pgp-signature" X-Trace: ger.gmane.org 1347359943 3556 80.91.229.3 (11 Sep 2012 10:39:03 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 11 Sep 2012 10:39:03 +0000 (UTC) Cc: emacs devel To: Lars Ingebrigtsen Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Sep 11 12:39:06 2012 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 1TBNs1-0005ZI-OV for ged-emacs-devel@m.gmane.org; Tue, 11 Sep 2012 12:39:05 +0200 Original-Received: from localhost ([::1]:52642 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TBNrx-0003dG-K9 for ged-emacs-devel@m.gmane.org; Tue, 11 Sep 2012 06:39:01 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:38185) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TBNrr-0003d3-Un for emacs-devel@gnu.org; Tue, 11 Sep 2012 06:38:59 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TBNrn-0001Rs-M4 for emacs-devel@gnu.org; Tue, 11 Sep 2012 06:38:55 -0400 Original-Received: from smtp206.alice.it ([82.57.200.102]:36206) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TBNrn-0001RL-BW for emacs-devel@gnu.org; Tue, 11 Sep 2012 06:38:51 -0400 Original-Received: from zigzag.favinet (79.21.139.167) by smtp206.alice.it (8.6.023.02) id 5046970001331689; Tue, 11 Sep 2012 12:38:39 +0200 Original-Received: from ttn by zigzag.favinet with local (Exim 4.72) (envelope-from ) id 1TBNro-0001YN-J9; Tue, 11 Sep 2012 12:38:52 +0200 In-Reply-To: <87d320a6jd.fsf@gnus.org> (Lars Ingebrigtsen's message of "Wed, 05 Sep 2012 16:27:50 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 82.57.200.102 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:153240 Archived-At: --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable () Lars Ingebrigtsen () Wed, 05 Sep 2012 16:27:50 +0200 Oh, and forms support. And stuff. It shouldn't take anybody more than a month to implement a full-featured Emacs browser. (Well. As full-featured as a totally non-JS browser will ever be.) Don't forget decent table rendering (especially, nested tables), one of w3m's distinguishing features. From /usr/share/doc/w3m/STORY.html: Table rendering algorithm in w3m=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 HTML table rendering is difficult. Tabular environment of LaTeX is not very difficult, which makes the width of a column either a specified value or the maximum width to put items into it. On the other hand, HTML table renderer has to decide the width of a column so that the entire table can fit into the display appropriately, and fold the contents of the table according to the column width. Inappropriate column width decision makes the table ugly. Moreover, table can be nested, which makes the algorithm more complicated. =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 1. First, calculate the maximum and minimum width of each column. The maximum width is the width required to display the column without folding the contents. Generally, it is the length of paragraph delimited by
or

. The minimum width is the lower limit to display the contents. If the column contains the word `internationalization', the minimum width will be 20. If the column contains

..
, the maximum width of the preformatted text will be the minimum width of the column. 2. If the width of the column is specified by WIDTH attribute, fix the column width using that value. If the specified width is smaller than the minimum width of the column, fix the column width to the minimum width. 3. Calculate the sum of the maximum width (or fixed width) of each column and check if the sum exceeds the screen width. If it is smaller than screen width, these values are used for width of each column. 4. If the sum is larger than the screen width, determine the widths of each column according to the following steps. 1. Let W be the screen width subtracted by the sum of widths of fixed-width columns. 2. Distribute W into the columns whose width are not decided, in proportion to the logarithm of the maximum width of each column. 3. If the distributed width of a column is smaller than the minimum width, then fix the width of the column to the minimum width, and do the distribution again. =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20 So, maybe another week or two for the Inspired One... who will it be? [cc trimmed] =2D-=20 Thien-Thi Nguyen ..................................... GPG key: 4C807502 . NB: ttn at glug dot org is not me . . (and has not been since 2007 or so) . . ACCEPT NO SUBSTITUTES . ........... please send technical questions to mailing lists ........... --=-=-= Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) iEYEARECAAYFAlBPFLMACgkQZwMiJEyAdQKUVwCgzLArhmwA/WXjSYsBtopXssW2 9jQAnRqPk7mcuadKep2xBs0UCQ+7BsKv =/dQK -----END PGP SIGNATURE----- --=-=-=--