I used to send files in Unix to a printer with lp, and used -ofp16.16 or -ofp12 to change the size of the fonts. This does not work on Linux; what should I use instead?


This is more a matter of what is behind lp and (possibly) of the printer drivers. If you're running the CUPS, there are some options to change characters per inch and columns per inch (local URL, works if you have CUPS running and it was installed with documentation).

Now I'd guess "fp" stood for "font points" or something like that, which CUPS does not seem to have, at least by default (but I'd not be surprised if there were hidden options somewhere).

This is also more of a document preparation issue — I agree it'd be awesome if the printing system was able to do all the magic we need with stuff we want to print, but maybe it's worth looking at, e.g., a2ps, a plain text to postscript typesetter, which has a --font-size=... option (by default it outputs a two-column file, I usually use -1 to do 1 column per page, but if that conflicts with --font-size, have a look at --columns).


You may want to try enscript, which formats text as PostScript.

Enscript may come pre-installed with your distro otherwise you'll have to install it from whatever software repository you use. The -F option allows you to specify font and font size, e.g.

enscript -FCourier12 myfiletoprint.txt

Enscript should print to your default printer. If not, you will have to specify the print queue using -d (mnemonic: destination).

enscript -FCourier12 myfiletoprint.txt -d KONICA-MINOLTA-C652-Series

As a bonus, if you have the cups pdf driver installed, this is a very quick way to create pdf files.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.