You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ja...@apache.org on 2014/08/19 19:03:03 UTC
svn commit: r1618898 - in /pdfbox/branches/no-awt:
fontbox/src/main/java/org/apache/fontbox/ttf/
pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/
pdfbox/src/main/java/org/apache/pdfbox/rendering/font/
Author: jahewson
Date: Tue Aug 19 17:03:02 2014
New Revision: 1618898
URL: http://svn.apache.org/r1618898
Log:
PDFBOX-2262: Don't use RAFDataStream
Modified:
pdfbox/branches/no-awt/fontbox/src/main/java/org/apache/fontbox/ttf/GlyfSimpleDescript.java
pdfbox/branches/no-awt/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FileSystemFontProvider.java
pdfbox/branches/no-awt/pdfbox/src/main/java/org/apache/pdfbox/rendering/font/TTFGlyph2D.java
Modified: pdfbox/branches/no-awt/fontbox/src/main/java/org/apache/fontbox/ttf/GlyfSimpleDescript.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/no-awt/fontbox/src/main/java/org/apache/fontbox/ttf/GlyfSimpleDescript.java?rev=1618898&r1=1618897&r2=1618898&view=diff
==============================================================================
--- pdfbox/branches/no-awt/fontbox/src/main/java/org/apache/fontbox/ttf/GlyfSimpleDescript.java (original)
+++ pdfbox/branches/no-awt/fontbox/src/main/java/org/apache/fontbox/ttf/GlyfSimpleDescript.java Tue Aug 19 17:03:02 2014
@@ -186,26 +186,18 @@ public class GlyfSimpleDescript extends
*/
private void readFlags(int flagCount, TTFDataStream bais) throws IOException
{
- try
+ for (int index = 0; index < flagCount; index++)
{
- for (int index = 0; index < flagCount; index++)
+ flags[index] = (byte) bais.readUnsignedByte();
+ if ((flags[index] & REPEAT) != 0)
{
- flags[index] = (byte) bais.readUnsignedByte();
- if ((flags[index] & REPEAT) != 0)
+ int repeats = bais.readUnsignedByte();
+ for (int i = 1; i <= repeats; i++)
{
- int repeats = bais.readUnsignedByte();
- for (int i = 1; i <= repeats; i++)
- {
- flags[index + i] = flags[index];
- }
- index += repeats;
+ flags[index + i] = flags[index];
}
+ index += repeats;
}
}
- catch (ArrayIndexOutOfBoundsException e)
- {
- LOG.error("error: array index out of bounds", e);
- }
}
-
}
Modified: pdfbox/branches/no-awt/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FileSystemFontProvider.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/no-awt/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FileSystemFontProvider.java?rev=1618898&r1=1618897&r2=1618898&view=diff
==============================================================================
--- pdfbox/branches/no-awt/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FileSystemFontProvider.java (original)
+++ pdfbox/branches/no-awt/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FileSystemFontProvider.java Tue Aug 19 17:03:02 2014
@@ -188,7 +188,10 @@ final class FileSystemFontProvider imple
TTFParser ttfParser = new TTFParser(false, true);
try
{
- ttf = ttfParser.parseTTF(file);
+ // fixme: RAFDataStream appears to be broken
+ //ttf = ttfParser.parseTTF(file);
+ ttf = ttfParser.parseTTF(new FileInputStream(file));
+
ttfFonts.put(postScriptName, ttf);
if (LOG.isDebugEnabled())
{
Modified: pdfbox/branches/no-awt/pdfbox/src/main/java/org/apache/pdfbox/rendering/font/TTFGlyph2D.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/no-awt/pdfbox/src/main/java/org/apache/pdfbox/rendering/font/TTFGlyph2D.java?rev=1618898&r1=1618897&r2=1618898&view=diff
==============================================================================
--- pdfbox/branches/no-awt/pdfbox/src/main/java/org/apache/pdfbox/rendering/font/TTFGlyph2D.java (original)
+++ pdfbox/branches/no-awt/pdfbox/src/main/java/org/apache/pdfbox/rendering/font/TTFGlyph2D.java Tue Aug 19 17:03:02 2014
@@ -203,8 +203,9 @@ public class TTFGlyph2D implements Glyph
}
catch (RuntimeException e)
{
- throw new RuntimeException("Error in TTF:" + pdFont.getBaseFont() + " -> " +
- ttf.getNaming().getPostScriptName(), e);
+ LOG.error("Error in TTF: " + pdFont.getBaseFont() + " -> " +
+ ttf.getNaming().getPostScriptName());
+ throw e;
}
if (glyphId >= glyphData.length)