我想使用命令行界面将阿拉伯文本绘制为位图(bmp 或 png)。
我尝试过 imagemagick 和 RMagick,但我遇到了 RTL 语言问题。我所有的渲染都是从左到右的。谷歌也没有帮助。
require:
./render "لوحة المفاتيح" out.png
会给出一个位图:
????????????????
任何人都可以给我一些成功的结果吗?
任何人都可以给我一些成功的结果吗?
我可以。我用convert
来自 ImageMagick:
echo لوحة المفاتيح > text.txt && \
convert -size 300x200 \
-background white \
-fill black \
-font /usr/share/fonts/truetype/droid/DroidNaskh-Regular.ttf \
-pointsize 24 \
-gravity Center \
label:@text.txt \
text.png
这是结果:
一些注意事项:
- 您需要使用定义所用字符的字体(在您的情况下是阿拉伯字体)
- 始终使用包含文本的临时文件,而不是直接从命令行提供文本:这会导致奇怪的结果
UPDATE我没有注意到问题的 RTL 部分;我认为使用 pango 得到了更好的结果(参考 http://tillawy.wordpress.com/2011/09/15/render-rtl-arabic-text-image-pango-view-howto/):
# On Ubuntu
sudo apt-get install libpango1.0-dev
echo -n لوحة المفاتيح > text.txt
pango-view text.txt --no-display --output text.png
Result:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)