Заставьте ImageMagick распознавать шрифт - PullRequest
15 голосов
/ 16 апреля 2010

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

Я могу найти список шрифтов, которые распознает 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 Ответ

17 голосов
/ 16 апреля 2010

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

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

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

...