[
https://issues.apache.org/jira/browse/PDFBOX-4909?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17163348#comment-17163348
]
Michael Klink commented on PDFBOX-4909:
---------------------------------------
I would propose to re-open this issue because one fact is ignored: The *current
text font* is a part of the *text state* which in turn is part of the *graphics
state*. Thus, upon restoring a previous graphics state, the *current text font*
also changes and so does the height of it. The patch, on the other hand ignores
this. This can result in incorrect current font height values being used.
In many PDFs the text font is only set in text objects and actually set again
in each text object; thus, usually this bug doesn't show.
To fix this, the {{currentFontHeight}} variable should be moved from the
{{LegacyPDFStreamEngine}} into the {{PDGraphicsState}}.
> 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]