From 625421c14577a7666be61a899704ee5b16476b39 Mon Sep 17 00:00:00 2001 From: Andrew Hodgkinson <ahodgkin@gitlab.riscosopen.org> Date: Fri, 3 Oct 1997 16:15:14 +0000 Subject: [PATCH] !Run[D] files updated to require FTP 0.14, and ensure that the Resolver and MimeMap modules are present. Paragraph tags can now affect images and other such objects - previously they only worked on text (this was noticed for a DIV element containing one image, which was preceeded by a P element but didn't have any white space above it). This is the source that will be released to PSI, and builds the Customer !Customer and internal !Phoenix releases at about 5:00pm on 10/03/97. --- Resources/UK/Browse/!Run,feb | 9 ++- Resources/UK/Browse/!RunD,feb | 9 ++- Resources/UK/Phoenix/!Run,feb | 9 ++- Resources/UK/Phoenix/!RunD,feb | 9 ++- Resources/UK/Ursula/!Run,feb | 9 ++- Resources/UK/Ursula/!RunD,feb | 9 ++- c/Reformat | 59 +++++++-------- c/Trace | 128 +++++++++++++++++---------------- 8 files changed, 138 insertions(+), 103 deletions(-) diff --git a/Resources/UK/Browse/!Run,feb b/Resources/UK/Browse/!Run,feb index 487252d..5291b55 100644 --- a/Resources/UK/Browse/!Run,feb +++ b/Resources/UK/Browse/!Run,feb @@ -33,8 +33,13 @@ RMEnsure AcornHTTP 0.41 RMLoad System:Modules.Network.URL.HTTP RMEnsure AcornHTTP 0.41 Error The browser requires version 0.41 or later of the HTTP module RMEnsure FileFetcher 0.23 RMLoad System:Modules.Network.URL.File RMEnsure FileFetcher 0.23 Error The browser requires version 0.23 or later of the File module -RMEnsure FTPFetcher 0.13 RMLoad System:Modules.Network.URL.FTP -RMEnsure FTPFetcher 0.13 Error The browser requires version 0.13 or later of the FTP module +RMEnsure FTPFetcher 0.14 RMLoad System:Modules.Network.URL.FTP +RMEnsure FTPFetcher 0.14 Error The browser requires version 0.14 or later of the FTP module + +RMEnsure Resolver 0.48 RMLoad System:Modules.Network.Resolver +RMEnsure Resolver 0.48 Error The browser requires version 0.48 or later of the Resolver module +RMEnsure MimeMap 0.04 RMLoad System:Modules.Network.MimeMap +RMEnsure MimeMap 0.04 Error The browser requires version 0.04 or later of the MimeMap module | TaskModule for catching service calls (not required for | some UIs, so let it fail silently); also the URI handler, diff --git a/Resources/UK/Browse/!RunD,feb b/Resources/UK/Browse/!RunD,feb index 492fae4..2c38d36 100644 --- a/Resources/UK/Browse/!RunD,feb +++ b/Resources/UK/Browse/!RunD,feb @@ -40,8 +40,13 @@ RMEnsure AcornHTTP 0.41 RMLoad System:Modules.Network.URL.HTTP RMEnsure AcornHTTP 0.41 Error The browser requires version 0.41 or later of the HTTP module RMEnsure FileFetcher 0.23 RMLoad System:Modules.Network.URL.File RMEnsure FileFetcher 0.23 Error The browser requires version 0.23 or later of the File module -RMEnsure FTPFetcher 0.13 RMLoad System:Modules.Network.URL.FTP -RMEnsure FTPFetcher 0.13 Error The browser requires version 0.13 or later of the FTP module +RMEnsure FTPFetcher 0.14 RMLoad System:Modules.Network.URL.FTP +RMEnsure FTPFetcher 0.14 Error The browser requires version 0.14 or later of the FTP module + +RMEnsure Resolver 0.48 RMLoad System:Modules.Network.Resolver +RMEnsure Resolver 0.48 Error The browser requires version 0.48 or later of the Resolver module +RMEnsure MimeMap 0.04 RMLoad System:Modules.Network.MimeMap +RMEnsure MimeMap 0.04 Error The browser requires version 0.04 or later of the MimeMap module | TaskModule for catching service calls (not required for | some UIs, so let it fail silently); also the URI handler, diff --git a/Resources/UK/Phoenix/!Run,feb b/Resources/UK/Phoenix/!Run,feb index 3dbf685..28a1596 100644 --- a/Resources/UK/Phoenix/!Run,feb +++ b/Resources/UK/Phoenix/!Run,feb @@ -33,8 +33,13 @@ RMEnsure AcornHTTP 0.41 RMLoad System:Modules.Network.URL.HTTP RMEnsure AcornHTTP 0.41 Error The browser requires version 0.41 or later of the HTTP module RMEnsure FileFetcher 0.23 RMLoad System:Modules.Network.URL.File RMEnsure FileFetcher 0.23 Error The browser requires version 0.23 or later of the File module -RMEnsure FTPFetcher 0.13 RMLoad System:Modules.Network.URL.FTP -RMEnsure FTPFetcher 0.13 Error The browser requires version 0.13 or later of the FTP module +RMEnsure FTPFetcher 0.14 RMLoad System:Modules.Network.URL.FTP +RMEnsure FTPFetcher 0.14 Error The browser requires version 0.14 or later of the FTP module + +RMEnsure Resolver 0.48 RMLoad System:Modules.Network.Resolver +RMEnsure Resolver 0.48 Error The browser requires version 0.48 or later of the Resolver module +RMEnsure MimeMap 0.04 RMLoad System:Modules.Network.MimeMap +RMEnsure MimeMap 0.04 Error The browser requires version 0.04 or later of the MimeMap module | JPEG support for OS versions without this in SpriteExtend diff --git a/Resources/UK/Phoenix/!RunD,feb b/Resources/UK/Phoenix/!RunD,feb index f560bd7..9cb5fa3 100644 --- a/Resources/UK/Phoenix/!RunD,feb +++ b/Resources/UK/Phoenix/!RunD,feb @@ -40,8 +40,13 @@ RMEnsure AcornHTTP 0.41 RMLoad System:Modules.Network.URL.HTTP RMEnsure AcornHTTP 0.41 Error The browser requires version 0.41 or later of the HTTP module RMEnsure FileFetcher 0.23 RMLoad System:Modules.Network.URL.File RMEnsure FileFetcher 0.23 Error The browser requires version 0.23 or later of the File module -RMEnsure FTPFetcher 0.13 RMLoad System:Modules.Network.URL.FTP -RMEnsure FTPFetcher 0.13 Error The browser requires version 0.13 or later of the FTP module +RMEnsure FTPFetcher 0.14 RMLoad System:Modules.Network.URL.FTP +RMEnsure FTPFetcher 0.14 Error The browser requires version 0.14 or later of the FTP module + +RMEnsure Resolver 0.48 RMLoad System:Modules.Network.Resolver +RMEnsure Resolver 0.48 Error The browser requires version 0.48 or later of the Resolver module +RMEnsure MimeMap 0.04 RMLoad System:Modules.Network.MimeMap +RMEnsure MimeMap 0.04 Error The browser requires version 0.04 or later of the MimeMap module | JPEG support for OS versions without this in SpriteExtend diff --git a/Resources/UK/Ursula/!Run,feb b/Resources/UK/Ursula/!Run,feb index 8105517..487c845 100644 --- a/Resources/UK/Ursula/!Run,feb +++ b/Resources/UK/Ursula/!Run,feb @@ -33,8 +33,13 @@ RMEnsure AcornHTTP 0.41 RMLoad System:Modules.Network.URL.HTTP RMEnsure AcornHTTP 0.41 Error The browser requires version 0.41 or later of the HTTP module RMEnsure FileFetcher 0.23 RMLoad System:Modules.Network.URL.File RMEnsure FileFetcher 0.23 Error The browser requires version 0.23 or later of the File module -RMEnsure FTPFetcher 0.13 RMLoad System:Modules.Network.URL.FTP -RMEnsure FTPFetcher 0.13 Error The browser requires version 0.13 or later of the FTP module +RMEnsure FTPFetcher 0.14 RMLoad System:Modules.Network.URL.FTP +RMEnsure FTPFetcher 0.14 Error The browser requires version 0.14 or later of the FTP module + +RMEnsure Resolver 0.48 RMLoad System:Modules.Network.Resolver +RMEnsure Resolver 0.48 Error The browser requires version 0.48 or later of the Resolver module +RMEnsure MimeMap 0.04 RMLoad System:Modules.Network.MimeMap +RMEnsure MimeMap 0.04 Error The browser requires version 0.04 or later of the MimeMap module | TaskModule for catching service calls (not required for | some UIs, so let it fail silently); also the URI handler, diff --git a/Resources/UK/Ursula/!RunD,feb b/Resources/UK/Ursula/!RunD,feb index c83515f..913c3a0 100644 --- a/Resources/UK/Ursula/!RunD,feb +++ b/Resources/UK/Ursula/!RunD,feb @@ -40,8 +40,13 @@ RMEnsure AcornHTTP 0.41 RMLoad System:Modules.Network.URL.HTTP RMEnsure AcornHTTP 0.41 Error The browser requires version 0.41 or later of the HTTP module RMEnsure FileFetcher 0.23 RMLoad System:Modules.Network.URL.File RMEnsure FileFetcher 0.23 Error The browser requires version 0.23 or later of the File module -RMEnsure FTPFetcher 0.13 RMLoad System:Modules.Network.URL.FTP -RMEnsure FTPFetcher 0.13 Error The browser requires version 0.13 or later of the FTP module +RMEnsure FTPFetcher 0.14 RMLoad System:Modules.Network.URL.FTP +RMEnsure FTPFetcher 0.14 Error The browser requires version 0.14 or later of the FTP module + +RMEnsure Resolver 0.48 RMLoad System:Modules.Network.Resolver +RMEnsure Resolver 0.48 Error The browser requires version 0.48 or later of the Resolver module +RMEnsure MimeMap 0.04 RMLoad System:Modules.Network.MimeMap +RMEnsure MimeMap 0.04 Error The browser requires version 0.04 or later of the MimeMap module | TaskModule for catching service calls (not required for | some UIs, so let it fail silently); also the URI handler, diff --git a/c/Reformat b/c/Reformat index 04259c1..80b1659 100644 --- a/c/Reformat +++ b/c/Reformat @@ -1379,7 +1379,22 @@ int reformat_y_offset (browser_data * b) static _kernel_oserror * reformat_check_height(int toplevel, browser_data * b, reformat_cell * d, int line, HStream * tp, HStream * tpLast, int offset) { _kernel_oserror * e; - int top = 0, bot = 0; + int spaced = 0; + int top = 0; + int bot = 0; + int fontsize = choices.font_size >> 4; + unsigned char add = (unsigned char) 3 * fontsize; + + /* If the token represents a line break but there is no extra */ + /* data (so this is right at the top of the paragraph) include */ + /* a gap for the break. */ + + if ((!offset) && (tp->style & (P | UL))) + { + b->last_space += add, spaced = 1; + // if (b->last_space <= add) top += add; + top += add; + } /* Find out the height of an image */ @@ -1396,8 +1411,8 @@ static _kernel_oserror * reformat_check_height(int toplevel, browser_data * b, r e = reformat_get_image_size(b, tp, &box); if (e) return e; - top = box.ymax; - bot = -box.ymin; + top += box.ymax; + bot = -box.ymin; } /* Size of a horizontal rule; the rule is plotted */ @@ -1438,8 +1453,10 @@ static _kernel_oserror * reformat_check_height(int toplevel, browser_data * b, r HtmlINPUTtype(tp) == inputtype_CHECKBOX ) { - read_sprite_size("fopton", NULL, &top); - top -= 8; + int size; + + read_sprite_size("fopton", NULL, &size); + top += size - 8; bot = 8; } @@ -1448,8 +1465,10 @@ static _kernel_oserror * reformat_check_height(int toplevel, browser_data * b, r HtmlINPUTtype(tp) == inputtype_RADIO ) { - read_sprite_size("fradioon", NULL, &top); - top -= 8; + int size; + + read_sprite_size("fradioon", NULL, &size); + top += size - 8; bot = 8; } @@ -1457,7 +1476,7 @@ static _kernel_oserror * reformat_check_height(int toplevel, browser_data * b, r else if (ISBULLET(tp)) { - top = reformat_bullet_height(tp->indent); + top += reformat_bullet_height(tp->indent); } else if (tp->tag == TABLE && ISBODY(tp)) @@ -1471,11 +1490,8 @@ static _kernel_oserror * reformat_check_height(int toplevel, browser_data * b, r else { - int h; - int spaced = 0; - int fontsize = choices.font_size >> 4; - unsigned char add; - BBox box; + int h; + BBox box; /* Get the bounding box of the font that should be used for the token */ @@ -1485,7 +1501,7 @@ static _kernel_oserror * reformat_check_height(int toplevel, browser_data * b, r e = fm_font_box(h, &box); if (e) return e; - top = box.ymax; + top += box.ymax; // /* Account for leading. */ // // /* Don't do for bold/italic due to font manager bug... */ @@ -1500,21 +1516,6 @@ static _kernel_oserror * reformat_check_height(int toplevel, browser_data * b, r } // else top = bot = box.xmin = box.xmax = box.ymin = box.ymax = 0; - /* The amount to add to 'top' to give line break effects */ - - add = (unsigned char) 3 * fontsize; - - /* If the token represents a line break but there is no extra */ - /* data (so this is right at the top of the paragraph) include */ - /* a gap for the break. */ - - if ((!offset) && (tp->style & (P | UL))) - { - b->last_space += add, spaced = 1; - // if (b->last_space <= add) top += add; - top += add; - } - /* Leave a gap above any DT elements */ if (!offset && (tp->style & DT)) diff --git a/c/Trace b/c/Trace index 72cd334..9f0dad2 100644 --- a/c/Trace +++ b/c/Trace @@ -1140,69 +1140,73 @@ tdtbs_fo_err: /* If there's an error whilst writing to the file */ { switch (tagno) { - case TAG_NONE: return "none"; - case TAG_A: return "A"; - case TAG_ADDRESS: return "ADDRESS"; - case TAG_BOLD: return "BOLD"; - case TAG_BASE: return "BASE"; - case TAG_BASEFONT: return "BASEFONT"; + case TAG_NONE: return "none"; + case TAG_A: return "A"; + case TAG_ADDRESS: return "ADDRESS"; + case TAG_BOLD: return "BOLD"; + case TAG_BASE: return "BASE"; + case TAG_BASEFONT: return "BASEFONT"; case TAG_BLOCKQUOTE: return "BLOCKQUOTE"; - case TAG_BR: return "BR"; - case TAG_CENTER: return "CENTER"; - case TAG_CITE: return "CITE"; - case TAG_CODE: return "CODE"; - case TAG_DD: return "DD"; - case TAG_DIR: return "DIR"; - case TAG_DL: return "DL"; - case TAG_DT: return "DT"; - case TAG_EM: return "EM"; - case TAG_FONT: return "FONT"; - case TAG_FORM: return "FORM"; - case TAG_H1: return "H1"; - case TAG_H2: return "H2"; - case TAG_H3: return "H3"; - case TAG_H4: return "H4"; - case TAG_H5: return "H5"; - case TAG_H6: return "H6"; - case TAG_HR: return "HR"; - case TAG_ITALIC: return "ITALIC"; - case TAG_IMG: return "IMG"; - case TAG_INPUT: return "INPUT"; - case TAG_ISINDEX: return "ISINDEX"; - case TAG_KBD: return "KBD"; - case TAG_LI: return "LI"; - case TAG_LINK: return "LINK"; - case TAG_MENU: return "MENU"; - case TAG_META: return "META"; - case TAG_OL: return "OL"; - case TAG_OPTION: return "OPTION"; - case TAG_P: return "P"; - case TAG_PRE: return "PRE"; - case TAG_SAMP: return "SAMP"; - case TAG_SCRIPT: return "SCRIPT"; - case TAG_SELECT: return "SELECT"; - case TAG_STRONG: return "STRONG"; - case TAG_STYLE: return "STYLE"; - case TAG_TABLE: return "TABLE"; - case TAG_TD: return "TD"; - case TAG_TEXTAREA: return "TEXTAREA"; - case TAG_TITLE: return "TITLE"; - case TAG_TH: return "TH"; - case TAG_TR: return "TR"; - case TAG_TT: return "TT"; - case TAG_UL: return "UL"; - case TAG_VAR: return "VAR"; - case TAG_XMP: return "XMP"; - case TAG_FRAME: return "FRAME"; - case TAG_BODY: return "BODY"; - case TAG_FRAMESET: return "FRAMESET"; - case TAG_HEAD: return "HEAD"; - case TAG_NOFRAMES: return "NOFRAMES"; - case TAG_SUB: return "SUB"; - case TAG_SUP: return "SUP"; - case TAG_AREA: return "AREA"; - case TAG_MAP: return "MAP"; - case TAG_OBJECT: return "OBJECT"; + case TAG_BR: return "BR"; + case TAG_CENTER: return "CENTER"; + case TAG_CITE: return "CITE"; + case TAG_CODE: return "CODE"; + case TAG_DD: return "DD"; + case TAG_DIR: return "DIR"; + case TAG_DIV: return "DIV"; + case TAG_DL: return "DL"; + case TAG_DT: return "DT"; + case TAG_DUMMY: return "DUMMY"; + case TAG_EM: return "EM"; + case TAG_FONT: return "FONT"; + case TAG_FORM: return "FORM"; + case TAG_H1: return "H1"; + case TAG_H2: return "H2"; + case TAG_H3: return "H3"; + case TAG_H4: return "H4"; + case TAG_H5: return "H5"; + case TAG_H6: return "H6"; + case TAG_HR: return "HR"; + case TAG_ITALIC: return "ITALIC"; + case TAG_IMG: return "IMG"; + case TAG_INPUT: return "INPUT"; + case TAG_ISINDEX: return "ISINDEX"; + case TAG_KBD: return "KBD"; + case TAG_LI: return "LI"; + case TAG_LINK: return "LINK"; + case TAG_MENU: return "MENU"; + case TAG_META: return "META"; + case TAG_OL: return "OL"; + case TAG_OPTION: return "OPTION"; + case TAG_P: return "P"; + case TAG_PRE: return "PRE"; + case TAG_SAMP: return "SAMP"; + case TAG_SCRIPT: return "SCRIPT"; + case TAG_SELECT: return "SELECT"; + case TAG_STRIKE: return "STRIKE"; + case TAG_STRONG: return "STRONG"; + case TAG_STYLE: return "STYLE"; + case TAG_TABLE: return "TABLE"; + case TAG_TD: return "TD"; + case TAG_TEXTAREA: return "TEXTAREA"; + case TAG_TITLE: return "TITLE"; + case TAG_TH: return "TH"; + case TAG_TR: return "TR"; + case TAG_TT: return "TT"; + case TAG_U: return "U"; + case TAG_UL: return "UL"; + case TAG_VAR: return "VAR"; + case TAG_XMP: return "XMP"; + case TAG_FRAME: return "FRAME"; + case TAG_BODY: return "BODY"; + case TAG_FRAMESET: return "FRAMESET"; + case TAG_HEAD: return "HEAD"; + case TAG_NOFRAMES: return "NOFRAMES"; + case TAG_SUB: return "SUB"; + case TAG_SUP: return "SUP"; + case TAG_AREA: return "AREA"; + case TAG_MAP: return "MAP"; + case TAG_OBJECT: return "OBJECT"; default: return "unknown"; } -- GitLab