[MPlayer-dev-eng] libass stroke problem

Evgeniy Stepanov eugeni.stepanov at gmail.com
Sat Mar 31 20:39:29 CEST 2007


On Saturday 31 March 2007 22:19, Ivan Kalvachev wrote:
> 2007/3/31, Evgeniy Stepanov <eugeni.stepanov at gmail.com>:
> > On Saturday 31 March 2007 21:27, Ivan Kalvachev wrote:
> > > 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.
> >
> > I've heard about similar problems. Upgrading freetype to at least 2.1.10
> > always helped. Are you using an older version ?
>
> 2.1.9
> I think my distribution still uses that version because 2.1.10 had
> cleaned up the API and caused some programs compilation to fall. I
> have no idea if these programs are fixed, but I don't want to take the
> risk.
>
> If you think that libass must require freetype 2.1.10 then it must be
> detected by configure.

I checked your patch with several files and did not see any change with 
freetype 2.2.1. If it helps with older versions, it's ok to commit.



More information about the MPlayer-dev-eng mailing list