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 2017/04/06 16:52:01 UTC

svn commit: r1790427 - /pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/ttf/CmapSubtable.java

Author: lehmi
Date: Thu Apr  6 16:52:01 2017
New Revision: 1790427

URL: http://svn.apache.org/viewvc?rev=1790427&view=rev
Log:
PDFBOX-3747: sort code mappings to provide a reliable order

Modified:
    pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/ttf/CmapSubtable.java   (contents, props changed)

Modified: pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/ttf/CmapSubtable.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/ttf/CmapSubtable.java?rev=1790427&r1=1790426&r2=1790427&view=diff
==============================================================================
--- pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/ttf/CmapSubtable.java (original)
+++ pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/ttf/CmapSubtable.java Thu Apr  6 16:52:01 2017
@@ -19,6 +19,7 @@ package org.apache.fontbox.ttf;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -652,16 +653,22 @@ public class CmapSubtable
         {
             return null;
         }
+        List<Integer> codes = null;
         if (code == Integer.MIN_VALUE)
         {
             List<Integer> mappedValues = glyphIdToCharacterCodeMultiple.get(gid);
             if (mappedValues != null)
             {
-                return new ArrayList<Integer>(mappedValues);
+                codes = new ArrayList<Integer>(mappedValues);
+                // sort the list to provide a reliable order
+                Collections.sort(codes);
             }
         }
-        List<Integer> codes = new ArrayList<Integer>(1);
-        codes.add(code);
+        else
+        {
+            codes = new ArrayList<Integer>(1);
+            codes.add(code);
+        }
         return codes;
     }
 

Propchange: pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/ttf/CmapSubtable.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Apr  6 16:52:01 2017
@@ -1,3 +1,3 @@
-/pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/ttf/CmapSubtable.java:1760418,1761484,1762133,1762140,1763344,1763609
+/pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/ttf/CmapSubtable.java:1760418,1761484,1762133,1762140,1763344,1763609,1790426
 /pdfbox/branches/no-awt/fontbox/src/main/java/org/apache/fontbox/ttf/CmapSubtable.java:1618517-1621410
 /pdfbox/no-awt/fontbox/src/main/java/org/apache/fontbox/ttf/CmapSubtable.java:1618514-1618516