[HarfBuzz] Example application using FriBidi, FreeType, and HarfBuzz

Salah-Eddin Shaban salshaaban at gmail.com
Tue Mar 10 15:04:01 PDT 2015


MPlayer (and mpv) converts all text to SSA in order to use libass.
There's no other way to use libass.
And, again, I don't think that's the best option. The FreeType module
in VLC is very mature, it does not feel right to just dump it instead
of walking that last mile to support complex-scripts. And besides,
there's work to be done either way, but I prefer to learn about the
Bidi algorithm and complex-script shaping than converting between
subtitle formats :)

The latter won't help me with other projects I'm currently
contemplating. Like adding complex-script support to some text
editors.

On Tue, Mar 10, 2015 at 7:43 PM, Khaled Hosny <khaledhosny at eglug.org> wrote:
> At least mpv seems to be using libass to render all subtitles, so it might
> be worth checking what are they doing.
>
> Regards,
> Khaled
>
>  On Mar 10, 2015 12:20 PM, "Salah-Eddin Shaban" <salshaaban at gmail.com>
> wrote:
>
>> That's right. VLC uses libass to render SSA/ASS subtitles. But it has
>> its own text rendering modules to render other subtitle formats.
>>
>> The most common format usually found on sites like opensubtitles.org
>> is SubRip (.srt).
>> So to use libass here the user has to convert the files to SSA
>> beforehand, or VLC should convert the text to SSA at runtime, which is
>> not the best option.
>>
>> On Tue, Mar 10, 2015 at 4:35 AM, Behdad Esfahbod
>> <behdad.esfahbod at gmail.com> wrote:
>> > Hi there,
>> >
>> > That's very nice.  Thanks for sharing.
>> >
>> > That said, I was under the impression that VLC could already use
>> HarfBuzz /
>> > FriBidi to render subtitles using libass.  Is that not the case?
>> >
>> > behdad
>> >
>> > On 15-03-08 12:58 PM, Salah-Eddin Shaban wrote:
>> >> Hello,
>> >>
>> >> I would like to thank you very much for HarfBuzz.
>> >>
>> >> I'm currently trying to use it to add complex-script support to the
>> >> text renderer of VLC Media Player, mainly for Arabic subtitle files. I
>> >> tried first using Pango but was told there were compatibility issues
>> >> with GLib, so HarfBuzz is the way to go.
>> >>
>> >> I had to struggle a little with the Unicode bidirectional algorithm
>> >> and with getting to understand how Fribidi, FreeType, and HarfBuzz
>> >> work together. Documentation is rather scarce so I had to dig through
>> >> some source code, and to experiment with a test application.
>> >>
>> >> I still can't claim to understand everything about the algorithm or
>> >> the process of rendering text. When I compare my code to the source
>> >> code of Pango it seems too simple to be correct. But it's producing
>> >> correct results, as far as I can see, for all text I test it on, and
>> >> not just subtitle files.
>> >>
>> >> Anyway, I thought it might help someone get the general picture, if
>> >> you think it's appropriate as another user example on the HarfBuzz
>> >> wiki.
>> >>
>> >> Any comments or corrections are greatly appreciated.
>> >>
>> >> https://github.com/salshaaban/BidiRenderer
>> >> _______________________________________________
>> >> HarfBuzz mailing list
>> >> HarfBuzz at lists.freedesktop.org
>> >> http://lists.freedesktop.org/mailman/listinfo/harfbuzz
>> >>
>> _______________________________________________
>> HarfBuzz mailing list
>> HarfBuzz at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/harfbuzz
>>


More information about the HarfBuzz mailing list