488 lines
14 KiB
Plaintext
488 lines
14 KiB
Plaintext
Last updated: December 22, 2003
|
||
|
||
=====================================
|
||
|
||
HighWire Documentation
|
||
|
||
=====================================
|
||
|
||
Table of Content
|
||
|
||
1. HighWire Release License
|
||
2. What is HighWire?
|
||
3. HighWire Development Team
|
||
4. Use of HighWire
|
||
5. Use of FontList
|
||
6. Supported HTML tags
|
||
7. Project Links
|
||
|
||
|
||
1. HighWire Release License
|
||
|
||
|
||
This software is provided 'as-is', without any express or implied
|
||
warranty. In no event will the authors be held liable for any damages
|
||
arising from the use of this software.
|
||
|
||
Permission is granted to anyone to use this software for any purpose,
|
||
including commercial applications, and to alter it and redistribute it
|
||
freely, subject to the following restrictions:
|
||
|
||
1. The origin of this software must not be misrepresented; you must not
|
||
claim that you wrote the original software. If you use this software
|
||
in a product, an acknowledgment in the product documentation would be
|
||
appreciated but is not required.
|
||
|
||
2. Altered source versions must be plainly marked as such, and must not be
|
||
misrepresented as being the original software.
|
||
|
||
3. This notice may not be removed or altered from any source distribution.
|
||
Anyone uses bits of the code for other reasons is welcome to, as long as
|
||
they specifically state that their work is based, in part, on the Project
|
||
HighWire source release by Robert Goldsmith.
|
||
|
||
|
||
2. What is HighWire?
|
||
|
||
This is taken from the HighWire site written by the original author,
|
||
Robert Goldsmith.
|
||
|
||
"For those of you who have not heard, HighWire is a new web browser. It has
|
||
been in 'development' for over a year. I started HighWire in what I
|
||
considered a feeble attempt to discourage me from moaning about Cab. I
|
||
figured that when I proved my code was vastly slower than Cab at parsing and
|
||
rendering a page I would give up and accept that browsing on my Falcon would
|
||
always be slow. Things did not turn out how I expected... I think the big
|
||
problem with my plan was that, unbeknownst to me at the time, I had had a
|
||
couple of rather good ideas. The result is HighWire. Ok, so can I download
|
||
it? You cannot write a web browser in a month. I know, I tried :) HighWire
|
||
is still very much in development. "
|
||
|
||
Originally HighWire could do the following:
|
||
|
||
<20> Load in an HTML 3.2 page hard coded into the source
|
||
<20> Display this page multiple times in hard coded frames
|
||
<20> Redraw and scroll the frames and resize the window
|
||
<20> Quit
|
||
|
||
Where we have gone with the project ...
|
||
|
||
New items since it went open source:
|
||
|
||
<20> Frameset Support (90%)
|
||
<20> Tables (98%)
|
||
<20> HTML 4 compliant (90%)
|
||
<20> HTML forms (20%)
|
||
<20> Online OVLs for mintnet, sting and support for iconnect
|
||
<20> Colour support (mapped to current system palette)
|
||
<20> Graphics (95%) - Now loads HTML files with Gifs, Jpgs and Pngs (50%) -
|
||
colours are perfect in mono/256/32k/64k modes - other modes(24/32 bit) need
|
||
adjusting
|
||
<20> Files (Graphics, HTMLs, Docs etc.) can be dragged to a Highwire window
|
||
where they will be displayed
|
||
<20> Implementation of memory caching of images avoids multiple
|
||
loading of the same image. The pseudo URI "about:cache" now
|
||
shows detailed information about cached images.
|
||
<20> Gem Version with drop-down menues
|
||
<20> Right mouse click now opens a popup menu.
|
||
<20> Gemscript support
|
||
<20> Iconify/Uniconify window
|
||
<20> HighWire now loads sample HTM files from a folder named "HTML"
|
||
<20> Sound support
|
||
<20> International Character Set support
|
||
<20> Unicode characters up to U+FFFD with NVDI 4 and TrueType fonts
|
||
<20> Scroll Window using arrow keys
|
||
<20> A working implementation of hyperlinks (text and image)
|
||
<20> File Selector support
|
||
<20> Display text files using PRE style font selection
|
||
<20> CSS in HTML tags (e.g. converted by HTMLtidy)
|
||
<20> Number of windows only restricted by operating system
|
||
<20> Frame Scroll controls are implemented now, also support of right mouse
|
||
button.
|
||
<20> Real time scrolling
|
||
<20> Background Scrolling is now working
|
||
<20> Highwire now works with scroll mice when the program MWheel is
|
||
being used.
|
||
<20> The program MyPDF has been added to the HighWire package and is currently
|
||
under development (PDF support 10%)
|
||
<20> Several Hotkeys added
|
||
<20> Extended menu bar, the current charset encoding can be seen
|
||
and changed at menu title "View". Also de/increasing of the
|
||
display font is available there.
|
||
<20> Menu entry"Info.." will show now some basic information about
|
||
the active frame.
|
||
<20> Improved algorithm for line breaking to avoid splitting of
|
||
text lines at wrong positions.
|
||
<20> Now buttons of forms are reacting to mouse clicks.
|
||
<20> HTTP protocol layer reworked, is much faster now and works for much more
|
||
servers.
|
||
<20> The problem of files with long names not loaded at some Magic versions
|
||
(eg. *.html) is solved now.
|
||
<20> Added a workaround to have it working under Geneva again.
|
||
<20> Reworked code to avoid a flickering mouse pointer when using Highwire.
|
||
<20> Navigational Bar added with the traditional browser button: Forward, Back,
|
||
Home, Reload, Stop and URL Edit Field.
|
||
<20> When holding down the Forward and Back buttons a bit longer, a popup
|
||
appears allows selection of any URL in History as well as the Last and
|
||
Next URLs..
|
||
<20> Using the commands, ^C/^V, copying between the Navigation Bar's edit field
|
||
and the Clipboard can be done.
|
||
<20> The Navigation Bar can be hidden or shown by holding down the ALT key while
|
||
the window's Close Button.
|
||
<20> Initial implementation of the Ovl's for different TCP/IP stack support has
|
||
been added.
|
||
<20> Form support has been improved with the support of Selection List.
|
||
<20> Calculation of table width and cells have been improved.
|
||
<20> New keyword FONT_MINSIZE to define a minimum font height in points, eg. for
|
||
(font size = 1) (see example.cfg\highwire.cfg for explanation).
|
||
<20> New menu entry under "Options" to have frames always resizable and
|
||
scrollbars if necessary even if the HTML defines anything else there. The
|
||
default is off, but can be set with the keyword FORCE_FRAMECTRL = 1 in the
|
||
config file.
|
||
<20> The cfg file now supports three new keywords concerning the cache: 1)
|
||
CACHEDIR which lets the user choose where Highwire will define a directory
|
||
for the storage of visited pages/images, 2) CACHEMEM = (kbytes) to limit
|
||
the amount of memory cached images (default is now 100k) which should help
|
||
to prevent Highwire from running out of memory due to always storing every
|
||
image ever loaded and 3) CACHEDSK which sets limits for filling up the
|
||
cache in order to prevent blowing up hard drives. (eg. CACHEDSK = 8192
|
||
1000 means to use only 8192 of disk space, but not more than 1000 files).
|
||
<20> More funtionality for the redo buttion: Holding down the ALT key clears
|
||
now the whole cache. Additional holding down the SHIFT key will avoid
|
||
forcing a page reload then.
|
||
|
||
It is currently missing:
|
||
|
||
<20> user interface
|
||
<20> Java/JavaScript support
|
||
<20> use of internet clients
|
||
<20> External viewer support
|
||
<20> lots more...
|
||
|
||
So why all the fuss?
|
||
|
||
Well, HighWire can load in, parse and render an HTML page in full 16-bit
|
||
fonts (for all the 'strange' characters such as Thorn) in about half the time
|
||
of Cab. Furthermore, once a page is pre-rendered (before the first time it
|
||
is displayed) it does not need further processing, making redraws and
|
||
window resizes much much faster. On a Hades machine the code was tested
|
||
on, the page render including font sizes, centering and lists redrew
|
||
correctly in real time (with a slight flicker...) as the window was
|
||
resized.
|
||
|
||
|
||
3. HighWire Development Team
|
||
|
||
HighWire Code
|
||
|
||
<20> Dan Ackerman (aka Baldrick - current maintainer)
|
||
<20> Ralph Lowinski (aka AltF4)
|
||
<20> Rainer Seitel
|
||
<20> Matthias Jaap
|
||
<20> Rafal Kawecki
|
||
<20> David Leaver
|
||
<20> Markus Lutz
|
||
<20> Mike De.Petris
|
||
<20> Denis Huguet (aka Stghost)
|
||
<20> Robert Goldsmith (original HighWire author - non active)
|
||
<20> Frank Naumann (original GCC modifications - non active)
|
||
|
||
HighWire Documentation
|
||
|
||
<20> Rob Mahlert
|
||
<20> Edward Baiz Jr. (aka Gamer)
|
||
<20> Jean-Paul Mata (aka ProTOS)
|
||
|
||
Fontlist Project
|
||
|
||
<20> Joakim H<>gberg (aka GokMasE)
|
||
<20> Lonny Pursell (aka LP)
|
||
|
||
|
||
4. Use of HighWire
|
||
|
||
<20> System Requirements:
|
||
<20> Multitasking (preemptive multitasking) Atari OS - Magic or Mint
|
||
<20> NVDI or Speedo (NVDI 4 for Unicode mode and TrueType fonts)
|
||
<20> Speedo fonts with Bitstream International Character Set (BICS)
|
||
|
||
Hot Keys:
|
||
|
||
<20> Control + I - About Highwire alert
|
||
<20> Control + O - Open file selector
|
||
<20> Control + R - Reload
|
||
<20> Control + Q - Quit Highwire
|
||
<20> Control + U - Cycle window
|
||
<20> Control + W - Cycle window
|
||
<20> Control + TAB - Close frames
|
||
<20> 1 - Reload with default character set ISO/IEC 8859-1, Latin-1,
|
||
Windows codepage 1252 (This is the default character set for
|
||
a HTML browser.)
|
||
<20> 2 - Reload with default character set ISO/IEC 8859-2, Latin-2
|
||
<20> A - Reload with default character set Atari ST system font
|
||
<20> F - Reload with default character set ISO/IEC 8859-15, Latin-8
|
||
<20> M - Reload with default character set Apple Macintosh Roman
|
||
<20> U - Reload with default encoding UTF-8, Unicode
|
||
<20> Tab - Cycle Frames
|
||
<20> + - Reload with increased font size
|
||
<20> - - Reload with decreased font size
|
||
<20> Help,F1 - Help: Help
|
||
<20> F5 - Reload
|
||
<20> F7 - Toggle logging to console
|
||
<20> F8 - Toggle pictures or alternative text
|
||
<20> Undo - Go back in file history (+Shift: go forward)
|
||
<20> Arrow keys - Scroll frame
|
||
|
||
The scroll elements support the right mouse button.</p>
|
||
|
||
File types supported:
|
||
|
||
<20> HTML files (8-bit coded)
|
||
<20> GIF images
|
||
<20> JPG images
|
||
<20> PNG images (not yet complete: no interlaced pics at the moment)
|
||
<20> Plain text (8-bit and 16-bit coded)
|
||
|
||
Configuration:
|
||
|
||
<20> At present highwire.cfg consists mainly of font information. Change
|
||
manually, or better with the setup tool FontList.
|
||
|
||
|
||
5. Use of FontList
|
||
|
||
FontList - Coded by Lp and GokMasE for HighWire project
|
||
========
|
||
|
||
Small utility to change font settings in HighWire configuration file.
|
||
|
||
* Installation
|
||
|
||
Keep this binary in the work directory of HighWire.
|
||
|
||
* Useage
|
||
|
||
As of FontList 1.11 a default config file is created at launch time,
|
||
unless an existing file is located in FontList's work directory.
|
||
Also note that if the font setting you are seeking to change is not
|
||
present (or not activated) in the old config file, FontList will add
|
||
the new setting to the end of the config.
|
||
|
||
Select 1 (there can be only one) of the fonts, then use
|
||
menubar to decide what setting in HighWire should be affected.
|
||
You can also right click on any of the fonts to open up a popup menu
|
||
and select a text style to link the current font ID to.
|
||
Note that changes are written to HighWire configuration file
|
||
instantly when you select an entry in either menu!
|
||
|
||
Another thing you can do, is select a number of fonts (hold down
|
||
CTRL) and later press CTRL+C. Then the prg will save a list of all
|
||
currently selected fonts to the clipboard.
|
||
|
||
CTRL+A selects/deselects all.
|
||
|
||
NOTE: When NVDI is installed, all non-speedo fonts are greyed out and
|
||
thus not selectable. The reason for this is that HighWire at this time
|
||
does not support other format than Speedo. However, if you wish to
|
||
play around with other fonts you can enable all listed fonts by
|
||
selecting "Allow non-speedo" from menubar.
|
||
|
||
* General advice
|
||
|
||
While this tools seems to work pretty reliable, it is a good idea to
|
||
keep backups of the configuration file.
|
||
|
||
|
||
6. Supported HTML tags
|
||
|
||
Here are some of the HTML tags that HighWire supports:
|
||
Hopefully will be updated to list all supported tags.
|
||
|
||
<20> A
|
||
- CHARSET
|
||
- HREF
|
||
- ID
|
||
- NAME
|
||
- TARGET
|
||
<20> B (bold)
|
||
<20> BASE
|
||
- TARGET
|
||
<20> BASEFONT
|
||
- COLOR
|
||
- SIZE
|
||
<20> BGSOUND (IE proprietary)
|
||
- SRC
|
||
<20> BIG
|
||
<20> BLOCKQUOTE
|
||
- TITLE
|
||
<20> BODY
|
||
- ALINK
|
||
- BGCOLOR
|
||
- LEFTMARGIN (IE proprietary)
|
||
- MARGINHEIGHT (NS proprietary)
|
||
- MARGINWIDTH (NS proprietary)
|
||
- TEXT
|
||
- TOPMARGIN (IE proprietary)
|
||
<20> BR
|
||
- CLEAR
|
||
<20> C
|
||
<20> CENTER
|
||
<20> CITE
|
||
<20> CODE
|
||
<20> DD (DL definition)
|
||
<20> DEL
|
||
<20> DFN (instance definition)
|
||
<20> DIR
|
||
<20> DIV
|
||
- ALIGN
|
||
<20> DL (definition lists)
|
||
<20> DT (DL term)
|
||
<20> EM
|
||
<20> EMBED
|
||
- SRC
|
||
<20> FONT
|
||
- COLOR
|
||
- SIZE
|
||
<20> FORM
|
||
- ACTION
|
||
- METHOD
|
||
- TARGET
|
||
<20> FRAME
|
||
- MARGINHEIGHT
|
||
- MARGINWIDTH
|
||
- NAME
|
||
- SCROLLING
|
||
- SRC
|
||
<20> FRAMESET
|
||
- COLS
|
||
- FRAMEBORDER
|
||
- ROWS
|
||
<20> H (H1 - H6)
|
||
- ALIGN
|
||
- BGCOLOR (HW proprietary, CSS wrapper)
|
||
- COLOR (HW proprietary, CSS wrapper)
|
||
<20> HR
|
||
- ALIGN
|
||
- BGCOLOR (HW proprietary, CSS wrapper)
|
||
- COLOR
|
||
- HEIGHT
|
||
- NOSHADE
|
||
- SIZE
|
||
- WIDTH
|
||
<20> HTML
|
||
- LANG
|
||
<20> I (italics)
|
||
<20> IMG
|
||
- ALIGN
|
||
- ALT
|
||
- HEIGHT
|
||
- HSPACE
|
||
- SRC
|
||
- VSPACE
|
||
- WIDTH
|
||
<20> INPUT
|
||
- CHECKED
|
||
- MAXLENGTH
|
||
- SIZE
|
||
- TYPE ('BUTTON','CHECKBOX','FILE','HIDDEN','PASSWORD','RADIO','RESET',
|
||
'SUBMIT','TEXT')
|
||
- VALUE
|
||
<20> INS
|
||
<20> IOD (IOD4 proprietary)
|
||
- SHOUT
|
||
<20> KBD
|
||
<20> LI (list item)
|
||
- TYPE
|
||
- VALUE
|
||
<20> LISTING
|
||
<20> MENU
|
||
<20> META
|
||
- CONTENT
|
||
- HTTP_EQUIV ('"CHARSET','REFRESH"')
|
||
<20> NOSCRIPT
|
||
<20> OL (numbered lists)
|
||
- START
|
||
- TYPE
|
||
<20> P
|
||
- ALIGN
|
||
<20> PLAINTEXT
|
||
<20> PRE
|
||
- WIDTH
|
||
<20> Q
|
||
- LANG
|
||
<20> S (strike through)
|
||
<20> SAMP
|
||
<20> SCRIPT (unused atm)
|
||
<20> (SELECT)
|
||
<20> SMALL
|
||
<20> STRIKE
|
||
<20> STRONG
|
||
<20> STYLE (unused atm)
|
||
<20> SUB
|
||
<20> SUP
|
||
<20> TABLE
|
||
- ALIGN
|
||
- BGCOLOR
|
||
- BORDER
|
||
- CELLPADDING
|
||
- CELLSPACING
|
||
- HEIGHT
|
||
- WIDTH
|
||
<20> TD (table data cell)
|
||
- ALIGN
|
||
- BGCOLOR
|
||
- COLSPAN
|
||
- HEIGHT
|
||
- ROWSPAN
|
||
- VALIGN
|
||
- WIDTH
|
||
<20> (TEXTAREA)
|
||
<20> TH (table header cell)
|
||
- ALIGN
|
||
- BGCOLOR
|
||
- COLSPAN
|
||
- HEIGHT
|
||
- ROWSPAN
|
||
- VALIGN
|
||
- WIDTH
|
||
<20> TITLE
|
||
<20> TR (table row)
|
||
- ALIGN
|
||
- BGCOLOR
|
||
- HEIGHT
|
||
- VALIGN
|
||
<20> TT (teletype font)
|
||
<20> U (underlined)
|
||
<20> UL (bulleted lists)
|
||
- TYPE
|
||
<20> VAR
|
||
<20> XMP
|
||
|
||
|
||
7. Project Links
|
||
|
||
While HighWire won't directly use these at this point. Here are some useful
|
||
links for the HighWire project:
|
||
|
||
HighWire Project Homepage.
|
||
|
||
- Place for the most current downloads and information about
|
||
the HighWire project
|
||
|
||
http://highwire.atari-users.net
|
||
|
||
|
||
HighWire Users mailing list
|
||
|
||
- A list for users to ask questions and report bugs.
|
||
|
||
http://www.atari-users.net/mailman/listinfo/highwire-users_atari-users.net
|
||
|
||
|
||
HighWire Developer Mailing list
|
||
|
||
- A list for people interested in actively working on the project.
|
||
|
||
http://www.atari-users.net/mailman/listinfo/highwire-atari-users.net
|
||
|