> > Just take the extrema of *all* points – for fonts this should be > > good enough, because it is standard to have points at the curve > > extrema, thus making the bounding box of the curve identical to > > the bounding box of the points (both on and off points). > > Ok, thanks. This is exactly what I needed. I was already trying > this, but I thought it was wrong because of off points.
For your information, you might also look at FreeType's function `FT_Glyph_Get_CBox`, which handles the generic case. > What I mean is: my code allows the adjustment for i to be applied to > glyphs with more than 2 contours to also adjust accented o and a, so > the rules you suggested would reject around half of the characters > that are currently being adjusted this way. I think your rules can > still be enforced by treating the contour to be moved as "A" and all > other contours collectively as "B". Yeah, I was especially referring to glyph 'i', since here the problem is most visible. >> [...] I ask you to have this in mind to find a solution that can be >> easily extended to cover this situation, too (for example, by using >> an extendable structure instead of a plain variable). > > In this case, do you mean that instead of making a codepoint a key > for the database directly, I should wrap it in a struct so that > other kind of keys can be added? Something like this, yes. Just try to be generic, and think of possible extensions. Werner