TrueType fonts in PDF
een artikel door Dick Tanis

Zoals de titel al zegt zijn er PDF-bestanden waarin TrueType fonts zijn ingesloten. Onder RISC OS is er maar één PDF-viewer, namelijk !GView, die deze PDF's kan weergeven met de originele fonts. Helaas is !GView niet de echte ideale PDF-viewer omdat deze traag is en de afzonderlijke pagina's naar bitmap converteerd. Verder worden ook links en hoofdstukken niet ondersteund.

Onder de andere RISC OS PDF-viewers, !PDF en !RiScript, worden TrueType fonts vervangen door standaard lettertypen zoals Homerton, Trinity en Corpus. Meestal levert het vervangen van fonts geen problemen op maar in sommige gevallen is het vervangende lettertype qua stijl zo anders dan het oorspronkelijke TrueType font dat het bestand er anders uitziet dan het origineel. Bij !PDF krijgt het vervangende lettertype wel dezelfde x/y-verhoudingen als het oorspronkelijke lettertype maar RiScript daarentegen gebruikt de verhoudingen van het vervangende lettertype waardoor de opmaak totaal onleesbaar kan worden.

Echter !RiScript heeft tenopzichte van !PDF wel een voordeel dat we zelf kunnen kiezen met welk lettertype het TrueType font vervangen moet worden. Dit staat ook beschreven in de handleiding van dit pakket (hoofdstuk 7). Nu is dit niet heel eenvoudig dus ga in dit stukje hieronder beschrijven hoe je dit moet doen aan de hand van een voorbeeld. Ik gebruik hierbij een PDF-bestand wat ook op de BigBenCD5 staat. Je kan het bestand vinden in het archief

$.Documents.Misc.Bijbel/zip
Deze PDF bevat de complete inhoud van de bijbel en maakt natuurlijk gebruik van TrueType fonts.

Allereerst zal je uit moeten zoeken welke TrueType fonts de PDF nodig heeft. Om daar achter te komen laad je de PDF in RiScript en vervolgens open je het menu en ga je naar het submenu Document en vervolgens klik je op het item Fonts. Je krijgt dan een venster waarmee je de fontnamen kan opvragen. Dit venster is nu nog leeg omdat RiScript nog geen fonts heeft afgehandeld. Klik vervolgens op de knop 'Zoek in document'.

Nu zie je de naam van een gebruikt font verschijnen en je kan meteen zien wat de officiële fontnaam is en of het een TrueType font is. Rechts bovenaan zit er ook nog een knop waarmee je die info van de andere fonts kan opvragen. Noteer ergens de namen van de gebruikte TrueType fonts want die heb je straks nodig om de juiste vervangende fonts te vinden. In dit bestand zitten de fonts:

ArrusBT
ArrusBT,Bold
ArrusBT,BoldItalic
ArrusBT,Italic
Blackletter686BT
FormalScrp421BT

Nu je weet welke namen de TrueType fonts hebben, zal je moeten uitvinden hoe ze er uitzien. Hiervoor heb je internet nodig. Zoek op google of een andere zoekmachine naar de namen die hierboven staan plus de trefwoorden TrueType en example. Bij de gevonden zoekresultaten zit vast wel een site tussen waar je een voorbeeld kan zien van het gezochte lettertype. Een goede aanrader vind ik de site: http://www.myfonts.com/

Op deze site kan je heel veel lettertypen vinden, inclusief voorbeelden en je kan zelfs een stuk zelfgetypte tekst laten zien in het desbetreffende lettertype. Nu kunnen we op enkele manieren verder gaan.

Het goedkoopste is om in je eigen font-bibliotheek te zoeken naar een lettertype dat lijkt op het desbetreffende TrueType font. Bijvoorbeeld de familie ArrusBT lijkt qua stijl bijna hetzelfde als Trinity. Natuurlijk ligt het eraan hoe groot je font-bibliotheek is om geschikte vervanger te vinden. Soms is er gewoon geen RISC OS font voorhanden dat qua uiterlijk en x/y-verhoudingen lijkt op het TrueType font. Neem bijoorbeeld Blackletter686BT. Dit is namelijk een gotisch lettertype maar al mijn gotische lettertypen leken er niet in de verste verte op. Dit komt omdat dit lettertype oorspronkelijk smalle letters bevat en al mijn gotische versies waren erg breed.

Een andere optie is om het internet te zoeken naar het vervangende lettertype. Er zijn op internet namelijk vele websites waar je gratis fonts kan vinden om te downloaden. Let wel op dat het PostScript type1 fonts zijn want die kan je namelijk met !T1ToFont omzetten naar RISC OS versies. Mocht je toch het goede font gevonden hebben maar is ie alleen in het TrueType-formaat beschikbaar dan zal je toch een programma als TrueType Translator van de Electronic Font Foundry moeten aanschaffen om het TrueType font om te zetten naar een RISC OS font.

De laatste manier is het aanschaffen van het desbetreffend font. Dit kan je meestal al meteen doen op de site waar je het voorbeeld van het bewuste lettertype hebt bekeken. Of dit nu goedkoop/betrouwbaar is, weet ik niet. Ik heb er in ieder geval geen ervaring mee.

In dit voorbeeld heb ik de TrueType versies van de desbetreffende fonts ergens op internet gedownload en heb ik ze met de TrueType Translator van EFF omgezet naar RISC OS fonts met de volgende namen:

Arrus
Arrus.Italic
Arrus.Bold
Arrus.Bold.Italic
Blackltter.686
FrmlScript.421

Deze lettertypen kan je ook vinden in hetzelfde archief waar de PDF staat. In dit voorbeeld moeten deze lettertypen nog wel geïnstalleerd worden zodat RISC OS ze kan gebruiken. Door !Fonts in het archief te kopiëren naar de map Resources in de !Boot applicatie en vervolgens te dubbelklikken op de !Fonts in Resources installeer je bovenstaande fonts. Je kan controleren of dit goed is gegaan door !Chars op te starten en te kijken of deze lettertypen in de fontlijst voorkomen.

Nu de nieuwe lettertypen geïnstalleerd zijn, moet je ze nog bij RiScript bekend maken. Ten eerste open je het bestand:

!RiScript.Resources.Font.FontFiles

en voeg je de volgende regels toe:

/ArrusBT (Arrus.Reg)

/ArrusBT,Black (Arrus.Blck)

/ArrusBT,BlackItalic	(Arrus.BlckIt)
/ArrusBT,Bold	(Arrus.Bd)
/ArrusBT,BoldItalic	(Arrus.BdIt)
/ArrusBT,Italic	(Arrus.It)
/Blackletter686BT	(Blacklttr.686)
/FormalScrp421BT	(FrmlScript.421)

Je ziet hier links de namen van de originele TrueType fonts staan die je in het informatie-venster van RiScript hebt kunnen vinden. Rechts staan padnamen van de PostScript versies van deze fonts. Deze moeten in de map

!RiScript.Resources.Font staan.

Deze PostScript fonts moeten we alleen nog aanmaken maar in dit geval hebben we helemaal geen PostScripts fonts dus moet je deze PostScript fonts 'mappen' naar RISC OS fonts. Dit mappen leg ik uit aan de hand van een voorbeeld met het font Arrus.

Maak een map Arrus aan in

!RiScript.Resources.Font
Als je nu naar het rechter gedeelte kijkt van wat je hebt toegevoegd aan FontFiles dan zie je dat RiScript zoekt naar het bestand
Arrus.Reg 
wanneer ie het lettertype ArrusBT nodig heeft. Je maakt dus in deze map een PostScript-bestand (type FF5) met de naam Reg en zet hierin de volgende regel:
/ArrusBT /Arrus StandardEncoding mapfont
Maak vervolgens het bestand Blck aan met de volgende regel:
/ArrusBT,Black /Arrus.Black StandardEncoding mapfont
Doe dit vervolgens ook met de andere stijlen (Bold, Italic BoldItalic etc) van het Arrus font.

Je ziet dat deze ingevoerde regels bestaat uit: de originele fontnaam, de RISC OS naam, de encodering en het commando mapfont. De encodering is meestal

StandardEncoding 
tenzij het font bestaat uit allerlei symbooltjes (Wingding etc) dan moet je een andere encodering hebben. Voor meer informatie, zie de handleiding van RiScript. Maak vervolgens voor de andere fonts Blackletter en FormelScrp ook de desbetreffende PostScript-bestanden aan.

Start nu RiScript en laad het desbreffende PDF-bestand in. Je zal zien dat het PDF-bestand nu wel goed wordt weergegeven met de oorspronkelijke TrueType fonts.

Mocht je na deze beschrijving het nog niet lukken om dit voor elkaar te krijgen of heb je nog vragen dan is er altijd nog de mogelijkheid om contact met mij opnemen.

Dick Tanis
dtanis@student.ru.nl

Diverse links:

TrueType Translator van EFF (demo)
http://www.eff.co.uk/effTTT.htm

RiScript 5.02
http://www.riscript.nl/

PDF
http://www.pdf.iconbar.com

GView
http://www.mw-software.com/software/gview/gview.html