[HarfBuzz] [PATCH] Avoid font fallback with CoreText shaper

Khaled Hosny khaledhosny at eglug.org
Fri Nov 29 15:57:29 PST 2013


I wouldn’t know of course :) So I just checked, for Copy or Create
functions you own the returned object, for Get functions you don’t, so
according to that only the CGFont's need to be released.

On Fri, Nov 29, 2013 at 06:19:36PM -0500, Behdad Esfahbod wrote:
> Shouldn't we CFRelease these:
> 
> +    CTFontRef run_ct_font = static_cast<CTFontRef>(CFDictionaryGetValue
> (attributes, kCTFontAttributeName));
> +    CGFontRef run_cg_font = CTFontCopyGraphicsFont (run_ct_font, 0);
> +    CGFontRef cg_font = CTFontCopyGraphicsFont (font_data->ct_font, 0);
> 
> 
> On 13-11-29 06:01 PM, Khaled Hosny wrote:
> > On Fri, Nov 29, 2013 at 05:38:06PM -0500, Behdad Esfahbod wrote:
> >> On 13-11-29 05:10 PM, Khaled Hosny wrote:
> >>> We should compare the CGFont's then. Updated patch attached.
> >>
> >> Ok, I just studied this.  I think the work should be done at the very
> >> beginning of the look (line 653), 
> > 
> > It had to be after the CTRunGetStringIndices() call, but the reworked
> > patch does not need this, so I moved it up now.
> > 
> >> and produce one notdef per input character.  The number of glyphs in
> >> the current run is dependent on the chosen fallback font and not what
> >> we should be using.
> > 
> > Right, I overlooked that.
> > 
> > Regards,
> > Khaled
> > 
> > 
> >> I can rework this myself eventually, but don't have my Mac around right now.
> >> Feel free to send an updated patch though.
> >>
> >> Thanks,
> >> behdad
> >>
> >>
> >>> Regards,
> >>> Khaled
> >>>
> >>> On Fri, Nov 29, 2013 at 03:13:19PM -0500, Behdad Esfahbod wrote:
> >>>> Your patch doesn't work with user features.  For each user feature we use a
> >>>> sub-font of ct_font:
> >>>>
> >>>>   range->font = CTFontCreateCopyWithAttributes (font_data->ct_font, 0.0, NULL,
> >>>> font_desc);
> >>>>
> >>>>
> >>>> On 13-11-25 08:42 AM, Khaled Hosny wrote:
> >>>>> Resending a patch that actually applies!
> >>>>>
> >>>>>
> >>>>>
> >>>>> _______________________________________________
> >>>>> HarfBuzz mailing list
> >>>>> HarfBuzz at lists.freedesktop.org
> >>>>> http://lists.freedesktop.org/mailman/listinfo/harfbuzz
> >>>>>
> >>>>
> >>>> -- 
> >>>> behdad
> >>>> http://behdad.org/
> >>
> >> -- 
> >> behdad
> >> http://behdad.org/
> 
> -- 
> behdad
> http://behdad.org/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Avoid-font-fallback-with-CoreText-shaper.patch
Type: text/x-diff
Size: 2503 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/harfbuzz/attachments/20131130/7a6538f6/attachment.patch>


More information about the HarfBuzz mailing list