[MPlayer-dev-eng] libass stroke problem

Ivan Kalvachev ikalvachev at gmail.com
Sat Mar 31 19:27:45 CEST 2007


Hi,
It seems to be normal for ssa/ass subtitles to use outline.
However is some rare cases I got quite ugly gaps between the character
and the border.

After some bug-hunting I got to a possible solution (and probable cause).

The outline is created by FreeType functions FT_Glyph_Stroke, rendered
 and then fix_outline_and_shadow() function is called.

Changing the FreeType function to FT_Glyph_StrokeBorder(,,1,) with
parameter to render only the outside border fixed the problem for me.
My guess is that the problem is caused in the fix_..() function in the
areas where both glyph overlap. The change I make prevents the overlap
and workarounds the problem.

I could commit that change myself, but I am not sure if this is the
proper way to fix it, and definitely it needs much more testing.


Eugeni , if you want sample file or screenshot before and after the
change mail me in private . I think the subtitles requested "Sans"
and got "Deja Vu Sans" as font (I'm having dejavu-ttf-2.15 installed).
I'll try to extract the subtitles if you need them.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: libass_border.patch
Type: application/octet-stream
Size: 587 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/attachments/20070331/d439d53e/attachment.obj>


More information about the MPlayer-dev-eng mailing list