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/05/05 19:21:07 UTC
svn commit: r1592577 - in
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font:
PDType1CFont.java PDType1Font.java
Author: lehmi
Date: Mon May 5 17:21:06 2014
New Revision: 1592577
URL: http://svn.apache.org/r1592577
Log:
PDFBOX-2058: fall back to PDFont.encode if the type1c doesn't provide a suitable mapping
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1CFont.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1CFont.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1CFont.java?rev=1592577&r1=1592576&r2=1592577&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1CFont.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1CFont.java Mon May 5 17:21:06 2014
@@ -345,15 +345,13 @@ public class PDType1CFont extends PDSimp
{
character = Encoding.getCharacterForName(name);
}
- if (character == null)
+ codeToSID.put(mapping.getCode(), sid);
+ sidToName.put(sid, name);
+ if (character != null)
{
- name = "uni" + hexString(sid, 4);
- character = String.valueOf(Character.toChars(sid));
+ sidToCharacter.put(sid, character);
+ characterToSID.put(character, sid);
}
- sidToName.put(sid, name);
- sidToCharacter.put(sid, character);
- characterToSID.put(character, sid);
- codeToSID.put(mapping.getCode(), sid);
}
}
@@ -392,16 +390,6 @@ public class PDType1CFont extends PDSimp
return null;
}
- private static String hexString(int code, int length)
- {
- String string = Integer.toHexString(code).toUpperCase();
- while (string.length() < length)
- {
- string = ("0" + string);
- }
- return string;
- }
-
private FontMetric prepareFontMetric(CFFFont font) throws IOException
{
byte[] afmBytes = AFMFormatter.format(font);
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java?rev=1592577&r1=1592576&r2=1592577&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java Mon May 5 17:21:06 2014
@@ -519,12 +519,13 @@ public class PDType1Font extends PDSimpl
{
if (type1CFont != null && getFontEncoding() == null)
{
- return type1CFont.encode(c, offset, length);
- }
- else
- {
- return super.encode(c, offset, length);
+ String character = type1CFont.encode(c, offset, length);
+ if (character != null)
+ {
+ return character;
+ }
}
+ return super.encode(c, offset, length);
}
/**