Known Issues
The smart wrapping modes 0 and 3 are not implemented entirely correctly (as per spec): in libass, both modes try to equalize line length over all lines. The specification states that the renderer should try to make the first line longer than the others in mode 0 and the last line longer in mode 3.
Advantages to VSFilter
libass is about 50% faster than VSFilter most of the time.
libass supports kerning (but it is disabled by default).
Bidirectional text and shaping support is much better.
Differences to VSFilter
Empty lines, i.e. "\N\N" or a "\N" at the start of an event are not handled like VSFilter in some cases.
Syntax errors in certain tags are handled different.
BorderStyle 3 ("opaque box") does not behave like in VSFilter all the time. VSFilter's implementation is buggy and emulation of these bugs is hard. If possible, avoid using it.
\blur is scaled like border width if ScaledBorderAndShadow is on. VSFilter does not do any scaling. Likewise, the viewing distance for rotations is scaled. The goal is to get the same rendering result independent of rendering resolution.
The fadeawayheight/fadeawaywidth parameters for the "Banner", "Scroll up" and "Scroll down" effects are not supported. However, these are very rarely used, if at all.
Why is HarfBuzz? disabled by default? That makes rendering depend completely on fribidi which really sucks.
Why is HarfBuzz? disabled by default? That makes rendering depend completely on fribidi which really sucks.
frtgu
@mosen9 It's not. However, you need an up-to-date HarfBuzz? library installed to take advantage of it. libass currently doesn't ship HarfBuzz?.