Джон Зайцев написал несколько утилит для Python для преобразования консольных шрифтов psf в простое представление ascii, которым затем легко манипулировать. Вы можете использовать следующую последовательность для инвертирования каждого глифа в выбранном шрифте для создания нового шрифта:
psf2psftx myfont.psf myfont.psftx
./invert inverted.psftx
psftx2psf inverted.psftx myfontinverted.psf
где инвертирование представляет собой небольшой awk-скрипт:
awk '
/ENDGLYPH/ { print glyph; glyph = "" }
/^\t[\.X]*$/ { glyph = $0 "\n" glyph; next }
{ print } '
Например, я использовал его эмуляцию скриншота (для чего нужны пакеты reportlab и PIL). ) для создания этого изображения после инвертирования стандартного консольного шрифта Linux lat1-08.psfu
zcat /usr/lib/kbd/consolefonts/lat1-08.psfu.gz >myfont.psf
...
echo abc >text
psftx-screenshot inverted.psftx text inverted.png
У вас могут возникнуть некоторые проблемы с кодом в зависимости от вашей версии python3, и я предполагаю, что вам все еще нужно поработать над шрифт, если вам нужны как правые, так и перевернутые версии символов в одном и том же шрифте, поэтому не принимайтесь за это легкомысленно.