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/09/17 23:38:40 UTC

svn commit: r1625834 [34/34] - in /pdfbox/trunk: fontbox/src/main/java/org/apache/fontbox/cmap/ fontbox/src/main/java/org/apache/fontbox/util/ fontbox/src/main/resources/ fontbox/src/main/resources/org/ fontbox/src/main/resources/org/apache/ fontbox/sr...

Added: pdfbox/trunk/fontbox/src/main/resources/org/apache/fontbox/cmap/UniKS-UTF16-V
URL: http://svn.apache.org/viewvc/pdfbox/trunk/fontbox/src/main/resources/org/apache/fontbox/cmap/UniKS-UTF16-V?rev=1625834&view=auto
==============================================================================
--- pdfbox/trunk/fontbox/src/main/resources/org/apache/fontbox/cmap/UniKS-UTF16-V (added)
+++ pdfbox/trunk/fontbox/src/main/resources/org/apache/fontbox/cmap/UniKS-UTF16-V Wed Sep 17 21:38:38 2014
@@ -0,0 +1,99 @@
+%!PS-Adobe-3.0 Resource-CMap
+%%DocumentNeededResources: ProcSet (CIDInit)
+%%DocumentNeededResources: CMap (UniKS-UTF16-H)
+%%IncludeResource: ProcSet (CIDInit)
+%%IncludeResource: CMap (UniKS-UTF16-H)
+%%BeginResource: CMap (UniKS-UTF16-V)
+%%Title: (UniKS-UTF16-V Adobe Korea1 1)
+%%Version: 1.002
+%%Copyright: -----------------------------------------------------------
+%%Copyright: Copyright 1990-2009 Adobe Systems Incorporated.
+%%Copyright: All rights reserved.
+%%Copyright:
+%%Copyright: Redistribution and use in source and binary forms, with or
+%%Copyright: without modification, are permitted provided that the
+%%Copyright: following conditions are met:
+%%Copyright:
+%%Copyright: Redistributions of source code must retain the above
+%%Copyright: copyright notice, this list of conditions and the following
+%%Copyright: disclaimer.
+%%Copyright:
+%%Copyright: Redistributions in binary form must reproduce the above
+%%Copyright: copyright notice, this list of conditions and the following
+%%Copyright: disclaimer in the documentation and/or other materials
+%%Copyright: provided with the distribution. 
+%%Copyright:
+%%Copyright: Neither the name of Adobe Systems Incorporated nor the names
+%%Copyright: of its contributors may be used to endorse or promote
+%%Copyright: products derived from this software without specific prior
+%%Copyright: written permission. 
+%%Copyright:
+%%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+%%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+%%Copyright: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+%%Copyright: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+%%Copyright: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+%%Copyright: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+%%Copyright: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+%%Copyright: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+%%Copyright: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+%%Copyright: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+%%Copyright: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+%%Copyright: -----------------------------------------------------------
+%%EndComments
+
+/CIDInit /ProcSet findresource begin
+
+12 dict begin
+
+begincmap
+
+/UniKS-UTF16-H usecmap
+
+/CIDSystemInfo 3 dict dup begin
+  /Registry (Adobe) def
+  /Ordering (Korea1) def
+  /Supplement 1 def
+end def
+
+/CMapName /UniKS-UTF16-V def
+/CMapVersion 1.002 def
+/CMapType 1 def
+
+/XUID [1 10 25545] def
+
+/WMode 1 def
+
+11 begincidchar
+<2016> 8061
+<2025> 8058
+<3013> 8075
+<ff01> 8076
+<ff0c> 8079
+<ff0e> 8080
+<ff3b> 8087
+<ff3d> 8088
+<ff3f> 8089
+<ff5e> 8062
+<ffe3> 8093
+endcidchar
+
+7 begincidrange
+<2013> <2014> 8059
+<3001> <3002> 8056
+<3008> <3011> 8065
+<3014> <3015> 8063
+<ff08> <ff09> 8077
+<ff1a> <ff1f> 8081
+<ff5b> <ff5d> 8090
+endcidrange
+
+endcmap
+CMapName currentdict /CMap defineresource pop
+end
+end
+
+%%EndResource
+%%EOF

Modified: pdfbox/trunk/fontbox/src/test/java/org/apache/fontbox/cmap/TestCMapParser.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/fontbox/src/test/java/org/apache/fontbox/cmap/TestCMapParser.java?rev=1625834&r1=1625833&r2=1625834&view=diff
==============================================================================
--- pdfbox/trunk/fontbox/src/test/java/org/apache/fontbox/cmap/TestCMapParser.java (original)
+++ pdfbox/trunk/fontbox/src/test/java/org/apache/fontbox/cmap/TestCMapParser.java Wed Sep 17 21:38:38 2014
@@ -40,7 +40,7 @@ public class TestCMapParser extends Test
         File inDir = new File(resourceDir);
 
         CMapParser parser = new CMapParser();
-        CMap cMap = parser.parse(resourceDir, new FileInputStream(new File(inDir, "CMapTest")));
+        CMap cMap = parser.parse(new FileInputStream(new File(inDir, "CMapTest")));
 
         // char mappings
         byte[] bytes1 = {0, 1};

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/CMapManager.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/CMapManager.java?rev=1625834&r1=1625833&r2=1625834&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/CMapManager.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/CMapManager.java Wed Sep 17 21:38:38 2014
@@ -31,7 +31,6 @@ import java.util.Map;
  */
 class CMapManager
 {
-    protected static final String CMAP_RESOURCE_ROOT = "org/apache/pdfbox/resources/cmap/";
     protected static Map<String, CMap> cMapCache =
             Collections.synchronizedMap(new HashMap<String, CMap>());
 
@@ -47,18 +46,13 @@ class CMapManager
         {
             return cmap;
         }
-        return parseCMap(ResourceLoader.loadResource(CMAP_RESOURCE_ROOT + cMapName), true);
-    }
 
-    /**
-     * Parse an embedded CMap.
-     *
-     * @param cMapStream the CMap to be read
-     * @return the parsed CMap
-     */
-    public static CMap parseCMap(InputStream cMapStream) throws IOException
-    {
-        return parseCMap(cMapStream, true);
+        CMapParser parser = new CMapParser();
+        CMap targetCmap = parser.parsePredefined(cMapName);
+
+        // limit the cache to predefined CMaps
+        cMapCache.put(targetCmap.getName(), targetCmap);
+        return targetCmap;
     }
 
     /**
@@ -67,18 +61,13 @@ class CMapManager
      * @param cMapStream the CMap to be read
      * @return the parsed CMap
      */
-    private static CMap parseCMap(InputStream cMapStream, boolean isPredefined) throws IOException
+    public static CMap parseCMap(InputStream cMapStream) throws IOException
     {
         CMap targetCmap = null;
         if (cMapStream != null)
         {
             CMapParser parser = new CMapParser();
-            targetCmap = parser.parse(CMAP_RESOURCE_ROOT, cMapStream);
-            // limit the cache to predefined CMaps
-            if (isPredefined)
-            {
-                cMapCache.put(targetCmap.getName(), targetCmap);
-            }
+            targetCmap = parser.parse(cMapStream);
         }
         return targetCmap;
     }

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/ExternalFonts.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/ExternalFonts.java?rev=1625834&r1=1625833&r2=1625834&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/ExternalFonts.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/ExternalFonts.java Wed Sep 17 21:38:38 2014
@@ -36,6 +36,7 @@ import org.apache.fontbox.ttf.Type1Equiv
 import org.apache.fontbox.ttf.TrueTypeFont;
 import org.apache.fontbox.type1.Type1Font;
 import org.apache.pdfbox.io.IOUtils;
+import org.apache.pdfbox.util.ResourceLoader;
 
 /**
  * External font service, locates non-embedded fonts via a pluggable FontProvider.
@@ -56,15 +57,15 @@ public final class ExternalFonts
     private static FontProvider fontProvider;
 
     /** fallback fonts, used as as a last resort */
-    private static TrueTypeFont ttfFallbackFont;
-    private static CFFCIDFont cidFallbackFont;
+    private static final TrueTypeFont ttfFallbackFont;
+    private static final CFFCIDFont cidFallbackFont;
     static
     {
         try
         {
             // ttf
             String ttfName = "org/apache/pdfbox/resources/ttf/LiberationSans-Regular.ttf";
-            InputStream ttfStream = org.apache.fontbox.util.ResourceLoader.loadResource(ttfName);
+            InputStream ttfStream = ResourceLoader.loadResource(ttfName);
             if (ttfStream == null)
             {
                 throw new IOException("Error loading resource: " + ttfName);
@@ -74,7 +75,7 @@ public final class ExternalFonts
 
             // cff
             String cffName = "org/apache/pdfbox/resources/otf/AdobeBlank.otf";
-            InputStream cffStream = org.apache.fontbox.util.ResourceLoader.loadResource(cffName);
+            InputStream cffStream = ResourceLoader.loadResource(cffName);
             if (cffStream == null)
             {
                 throw new IOException("Error loading resource: " + cffName);

Modified: pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/Type0FontValidator.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/Type0FontValidator.java?rev=1625834&r1=1625833&r2=1625834&view=diff
==============================================================================
--- pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/Type0FontValidator.java (original)
+++ pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/Type0FontValidator.java Wed Sep 17 21:38:38 2014
@@ -248,7 +248,7 @@ public class Type0FontValidator extends 
         try
         {
             // extract information from the CMap stream
-            CMap fontboxCMap = new CMapParser().parse(null, aCMap.getUnfilteredStream());
+            CMap fontboxCMap = new CMapParser().parse(aCMap.getUnfilteredStream());
             int wmValue = fontboxCMap.getWMode();
             String cmnValue = fontboxCMap.getName();