2 byte codes not supported in PDType1CFont.getStringWidth
---------------------------------------------------------
Key: PDFBOX-973
URL: https://issues.apache.org/jira/browse/PDFBOX-973
Project: PDFBox
Issue Type: Bug
Components: PDModel
Affects Versions: 1.6.0
Reporter: Timo Boehme
PDType1CFont overrides the method getStringWidth. The width is calculated by
getting the code for each character of the string. However it is assumed that
the code only has a maximum value of 255 (1 byte) while - as one can see in
e.g. getName() two bytes are possible as well. Therefore the line within
getStringWidth which reads
width += getFontWidth(new byte[]{(byte)code.intValue()}, 0, 1);
must be replaced
width += ( code < 256 ) ? getFontWidth( new byte[]{ (byte)code.intValue() }, 0,
1 ) :
getFontWidth( new byte[]{
(byte)(code.intValue() >> 8),
(byte) code.intValue() },
0, 2 );
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira