Генерация изображения для каждого шрифта в системе Linux с использованием Python - PullRequest
4 голосов
/ 04 марта 2010

Я ищу способ перечислить все шрифты, установленные в системе linux / Debian, а затем сгенерировать образы некоторых строк, используя эти шрифты. Я ищу ваш совет, так как вижу, как выполнять каждую часть, но не выполнять обе:

  1. Чтобы вывести список всех шрифтов в системе UNIX, xlsfonts может добиться цели:

    импорт ОС
    list_of_fonts = os.popen ( "xslfonts"). readlines ()

  2. Чтобы отобразить строку в изображение с использованием шрифта, я мог бы использовать PIL (Python Imaging Library) и класс ImageFont.

Однако ImagesFont.load ожидает имя файла, тогда как xlsfonts дает своего рода нормализованное имя шрифта, и соответствие между ними не кажется очевидным (я попытался найти в моей системе файлы, названные как результат xlsfonts, без результатов).

У кого-нибудь есть идеи, как мне это сделать? Спасибо!

Ответы [ 2 ]

1 голос
/ 04 марта 2010

Лучше всего сделать find для всех шрифтов в системе, а затем использовать ImagesFont.load() в результатах этого списка. Я не знаю, где находятся шрифты в Debian, но они должны находиться в хорошо известной папке, вы можете просто сделать os.walk и затем указать имена файлов таким образом.

1 голос
/ 04 марта 2010

Вы можете сделать это, используя pango, через пакет pygtk. Pango может перечислять шрифты и отображать их.

...