FSTOPGM(1)

πŸ“¦
version 11.13.03 Β· 5 versions
, in debian bookworm, debian trixie, ubuntu noble, ubuntu resolute, ubuntu stonking

πŸ’– fstopgm β€” the Fstopgm User Manual, section 1, bestie πŸ’–

okay so you found yourself a Usenix FaceSaver(tm) file and you're like "what do I even do with this" β€” say less, I got you. welcome to the fstopgm manual page, section 1 of the general commands, and we're gonna have a time. πŸŽ€


✨ NAME ✨

fstopgm β€” convert a Usenix FaceSaver(tm) file into a PGM image

like, that's the whole gig. it takes the FaceSaver thing and gives you a PGM. iconic behavior honestly. πŸ‘‘


✨ SYNOPSIS ✨

fstopgm [fsfile]

one optional argument, that's it, we're low maintenance. πŸ’…


✨ DESCRIPTION ✨

first things first: this program is part of Netpbm(1). so you're in good company. 🫢

fstopgm reads a Usenix FaceSaver(tm) file as input and produces a PGM image as output. so far so good, very demure.

now here's the tea. β˜• FaceSaver(tm) files sometimes have rectangular pixels. and like β€” fstopgm is not gonna re-scale them into square pixels for you. it said "not my job, but I'll be nice about it." so instead, it will literally hand you the precise pamscale command that'll do the job for you. isn't that the sweetest thing you've ever seen. 😭

because of that little arrangement, reading a FaceSaver(tm) image is a two-step process. no skipping steps, bestie, this isn't a vibe, it's a pipeline.

Step one β€” you do this:

fstopgm > /dev/null

this will tell you whether you need to use pamscale. that's it. that's the whole first step. you're basically just asking the program "do I need the thing or not" and it answers. πŸ¦‹

Step two β€” then use one of the following pipelines:

fstopgm | pnmnorm
fstopgm | pamscale -whatever | pnmnorm

pick whichever one step one told you to pick. (-whatever is a placeholder, obviously, don't actually type -whatever, I'm begging you. πŸ™ˆ)

and if you wanna go to PBM instead, you want something more like one of these:

fstopgm | pamenlarge 3 | pnmnorm | pamditherbw
fstopgm | pamenlarge 3 | pamscale <whatever> | pnmnorm | pamditherbw

okay so why are we enlarging. you want to enlarge when you're going to a bitmap, because otherwise you lose information. that's just facts. but β€” and this is the important part β€” enlarging by more than 3 does not look good. it's giving blurry. it's giving regrets. don't do it. πŸ’€

and one more legal-ish moment, we keep it cute but we keep it accurate: FaceSaver is a registered trademark of Metron Computerware Ltd. of Oakland, CA. slay, Oakland. 🌈


✨ OPTIONS ✨

okay bestie don't get excited, there are no command line options defined specifically for fstopgm. like literally none, it's a minimalist.

but β€” it does recognize the options common to all programs based on libnetpbm. (See Common Options.) so you're not completely without options in life, just without fstopgm-specific ones. πŸ’œ


✨ SEE ALSO ✨

go off, related reading:


✨ AUTHOR ✨

Copyright (C) 1989 by Jef Poskanzer.

shoutout Jef, absolute legend, no notes. πŸŽ€


✨ DOCUMENT SOURCE ✨

this manual page was generated by the Netpbm tool makeman from HTML source. the master documentation lives at:

http://netpbm.sourceforge.net/doc/fstopgm.html

and that's the whole page, bestie. this was netpbm documentation, dated 06 April 89, from the Fstopgm User Manual, section 1. go convert something gorgeous. πŸ’…βœ¨πŸ’–

πŸ“¦ where this page comes from