Сделать ImageMagick распознать шрифт

Я играю в ImageMagick на Ubuntu 9.10. Я хочу, чтобы он смог распознать шрифт, чтобы я мог назвать его "nickname".

Я могу найти список шрифтов, которые распознает ImageMagick, набрав

identify -list font

В этом списке я вижу Times-Bold. Поэтому

convert -font Times-Bold label:abcdef times.gif

будет генерировать gif файл с шрифтом Times New Roman Bold.

Я знаю, что могу передать путь к шрифту вместо его никнейма, но мне нужно иметь возможность использовать его ник, чтобы у меня было меньше ошибок при переходе с системы на систему. Шрифт, который я пытаюсь выполнить, в частности, - это шрифт истинного типа, называемый Segoe UI.

У меня уже установлен пользовательский интерфейс Segoe в моей системе. Если я пройду путь к шрифту, он будет работать. Но я хочу использовать что-то вроде

convert -font Segoe-UI label:abcdef segoe.gif

Спасибо!

Ответы

Ответ 1

Из того, что я помню, identify использует файл конфигурации, называемый type.xml, для поиска шрифтов по имени. Вы можете изменить imagemagick собственную копию этого файла на системном уровне или добавить дополнительные шрифты на уровне пользователя.

Здесь script называется imagick_type_gen, который будет использовать базу данных "locate" найти шрифты в вашей системе и создать один из этих файлов конфигурации, который затем можно использовать для настройки imagemagick; для обычного пользователя я думаю, что это идет в ~/.magick/type.xml, хотя вы можете поставить его на системный уровень где-нибудь. Обычно это то, что я использовал в прошлом.

Итак, в основном, я думаю, вам нужно настроить файл system.xml или добавить пользовательский уровень. Пока вы можете это сделать, когда переходите к новой системе, для любого пользователя, который будет запускать imagemagick, вы должны, по крайней мере, уйти, не изменяя свой код, если путь к шрифту отличается.