Hi Greg, Thanks so much for taking the time to respond. This was very helpful. I ended up going in a completely different direction...
Best, Melanie On Mon, Aug 8, 2016 at 6:16 PM, greg aiken <[email protected]> wrote: > ive lurked on this mailing list for sometime. > > your question got my interest. > > perhaps you find someone who has a different opinion about this than > myself... > > > but from what i remember, when a postscript font is defined > > it was always a standard that each letter must fit inside of a 1000 unit x > 1000 unit bounding box. > > think of this as the 'virtual canvas' having a normalized size. > > > so most all font glyph shapes were designed based upon this theoretical > 1000 x 1000 unit bounding box. > > > therefore if the number you get from thsi function you wrote is nearly > around 1000 (which i say 1156 is) - this number, in my opinion, will not be > useful to you. > > > search this page... > > https://fontforge.github.io/faq.html > > > for this heading... > > How big will my glyphs be? > > > there is a concrete example given where this 1000x1000 font glyph design > canvas, and knowing the actual number of a given glyphs width (relative to > this 1000 max width), and knowing point size - that this can be > calculated. but it takes all of these known values to calculate the actual > size. if any of these are UNknowns, the answer can not be determined. > > > good luck... > > > > ________________________________ > From: Melanie Freed <[email protected]> > Sent: Monday, August 8, 2016 2:45 PM > To: [email protected] > Subject: Problem extracting height of Type 3 Font? > > Hi. I'm using pdfbox-2.0.2 and am having trouble getting the height of > extracted text from a PDF with Type 3 fonts. > > I've been able to successfully get the height for Type 1 fonts by > overriding the writeString function in the PDFTextStripper class and using > the maximum font size in points as the height: > > float height = 0f; > for (TextPosition textPosition : textPositions) > { > height = Math.max(height, textPosition.getFontSizeInPt()); > } > > But this doesn't work for Type 3 fonts since they don't use sizes in the > same way. I tried to use the bounding box like this: > > PDFont font_obj = textPositions.get(0).getFont(); > BoundingBox bbox = font_obj.getBoundingBox(); > float height = bbox.getHeight(); > > But the results aren't what I would expect. For example, when I run it on > a document with a Type 1 font, I get a value of 7.0 as the font size in > points (using the first method) and the second method gives me a value of > 1156.0. > > Am I missing some kind of conversion from units of the bounding box to > points? Or just approaching this problem in the wrong way? > > Any advice would be greatly appreciated! > > Thanks in advance, > Melanie >

