W3M [LSARC/2008/346 FastTrack timeout 06/03/2008]
Brian Cameron
Brian.Cameron at sun.com
Wed May 28 21:28:21 PDT 2008
Could you explain why W3M is needed on Solaris. The FastTrack doesn't
seem to indicate what need it fills. Dan has suggested elinks is a
better text-based web browser. Did we consider elinks? What made us
want to integrate w3m instead of other alternatives?
Brian
Shi-Ying Irene Huang wrote:
> Template Version: @(#)sac_nextcase 1.66 04/17/08 SMI
> This information is Copyright 2008 Sun Microsystems
> 1. Introduction
> 1.1. Project/Component Working Name:
> W3M
> 1.2. Name of Document Author/Supplier:
> Author: Rick Ju
> 1.3 Date of This Document:
> 27 May, 2008
> 4. Technical Description
> 1. Introduction
> 1.1. Project/Component Working Name:
>
> w3m a text-based WWW browser
>
> 1.2. Name of Document Author/Supplier:
>
> Author: Rick Ju
> Sponser: Irene Huang
>
> 1.3. Date of This Document:
>
> 05/11/2008
>
> 2. Technical Description:
> 2.1. Details:
>
> w3m is a text-based web browser as well as a pager like `more' or `less'.
> With w3m you can browse web pages through a terminal emulator window
> (xterm, rxvt or something like that). Moreover, w3m can be used as a
> text formatting tool which typesets HTML into plain text.
>
> w3m has support for tables, frames, SSL connections, color and even inline
> images on suitable terminals. Generally, it renders pages in a form as true
> to their original layout as possible. And W3m is small. Its stripped
> binary for Sparc is only 260kbyte.
>
> w3m locally run cgi scripts to test html output (requires *no* webserver).
> w3m keystroke compatible with lynx and support the keybindings customize.
> w3m support SSL through the openssl library. And w3m could support cookies.
>
> 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 <BR> or <P>. 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 <pre>..</pre>, 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.
>
> In this process, distributed width is proportion to logarithm of maximum width.
>
> The algorithm above assumes that the screen width is known. But it is not
> true for nested table. According the algorithm above, the column width of
> the outer table have to be known to render the inner table, while the total
> width of the inner table have to be known to determine the column width of
> the outer table. If WIDTH attribute exists there are no problems.
> Otherwise, w3m assumes that the inner table is 0.8 times as wide as the
> outer table. It works fine, but if there are two tables side by side in an
> outer table, the width of the outer table always exceeds the screen width.
> To render this kind of table correctly, one have to render the table once,
> check the width of outmost table, and then render the entire table again.
> Netscape might employ this kind of algorithm.
>
> 2.2. Interfaces:
> Exported Interfaces
> Interface Classification Comments
> --------------- --------------- -----------------------
> w3m CLI Volatile See w3m-help.txt
>
> $HOME/.w3m/config Project Private w3m Configuration information
> SUNWw3m Uncommited w3m end-user packaging contains binary, libraries.
> SUNWw3m-l10n Uncommited Localization.
>
> Imported Interfaces
> Interface Classification Comments
> --------------- --------------- -----------------------
> HTML/XML/HTTP Stable These specs are defined
> W 3C.org
> OpenSSL Volatile PSARC/2003/500
> Firefox Volatile LSARC/2008/158
> GTK+ Committed LSARC/2006/202
> libpng Volatile LSARC/2006/202
>
> 2.3. Doc Impact:
>
> Man page is needed.
>
> 2.4. Packaging & Delivery:
> SUNWw3m (base package) - application i.e binary, libraries
> SUNWw3m-l10n (localization) - Localization.
>
>
> 2.5. Dependencies:
> w3m depends on OpenSSL, Firefox, GTK+, and libpng.
>
> 2.6. L10N Impact:
> There are string changes. Hence this should be taken care.
>
> 2.7 Security Impact:
>
> None.
>
>
>
> 6. Resources and Schedule
> 6.4. Steering Committee requested information
> 6.4.1. Consolidation C-team Name:
> Desktop
> 6.5. ARC review type: FastTrack
> 6.6. ARC Exposure: open
>
> _______________________________________________
> opensolaris-arc mailing list
> opensolaris-arc at opensolaris.org
More information about the opensolaris-arc
mailing list