[vlc-devel] Re: [PATCH] Quartz subtitle renderer

Bernie Purcell b.purcell at adbglobal.com
Sun Apr 1 13:19:44 CEST 2007

On Fri, 2007-03-30 at 15:25 +0200, Derk-Jan Hartman wrote:
> On 30-mrt-2007, at 8:55, Bernie Purcell wrote:
> > Warning: the patch below adds a new file: modules/misc/quartztext.c  
> > that
> > may need to be svn 'add'ed to repository.
> >
> > The module itself should be pretty straightforward, but a few  
> > things to
> > note:
> > 1) I've set the module's score to be higher than freetype because I
> > can't get into the preferences pane on OS X any more to configure it
> > there - this was the only way I could test it. Whether or not you  
> > leave
> > it at the score it's at is up to you I guess.
> Good call
> > 2) it doesn't rely on the last patch I submitted, but without it the
> > only subtitle type that can render styled subtitles is a USF stream
> > muxed into a mkv container.
> Tested both, works on a SSA file
> > 3) If you find the rendered text excessively yucky you can try  
> > changing
> > the 2nd argument to CGContextSetLineWidth at line 814 to set the
> > thickness of the outline. I found this made noticeable differences to
> > the text output, but it varied so much with the font chosen that I
> > couldn't come up with a systematic way of setting it appropriately  
> > for a
> > random font. It should probably be a configuration parameter - as I
> > can't get the preferences working though I had no opportunity to play
> > around with that prospect though.
> This is looking VERY promising. couple of things:
> 1: positioning seems problematic at times with SSA, not really sure  
> where that's coming from, haven't looked into it yet. But http:// 
> deneb.student.utwente.nl/~hartman/videolan/Those_Who_Hunt_Elves_II_- 
> _0.mkv shows it really well. I guess some margin values or stuff that  
> need to be inherited from the input fmt are not copied over.
Sorry, I haven't downloaded the file yet - am just about to. I hope a
fix for part 2) has already fixed the problem though. The left margin
was being applied twice due to some careless code.

> 2: on plain text the last char appears to be missing at times. For  
> example. Try the hotkeys for audio-track subtitle-track ('l' vs.  
> 's' ) The text doesn't show the ']' that should be at the end of the  
> language tag ('[English]')
I didn't even know about this feature. How funny! I thought the module
was only used to draw the subtitles. It appears to be fixed now though
in the patch attached.

> 3: I do think that a thicker black outline should be used in a lot of  
> cases. It's currently 1.0f, which by my interpretation of the spec  
> means 0.5 on either side of the graphic. I was wondering if we can  
> make it relative to the fontsize by default. Personally i think that  
> would result in the best visual appearance for most people. And then  
> have 1.0f as the minimum value unless "no border" is requested.
Haven't done anything about this yet - will need a bit of
experimentation. My access to email is going to get a bit limited for a
while very shortly, so I'll try to do something about it next week
before that happens.

On Fri, 2007-03-30 at 15:42 +0200, Derk-Jan Hartman wrote: 
> BTW. since the Quartz renderer has automatic font fallback systems  
> for unsupported charsets, we should probably select another default  
> font for the subtitles. Originally I chose Lucida Grande, because it  
> supported the  most charsets, not because of how good it looked.
> Trebuchet, Arial or Verdana is probably a better font. If I remember  
> well one of the reasons Lucida Grande is the System Font, is because  
> it's a tall and sleek font. With white subtitles however, I think a  
> font that is a tad "fatter" is preferred.
Trebuchet MS and Arial appear to be a bit thinner that Lucida Grande
when I look at them in TextEdit - Verdana looks like the best bet, so
I installed it as the default.

On Fri, 2007-03-30 at 15:49 +0200, Christophe Mutricy wrote: 
> Some small details
> > +/*****************************************************************************
> > + * quartztext.c : Put text on the video, using Mac OS X Quartz Engine
> > + *****************************************************************************
> > + * Copyright (C) 2002 - 2005 the VideoLAN team
> We are now in 2007
Are you sure? Most of the time I'm not. This is what I get for copying someone
else's header and not paying enough attention to what I have to change.
> > +vlc_module_begin();
> > +    set_shortname( _("Text renderer"));
> > +    set_description( _("Quartz font renderer") );
> the freetype module also use  set_shortname( _("Text renderer"));  so it
> needs to be changed (possibly in both places) if the quartz renderer use
> some configuretion variable and so appears in the preferences.
and this is what happens when I don't know enough about what I'm doing to
realise I have to change this.
Both of these should be fixed in the patch. :-)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: quartz_fewfixes.svn-diff
Type: text/x-patch
Size: 37106 bytes
Desc: not available
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20070401/0f4f091d/attachment.bin>

More information about the vlc-devel mailing list