[
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]