[HarfBuzz] A couple new APIs

Behdad Esfahbod behdad at behdad.org
Fri Jun 19 14:01:44 PDT 2015


Jonathan, others,

I just fixed a bug where cluster merging was not happening when we wanted to
hide default-ignorables and the font doesn't have a space glyph.  I'll make a
release for that on Monday.  Testing welcome.

Reminded me that I've wanted to add two new buffer properties…

A while back I added hb_buffer_[gs]et_replacement_codepoint(), which sets what
character value will be used when encountering errors during UTF-8/16/32 decoding.

I want to add two more buffer properties:

  - hb_buffer_[gs]et_invisible_glyph().  If set, we'd use this number instead
of using the space glyph, when hiding default-ignorables or otherwise deleting
a glyph.  If value is set to 0 (default), we do what we currently do.

  - hb_buffer_[gs]et_undefined_glyph().  We'd use this number to initialize
glyph before calling font_funcs->get_glyph(), so essentially, this becomes the
glyph number returned if a glyph is not found and the font funcs didn't
explicitly set *glyph to any number.  Default value of this is 0.  While a
custom font_funcs implementation can be used to do this, having this function
allows for faster font_funcs implementations by removing a layer of indirection.

Any comments on the functionality, naming, etc?

Thanks,
-- 
behdad
http://behdad.org/


More information about the HarfBuzz mailing list