SWI PDriver_DeclareFont - &80157


Entry: R0 = pointer to font name as passed to Font_FindFont in R1, or
                R0 = 0 to declare that no fonts will be used.
Good exit:      All registers preserved, NZC preserved, V clear.
Error exit:     V set, R0 points to error block.
                All other registers preserved, NZC preserved.

This SWI should be called after the initial PDriver_SelectJob to create the print job, but before any calls to PDriver_GiveRectangle have been made. It should be called once for each distinct font name and encoding to be used, but not for each font size (or colour, etc.). If a "SWI not known" error is returned (error number &1E7), then the printer driver is an old one that does not support this SWI. This specific error should be checked for, ignored, and printing should continue. Note that due to a bug, some of the old printer drivers return error number &1E6 (BadTime) instead of &1E7. Therefore the application will need to check for &1E6 and &1E7 when trying to call SWI PDriver_DeclareFont.

If this SWI is not called at all, the results are printer driver dependant. PDriverDP does not care in the least whether you call this SWI or not. PDriverPS on the other hand, will care, and will perform default actions configured by the user, including which fonts are already in the printer and which fonts to download to the printer.