psfs2cpi(1)
β¨ psfs2cpi β the PSF β CPI glow-up β¨
okay bestie, gather round, because this little tool is literally the moment one or more PSF files get combined into a single CPI file. it's giving codepage assembly line. π
πΈ SYNOPSIS πΈ
psfs2cpi [--device=DEV] [--comment=TEXT] [--drfont] [--nt] [ +CODEPAGE |
+CODEPAGE=CPNAME ] INPUTFILE [INPUTFILE ...] [+CODEPAGE INPUTFILE
[INPUTFILE ...]] OUTPUTFILE
π¦ DESCRIPTION π¦
so psfs2cpi combines one or more PSF files into a CPI file. that's the whole vibe. β¨
when you run it, you hand it a list of codepage numbers. each number then has to be followed by the names of one or more PSF files, and those are where the character shapes come from. like, the character shapes are the main characters here π
for example, this command right here:
psfs2cpi +437 eg8.psf eg16.psf +850 eg8.psf eg16.psf +860 eg8.psf
eg16.psf +863 eh8.psf eh16.psf eg.cpi
will generate a CPI file called eg.cpi, containing codepages 437, 850, 860 and 863 in two sizes. the first three codepages will have been based on eg8.psf and eg16.psf; the last one on eh8.psf and eh16.psf. iconic behaviour, no notes. π
a codepage number can be followed by a directive saying which mapping table will actually be used. for example, if the start of the above command had read:
psfs2cpi +437=PPC437 ...
then codepage 437 would have been generated using the slightly different PPC437 mapping. tiny change, big difference, iykyk. π
and here's the tea: if the PSF files in question have Unicode directories, and the codepage is one of the ones known to psfs2cpi, then the appropriate glyphs will be extracted from the file β that's literally how three codepages can be based on a single PSF file. slay. but if the codepage number is not known, or the PSF file has no Unicode directory, then the first 256 characters of the PSF file will be used instead. fallback queen. π
π OPTIONS π
--device=devnameβ sets the device name to store in the codepage file. this defaults to"EGA", so if you don't say anything, EGA it is. but if you're generating a codepage file for the IBM Convertible, you should set it to"LCD"instead. know your audience, basically. π--comment=commentβ sets a comment which will be added to the end of the CPI file, like a copyright message. little signature at the bottom, very cute. π--drfontβ outputs in the compressed format used by DRDOS. zip it, squeeze it, serve it. π₯--ntβ outputs in theFONT.NTformat used by Windows NT. windows said lemme get a format too π
π SEE ALSO π
(the whole friend group fr fr π«Ά)
π AUTHOR π
John Elliott <seasip.webmaster@gmail.com>. thank you john, king behaviour β
that's the whole page bestie!! π this was Version 1.1.3, dated 28 April, 2026, coming to you straight from PSF Tools π§β¨ go forth and build your codepages, you absolute icon π
π¦ where this page comes from
- nixpkgs unstable: psftools 1.1.3
- ubuntu stonking: psftools 1.1.3-1
- Copyright (c) 2005, 2007 John Elliott
- Copyright (C) 2005, 2007 John Elliott
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms