You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2017/07/30 13:43:32 UTC

svn commit: r1803426 - /pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/encoding/GlyphList.java

Author: tilman
Date: Sun Jul 30 13:43:32 2017
New Revision: 1803426

URL: http://svn.apache.org/viewvc?rev=1803426&view=rev
Log:
PDFBOX-3884: take the various standard encodings as canonical, as suggested by Matías Giovannini

Modified:
    pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/encoding/GlyphList.java

Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/encoding/GlyphList.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/encoding/GlyphList.java?rev=1803426&r1=1803425&r2=1803426&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/encoding/GlyphList.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/encoding/GlyphList.java Sun Jul 30 13:43:32 2017
@@ -163,7 +163,15 @@ public final class GlyphList
                     nameToUnicode.put(name, string);
 
                     // reverse mapping
-                    if (!unicodeToName.containsKey(string))
+                    // PDFBOX-3884: take the various standard encodings as canonical, 
+                    // e.g. tilde over ilde
+                    final boolean forceOverride =
+                          WinAnsiEncoding.INSTANCE.contains(name) ||
+                          MacRomanEncoding.INSTANCE.contains(name) || 
+                          MacExpertEncoding.INSTANCE.contains(name) ||
+                          SymbolEncoding.INSTANCE.contains(name) ||
+                          ZapfDingbatsEncoding.INSTANCE.contains(name);
+                    if (!unicodeToName.containsKey(string) || forceOverride)
                     {
                         unicodeToName.put(string, name);
                     }