???Including the project team in this thread. Harry On Wed, 2008-05-28 at 23:28 -0500, 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 > --
Harry.Lu at Sun.COM Solaris Desktop Group, Sun Microsystems Tel: +86-10-82618200 ext. 82870/ +86-10-62673870 Fax: +86-10-62780969