- From: Thomas DeWeese <Thomas.DeWeese@Kodak.com>
- Date: Fri, 10 Jun 2005 15:30:12 -0400
- To: Jon Ferraiolo <jon.ferraiolo@adobe.com>
- CC: Boris Zbarsky <bzbarsky@MIT.EDU>, Nikolai Grigoriev <grigoriev@comtv.ru>, www-svg@w3.org
Hi Jon, Just to clarify the API to access this info already exists on the text content interface (getExtentOfChar). This is really a request to add a bbox attribute to the glyph element that contains the tight bounding box of the glyph data. From a data normalization point of view this is problematic (what happens when the bbox data doesn't match the real char?). Also I did some poking and even in AFM the bbox data appears to be optional. Nikolai a possible solution that might be more palatable than generating an AFM file would be to rewrite the SVG font to include a bbox attribute in a custom namespace. The "problem" is that you are trying to make sense of an SVG document without an SVG implementation to support you. Jon Ferraiolo wrote: > As I remember historical discussions about text APIs within the SVG > working group, we recognized the value for some content developers to > have APIs which would provide bounding boxes for glyphs (versus > characters, which includes the full character cell independent of the > glyph that is used), but considered this an extra feature which was > deemed not to have a high-enough priority to justification including > such APIs in SVG 1.0, 1.1, or even SVG 1.2 (at least so far). At this > stage, I would expect the SVG working group to be resistant to adding > these APIs to any version of SVG 1.2 (Tiny or Full) since the focus is > finishing the spec, not adding more features. > > Jon > > At 04:53 AM 6/10/2005, Boris Zbarsky wrote: > >> Thomas DeWeese wrote: >> >>> I suppose in mathML layout there may be some reason you want to know >>> the true glyph >>> geometry bounds >> >> >> If nothing else, you absolutely need glyph geometry bounds to get >> reasonable-looking superscripts and subscripts (this requires knowing >> the ascent and descent of individual glyphs). >> >> Note that there are other reasons one might want to know bounding >> boxes even in a non-MathML context; doing drop-caps well requires that >> information, for example. >> >>> I think the BBox is intended to be calculated using the >>> advance, ascent, descent. >> >> >> That doesn't work. For example, if you have a standard English font >> the bounding box this procedure would give for an "x" would extend as >> far below the baseline as the one for a "g" (Since the ascent/descent >> are per-font-face, not per-glyph). >> >>> If you want to do a really good job >>> you should also look at the hkern elements which will adjust the >>> horiz-adv-x based on text context. >> >> >> That doesn't help with the vertical issues, though. >> >> -Boris >> >
Received on Friday, 10 June 2005 19:30:24 UTC