FAXFORMAT(1)

πŸ“¦
version 11.13.03 Β· 2 versions
, in arch rolling, debian bookworm, debian trixie, opensuse-leap 16.0, ubuntu noble, ubuntu resolute, ubuntu stonking

πŸŽ€ FAX FORMATS πŸ’Œ (aka Fax Formats(1), and yeah it lives in the General Commands Manual section)

okay so bestie, this page is part of the Netpbm user's guide(1), and its whole job is explaining FAX formats and how they vibe with the Netpbm facilities. that's it. that's the assignment πŸ’…


so the ITU (formerly CCITT, glow-up era) publishes the standards for how fax machines operate β€” and the entire point of those standards is making sure a fax machine is actually able to receive a fax that some other fax machine sent. communication is hard, they're just being safe 🫢

and here's the gag: those standards incidentally also specify graphics file formats. like, a whole protocol for representing a visual image in sequences of bits. iconic behavior, honestly ✨

the two standards that matter here are called Group 3 (G3) and Group 4 (G4). (Groups 1 and 2? analog standards, no longer in use, we don't talk about them πŸ™ˆ). virtually every fax machine in existence conforms at least generally to at least one of these two. periodt.

the standard for Group 3 fax is defined in ITU Recommendation T.4. in the U.S., that's implemented by the EIA standards EIA-465 and EIA-466. and ngl these cover way more than just the file format β€” they also cover how to transmit bits over a telephone line and the procedures for handling document transmissions. overachievers fr fr.

G3 faxes are 204 dots per inch (dpi) horizontally and 98 dpi vertically β€” 196 dpi optionally, in fine-detail mode. because sometimes you want the extra detail, and sometimes you just want it faxed πŸ’€

so the standards specify three file formats (also called coding methods, also called compression schemes β€” and remember, the standard doesn't say one word about computer files, it's talking about the format of a stream of bits travelling over a telephone line. nyc behavior).

  • MH β€” this one compresses in one dimension. it squishes individual raster lines, but makes zero attempt to compress redundancy between lines. one dimensional compression is traditionally the best a fax machine could handle, and here's why: G3 neither assumes error free transmission nor retransmits when errors occur, and receiving fax machines traditionally could not afford to buffer much of a page. so it's important that when there's an error in a raster line, its impact doesn't spread to many lines after it. main character of error containment, honestly πŸ‘‘

every Group 3 and Group 4 fax machine must be able to send and receive MH.

MH is sometimes called "G3", but that's a poor name, because while the Group 3 standard does specify MH, it has always specified other formats too. πŸ™…

MH is also sometimes called "T4", based on the name of the document that specifies it, ITU T.4. also a poor name! because T.4 specifies MR too. not me catching the manpage doing bad naming twice πŸ’€

  • MR β€” this one compresses in two dimensions, horizontally and vertically. overachiever energy.

MR has always been part of the Group 3 standard, but it's optional β€” so a Group 3 fax machine may or may not be able to send and receive it. it's giving "we'll see how we feel" πŸ¦‹

  • MMR β€” this is a more advanced format than the others. it is even more two-dimensional than MR. it's optional in the Group 3 standard, and it didn't even exist in earlier versions of it. it was developed specifically for the Group 4 standard, but then it got added to an extended Group 3 standard as well. came for one job and stayed for two ✨

MMR is sometimes called Group 4, but that's a poor name, because of the fact that it's also part of the current Group 3 standard. πŸ™ˆ

MMR is sometimes called "T6", based on the name of the document that specifies it, ITU T.6.


okay now the Netpbm part, because that's the whole reason you're here:

  • g3topbm converts the MH format to PBM. πŸ”
  • pbmtog3 converts PBM to MH. πŸ”

and that's... it. there is no Netpbm program to convert to or from other fax formats. sorry bestie, that's the roster 😭


🌈 TIFF

the TIFF format is flexible enough to allow lots of different coding methods inside it. there are TIFF subformats for MH, MR, and MMR, among others. and these are particularly useful when you receive a fax as a TIFF file. like, chef's kiss setup, honestly 🀌

  • tifftopnm recognizes and can convert from any of these. πŸ‘€
  • pamtotiff can convert to any of these β€” you use command options to choose which. πŸ’…

πŸ“š 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/faxformat.html

and that's the whole page, bestie 🫢 this was netpbm documentation, dated 03 December 2008, closing out Fax Formats(1). go forth and fax responsibly πŸ’–βœ¨

πŸ“¦ where this page comes from