[HarfBuzz] Glyphs with negative advance width

Behdad Esfahbod behdad at behdad.org
Thu Jun 13 14:22:32 PDT 2013


Ok, I'll take a look.  Can you send me the font?

That said, The HarfBuzz API uses signed integers for advance.  So I'm not sure
why this is happening.  Where do you observe this behavior again?

b

On 13-06-13 05:16 PM, Olivier Berten wrote:
> Well... Harfbuzz will be the only one behaving that way then...
> That font is rendered fine by Adobe, Microsoft, LibreOffice, ... and fontforge
> as well as ttx/fontTools gives a negative advance width... I guess this
> doesn't push fixing the font ;-)
> 
> Olivier
> 
> 
> 2013/6/6 Behdad Esfahbod <behdad at behdad.org <mailto:behdad at behdad.org>>
> 
>     Hi Olivier,
> 
>     Thanks for the report.  I'm hesitant to make HarfBuzz return negative advance
>     values as that can confuse downstream users.  If this doesn't prove to be a
>     major issue, I think we should ignore it for now.
> 
>     behdad
> 
>     On 13-06-01 05:40 PM, Olivier Berten wrote:
>     > Hi!
>     >
>     > Although it isn't complying with the TrueType/OpenType specifications,
>     > some fonts have some glyphs with negative advance width.
>     >
>     > Advance width (in htmx) is defined as USHORT/uint16 but it seems
>     > everybody else reads it as SHORT/int16.
>     >
>     > In the attached font, glyph "uni17b7" (khmer character  ិ) has a
>     > negative advance width. You can try it with the string និងសមភាព
>     >
>     > I wouldn't call this a bug in harfbuzz since it's a font bug but for
>     > compatibility reasons, it might be useful to change it...
>     >
>     > Olivier
>     >
>     >
>     >
>     > _______________________________________________
>     > HarfBuzz mailing list
>     > HarfBuzz at lists.freedesktop.org <mailto:HarfBuzz at lists.freedesktop.org>
>     > http://lists.freedesktop.org/mailman/listinfo/harfbuzz
>     >
> 
>     --
>     behdad
>     http://behdad.org/
> 
> 

-- 
behdad
http://behdad.org/



More information about the HarfBuzz mailing list