ImageMagick 不呈现所有 Unicode 字符
ImageMagick not rendering all Unicode characters
我想用 ImageMagick 渲染小的单字符图像。
我是这样称呼它的:
echo -n "\u1407" | convert -background black -fill white \
-font /usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-pointsize 12 label:@- gif:1407.gif
当我在我的终端上回显时,它设置了这种字体 (DejaVu-Sans-Mono),我看到这个三角形:ᐇ
但在 GIF 中只是一个问号。没有特殊标记,只是一个问号。它适用于其他一些字符,例如这些特殊的括号:⟨⟩
在 27e8
和 27e9
,但下一对不再起作用。
我需要做什么才能启用该字体提供的所有字符?我是不是设置错字体了?
我的发行版是 LMDE。
使用 bash 和 unicode,我总是需要退后一步,多做一步。
echo -n ᐇ | hexdump
这给了我正确的十六进制三元组
0000000 e1 90 87
那么我在 bash 中的 unicode 转义序列将是..
echo -ne "\xE1\x90\x87"
(省略换行符 0x0A)
echo -ne "\xE1\x90\x87" | convert -background black -fill white \
-font /usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf \
-pointsize 12 label:@- gif:1407.gif
但是这会产生以下图像 ,因为该字符不属于 DejaVu Sans Mono 集,但它属于 DejaVu Sans.
echo -ne "\xE1\x90\x87" | convert -background black -fill white \
-font /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf \
-pointsize 12 label:@- gif:1407.gif
Additional info 关于 ᐇ
不包含此字形可能有完全正当的理由。有礼貌的做法是联系 DejaVu 团队,询问这是不是一个错误,或者包含在其他地方。 IRC & Mailing lists 是一个好的开始。
我想用 ImageMagick 渲染小的单字符图像。
我是这样称呼它的:
echo -n "\u1407" | convert -background black -fill white \
-font /usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-pointsize 12 label:@- gif:1407.gif
当我在我的终端上回显时,它设置了这种字体 (DejaVu-Sans-Mono),我看到这个三角形:ᐇ
但在 GIF 中只是一个问号。没有特殊标记,只是一个问号。它适用于其他一些字符,例如这些特殊的括号:⟨⟩
在 27e8
和 27e9
,但下一对不再起作用。
我需要做什么才能启用该字体提供的所有字符?我是不是设置错字体了?
我的发行版是 LMDE。
使用 bash 和 unicode,我总是需要退后一步,多做一步。
echo -n ᐇ | hexdump
这给了我正确的十六进制三元组
0000000 e1 90 87
那么我在 bash 中的 unicode 转义序列将是..
echo -ne "\xE1\x90\x87"
(省略换行符 0x0A)
echo -ne "\xE1\x90\x87" | convert -background black -fill white \
-font /usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf \
-pointsize 12 label:@- gif:1407.gif
但是这会产生以下图像
echo -ne "\xE1\x90\x87" | convert -background black -fill white \
-font /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf \
-pointsize 12 label:@- gif:1407.gif
Additional info 关于 ᐇ
不包含此字形可能有完全正当的理由。有礼貌的做法是联系 DejaVu 团队,询问这是不是一个错误,或者包含在其他地方。 IRC & Mailing lists 是一个好的开始。