() 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 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. 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. So, maybe another week or two for the Inspired One... who will it be? [cc trimmed] -- 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 ...........