RiScript - een introductie
waarin Jeroen Medema zijn geesteskind voorstelt

Voor RUM 2000 was mij gevraagd een presentatie over RiScript te geven. Dit bleek een dusdanig succes te zijn, dat Peter mij vroeg ook eens wat in de Asterisk te schrijven. Dat heb ik (blijkens wat er nu is) dus ook gedaan. Het is het eerste deel van een reeks, want het hele verhaal over RiScript in één artikel schrijven kan wel, maar zou het wel heel erg globaal maken.

Deze eerste keer wil ik het pakket introduceren, en dat doe ik door te vertellen wat RiScript kan, een aantal begrippen uit te leggen, wat over de geschiedenis te vertellen, en de alternatieven voor RISC OS te geven. Een misschien wat saaie introductie, maar de volgende keer wordt het al wat spannender.

Wat kan RiScript?
RiScript (samenvoeging van RISC OS en PostScript®, spreek dus ook uit als: Ris-cript en niet als Ries-cript) heeft als basisfunctionaliteit dat het PostScript-files kan interpreteren, en het resultaat op het scherm laat zien. Hierdoor ben je als gebruiker in staat te beoordelen of je het gewenste resultaat hebt gekregen.

Naast deze basisfunctionaliteit kan RiScript ook PDF en EPS interpreteren, (embedded) fonts converteren, DSC meenemen met de PostScript-interpretatie, printen, en (zeker niet het minste) PDF en draw files genereren. Een hele waslijst dus, en we komen hierop in de komende artikelen wel op terug. Om maar iets te noemen wat je met RiScript kan doen: met een printer (waarvoor een printer-driver voor RISC OS beschikbaar is) heb je met RiScript opeens een PostScript-printer. Je hebt bijvoorbeeld een PostScript-file op het internet gevonden. Welnu, laadt die file in RiScript, en print hem dan naar je eigen printer. Zo eenvoudig is dat. RISC OS en RiScript werken hier goed samen.

Een ander voorbeeld betreft het uitwisselen van teksten met mensen zonder RISC OS. Hiervoor is PDF-generatie heel fijn, want (bijna) iedereen kan dit lezen. Wederom heel eenvoudig: genereer een PostScript-file van je document dat je met iemand wilt delen, laadt dit in RiScript, en genereer PDF. It's as simple as that.

Begrippen
Nu heb ik hiervoor flink wat begrippen gebruikt die misschien niet voor iedereen duidelijk zijn. Deze zal ik eerst proberen duidelijk te maken. Allereerst natuurlijk PostScript. We kennen de naam wel, van de PostScript printer-driver en het file formaat (&ff5), maar het is waarschijnlijk niet iedereen bekend dat PostScript eigenlijk een programmeertaal is.

Wèl een programmeertaal die gericht is op het 'maken' van pagina's, maar desalniettemin een programmeertaal, met variabelen, procedures, en nog veel meer. PostScript is echter ook de industriestandaard voor het afdrukken van pagina's. Als je iets bij een professionele drukker gedrukt wil hebben, dan zal hij al snel PostScript van je willen, want van Impression, Ovation of TextEase zal hij waarschijnlijk nooit gehoord hebben. En gelukkig kan dat dus! PostScript kent heel veel mogelijkheden, maar iets dat wij kennen uit !Draw, namelijk vector-plaatjes, is één van de basisconstructies in PostScript. En dat is ook de reden dat PostScript zo mooi bij RISC OS past.

DSC is eigenlijk een toevoeging aan PostScript. Het is eigenlijk speciaal commentaar in de PostScript-file (dus geen programmatekst) waarover een aantal afspraken gemaakt zijn. Hierdoor wordt het programma (PostScript is een programmeertaal!) opeens een document met een aantal pagina's. En dat biedt dan weer mogelijkheden tot het springen door een document (naar de laatste pagina gaan voordat de andere geïnterpreteerd zijn, bijvoorbeeld). Voor een programma natuurlijk heel raar, want je slaat een heel stuk programmatekst over. Door goede afspraken te maken is dit mogelijk, en ook erg makkelijk, zoals we later zullen zien. Voor RISC OS is er geen apart type voor PostScript met DSC (we gebruiken gewoon weer &ff5), maar de PostScript printer-drivers op RISC OS genereren - gelukkig - PostScript met correct gebruik van DSC.

PDF (Portable Document Format) is eigenlijk een vereenvoudigde PostScript met DSC, waar weer een hoop aan is toegevoegd. Het lijkt er zelfs op dat het PostScript als industriestandaard gaat vervangen. Er zijn zelfs al printers die alleen nog maar PDF begrijpen. PDF heeft een veel striktere structuur, en willekeurige pagina's maken is in PDF niet mogelijk, terwijl dat met PostScript een makkie is. De belangrijkste toevoeging aan PDF (t.o.v. PostScript) zijn hyper-links om door het document (of de verzameling van documenten) heen te springen, want in tegenstelling tot PostScript is het echt de bedoeling om PDFs achter de computer te bekijken. Op het internet is er ook al veel in PDF beschikbaar. Voor RISC OS is het file type voor PDF &adf.

EPS (Encapsulated PostScript) is een beperkte vorm van PostScript, die in de drukkerswereld veel gebruikt wordt om bijvoorbeeld illustraties van het ene pakket te gebruiken in een ander pakket. De belangrijkste beperkingen liggen in het feit dat een aantal programmaconstructies niet gebruikt mogen worden, en dat het slechts één 'pagina' mag zijn.

Wel kan de file weer extra informatie bevatten, bijvoorbeeld het plaatje in bitmap-formaat, waardoor het gebruik weer makkelijker is (de gebruiker ziet een bitmap, maar weet dat het vector is, dus schaalbaar). RISC OS kent voor EPS geen apart file-type, en dus wordt ook hier weer &ff5 gebruikt. Voor PostScript, PDF, DSC en EPS geldt dat ze allemaal door Adobe bedacht zijn. Adobe heeft echter wel als beleid dat de specificaties open zijn, dus iedereen kan en mag er mee aan de slag. Gelukkig wel, want anders had een pakket als RiScript er niet mogen zijn!

Geschiedenis
Roeland van den Bos en ik zijn in 1990 met het pakket begonnen. Dat was nog op een A310 en een A5000. Wij waren toen naaste collega's, en Roeland heeft mij meegenomen naar de wondere wereld van RISC OS. Hoe we op het idee zijn gekomen een PostScript-interpreter te schrijven weet ik niet meer precies. Ik kan echter wel zeggen dat het een zeer interessant pakket is geworden, zeker bezien vanuit de technische aspecten die een rol spelen. Om er maar een paar te noemen: vector graphics, GUI, interpretatie van een programmeertaal, virtual memory en garbage collection.

In 1994 vonden wij de tijd rijp om eens een freeware versie van het pakket op het internet aan te bieden, ook om te zien wat de reactie van de (mogelijke) gebruikers was. En die was goed, zeer goed zelfs. Deze versie is zelfs tot vandaag nog voor veel PostScript-files voldoende. De freeware versies zijn versies 2.00 t/m 2.02.

Paul Middleton van Uniqueway heeft ons in 1996 benaderd om RiScript op een van zijn freeware CDs te zetten. Daarna kwam er contact voor een commerciële versie, want wij hadden in de tussentijd niet stil gezeten. Versies die door Uniqueway zijn uitgegeven zijn 2.96 t/m 3.33 (dat laatste doe ik uit mijn hoofd, ik weet niet zeker of versie 3.5 door Uniqueway verspreid is).

In 1999 hebben we een speciaal aangepaste versie van RiScript voor RISC OS Ltd gemaakt: Taborca. Dit programma gedraagt zich als een printer-driver en op deze manier kan je op RISC OS ook direct PDF genereren. Het programma is beperkt door zowel het aantal pagina's dat het aankan (ten hoogste drie) en een aantal snelheidsmaatregelen.

In het begin van 2000 zijn wij door Nick van der Walle van Cerilica (http://www.cerilica.com) benaderd om RiScript door zijn bedrijf te laten uitgeven. Voor ons was die keuze niet makkelijk, omdat hij een nogal strak mechanisme kent voor wat betreft zijn dealers (juist voor Nederland niet optimaal). Toch is de link met andere grafische programma's (zoals Vantage) voor ons wel van belang, en dat heeft de doorslag gegeven. En vooralsnog zijn wij er ook blij mee, want er zijn sindsdien veel meer pakketten verkocht dan bij Uniqueway.

Alternatieven
RiScript is, en ik citeer, "hèt pakket voor PostScript en PDF op RISC OS". RiScript representeert de enige methode voor PostScript-interpretatie, inclusief de afgeleide varianten (zoals PDF, DSC en EPS), op het RISC OS platform, met behoud van oorspronkelijke vector data. Het gegeven citaat komt van Nick van der Walle. Uiteraard is het een marketingtekst, maar er zit toch wel een kern van waarheid in: RiScript is echt uniek.

OK, er is ook GhostScript, maar dat kan geen draw-formaat genereren, is traag, en het is niet echt geschikt voor beginners (zelfs niet met GhostView van Martin Würthner). Daarnaast heb je !PDF, geport door Leo Smiers, maar dat kan geen PostScript aan, kan geen PDF genereren, en is ook beperkt wat betreft zijn PDF viewing-mogelijkheden. Er zijn dus zeker alternatieven, maar die bieden, kort gezegd, gewoon minder. Daarentegen zijn deze pakketten wel gratis, en is RiScript dat niet. Dus kies wat je nodig hebt, zou ik zeggen!

Afsluiting
De volgende keer wil ik wat meer vertellen over hoe het pakket te gebruiken. Uiteraard zal het niet een volledige gebruikershandleiding worden, maar hopelijk wel een indruk geven hoe het pakket zich gedraagt. In een later stadium wil ik nog iets vertellen over de architectuur van RiScript en wat er nog aan staat te komen. Maar dat dus allemaal later.