[Oberon] repair to HTMLDocs.Mod.

Thomas Frey thomas.frey at alumni.ethz.ch
Thu May 12 12:12:07 CEST 2005


Thanks for the feedback. The index check will be included in the next 
Bluebottle crazy fresh release.

--Thomas

shark at gulfnet.sd64.bc.ca wrote:
> Oberon users,
> 
> "TRAP 7  Index out of range (PC Native 05.01.2003)"
> was turning up too often when viewing Web pages.
> 
> For example "Desktops.OpenDoc  http://www.debian.org/" 
> yielded 
> "TRAP 7  Index out of range (PC Native 05.01.2003)
> HTMLDocs.WriteCharRef  PC = 17182"
> and "Desktops.OpenDoc http://www.w3.org/MarkUp/" yielded
> "TRAP 7  Index out of range (PC Native 05.01.2003)  
> HTMLDocs.CharRefStr  PC = 18458"
> 
> A little study of HTMLDocs.Mod reveals that such 
> a trap happens from an attempt to evaluate 
> Strings.ISOToOberon[i] with i > 255 while ISOToOberon 
> contains 256 characters.
> 
> The simple solution is to check the validity of 
> the index before evaluating the array.  For 
> characters not available in the system, nul character
> 0 can be substituted.  This doesn't allow us to 
> see the non-english text on http://www.debian.org/
> but at least the page can open without a trap.
> My "repaired" HTMLDocs.Mod is available via  
> Desktops.OpenDoc http://carnot.pathology.ubc.ca/oberon.html .
> You might need to scroll down a little.  The 
> commands are there to get the file, Diff it and 
> Compile it. 
> 
> A more general observation.  HTMLDocs.Mod
> recognizes HTML numeric character references for 
> ISO 8859-1, Greek and Math characters.  The mapping
> from numeric character references to Oberon fonts is 
> implemented with three techniques. 
> 1. The mapping to ISO 8859-1 is by evaluating the 
> array ISOToOberon.
> 2. The mapping to the Greek font is by the Consts
> GreekCap = "0013 ..." and GreekMin = "0045 ...".
> 3. The mapping to the Math font is by a long CASE
> statement.
> 
> Also, a few HTML character entity names are mapped 
> to fonts by a CASE statement.
> 
> Incorporating the characters and font for another 
> language, Arabic for example, is non-trivial task.
> 
> In principle, expansion of ISOToOberon to 
> UnicodeToOberon would allow a simpler mapping of 
> characters to fonts and would make the incorporation 
> of Arabic much simpler.  Does this happen in Aos?
> 
> Thanks,           ... Peter
> 
>       Desktops.OpenDoc  http://carnot.pathology.ubc.ca/
> 
> --
> Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related systems
> https://www.mail.inf.ethz.ch/lists/listinfo/oberon




More information about the Oberon mailing list