You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2014/07/29 21:31:24 UTC
svn commit: r1614469 -
/pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1CFont.java
Author: lehmi
Date: Tue Jul 29 19:31:23 2014
New Revision: 1614469
URL: http://svn.apache.org/r1614469
Log:
PDFBOX-2247: fixed encoding issue when extracting text by taking a char offset (FirtsChar-1) into account
Modified:
pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1CFont.java
Modified: pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1CFont.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1CFont.java?rev=1614469&r1=1614468&r2=1614469&view=diff
==============================================================================
--- pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1CFont.java (original)
+++ pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1CFont.java Tue Jul 29 19:31:23 2014
@@ -92,6 +92,8 @@ public class PDType1CFont extends PDSimp
private static final byte[] SPACE_BYTES = {(byte)32};
+ private final int charOffset;
+
/**
* Constructor.
* @param fontDictionary the corresponding dictionary
@@ -99,6 +101,7 @@ public class PDType1CFont extends PDSimp
public PDType1CFont( COSDictionary fontDictionary ) throws IOException
{
super( fontDictionary );
+ charOffset = getFirstChar() > -1 ? getFirstChar() - 1 : 0;
load();
}
@@ -121,7 +124,11 @@ public class PDType1CFont extends PDSimp
{
int code = getCodeFromArray(bytes, offset, length);
String character = null;
- if (codeToSID.containsKey(code))
+ if (charOffset > 0)
+ {
+ code += charOffset;
+ }
+ else if (codeToSID.containsKey(code))
{
code = codeToSID.get(code);
}