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 2020/03/05 16:39:43 UTC

svn commit: r1874844 - /pdfbox/branches/issue45/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FontMapperImpl.java

Author: tilman
Date: Thu Mar  5 16:39:43 2020
New Revision: 1874844

URL: http://svn.apache.org/viewvc?rev=1874844&view=rev
Log:
PDFBOX-4793: deactivate wrongly set bits in MalgunGothic-Semilight; fix missing parentheses bug

Modified:
    pdfbox/branches/issue45/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FontMapperImpl.java

Modified: pdfbox/branches/issue45/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FontMapperImpl.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/issue45/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FontMapperImpl.java?rev=1874844&r1=1874843&r2=1874844&view=diff
==============================================================================
--- pdfbox/branches/issue45/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FontMapperImpl.java (original)
+++ pdfbox/branches/issue45/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FontMapperImpl.java Thu Mar  5 16:39:43 2020
@@ -667,6 +667,11 @@ final class FontMapperImpl implements Fo
             long CHINESE_TRADITIONAL = 1 << 20;
             long KOREAN_JOHAB = 1 << 21;
             
+            if ("MalgunGothic-Semilight".equals(info.getPostScriptName()))
+            {
+                // PDFBOX-4793 and PDF.js 10699: This font has only Korean, but has bits 17-21 set.
+                codePageRange &= ~(JIS_JAPAN | CHINESE_SIMPLIFIED | CHINESE_TRADITIONAL);
+            }
             if (cidSystemInfo.getOrdering().equals("GB1") &&
                     (codePageRange & CHINESE_SIMPLIFIED) == CHINESE_SIMPLIFIED)
             {
@@ -685,8 +690,8 @@ final class FontMapperImpl implements Fo
             else
             {
                 return cidSystemInfo.getOrdering().equals("Korea1") &&
-                        (codePageRange & KOREAN_WANSUNG) == KOREAN_WANSUNG ||
-                        (codePageRange & KOREAN_JOHAB) == KOREAN_JOHAB;
+                        ((codePageRange & KOREAN_WANSUNG) == KOREAN_WANSUNG ||
+                         (codePageRange & KOREAN_JOHAB) == KOREAN_JOHAB);
             }
         }
     }