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

John Hewson commented on PDFBOX-3457:
-------------------------------------

Ok, so having eliminated the gs-bugzilla693663-p9.pdf file, we're left with two 
PDFs, PDFJS-7523.pdf and PDFJS-5550-2.pdf. I see something in common between 
them: the problematic fonts are both standard 14.

Looking back at PDFBOX-870 and the files which Tilman linked to above, none of 
the fonts which we stretch are standard 14. Which makes me thing that the 
solution to this issue is to not stretch a font if it is standard 14. This 
change in PageDrawer brings the desired effect:

{code}
// stretch non-embedded glyph if it does not match the width contained in the 
PDF
if (!font.isEmbedded() && !font.isStandard14())
{
   ...
{code}

I'll let Tilman try it out on his test suite.

> Glyphs rendered in wrong width
> ------------------------------
>
>                 Key: PDFBOX-3457
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-3457
>             Project: PDFBox
>          Issue Type: Bug
>    Affects Versions: 2.0.2, 2.0.3, 2.1.0
>            Reporter: Tilman Hausherr
>         Attachments: PDFJS-5550.pdf, PDFJS-7523.pdf, 
> gs-bugzilla693663-p9.pdf, overlapping.png
>
>
> Fonts rendered in wrong size. The cause is related to wrong values in the 
> /WIDTHS table and this code in PageDrawer:
> {code}
>             // stretch non-embedded glyph if it does not match the width 
> contained in the PDF
>             if (!font.isEmbedded())
>             {
>                 float fontWidth = font.getWidthFromFont(code);
>                 if (fontWidth > 0 && // ignore spaces
>                         Math.abs(fontWidth - displacement.getX() * 1000) > 
> 0.0001)
>                 {
>                     float pdfWidth = displacement.getX() * 1000;
>                     at.scale(pdfWidth / fontWidth, 1);
>                 }
>             }
> {code}
> I suspect that there must be another condition to skip the stretching, but I 
> didn't find out which one.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@pdfbox.apache.org
For additional commands, e-mail: dev-h...@pdfbox.apache.org

Reply via email to