HOWTO: Custom fonts
Back to table of contents
Postscript output method
Say you want to see the fancy "Trebuchet MS" font in your generated
postscript...
- First of all, TrueType-compatible Ghostscript is a must. Most Ghostscipt
distributions are TrueType compatible. If you're not sure, ask your system
administrator. If your GS is not True-Type compatible, consider building from
source using require options.
- Find the file coresponding to "Trebuchet MS". Assuming you're
using some version of Windows on your home machine, you can do it by opening
"Control Panel ... Fonts" and checking the properties of the chosen
font. At the top of the property page you'll see the file name - trebuc.ttf,
in our case.
- Find the font files corresponding to the bold, italic and bold italic versions
of this font. Probably, it will be:
"Trebuchet MS Bold" -- trebucbd.ttf,
"Trebuchet MS Italic" -- trebucit.ttf,
"Trebuchet MS Bold Italic" -- trebucbi.ttf
- Copy these files from the Windows fonts directory (probably C:\Windows\Fonts)
to the Ghostscript fonts directory (probably C:\gs\fonts).
- Modify the Ghostscript fontmap file (probably C:\gs\gs8.51\lib\Fontmap,
assuming you're using Ghostscript version 8.51), adding the folowing lines:
/TrebuchetMS (trebuc.ttf) ;
/TrebuchetMS-Italic (trebucit.ttf) ;
/TrebuchetMS-Bold (trebucbd.ttf) ;
/TrebuchetMS-Bold-Italic (trebucbi.ttf) ;
Note you can write almost anything after the / assuming it won't interfere
with other font names. Say:
/MyCoolFont1 (trebuc.ttf) ;
/MyCoolFont2 (trebucit.ttf) ;
/MyCoolFont3 (trebucbd.ttf) ;
/MyCoolFont4 (trebucbi.ttf) ;
- Register the above font names in the script config file. Add the following
lines to .html2ps.config in the FONT section (between the <fonts>
and </fonts> tags)
<family name="Trebuchet MS">
<normal normal="/TrebuchetMS" italic="/TrebuchetMS-Italic" oblique="/TrebuchetMS-Italic"/>
<bold normal="/TrebuchetMS-Bold" italic="/TrebuchetMS-Bold-Italic" oblique="/TrebuchetMS-Bold-Italic"/>
</family>
Of course, the modified file should be uploaded to the server where the working
script reside.
- Now, the following example should be rendered using Trebuchet MS font:
<BIG style="font-family: 'Trebuchet MS'">ABCDEFGH</BIG><br>
<BIG style="font-family: 'Trebuchet MS'; font-weight: bold;">ABCDEFGH</BIG><br>
<BIG style="font-family: 'Trebuchet MS'; font-style: italic;">ABCDEFGH</BIG><br>
<BIG style="font-family: 'Trebuchet MS'; font-weight: bold; font-style: italic;">ABCDEFGH</BIG><br>
PS2PDF output method
Take the steps described above with only this difference: all Ghostscript-related
directories are on your server where the script resides. Ask your hoster/system
administrator about the exact location of Ghostscript.
PDFLIB output method
Please refer to PDFLib Documentation.