Re: [HarfBuzz] No kerning?

2015-10-13 Thread Jamie Dale
It was the truncation, good call :) I've changed it to round when converting from 26.6 to pixel space, and that's fixed the remaining issues I was seeing. Thanks, Jamie. ___ HarfBuzz mailing list HarfBuzz@lists.freedesktop.org

Re: [HarfBuzz] No kerning?

2015-10-12 Thread Jamie Dale
I've continued to investigate this, and it seems to be related to my call to hb_font_set_scale. The value I was passing was a float multiplier for the font (you can see it being used in my first email) - I've tried changing that to use the up-scaled value that we give to FT_Set_Transform, however

Re: [HarfBuzz] No kerning?

2015-10-12 Thread Behdad Esfahbod
My guess is that you are truncating advances as returned by HarfBuzz whereas perhaps you need to round them. That explains 99% of issues like the ones you are seeing... On 15-10-12 12:17 PM, Jamie Dale wrote: > I've continued to investigate this, and it seems to be related to my call > to

Re: [HarfBuzz] No kerning?

2015-10-12 Thread Jamie Dale
Hmm, that's possible... All the values we give to our font renderer from FreeType and HarfBuzz are pre-converted into pixel space. For our old font rendering code, this meant that the glyph metrics and kerning would have been converted into pixel space separately before being summed together to

Re: [HarfBuzz] No kerning?

2015-10-06 Thread Richard Wordingham
On Tue, 6 Oct 2015 18:52:11 +0100 Jamie Dale wrote: > 2) What is OT::Sanitizer doing, and could it be skipped without > leading to crashes? My understanding is that its job is to prevent crashes and other data corruption. A subtable specified by an offset can

Re: [HarfBuzz] No kerning?

2015-10-06 Thread Nikolay Sivov
On 06.10.2015 0:27, Behdad Esfahbod wrote: The version of the font from Jamie *does* have a kern table. Ooh, sorry for the noise then. ___ HarfBuzz mailing list HarfBuzz@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/harfbuzz

Re: [HarfBuzz] No kerning?

2015-10-05 Thread Konstantin Ritt
Did you enable 'kern' feature? Something like that: const hb_feature_t features[1] = { { HB_TAG('k','e','r','n'), !!kerningEnabled, 0, uint(-1) } }; const int num_features = 1; bool shapedOk = hb_shape_full(hb_font, buffer,

Re: [HarfBuzz] No kerning?

2015-10-05 Thread Nikolay Sivov
On 05.10.2015 22:32, Jamie Dale wrote: The images below are using the Roboto font, and show the output from each implementation. The top image is using our "kerning only" implementation, and the bottom image is using HarfBuzz. Note that the "T" and "e" characters are further apart in the bottom

Re: [HarfBuzz] No kerning?

2015-10-05 Thread Jamie Dale
I wasn't aware such a thing existed. I've tried turning it on as per your example, however it doesn't seem to have made any difference. -Jamie. On 5 October 2015 at 20:45, Konstantin Ritt wrote: > Did you enable 'kern' feature? Something like that: > > const

Re: [HarfBuzz] No kerning?

2015-10-05 Thread Jamie Dale
I don't know what font data our "kerning only" implementation is using under the hood, but the kerning used when calculating the advance is from a call to FT_Get_Kerning with the FT_KERNING_DEFAULT flag. We only do this when FT_HAS_KERNING reports that the font has kerning data, and the remainder

Re: [HarfBuzz] No kerning?

2015-10-05 Thread Behdad Esfahbod
I'm not sure what's wrong. Can you send me the font file? Also, I'm interested to hear more about your caching and load-flags stuff. I like to upstream them to the extent that makes sense. behdad On 15-10-05 03:32 PM, Jamie Dale wrote: > Hey all, > > In our application we have two text

Re: [HarfBuzz] No kerning?

2015-10-05 Thread Behdad Esfahbod
The default is on, so that's irrelevant. On 15-10-05 04:07 PM, Jamie Dale wrote: > I wasn't aware such a thing existed. I've tried turning it on as per your > example, however it doesn't seem to have made any difference. > > -Jamie. > > On 5 October 2015 at 20:45, Konstantin Ritt

Re: [HarfBuzz] No kerning?

2015-10-05 Thread Behdad Esfahbod
Thanks Jamie, For loadflags, would it be enough to add hb_ft_font_set_flags() that sets loadflags, and use that in all places? I'll go ahead and do that, since it's been long overdue. Re caching, do you have data you can share on which parts are the slowest, etc? Would you be willing to test a

Re: [HarfBuzz] No kerning?

2015-10-05 Thread Jamie Dale
hb_ft_font_set_flags sounds basically like what I'm already doing using user-data, so yeah, that sounds like it would be fine. I'll see if I can get you some stats (I can't remember off the top of my head), but I'd certainly be willing to help try out caching patches to hb-ft. The main reason we

Re: [HarfBuzz] No kerning?

2015-10-05 Thread Jamie Dale
Yeah, we actually use a slightly older version of the Roboto font. Here's what I get using the non-GPOS version: [image: Inline images 1] Things are a lot more squished than with our old code, but the "T" "e" part might actually be the same (it's kinda hard to tell though). -Jamie. On 5

Re: [HarfBuzz] No kerning?

2015-10-05 Thread Nikolay Sivov
On 05.10.2015 23:17, Jamie Dale wrote: I don't know what font data our "kerning only" implementation is using under the hood, but the kerning used when calculating the advance is from a call to FT_Get_Kerning with the FT_KERNING_DEFAULT flag. We only do this when FT_HAS_KERNING reports that the

Re: [HarfBuzz] fallback kerning

2010-07-27 Thread Evan Martin
I remember running into this issue when experimenting with harfbuzz-ng some months ago. For reference, take a look at commits d740c8f78bcbe80a8bcd8a9468830a406da37cc0 and e70f45eb522bcb41388cc218b79bbd6aaecf8050 On Tue, Jul 27, 2010 at 3:55 PM, Jonathan Kew jonat...@jfkew.plus.com wrote: Hi