0

We are trying to use ffmpeg drawtext to support hindi fonts. But the ordering of the data is not correct. The unicode for Hindi text is passed like this

1. पिता माता िस्रफ

But output renders as

Output of code

Have used the following code for generating the output

ffmpeg  -framerate 30 -t 10 -i /opt/test.png drawtext=text_shaping=1:fontcolor=white:fontsize=60:fontfile=/usr/share/xx.ttf:text='1. पिता माता िस्रफ':y='max(550,700-t*200)':x=40,format=yuv420p[v] /usr/share/nginx/html/hello_v.mp4

Had done harfbuzz support and --libfribidi is also enabled.

The problem is the text gets drawn from left to right. Also found there is a use_kerning flag in drawtext, will that help, if yes how to use it.

Shiv Kumar
  • 1,034
  • 1
  • 9
  • 21
  • Description isn't accurate. Text is not being drawn left to right. If it was, `प` would be at the right-end. This is a ligature rendering problem and Harfbuzz doesn't have support yet, AFAIK. You'll need a font with glyphs readymade i.e. `पि` is one character. – Gyan Jan 17 '18 at 12:29

1 Answers1

0

Convert unicode to krutidev and then render using krutidev font. Check my answer here

Abu Saad Papa
  • 1,908
  • 15
  • 20