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

John Hewson edited comment on PDFBOX-3457 at 10/18/16 11:30 PM:
----------------------------------------------------------------

I've attached a patch (against trunk) which fixes the outstanding 
{{gs-bugzilla693663-p9.pdf}} issue. 

What was happening was that we were incorrectly stretching some glyphs to 1000. 
But those glyphs don't have entries in /W, and there is no /DW so we actually 
have no idea what the width is. PDF spec says that the default is 1000, so we 
use that. But there's obviously some extra logic in Acrobat which says "stretch 
glyphs to the Font dictionary width unless it's not given in /W and there is no 
/DW, in which case use 1000 as the advance width, but don't stretch the glyph".

This is separate from the standard 14 issue, which is in the patch too.


was (Author: jahewson):
I've attached a patch which fixes the outstanding {{gs-bugzilla693663-p9.pdf}} 
issue. 

What was happening was that we were incorrectly stretching some glyphs to 1000. 
But those glyphs don't have entries in /W, and there is no /DW so we actually 
have no idea what the width is. PDF spec says that the default is 1000, so we 
use that. But there's obviously some extra logic in Acrobat which says "stretch 
glyphs to the Font dictionary width unless it's not given in /W and there is no 
/DW, in which case use 1000 as the advance width, but don't stretch the glyph".

This is separate from the standard 14 issue, which is in the patch too.

> 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: PDFBOX_3457.patch, PDFJS-5550.pdf, PDFJS-7523.pdf, 
> gs-bugzilla693663-p9-stretchdisabled.png, gs-bugzilla693663-p9.pdf, 
> gs-bugzilla693663-p91_part.png, osx.png, 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