>> FT_Get_Glyph(  face->glyph, &glyph );     // lazy copy in
>> `ft_bitmap_glyph_init'
>
> I think the else (proper copy) condition is bogus. If bitmap is not owned,
it
> is not valid and you cannot copy it, which leaves us with lazy case only.
> Elsewhere, we do not even free the bitmap buffer in the FT_GlyphSlot if it
is
> not owned.

Personally, I think the "else" is the only "proper" way to proceed in that
situation (even though it is way more expensive):  the glyph that is being
allocated in `FT_Get_Glyph' is basically a deep copy of whatever resides in
the face's glyph slot (at least that's the way it is advertised).  Apart
from my expectations (1), I also have to free the glyph that `FT_Get_Glyph'
crafts (according to docs) and that flushes the bitmap buffer of said glyph
(which causes the issues in first place).

(1) I expect to be able to use the returned glyph however I like.  Knowing
it won't affect the glyphslot in the face ... that way I can do fancy things
to it without the need to reload the glyph in the face -- which renders
`FT_Get_Glyph' pretty much useless.


_______________________________________________
Freetype-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/freetype-devel

Reply via email to