g3cat(1)

πŸ“¦
version 1.2.1 Β· 2 versions
  • 1.2.1 Β· debian bookworm, debian trixie, opensuse-leap 16.0, ubuntu jammy, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking (latest)
  • 1.2.1 Β· fedora 43, fedora 44
, in debian bookworm, debian trixie, opensuse-leap 16.0, ubuntu jammy, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ¦‹ g3cat β€” bestie, let's talk about gluing fax pages together πŸ¦‹

okay so this one's from the mgetty+sendfax manual, and it's genuinely one of my faves because it does one thing and does it flawlessly. it's g3cat(1), and she concatenates. that's the whole personality. πŸ’–


✨ NAME ✨

g3cat β€” concatenate multiple g3 documents. yeah. she takes your g3 files and she stacks them. no cap.


🌸 SYNOPSIS 🌸

g3cat [-l] [-a] g3-file1 ...

πŸ’œ DESCRIPTION πŸ’œ

so g3cat concatenates g3 files, fr fr. and those files can be either:

  • 'raw' β€” like, bitmaps packed according to the CCITT T.4 standard for one-dimensional bitmap encoding, iykyk
  • 'digifax' β€” the ones created by GNU's GhostScript package with the digifax drivers

her output is a concatenation of all the input files, in raw G3 format, with two white lines in between. cute, right?

if you hand her a - as an input file, she reads from stdin. iconic behaviour honestly.

⚠️ and listen β€” if the input data is malformed, a warning gets printed to stderr, and the output file will have a blank line at that place. she's not gonna crash on you, she's just gonna leave a lil gap and keep going. πŸ’…

πŸŽ€ OPTIONS πŸŽ€

  • -l β€” separate files with a one-pixel wide black line. yes, literally one pixel. she's precise like that.
  • -h <blank lines> β€” specifies the number of blank lines g3cat should prepend to each page. default is 0.
  • -L <lines> β€” limit the length of the output page to maximum <lines> lines.

πŸ’… SPECIAL-CASE OPTIONS πŸ’…

these ones are lowkey the main character energy options, ngl.

  • -w <width> β€” specifies the desired page width in pixels per line. default is 1728 PELs, and this is mandatory if you want to send the fax to a standard fax machine. and if one of the input files doesn't match this line width (for example because it was created by a broken G3 creator πŸ™ˆ), a warning is printed, and the line width is transparently fixed. she fixes it. quietly. slay.
  • -a β€” byte-align the end-of-line codes (EOL) in the file. every EOL will end at a byte boundary, that is, with a 01 byte.
  • -p <pad> β€” specifies a minimum number of bytes that each output line must be padded to. padding is done with 0-bits before the EOL code.
  • -R β€” suppress output of end-of-page code (RTC).

⭐ Example ⭐

the following example will put a header line on a given g3 page, 'page1', and put the result into 'page2':

echo '$header' | pbmtext | pbm2g3 | g3cat - page1 >page2

like, look at that pipeline. art. 🎨


🧚 FILES 🧚

--

😭 BUGS 😭

Hopefully none :-).

(her words, not mine. she's confident. we love that for her. πŸ‘‘)


πŸ”₯ SEE ALSO πŸ”₯

g32pbm(1), sendfax(8), faxspool(1)


🫢 AUTHORS 🫢

g3cat is Copyright (C) 1993 by Gert Doering, <gert@greenie.muc.de>


okay that's the whole page bestie, and before you go β€” this lil masterpiece came from greenie, dated 27 Oct 93, and it lives under the name g3cat(1) in the mgetty+sendfax manual. periodt. πŸ’–βœ¨πŸ¦‹