Hi, Brian,

We are shipping this because tracker, a desktop search tool, depends on w3m.
I will add this info into materials.

-rick

>
> Brian Cameron wrote:
>>
>> 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
>>
>


Reply via email to