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 2015/12/18 17:31:40 UTC
svn commit: r1720821 - in
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering:
CIDType0Glyph2D.java PageDrawer.java TTFGlyph2D.java Type1Glyph2D.java
Author: lehmi
Date: Fri Dec 18 16:31:40 2015
New Revision: 1720821
URL: http://svn.apache.org/viewvc?rev=1720821&view=rev
Log:
PDFBOX-2852: reduce containsKey/get combination to get
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/CIDType0Glyph2D.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/TTFGlyph2D.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/Type1Glyph2D.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/CIDType0Glyph2D.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/CIDType0Glyph2D.java?rev=1720821&r1=1720820&r2=1720821&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/CIDType0Glyph2D.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/CIDType0Glyph2D.java Fri Dec 18 16:31:40 2015
@@ -51,30 +51,30 @@ final class CIDType0Glyph2D implements G
@Override
public GeneralPath getPathForCharacterCode(int code)
{
- if (cache.containsKey(code))
+ GeneralPath path = cache.get(code);
+ if (path == null)
{
- return cache.get(code);
- }
-
- try
- {
- if (!font.hasGlyph(code))
+ try
{
- int cid = font.getParent().codeToCID(code);
- String cidHex = String.format("%04x", cid);
- LOG.warn("No glyph for " + code + " (CID " + cidHex + ") in font " + fontName);
+ if (!font.hasGlyph(code))
+ {
+ int cid = font.getParent().codeToCID(code);
+ String cidHex = String.format("%04x", cid);
+ LOG.warn("No glyph for " + code + " (CID " + cidHex + ") in font " + fontName);
+ }
+
+ path = font.getPath(code);
+ cache.put(code, path);
+ return path;
+ }
+ catch (IOException e)
+ {
+ // todo: escalate this error?
+ LOG.error("Glyph rendering failed", e);
+ path = new GeneralPath();
}
-
- GeneralPath path = font.getPath(code);
- cache.put(code, path);
- return path;
- }
- catch (IOException e)
- {
- // todo: escalate this error?
- LOG.error("Glyph rendering failed", e);
- return new GeneralPath();
}
+ return path;
}
@Override
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java?rev=1720821&r1=1720820&r2=1720821&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java Fri Dec 18 16:31:40 2015
@@ -399,13 +399,13 @@ public class PageDrawer extends PDFGraph
*/
private Glyph2D createGlyph2D(PDFont font) throws IOException
{
+ Glyph2D glyph2D = fontGlyph2D.get(font);
// Is there already a Glyph2D for the given font?
- if (fontGlyph2D.containsKey(font))
+ if (glyph2D != null)
{
- return fontGlyph2D.get(font);
+ return glyph2D;
}
- Glyph2D glyph2D = null;
if (font instanceof PDTrueTypeFont)
{
PDTrueTypeFont ttfFont = (PDTrueTypeFont)font;
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/TTFGlyph2D.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/TTFGlyph2D.java?rev=1720821&r1=1720820&r2=1720821&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/TTFGlyph2D.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/TTFGlyph2D.java Fri Dec 18 16:31:40 2015
@@ -116,12 +116,8 @@ final class TTFGlyph2D implements Glyph2
*/
public GeneralPath getPathForGID(int gid, int code) throws IOException
{
- GeneralPath glyphPath;
- if (glyphs.containsKey(gid))
- {
- glyphPath = glyphs.get(gid);
- }
- else
+ GeneralPath glyphPath = glyphs.get(gid);
+ if (glyphPath == null)
{
if (gid == 0 || gid >= ttf.getMaximumProfile().getNumGlyphs())
{
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/Type1Glyph2D.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/Type1Glyph2D.java?rev=1720821&r1=1720820&r2=1720821&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/Type1Glyph2D.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/Type1Glyph2D.java Fri Dec 18 16:31:40 2015
@@ -48,36 +48,36 @@ final class Type1Glyph2D implements Glyp
public GeneralPath getPathForCharacterCode(int code)
{
// cache
- if (cache.containsKey(code))
+ GeneralPath path = cache.get(code);
+ if (path == null)
{
- return cache.get(code);
- }
-
- // fetch
- try
- {
- String name = font.getEncoding().getName(code);
- if (!font.hasGlyph(name))
+ // fetch
+ try
{
- LOG.warn("No glyph for " + code + " (" + name + ") in font " + font.getName());
+ String name = font.getEncoding().getName(code);
+ if (!font.hasGlyph(name))
+ {
+ LOG.warn("No glyph for " + code + " (" + name + ") in font " + font.getName());
+ }
+
+ // todo: can this happen? should it be encapsulated?
+ path = font.getPath(name);
+ if (path == null)
+ {
+ path = font.getPath(".notdef");
+ }
+
+ cache.put(code, path);
+ return path;
}
-
- // todo: can this happen? should it be encapsulated?
- GeneralPath path = font.getPath(name);
- if (path == null)
+ catch (IOException e)
{
- path = font.getPath(".notdef");
+ // todo: escalate this error?
+ LOG.error("Glyph rendering failed", e);
+ path = new GeneralPath();
}
-
- cache.put(code, path);
- return path;
- }
- catch (IOException e)
- {
- // todo: escalate this error?
- LOG.error("Glyph rendering failed", e);
- return new GeneralPath();
}
+ return path;
}
@Override