zx2psf [--rom] [--sna] [--mode=bare] [--mode=merge1] [--mode=latin1] [--mode=synth1] [--graphics=none] [--graphics=block] [--graphics=udg] [--psf1] [--psf2] [INPUTFILE [OUTPUTFILE]]
zx2psf converts a Spectrum font (either a +3DOS file, a TAP file with one member, or a raw memory dump) to PSF format.
The file is a Spectrum ROM image; extract the embedded font.
The file is a Spectrum SNA snapshot image; if it contains a font, extract it. This depends on the CHARS system variable having been set up so that the game outputs using the ROM routines; if the program in the snapshot uses some other form of output, it may leave CHARS alone or set it to a random value. For example, the font in the game 2112 cannot be found using this method.
The Spectrum font is copied as-is. Characters outside the range defined by the Spectrum are set to blank.
The Spectrum font is copied as-is. Characters outside the range defined by the Spectrum are set to those in LAT1-01.PSF (which is based on ISO-8859-1, but with extra character shapes).
As latin1 above, but the pound sign, up arrow and copyright characters are moved to their correct positions for ISO Latin-1.
As merge1, except that the Latin-1 characters are mostly generated from the Spectrum characters rather than being copied from LAT1-08.PSF. If this option is used the font will require manual editing afterwards to make it look better.
The graphics characters 128-159 will be blank (--mode=bare) or those from LAT1-08.PSF (other modes).
Characters 128-143 will be the Spectrum block graphics. 144-159 will be blank (--mode=bare) or those from LAT1-08.PSF (other modes).
Characters 128-143 will be the Spectrum block graphics. If the --sna option was present, characters 144-159 will be the first 16 user-defined graphics; otherwise they will be copies of "A" to "P". If --mode=bare is set, characters 160-164 will be the last five UDGs (if the --sna option is present) or copies of "Q" to "U" (otherwise).
--psf1 Output in the PSF1 format.
--psf2 Output in the PSF2 format (default).
The whole Latin-1 thing is ugly. Fortunately zx2psf always puts a correct Unicode directory on the resulting file, so Unicode-aware utilities should always be able to find the correct character.
John Elliott <firstname.lastname@example.org>.