将.otf字体转换为所有字形的.gif图像

时间:2017-01-19 20:55:42

标签: bash image fonts converter

如何将.otf字体文件转换为.gif图像,其中字体中的每个字形占据gif中的单个帧?

我见过imagemagick用于将字形转换为pngs,

convert -background none -fill black -font font.otf -pointsize 300 label:"Z" z.png

这可以扩展我所追求的吗?

或者我需要使用其他方法吗?

(另请注意,上面的命令对我来说无法正常工作,我使用的字体,tangwar-annatar,有一些字形被上面命令生成的png边缘切断)< / p>

我在Mac上可以访问几乎所有内容,所以只要它对我有效,就会接受任何语言的解决方案。

1 个答案:

答案 0 :(得分:1)

再次更新

好的,我已经看到你的字体和字符似乎超出了预期的大小。我认为你需要做的就是使用更大的画布:

-annotate

enter image description here

更新了答案

您可以在固定的背景下使用#!/bin/bash { for c in {a..z} {A..Z} {0..9}; do convert xc:none[350x350] -background none -fill black -font arial -pointsize 300 \ -gravity center -annotate 0 "$c" miff:- done # Do any problematic characters as an afterthought, e.g. semi-colon, and exclamation convert xc:none[350x350] -background none -fill black -font arial -pointsize 300 \ -gravity center -annotate 0 ";" miff:- convert xc:none[350x350] -background none -fill black -font arial -pointsize 300 \ -gravity center -annotate 0 "!" miff:- } | convert -dispose background -delay 20 miff:- anim.gif 获得更好的效果,如下所示。我还在此示例中添加了如何处理有问题的字符 - 您也可以在其他示例中执行相同操作:

#!/bin/bash
for c in {a..z} {A..Z} {0..9}; do 
   convert -background none -fill black -font arial -pointsize 300 \
   label:"$c" -gravity center -extent 350x350 miff:-
done | convert -dispose background -delay 80 miff:- anim.gif

enter image description here

原始答案

您可以这样做:

{{1}}

enter image description here