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

John Hewson commented on PDFBOX-2649:
-------------------------------------

encode(int) isn't the right API for that, because what you really want is 
getWidth(unicode), perhaps we could add that in the future. We're trying to 
keep the font API as small as possible in 2.0, it was too big in 1.8 and this 
caused confusion and lots of bugs.

Right now, if you have performance issues then I'd recommend caching the 
widths, as even encode(int) has to do quite a lot of work.

> Character widths incorrect in a loaded font
> -------------------------------------------
>
>                 Key: PDFBOX-2649
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-2649
>             Project: PDFBox
>          Issue Type: Bug
>          Components: PDModel
>    Affects Versions: 2.0.0
>            Reporter: Alex Nevidomsky
>            Assignee: John Hewson
>             Fix For: 2.0.0
>
>
> {code}
> @Test
> testRelativeWidth() {
> PDFont font = PDType0Font.load(document, 
> this.getClass().getResourceAsStream("/LiberationSans-Regular.ttf"));
> float wO = font.getStringWidth("O");
> float wP = font.getStringWidth("P");
> float wN = font.getStringWidth("N");
> Assert.assertTrue("O must be wider than P", wO>wP);
> Assert.assertTrue("O must be wider than N", wO>wN);
> }
> {code}
> I can see that there is a confusion in the process between GID and CID 
> values. The reason may not be entirely clear to me, but 
> PDCIDFontType2Embedder.buildWidths(COSDictionary cidFont) seems to name "cid" 
> something that in my opinion is still a glyph id. And when it comes to 
> PDCIDFont.getWidth(int), the "widths" map that should presumably contain 
> cid->width values in reality contains git->width.



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

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

Reply via email to