Index: src/main/java/org/apache/pdfbox/encoding/WinAnsiEncoding.java
===================================================================
--- src/main/java/org/apache/pdfbox/encoding/WinAnsiEncoding.java	(revision 87433)
+++ src/main/java/org/apache/pdfbox/encoding/WinAnsiEncoding.java	(working copy)
@@ -258,6 +258,15 @@
 		addCharacterEncoding( 0172, "z" );
 		addCharacterEncoding( 0236, "zcaron" );
 		addCharacterEncoding( 060, "zero" );
+        codeToName.put( 0240, "space");
+        codeToName.put( 0255, "hyphen");
+        for (int i = 040; i <= 255; i++)
+        {
+            if (!codeToName.containsKey(i))
+            {
+                codeToName.put(i, "bullet");
+            }
+        }
 	}
 
 	public String getName( int code ) throws IOException
Index: src/main/java/org/apache/pdfbox/pdfviewer/font/CFFGlyph2D.java
===================================================================
--- src/main/java/org/apache/pdfbox/pdfviewer/font/CFFGlyph2D.java	(revision 87433)
+++ src/main/java/org/apache/pdfbox/pdfviewer/font/CFFGlyph2D.java	(working copy)
@@ -50,6 +50,7 @@
     private HashMap<Integer, GeneralPath> glyphs = new HashMap<Integer, GeneralPath>();
     private HashMap<Integer, Integer> codeToGlyph = new HashMap<Integer, Integer>();
     private String fontname = null;
+    private final Encoding encoding;
 
     /**
      * Constructor.
@@ -58,6 +59,7 @@
     public CFFGlyph2D(CFFFont cffFont, Encoding encoding)
     {
         fontname = cffFont.getName();
+        this.encoding = encoding;
         Map<String, Integer> nameToCode = encoding != null ? encoding.getNameToCodeMap() : null;
         Collection<CFFFont.Mapping> mappings = cffFont.getMappings();
         Map<Integer, String> codeToNameMap = new LinkedHashMap<Integer, String>();
@@ -161,15 +163,31 @@
     @Override
     public GeneralPath getPathForCharactercode(int code)
     {
+        GeneralPath path = null;
         if (codeToGlyph.containsKey(code))
         {
-            return getPathForGlyphId(codeToGlyph.get(code));
+            path = getPathForGlyphId(codeToGlyph.get(code));
         }
-        else
+        else if (encoding != null)
         {
+            try
+            {
+                int canonicalCode = encoding.getCode(encoding.getName(code));
+                if (codeToGlyph.containsKey(canonicalCode))
+                {
+                    path = getPathForGlyphId(codeToGlyph.get(canonicalCode));
+                }
+            }
+            catch (IOException e)
+            {
+                throw new RuntimeException(e);
+            }
+        }
+        if (path == null)
+        {
             LOG.debug(fontname + ": glyphmapping for " + code + " not found!");
         }
-        return null;
+        return path;
     }
 
     /**
