Spectrum pages
Home -> Spectrum -> TasPrint (Spectrum) Fonts

_____________________________________________________________________

TasPrint (Spectrum / CPC / PCW) Fonts

TasPrint was a utility for various 8-bit platforms to print text in a variety of fonts. This page describes the font formats used by the original Spectrum version, the expanded Spectrum +3 version, and the CPC464 and PCW versions.

Spectrum 48k / QL format

On the 48k Spectrum, the five fonts are held in a single file on tape, called tasfont0 of type CODE 42800, 9600 — so, a binary file of 9600 bytes to be loaded at address 42800.

Within the file are five fonts, each 1920 bytes long. Each font contains 96 character bitmaps, for characters 32-127. Each bitmap is 20 bytes long, with the first 10 bytes giving the top 8 rows of the character and the second 10 giving the bottom 8 rows. Each byte describes one column of data, with bit 7 being the top bit and bit 0 being the bottom. (This is the natural format for printing bitmaps on a Epson-compatible printer).

The same file is used for the QL version of TasPrint, in this case named font.obj.

The 'Median' font is an exact match for the Apricot Xi system font, except for the three characters which were redesigned for the Spectrum (Up Arrow, Pound Sign, and Copyright). In the case of the pound sign, the designer redrew it from scratch rather than use the pound sign already present in the Apricot font.

(The Apricot Xi font is shewn to the right, for comparison.)

[Apricot Xi system font]

Spectrum +3 format

On the +3, each font is saved as a separate file. This begins with a standard 128-byte +3DOS header of type CODE 30000, 3074 — that is, a binary file of 3074 bytes to be loaded at address 30000.

Following the header, the next two bytes are the character width. In all existing files, this is in the range 10-16.

The 96 character bitmaps follow, in the same format as on the 48k Spectrum, but with 16 columns of data rather than 10. Even when the character width is less than 16, all 16 columns of data are still provided. Since the size of the character definition appears to be a fixed 16 columns, the implication is that the character width at the start of the file cannot exceed 16.

CPC format

On the CPC, each font is stored as a separate file, 5248 bytes long (they are also stored concatenated in a file called TASPRINT.DAT). The file begins with a 128-byte AMSDOS header giving a file type of binary, with a length of 5120 bytes and a load address of 22240.

Following the header there is space for 256 character bitmaps, in the same format as the Spectrum 48k version with 20 bytes per character. However characters 0-11, 193-218 and 225-250 are not defined and the bitmaps for these characters seem to contain random data, probably whatever was in memory when the files were originally generated. The character set used is defined in the Tasprint manual; it does not appear to match the normal CPC character set.

The CPC version of the Compacta font appears to contain an error: when converting it from the Spectrum version, the designer created a new pound sign which they put at position 127, but forgot to replace the existing pound sign at position 96 with a grave accent as was done for the other fonts.

PCW format

In the PCW version, each font contains 127 characters (starting with character 1) stored in the same 16 columns-per-character format as the Spectrum +3 version. There does not seem to be any way to determine how many columns the font was designed for; when converting to PSF, I have used the minimum width necessary to display all the characters without cropping.

The Breaker and Compacta fonts each have a bit set in the sixteenth column of character 126, the significance of which I don't know.

Fonts

To the best of my knowledge and belief, the original fonts were released between 1983 and 1987 and so their UK copyright has expired. I'm therefore putting them here to download, along with versions converted to PSF2 format.

All five of the original fonts supplied in the Spectrum 48k version were redesigned in the +3 version, so I have supplied both sets.

If you want to download all the fonts in original and .PSF format, here you go.

FontPreviewDownload
Original Spectrum 48k fonts
Compacta tasfont0
compacta48.psf
Data Run datarun48.psf
Lectura Light lectura48.psf
Median median48.psf
Palace Script palace48.psf
Spectrum +3 fonts
Anglican anglican.fnt
anglican.psf
Artwork artwork.fnt
artwork.psf
Block block.fnt
block.psf
Breaker breaker.fnt
breaker.psf
Broadway broadway.fnt
broadway.psf
Cloister cloister.fnt
cloister.psf
Compacta compacta.fnt
compacta.psf
Data Run datarun.fnt
datarun.psf
Heraldic heraldic.fnt
heraldic.psf
Lectura Light lectura.fnt
lectura.psf
Median median.fnt
median.psf
Outline outline.fnt
outline.psf
Palace Script palace.fnt
palace.psf
Ranchero ranchero.fnt
ranchero.psf
Roman roman.fnt
roman.psf
Roman italic romanit.fnt
romanit.psf
Scroll scroll.fnt
scroll.psf
Slimline italic slimit.fnt
slimit.psf
Slimline slimline.fnt
slimline.psf
Supastar supastar.fnt
supastar.psf
Typerite italic typeit.fnt
typeit.psf
Typerite typerite.fnt
typerite.psf
Upright bold upbold.fnt
upbold.psf
Upright italic upit.fnt
upit.psf
Upright upright.fnt
upright.psf
CPC fonts
Compacta compacta.dat
compacta464.psf
Data Run datarun.dat
datarun464.psf
Lectura Light lectura.dat
lectura464.psf
Median median.dat
median464.psf
Palace Script palace.dat
palace464.psf
PCW fonts
Breaker breaker.bin
breaker8000.psf
Compacta compacta.bin
compacta8000.psf
Data Run datarun.bin
datarun8000.psf
Lectura Light lectura.bin
lectura8000.psf
Median median.bin
median8000.psf
Outline outline.bin
outline8000.psf
Palace Script palace.bin
palace8000.psf
Ranchero ranchero.bin
ranchero8000.psf

=====================================================================

John Elliott 2026-03-22