#! /bin/sh PSFXFORM=../tools/psfxform TXT2PSF=../tools/txt2psf PSFS2CPI=../tools/psfs2cpi CPIDCOMP=../tools/cpidcomp PSF2RAW=../tools/psf2raw PSF2ZX=../tools/psf2zx until [ -z "$1" ] do ARG=$1 # # Firstly, build the PSF files from the text descriptions. # $TXT2PSF ${ARG}06.txt ${ARG}06.psf $TXT2PSF ${ARG}08.txt ${ARG}08.psf $TXT2PSF ${ARG}16.txt ${ARG}16.psf $TXT2PSF ${ARG}14.txt ${ARG}14.psf # # Secondly, build the DOS CPI files. The first three correspond to # ega.cpi, ega2.cpi and ega3.cpi # $PSFS2CPI +437 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf \ +850 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf \ +860 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf \ +863 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf \ +865 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf \ ${ARG}.cpi $PSFS2CPI +850 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf \ +852 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf \ +857 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf \ +861 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf \ +869 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf \ +737 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf \ ${ARG}2.cpi $PSFS2CPI +437 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf \ +850 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf \ +852 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf \ +855 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf \ +866 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf \ ${ARG}3.cpi # # DRDOS's compression system allows all the fonts to be fitted in one # CPI file... # $PSFS2CPI --drfont \ +437 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf ${ARG}06.psf \ +850 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf ${ARG}06.psf \ +852 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf ${ARG}06.psf \ +855 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf ${ARG}06.psf \ +857 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf ${ARG}06.psf \ +858 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf ${ARG}06.psf \ +860 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf ${ARG}06.psf \ +861 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf ${ARG}06.psf \ +863 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf ${ARG}06.psf \ +865 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf ${ARG}06.psf \ +866 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf ${ARG}06.psf \ +869 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf ${ARG}06.psf \ +737 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf ${ARG}06.psf \ +775 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf ${ARG}06.psf \ +819=8859-1 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf ${ARG}06.psf \ +912=8859-2 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf ${ARG}06.psf \ +913=8859-3 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf ${ARG}06.psf \ +914=8859-4 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf ${ARG}06.psf \ +919=8859-10 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf ${ARG}06.psf \ +920=8859-9 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf ${ARG}06.psf \ +28591=8859-1 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf ${ARG}06.psf \ +28592=8859-2 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf ${ARG}06.psf \ +28593=8859-3 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf ${ARG}06.psf \ +28594=8859-4 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf ${ARG}06.psf \ +28595=8859-5 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf ${ARG}06.psf \ +28597=8859-7 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf ${ARG}06.psf \ +28599=8859-9 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf ${ARG}06.psf \ +28600=8859-10 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf ${ARG}06.psf \ +28603=8859-13 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf ${ARG}06.psf \ +28605=8859-15 ${ARG}16.psf ${ARG}14.psf ${ARG}08.psf ${ARG}06.psf \ ${ARG}_dr.cpi # # ... as does Windows NT's 32-bit codepage format. Rather than repeat # that great big command, just inflate the DRFONT file we created. # $CPIDCOMP --nt ${ARG}_dr.cpi ${ARG}_nt.cpi # # My font editor for PC-GEM takes fonts in PSF1 format: # $PSFXFORM --psf1 --codepage=PCGEM ${ARG}06.psf ${ARG}gem06.psf $PSFXFORM --psf1 --codepage=PCGEM ${ARG}08.psf ${ARG}gem08.psf $PSFXFORM --psf1 --codepage=PCGEM ${ARG}14.psf ${ARG}gem14.psf $PSFXFORM --psf1 --codepage=PCGEM ${ARG}16.psf ${ARG}gem16.psf # # PCW font editors prefer their fonts as raw byte sequences # $PSFXFORM --codepage=AMSTRAD ${ARG}08.psf | $PSF2RAW > ${ARG}pcw.udg # # The Sinclair PC200 / Amstrad PPC computers have a font ROM with 8 # fonts. # $PSFXFORM --codepage=PPCGREEK --height=16 ${ARG}14.psf | $PSF2RAW > part1 $PSFXFORM --codepage=PPCGREEK --height=16 ${ARG}08.psf | $PSF2RAW > part2 $PSFXFORM --codepage=PPC865 --height=16 ${ARG}14.psf | $PSF2RAW > part3 $PSFXFORM --codepage=PPC865 --height=16 ${ARG}08.psf | $PSF2RAW > part4 $PSFXFORM --codepage=PPC860 --height=16 ${ARG}14.psf | $PSF2RAW > part5 $PSFXFORM --codepage=PPC860 --height=16 ${ARG}08.psf | $PSF2RAW > part6 $PSFXFORM --codepage=PPC437 --height=16 ${ARG}14.psf | $PSF2RAW > part7 $PSFXFORM --codepage=PPC437 --height=16 ${ARG}08.psf | $PSF2RAW > part8 cat part1 part2 part3 part4 part5 part6 part7 part8 > ${ARG}ppc.rom # # While the PC1512 contents itself with four, of which the middle two # are the same. # $PSFXFORM --codepage=PPCGREEK ${ARG}08.psf | $PSF2RAW > part1 $PSFXFORM --codepage=PPC865 ${ARG}08.psf | $PSF2RAW > part2 $PSFXFORM --codepage=PPC437 ${ARG}08.psf | $PSF2RAW > part3 cat part1 part2 part2 part3 > ${ARG}1512.rom rm -f part1 part2 part3 part4 part5 part6 part7 part8 # # TAP file for Spectrums # $PSF2ZX --tap ${ARG}08.psf ${ARG}08.tap # # BDFs for X11. Make two versions - one with ISO10646 encoding, and # one with DOS codepage 437 encoding. psf2bdf --iso10646 --fontname=-misc-gemsans-medium-r-normal--17-1-75-75-p-99-iso10646-1 --descent=3 ${ARG}16.psf ${ARG}16u.bdf psf2bdf --codepage=437 --fontname=-misc-gemsans-medium-r-normal--17-1-75-75-p-99-dosencoding-cp437 --descent=3 ${ARG}16.psf ${ARG}16d.bdf # # Now do the next font # shift done