OK, I've put an experimental bitmap fonts supported version up. It's pretty horrid but is definitely faster even on OS4 when using outline fonts through it.
It doesn't make any attempt to display anything in the correct character set, you'll just get raw UTF-8 stuck on the screen.
To enable, set the following in Choices:
use_diskfont:1
font_sans:helvetica
font_serif:times
font_mono:topaz
font_cursive:garnet
font_fantasy:emerald
Feel free to use different fonts!
It's working and there is spacing in the text now which looks better but ami_font_bm_open() must be called several thousand times, often many times for the same font and size in a row. This makes it slow with netsurf -v to display all the output but maybe it will be alright without -v.
I've been trying to track down the menu "Browser->Find text" bug which is caused by a NULL pointer which is then put on the stack and used by an RTS deep inside intuition.library. What ever happened to simple hits in the executable? I guess this is what happens when back porting to an OS which is missing the new APIs and support.
Edit: I have one lead pointing to the "Browser->Find text" bug being in amiga/menu.c ami_menu_item_browser_find(), It would be the GetAttr() call that has the hit and then guru in intuition.library. The NULL pointer may be at an offset of 8 from a structure (maybe a private struct). I would have to catch before the GetAttr() call if you need more info on arguments passed.
Scrolling the display window with the keyboard works but not the proportional gadgets which give NetSurf debugging messages like:
amiga/gui.c ami_scroller_hook 5168: IDCMP hook unhandled event: 0
This might be good to fix. The NetSurf program size keeps dropping as you add new features which is good. You may eventually have enough memory on your AmigaOS 3 system to run it yourself if you keep it up

.