我正在使用GraphicsMagick for node并尝试在“乌尔都语/阿拉伯语”的图像上绘制文本,该文本“??”,文本正在输出图像上绘制,但它是“从左到右”绘制的,而它必须是“从右到左”作为阿拉伯语/乌尔都语是“从右到左”的语言。
gm("/file.png")
.fill('#FF0066')
.drawText(100, -150, "السلام عليكم", 'Center')
.font("/alvi_Nastaleeq.ttf")
.fontSize('38px')
.encoding('Unicode')
输出图像:
如果我尝试使用反向乌尔都语“????????”字符串,即使文本未正确绘制。
我做错了什么?我该如何修复它?
谢谢
最佳答案
我正在寻找同样的东西,我发现
您需要启用text_shaping选项
您需要使用 --enable-libfribidi 配置 FFmpeg
在这里阅读有关 text_shaping 的内容
https://ffmpeg.org/ffmpeg-filters.html#Syntax
我没有测试过,但我会测试,
当我得到结果时,我将在此处发布代码
我希望我已经指出你了
这是我用来制作这样的视频的工作代码
ffmpeg -y -loop 1 -framerate 25 -i bachground-img.jpg -vf "drawtext=text_shaping=1:fontfile=C\/:/Windows/Fonts/tradbdo.ttf:\
textfile=text-new.txt:fontcolor=white:fontsize=75:x=(w-tw)/2:y=h-25*t:" -t 45 -pix_fmt yuv420p output.mp4
关于graphicsmagick - Unicode drawText "Right to Left"GraphicsMagick 中节点的语言问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31753132/