[ 
https://issues.apache.org/jira/browse/PDFBOX-4909?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17157960#comment-17157960
 ] 

Alfred commented on PDFBOX-4909:
--------------------------------

The way I understand this height calculation is this.

Font height should be half of that font's Bounding Box but there are frequent 
errors in the font definition.
Sometimes the Bounding Box is wrong but the Cap Height is fine; if Cap Height 
is bad, then we can use Ascent and Descent.

But all this logic is supposed to return the same values if called repeatedly 
for the same font.
So we could in theory, compute it once when we load the font, then store it for 
later use.

I am not sure I know how to do that, though.
Or if it is really feasible.

 

> Don't calculate font height for every glyph
> -------------------------------------------
>
>                 Key: PDFBOX-4909
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-4909
>             Project: PDFBox
>          Issue Type: Improvement
>          Components: Text extraction
>    Affects Versions: 2.0.0, 3.0.0 PDFBox
>            Reporter: Alfred
>            Assignee: Tilman Hausherr
>            Priority: Major
>              Labels: Optimization
>             Fix For: 2.0.21, 3.0.0 PDFBox
>
>         Attachments: PDFBOX-4909.patch
>
>
> LegacyPDFStreamEngine computes font height for every glyph and the 
> computation is rather heavy, to work around all known problems.
> Instead of computing for every glyph, we can recompute only when the font 
> changes. The SetFontAndSize operator will be invoked when the font changes so 
> we can use that to compute and store the height to have it ready when needed 
> in showGlyph.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to