如何在文本到图像处理中使用带有中文字体的 ImageMagick
How to use ImageMagick with Chinese fonts on Text to Image Handling
我尝试使用 ImageMagick 将中文字符处理为我 MacBook 上的图像。
我用命令查看系统可用的中文字体
convert -list font | grep Font
我没有收到。
从ImageMagick指南看Text to Image Handling,好像支持中文字体,比如ZenKaiUni
并且从我MacBook的应用字体相册中看到。中文字体真多
我觉得还行。怎么算出来的?
您可以告诉 ImageMagick 您系统上的所有字体,例如 this 然后如果您这样做它们就会显示:
convert -list font
那么你可以使用shorthand:
convert -font Arial ...
或者,您可以在每次调用的基础上告诉 ImageMagick 任何字体的完整路径:
printf "Hello" | convert -pointsize 72 \
-font "/Applications/iMovie.app/Contents/Frameworks/Flexo.framework/Versions/A/Resources/Fonts/Zingende Regular.ttf" \
label:@- result.png
你可能会用汉字的 Unicode 代替我的 "Hello".
我的系统上没有任何中文字体,但这里是我建议使用符号字体的示例。首先下载一个合适的 UTF-8 中文字体,即支持 UTF-8 字符的字体。然后打开一个 UTF-8 兼容的文本编辑器,选择该字体并键入您的字符串。例如,这是我在 Mac.
上使用 BBEdit UTF-8 兼容文本编辑器中的符号字体创建的 symbols.txt 文件的屏幕截图
然后使用 ImageMagick,
convert -size 100x -font "/library/fonts/GreekMathSymbols Normal.ttf" label:@symbols.txt symbol.gif
结果 symbol.gif 图像是:
添加 .utf8 作为文件后缀是不够的。您必须使用 UTF-8 兼容字体在 UTF-8 兼容文本编辑器中创建文本文件。
此外,大多数终端windows不支持UTF-8字符/字体。因此,直接在终端 window 的命令行中输入字符并不总是有效。参见 http://www.imagemagick.org/Usage/text/#unicode
您无法在 ImagMagick
中像 the font information it uses doesn't include language support 那样执行此操作,但在 Font Book.app
中创建一个 Smart Collection[=26 很容易=]如下:
在我的 Mac 我有 35 种字体,其中包括汉字。
(dimmed/greyed 字体可用,但需要先从 Apple 服务器下载才能使用,这是在任何应用程序中选择这些字体时自动完成的过程。)
我尝试使用 ImageMagick 将中文字符处理为我 MacBook 上的图像。
我用命令查看系统可用的中文字体
convert -list font | grep Font
我没有收到。
从ImageMagick指南看Text to Image Handling,好像支持中文字体,比如ZenKaiUni
并且从我MacBook的应用字体相册中看到。中文字体真多
我觉得还行。怎么算出来的?
您可以告诉 ImageMagick 您系统上的所有字体,例如 this 然后如果您这样做它们就会显示:
convert -list font
那么你可以使用shorthand:
convert -font Arial ...
或者,您可以在每次调用的基础上告诉 ImageMagick 任何字体的完整路径:
printf "Hello" | convert -pointsize 72 \
-font "/Applications/iMovie.app/Contents/Frameworks/Flexo.framework/Versions/A/Resources/Fonts/Zingende Regular.ttf" \
label:@- result.png
你可能会用汉字的 Unicode 代替我的 "Hello".
我的系统上没有任何中文字体,但这里是我建议使用符号字体的示例。首先下载一个合适的 UTF-8 中文字体,即支持 UTF-8 字符的字体。然后打开一个 UTF-8 兼容的文本编辑器,选择该字体并键入您的字符串。例如,这是我在 Mac.
上使用 BBEdit UTF-8 兼容文本编辑器中的符号字体创建的 symbols.txt 文件的屏幕截图
然后使用 ImageMagick,
convert -size 100x -font "/library/fonts/GreekMathSymbols Normal.ttf" label:@symbols.txt symbol.gif
结果 symbol.gif 图像是:
添加 .utf8 作为文件后缀是不够的。您必须使用 UTF-8 兼容字体在 UTF-8 兼容文本编辑器中创建文本文件。
此外,大多数终端windows不支持UTF-8字符/字体。因此,直接在终端 window 的命令行中输入字符并不总是有效。参见 http://www.imagemagick.org/Usage/text/#unicode
您无法在 ImagMagick
中像 the font information it uses doesn't include language support 那样执行此操作,但在 Font Book.app
中创建一个 Smart Collection[=26 很容易=]如下:
在我的 Mac 我有 35 种字体,其中包括汉字。
(dimmed/greyed 字体可用,但需要先从 Apple 服务器下载才能使用,这是在任何应用程序中选择这些字体时自动完成的过程。)