节点的GraphicsMagick中的Unicode drawText“从右到左”语言问题

Aqi*_*taz 5 graphicsmagick

我正在使用GraphicsMagick作为节点,并尝试在图像上为“乌尔都语/阿拉伯语”绘制文本,此文本为“ ???????????????”,文本正在输出图像上绘制,但正在绘制为“从左至右” ”,而它必须是“从右到左”,因为阿拉伯语/乌尔都语是“从右到左”语言。

gm("/file.png")
             .fill('#FF0066')
             .drawText(100, -150, "?????? ?????", 'Center')
             .font("/alvi_Nastaleeq.ttf")
             .fontSize('38px')
             .encoding('Unicode')
Run Code Online (Sandbox Code Playgroud)

输出图像:

在此处输入图片说明

如果我正在尝试使用反向乌尔都语“ ??????????????” 字符串,即使文本无法正确绘制。

在此处输入图片说明

我在做什么错?我该如何解决?

谢谢,

Abd*_*him 4

我正在寻找同样的东西,我发现
你需要启用text_shaping选项,你需要使用--enable-libfribidi
配置 FFmpeg 在这里阅读有关 text_shaping 的信息https://ffmpeg.org/ffmpeg-filters.html#Syntax i没有测试它,但我会的,当我得到结果时,我会在这里发布代码 我希望我已经指出这是我用来制作这样的视频的工作代码



在此输入图像描述

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
Run Code Online (Sandbox Code Playgroud)