RISC OS Programmers Reference ManualsPRM-in-XML style gallery

Introduction

This document is intended to show some examples of the different styles of the Acorn manuals and some presentations using the PRM-in-XML formatted content. The content has been taken from scanned PDFs, for the original manuals, and the HTML and PDF generated by experimental versions of the PRM-in-XML. That is to say, it's not perfect, but it demonstrates some of the flexibility.

Example pages

To provide examples of the formatting of content, 3 sample pages have been selected from the manuals:

  • The contents page
  • The start of the introdution to RISC OS chapter
  • The OS_Claim SWI definition.

These pages demonstrate many of the features of the manual. They should be easy to compare between the different versions.

Acorn manuals

The Acorn manuals that are being examined here cover a few years of development, during which time Acorn refined the style of the manuals considerably. The manuals which will be shown are:

  • RISC OS 2 reference manual
  • C release 4 reference manaul
  • RISC OS 3 reference manual
  • RISC OS 3 reference manual volume 5a

Other manuals exist within the timeline, with varying features, but these are most relevant to the intended use of the PRM-in-XML system.

PRM-in-XML formats

PRM-in-XML is flexible in how it can generate content, but the examples here will concentrate solely on the HTML 5/CSS format. This will vary only the CSS used within the content. Much greater flexibility is afforded by being able to configure the CSS as required but here only limited canned variants of the standard CSS template are being shown.

In addition to the HTML, the same content is passed to PrinceXML for conversion to a PDF. This is done without modification to the intermediate files. Other conversion solutions exist and could be used with the paged media CSS.

Some of the example content is incomplete - the images have some bad lines - and on some pages the contents and images have not been styled properly. These are artifacts of incomplete stylesheets, which can be addressed in time.

The PRM-in-XML tool has a configuration which allows for layering of CSS snippets on top of a base stylesheet. This configuration is used to change the presentation of the content. The variants which are available at the present time are:

VariantMeaning
prmCloser to the RISC OS 3 PRMs for paged media and screen rendering.
acornfsAcorn Functional Specification style.
prm-ro2Closer to the RISC OS 2 PRMs for paged media. Not complete for screen rendering.
numbered-sectionsApply numbers to the sections on the page.
body-novareseChange body font to ITC Novarese (requires local installation of this commercial font).
body-frauncesChange body font to Fraunces (requires local installation of this freely available Google font).
webfont-frauncesDownload the Fraunces font as required. Use in conjunction with 'body-fraunces'.
heading-ralewayChange heading font to Raleway (requires local installation of this freely available Google font).
webfont-ralewayDownload the Raleway font as required. Use in conjunction with 'heading-raleway'.
large-bulletsApply larger bullets to lists. This is closer in style to the reference manuals.
drop-characterApply a drop character to the first letter of the first paragaph.
no-edge-indexRemove the grey region from the right pages.

For reference, this document was generated with the standard settings, but an extra CSS file was added to give the images a rounded border.

riscos-prminxml -p css-file=extra.css -f html5 gallery.xml

Acorn: RISC OS 2 manuals

The RISC OS 2 manuals had some distinctive features which make it stand out from the later manuals. It is notable that these manuals use the Novarese font which was retained for later publications.

Compare this to the SunOS manuals of the same period.

Because of this separation of the content, there is a lot of space wasted on many pages. However, finding sections in the API definition pages is a lot easier. In the later versions of the manuals this left indent is still present (although not as large).

Example pages

RISC OS 2 contents page
RISC OS 2 contents page
RISC OS 2 intro chapter
RISC OS 2 intro chapter
RISC OS 2 SWI definition
RISC OS 2 SWI definition

Acorn: Acorn C Release 4

The Acorn C Release 4 manual is an updated style from that of the RISC OS 2 PRMs, and has many of the features of the later publications.

Example pages

Acorn C Release 4 contents page
Acorn C Release 4 contents page
Acorn C Release 4 intro chapter
Acorn C Release 4 intro chapter

Acorn: RISC OS 3 manuals

The RISC OS 3 manuals were are probably what most people will remember.

The vertical space used by the headings on the API definitions is arguably a poorer use of space than in the RISC OS 2 manuals. However, the style is familiar and therefore this usage is largely expected.

Example pages

RISC OS 3 contents page
RISC OS 3 contents page
RISC OS 3 intro chapter
RISC OS 3 intro chapter
RISC OS 3 SWI definition
RISC OS 3 SWI definition

Acorn: RISC OS 3 manual, volume 5a

Volume 5a was largely unchanged in style from the RISC OS 3 manuals, although some elements have been resized slightly.

Example pages

Volume 5a intro chapter
Volume 5a intro chapter
Volume 5a SWI definition
Volume 5a SWI definition

PRM-in-XML: Default configuration

The default configuration of PRM-in-XML is intended to take on the style of the original RISC OS 3 manuals, whilst being able to be used on a variety of desktop sizes. It is suitable for printing, but has not been tailored specifically for any given device size.

Content mistakes here are easy to see, and will be present on all the PRM-in-XML examples. The SWI examples have excessive whitespace - this is an authoring error. The image on the intro chapter has a rogue line on the left for some reason.

Example pages (HTML)

PRM-in-XML default: contents page
PRM-in-XML default: contents page
PRM-in-XML default: intro chapter
PRM-in-XML default: intro chapter
PRM-in-XML default: SWI definition
PRM-in-XML default: SWI definition

Example pages (PDF)

PRM-in-XML default (PDF): contents page
PRM-in-XML default (PDF): contents page
PRM-in-XML default (PDF): intro chapter (1)
PRM-in-XML default (PDF): intro chapter (1)
PRM-in-XML default (PDF): intro chapter (2)
PRM-in-XML default (PDF): intro chapter (2)
PRM-in-XML default (PDF): SWI definition
PRM-in-XML default (PDF): SWI definition

PRM-in-XML: 'prm' configuration

The 'prm' configuration of PRM-in-XML tries to mimic the printed form of the reference manuals much more closely. Whilst the default style is intended for general use the 'prm' style is intended for cases where the look of the RISC OS 3 PRMs is desired.

The variant setting used in this configuration was:

Features of this configuration:

Example pages (HTML)

PRM-in-XML 'prm': contents page
PRM-in-XML 'prm': contents page
PRM-in-XML 'prm': intro chapter
PRM-in-XML 'prm': intro chapter
PRM-in-XML 'prm': SWI definition
PRM-in-XML 'prm': SWI definition

Example pages (PDF)

PRM-in-XML 'prm' (PDF): contents page
PRM-in-XML 'prm' (PDF): contents page
PRM-in-XML 'prm' (PDF): intro chapter (1)
PRM-in-XML 'prm' (PDF): intro chapter (1)
PRM-in-XML 'prm' (PDF): intro chapter (2)
PRM-in-XML 'prm' (PDF): intro chapter (2)
PRM-in-XML 'prm' (PDF): SWI definition (1)
PRM-in-XML 'prm' (PDF): SWI definition (1)
PRM-in-XML 'prm' (PDF): SWI definition (2)
PRM-in-XML 'prm' (PDF): SWI definition (2)

PRM-in-XML: 'prm-ro2' configuration

The 'prm-ro2' configuration of PRM-in-XML tries to mimic the RISC OS 2 PRMs. It is not a complete configuration, but it is highly effective at present..

The variant setting used in this configuration was:

Features of this configuration:

Example pages (HTML)

PRM-in-XML 'prmro2': contents page
PRM-in-XML 'prmro2': contents page
PRM-in-XML 'prmro2': intro chapter
PRM-in-XML 'prmro2': intro chapter
PRM-in-XML 'prmro2': SWI definition
PRM-in-XML 'prmro2': SWI definition

Example pages (PDF)

PRM-in-XML 'prmro2' (PDF): contents page
PRM-in-XML 'prmro2' (PDF): contents page
PRM-in-XML 'prmro2' (PDF): intro chapter (1)
PRM-in-XML 'prmro2' (PDF): intro chapter (1)
PRM-in-XML 'prmro2' (PDF): intro chapter (2)
PRM-in-XML 'prmro2' (PDF): intro chapter (2)
PRM-in-XML 'prmro2' (PDF): SWI definition (1)
PRM-in-XML 'prmro2' (PDF): SWI definition (1)
PRM-in-XML 'prmro2' (PDF): SWI definition (2)
PRM-in-XML 'prmro2' (PDF): SWI definition (2)

PRM-in-XML: 'c release 4' configuration

The 'C release 4' configuration of PRM-in-XML adds a few small things that match that manual. It is not a complete configuration, but it demonstrates the ability to vary the layout.

The variant setting used in this configuration was:

Features of this configuration:

Example pages (HTML)

PRM-in-XML 'C release 4': contents page
PRM-in-XML 'C release 4': contents page
PRM-in-XML 'C release 4': intro chapter
PRM-in-XML 'C release 4': intro chapter

Example pages (PDF)

PRM-in-XML 'C release 4' (PDF): contents page
PRM-in-XML 'C release 4' (PDF): contents page
PRM-in-XML 'C release 4' (PDF): intro chapter
PRM-in-XML 'C release 4' (PDF): intro chapter

PRM-in-XML: 'acornfs' configuration

The 'Acorn functional spec' configuration of PRM-in-XML tries to mimic the style of the functional specifications that Acorn produced in the later years It is not a complete configuration, but it demonstrates the ability to vary the layout.

The variant setting used in this configuration was:

Features of this configuration:

Example pages (HTML)

PRM-in-XML 'acornfs': contents page
PRM-in-XML 'acornfs': contents page
PRM-in-XML 'acornfs': intro chapter
PRM-in-XML 'acornfs': intro chapter
PRM-in-XML 'acornfs': SWI definition
PRM-in-XML 'acornfs': SWI definition

Example pages (PDF)

PRM-in-XML 'acornfs' (PDF): contents page
PRM-in-XML 'acornfs' (PDF): contents page
PRM-in-XML 'acornfs' (PDF): intro chapter (1)
PRM-in-XML 'acornfs' (PDF): intro chapter (1)
PRM-in-XML 'acornfs' (PDF): intro chapter (2)
PRM-in-XML 'acornfs' (PDF): intro chapter (2)
PRM-in-XML 'acornfs' (PDF): SWI definition (1)
PRM-in-XML 'acornfs' (PDF): SWI definition (1)
PRM-in-XML 'acornfs' (PDF): SWI definition (2)
PRM-in-XML 'acornfs' (PDF): SWI definition (2)