Drobe :: The archives
About Drobe | Contact | RSS | Twitter | Tech docs | Downloads | BBC Micro

RISC OS 5 to support NetSurf printing

Published: 6th Nov 2007, 00:27:51 | Permalink | Printable

Plus Filer and Pinboard among more ROOL components updated

Oh my God, it's Mr Jayembee!RISC OS 5 users will soon be able to print pages from NetSurf after one of the web browser's developers stepped in to fix Castle's printing system. Using the !Printers source code released via the RISC OS Open project, NetSurf developer John-Mark Bell was able to rectify a bug blocking printing from the freely available web browser.

His patchwork, now accepted into the printing system by ROOL staff, will also enable other applications to print documents containing non-Latin letters via the bitmap printer driver.

Until now the driver module could not handle text stored in a format suitable for representing international characters - NetSurf uses two of these formats, namely UTF-8 and UTF-16, to store web pages' text in memory. A similar inability to handle internationally-formatted data in the RISC OS PostScript system could be fixed in a separate development project, it is hoped.

John-Mark, pictured, said his fixes "permit printing of text which uses international characters to bitmap printers - ie: everything except PostScript." As RISC OS 4 and 6 do not feature a Unicode-supporting Font Manager, users of these operating systems version will have to land their mitts on a copy of the RISC OS 5 Font Manager to use John-Mark's update.

He said: "The most obvious use of this is that it finally allows people to print from NetSurf on RISC OS 5, although not to PostScript printers as that uses a different driver.

"In theory, this is of benefit to anyone who's trying to print from an application that uses Unicode text on a machine with the Unicode Font Manager installed. In reality, that's NetSurf on RISC OS 5, at present, although there's nothing really stopping the UFM being softloaded on non-RO5 machines."

Other components recently tweaked by volunteer programmers include the Pinboard and its Configure plugin, the Filer, SciCalc, Maestro and CloseUp. Double-clicking on a Filer icon and holding down the mouse at the end will now emulate a shift-double-click.

ROOL's Steve Revill confirmed pre-built copies of the updated software will be made available for download "in due course." He also asked people to report any bugs or issues so that they can be addressed and fixed.

• Meanwhile work is underway to speed up the Font Manager module as Adrian Lees has experimented with optimising the plotting of anti-aliased text.


ROOL source code updates and announcement
RISC OS Open and NetSurf websites How the RISC OS printing system works

Previous: Could RISC OS teach Linux a trick or two?
Next: New utility tracks window and icon data under the pointer


Viewing threaded comments | View comments unthreaded, listed by date | Skip to the end

Great to hear that such a fundimental bit of functionality like printing from Netsurf has been "fixed". Five years after the Netsurf project begain this popular application can finally print! This is the real benefit of opening the source code.

 is a RISC OS Userstevek on 6/11/07 5:20AM
[ Reply | Permalink | Report ]

Congratulations and my thanks to John-Mark Bell for doing the work, Castle for having the courage to share the source, ROOL for co-ordinating the release, all of the Netsurf team for their huge amount of work and dedication, and anybody and everybody else I've missed.

 is a RISC OS Userdavehigton on 6/11/07 7:35AM
[ Reply | Permalink | Report ]

This is all very good news. Isn't it the case that ROOL just released the UCS Font Manager as part of their batch2 source release? In which case, could RISC OS 4 and 6 users now softload that on their systems and enjoy the entire web under NetSurf, not just the latin-scripted web? Or perhaps a suitable UCS font isn't in the public domain...

 is a RISC OS Userwillb on 6/11/07 8:09AM
[ Reply | Permalink | Report ]

The first major victory for the shared sourcing project! :-) Well done to JMB, and of course everyone at ROOL.

 is a RISC OS Userdruck on 6/11/07 8:56AM
[ Reply | Permalink | Report ]

In reply to druck,

Victory. You make it sound like war.

Cry Havoc, and let slip the dogs of war

 is a RISC OS Usersa110 on 6/11/07 9:57AM
[ Reply | Permalink | Report ]

We're hoping to update the pre-built binaries with various changes since the Batch Two release some time today. Documentation re the changes will be put on the RISC OS Open web site at the same time.

 is a RISC OS Userriscosopen on 6/11/07 12:20PM
[ Reply | Permalink | Report ]

In reply to stevek:

Printing in Netsurf was not broken - it was the ROS5 Printing system that was broken - this is what has now been fixed. Netsurf has always been able to print.

 is a RISC OS Usernikgare on 6/11/07 2:51PM
[ Reply | Permalink | Report ]

up the irons!

 is a RISC OS Userneilwhite on 6/11/07 6:25PM
[ Reply | Permalink | Report ]

willb: The Unicode font manager doesn't need special fonts unless you want to print glyphs which aren't in existing fonts. For example, many existing post-RISC OS 2 fonts use Base0 encoding, which contains all the glyphs used in the various ISO Latin alphabets, which is more than can be expressed using any one non-Unicode alphabet. Most applications don't allow you to change the alphabet used from the system one, and since the system alphabet couldn't be UTF8 before Unicode support was added, you were never previously able to use arbitrary combinations of glyphs from your existing fonts.

 is a RISC OS Userbavison on 7/11/07 1:05AM
[ Reply | Permalink | Report ]

In reply to bavison:

What happens if I want to display, say, Chinese glyphs under RO4 or 6 now, then? Are there fonts available from ROOL? And is it even possible to specify the system alphabet as UTF8 on non-RO5 versions? (I'm guessing not!) However, looking at the UCS FM spec on Castle's website, it seems you can force a particular encoding when you request a font handle, so maybe that would work?

Has anyone tried using the RO5 FM on RO4 or 6 in this way?

 is a RISC OS Userwillb on 7/11/07 7:40AM
[ Reply | Permalink | Report ]

willb: As far as I know ROOL do not provide any fonts. There are free Unicode fonts out there that contain thousands of characters and these can be converted to RISC OS format using ttf2font. Many Iyonix users have done that. I do not think you can download any converted fonts though, probably due to copyright reasons (which might also prevent ROOL from release any fonts), so you need to download the TrueType fonts from their original locations and do the conversion yourself. If you ask in the newsgroups someone will probably guide you.

You certainly cannot change the system alphabet to UTF8 on non-RO5 versions but you cannot do so sensibly under RO5 either because most applications expect an 8-bit system alphabet and behave in unpredictable ways when the system alphabet is UTF8. As you mentioned, you can request a font in a specific encoding and that is how NetSurf uses UTF8 fonts no matter what the system alphabet is.

 is a RISC OS Userwuerthne on 7/11/07 11:36AM
[ Reply | Permalink | Report ]

In reply to wuerthne:

Thanks for the info. I guessed there wouldn't be any fonts freely available! Perhaps when I've got a spare couple of hours, I'll try to softload the RO5 font manager onto my a9home and see what happens!

 is a RISC OS Userwillb on 7/11/07 2:41PM
[ Reply | Permalink | Report ]

I haven't checked for sure, but I wouldn't count on ROOL being able to release any fonts other than the usual ROM ones. The issues with running with UTF8 as the system alphabet is now largely an issue for application maintainers (nudge nudge) although you usually find that printing and splitting strings comes "for free" as long as you use the usual font manager SWIs for it.

What you'l find usually needs attention is editing and navigating through UTF8 strings. The RISC OS 5 Wimp goes to some pains to handle this, including malformed UTF8 strings, in a manner that matches the font manager's display - look at skipcharL and skipcharR in RiscOS.Sources.Desktop.Wimp.s.Wimp05 for how it does it.

The ROOL versions of TextGadgets and Draw are still in need of converting to support UTF8. There's also the thorny issue of the system font: there were plans at one point to make it fully support UTF8, but to do it properly it needs to support single- and double-width characters (for Japanese) and probably needs to move to 16 rows high too. The cursor copy algorithm would also need some work to make it more efficient to read from the screen when the number of possible characters is from a much larger set than a mere 224.

There also used to be a Unicode-aware version of !Chars kicking about, but I notice the one released by ROOL so far seems to predate it. I sense some digging is required...

 is a RISC OS Userbavison on 7/11/07 9:20PM
[ Reply | Permalink | Report ]

Yes - I realise that you need more than just a UCS font manager for apps to work correctly with Unicode! If only it were that simple! Thanks for the source code pointers; I'm trying to get to grips with just how well RO5 handles UTF8 without actually having a machine that can run RO5 - not easy!

I suppose what I really wanted to ask was, if you could softload the UCS font manager on RO4 or 6, had a suitable font (converted from TTF with the EFF's tool, for example), and ran an app that was Unicode-aware like Netsurf, would font display work properly? Does Netsurf check the font manager version number, or the OS version number to decide how to interface with the font manager, I wonder?

The system font issue is interesting. Any hanzi or kanji really need twice the width of roman letters to be drawn sensibly, so I think single and double-width characters are a must, as you say, not just for Japanese, but for Chinese and Korean, too (and probably other languages).

I'd be very interested to see the Unicode-aware version of !Chars. Hopefully it'll surface sometime soon! Actually, there's a tantalising screenshot on the rufl website ([link]) that looks a bit like a Unicode-aware !Chars...

 is a RISC OS Userwillb on 8/11/07 10:43AM
[ Reply | Permalink | Report ]

willb: Yes, it should work. At some point in the distant past, I've done just that.

WRT NetSurf's behaviour, RUfl attempts to open Homerton.Medium\\EUTF8. If that succeeds, it assumes there's a UCS font manager installed. The only Font Manager version checking that happens is to determine whether background blending is supported. The OS version doesn't come into it.

The screenshot on the RUfl website is of rufl_chars, which simply uses RUfl to attempt to display glyphs for all codepoints. There's nothing more to it than that.

 is a RISC OS Userjmb on 8/11/07 10:58AM
[ Reply | Permalink | Report ]

Thanks, jmb! Looks like I'll have to buy a copy of EFF's utility, then! Looking forward to trying this out...

Do you have any plans to module-ise RUfl? I'm guessing an SWI interface would encourage more people to program with it. I know most of the larger apps out there are probably coded in C now anyway, but it's a shame that BASIC programmers can't use RUfl at the moment.

 is a RISC OS Userwillb on 8/11/07 11:38AM
[ Reply | Permalink | Report ]


You could always try TTF2f: [link] You'll also want a UTF8 encoding file for the UCS Font Manager to use. !TTF2f.Glyphs will suffice. Copy it to !Fonts.Encodings.UTF8

I'm not aware of any plans to turn RUfl into a module.

 is a RISC OS Userjmb on 8/11/07 11:53AM
[ Reply | Permalink | Report ]

Many thanks for the pointers, jmb!

 is a RISC OS Userwillb on 8/11/07 1:14PM
[ Reply | Permalink | Report ]

Please login before posting a comment. Use the form on the right to do so or create a free account.

Search the archives

Today's featured article

  • Midlands 2004 show report
    What was hot and what was not, plus MiMagic 5 details [Updated] Select32 info
     36 comments, latest by fwibbler on 08/12/04 10:30AM. Published: 5 Dec 2004

  • Random article

  • Zenta Multimedia launch e-commerce website

     Discuss this. Published: 11 Jan 2001

  • Useful links

    News and media:

    Top developers:
    RISCOS LtdRISC OS OpenMW SoftwareR-CompAdvantage SixVirtualAcorn

    CJE MicrosAPDLCastlea4X-AmpleLiquid SiliconWebmonster


    RISCOS.org.ukRISCOS.orgRISCOS.infoFilebaseChris Why's Acorn/RISC OS collectionNetSurf

    Non-RISC OS:
    The RegisterThe InquirerApple InsiderBBC NewsSky NewsGoogle Newsxkcddiodesign

    © 1999-2009 The Drobe Team. Some rights reserved, click here for more information
    Powered by MiniDrobeCMS, based on J4U | Statistics
    "I'm not sure I could have trusted you six months ago"
    Page generated in 0.1658 seconds.