Rick, Could you please answer the question of Brian?
Thanks --Irene 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 >