psf2raw(1)

πŸ“¦
version 1.1.3 Β· 2 versions
, in nixpkgs unstable, ubuntu stonking

✨ psf2raw β€” the manual page, but make it cute ✨

okay bestie, welcome to psf2raw from PSF Tools πŸ’– this is the little tool that turns part (or all!!) of a PC Screen Font file into a raw font. yes that's the whole serve. let's get into it πŸŽ€


🌸 NAME 🌸

psf2raw β€” converts part or all of a PC Screen Font file to a raw font. that's it, that's the job, and she does it flawlessly πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

psf2raw [--first=FIRST] [--last=LAST] [--256] [--flip]
[--codepage=CODEPAGE] [INPUTFILE [OUTPUTFILE]]

like… she takes one or two file arguments and a lil pile of flags. INPUTFILE and OUTPUTFILE are both optional-ish vibes, so pipe in and out however you like 🫢


🌈 DESCRIPTION 🌈

so here's the tea β˜•: psf2raw saves some or all of the characters from a .PSF font as a raw file β€” meaning plain font data, no directory, no extra sparkle, just the glyphs.

and the way this format is frequently used by console font editors under DOS and other platforms?? iconic. it's the lingua franca of retro font editors, fr fr 🧚


πŸ’… OPTIONS πŸ’…

  • --codepage=x β€” extracts only the characters in the given codepage. ⚠️ heads up: this requires the source PSF file to have a Unicode directory, no exceptions, no cap. Any characters in the codepage that aren't actually present in the source font get replaced by blanks (rip to them 😭). You can specify the codepage by number or by name β€” go peep psfpages(1) for the full list of acceptable codepage names πŸ’œ
  • --first=n β€” starts extracting characters at the character you specify. set the starting line, bestie ✨
  • --last=n β€” extracts characters up to and including the one you specify. note the "and including", she's generous like that πŸŽ€
  • --256 β€” literally just shorthand for --first=0 --last=255. the whole byte, zero to two-fifty-five, all of it, no notes πŸ‘‘
  • --flip β€” reverses the order of bits in each byte πŸ”„ used when you're exporting to systems like the Apricot Xi, where the mapping of bits to pixels is the reverse of the convention used on PC hardware. she's ambidextrous, she speaks both languages πŸ’€
IMPORTANT VIBE CHECK: if a codepage AND a range of characters are both specified, the range gets applied to the subset of characters extracted by the codepage. so like, codepage first, then narrow it down. order of operations, bestie 🫑

πŸ‘€ SEE ALSO πŸ‘€

  • raw2psf(1) β€” the reverse glow-up πŸ’«
  • psfpages(1) β€” the codepage name list, go read it, iykyk

🌟 AUTHOR 🌟

John Elliott <seasip.webmaster@gmail.com> 🫢 giving us the tools, giving us the fonts, giving us everything.


officially signed, sealed, delivered: this is Version 1.1.3, dated 28 April, 2026, part of PSF Tools πŸ’– and that's the whole psf2raw(1) page β€” you ate that, bestie, now go convert some fonts βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from