From commits-return-14568-archive-asf-public=cust-asf.ponee.io@pdfbox.apache.org Mon Apr 22 00:23:25 2019 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [207.244.88.153]) by mx-eu-01.ponee.io (Postfix) with SMTP id 38B23180658 for ; Mon, 22 Apr 2019 02:23:25 +0200 (CEST) Received: (qmail 63916 invoked by uid 500); 22 Apr 2019 00:23:24 -0000 Mailing-List: contact commits-help@pdfbox.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@pdfbox.apache.org Delivered-To: mailing list commits@pdfbox.apache.org Received: (qmail 63907 invoked by uid 99); 22 Apr 2019 00:23:24 -0000 Received: from Unknown (HELO svn01-us-west.apache.org) (209.188.14.144) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 22 Apr 2019 00:23:24 +0000 Received: from svn01-us-west.apache.org (localhost [127.0.0.1]) by svn01-us-west.apache.org (ASF Mail Server at svn01-us-west.apache.org) with ESMTP id 029273A2797 for ; Mon, 22 Apr 2019 00:23:24 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1857932 - /pdfbox/branches/issue45/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java Date: Mon, 22 Apr 2019 00:23:23 -0000 To: commits@pdfbox.apache.org From: tilman@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20190422002324.029273A2797@svn01-us-west.apache.org> Author: tilman Date: Mon Apr 22 00:23:23 2019 New Revision: 1857932 URL: http://svn.apache.org/viewvc?rev=1857932&view=rev Log: PDFBOX-4017: SonarQube fix Modified: pdfbox/branches/issue45/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java Modified: pdfbox/branches/issue45/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java URL: http://svn.apache.org/viewvc/pdfbox/branches/issue45/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java?rev=1857932&r1=1857931&r2=1857932&view=diff ============================================================================== --- pdfbox/branches/issue45/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java (original) +++ pdfbox/branches/issue45/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java Mon Apr 22 00:23:23 2019 @@ -584,42 +584,39 @@ public class PDType1Font extends PDSimpl { return name; } - else + + // try alternative name + String altName = ALT_NAMES.get(name); + if (altName != null && !name.equals(".notdef") && genericFont.hasGlyph(altName)) { - // try alternative name - String altName = ALT_NAMES.get(name); - if (altName != null && !name.equals(".notdef") && genericFont.hasGlyph(altName)) + return altName; + } + + // try unicode name + String unicodes = getGlyphList().toUnicode(name); + if (unicodes != null && unicodes.length() == 1) + { + String uniName = getUniNameOfCodePoint(unicodes.codePointAt(0)); + if (genericFont.hasGlyph(uniName)) { - return altName; + return uniName; } - else + // PDFBOX-4017: no postscript table on Windows 10, and the low uni00NN + // names are not found. What works is using the PDF code plus 0xF000 + // while disregarding encoding from the PDF (because of file from PDFBOX-1606, + // makes sense because this segment is about finding the name in a standard font) + //TODO bring up better solution than this + if ("SymbolMT".equals(genericFont.getName())) { - // try unicode name - String unicodes = getGlyphList().toUnicode(name); - if (unicodes != null && unicodes.length() == 1) + int code = SymbolEncoding.INSTANCE.getNameToCodeMap().get(name); + uniName = getUniNameOfCodePoint(code + 0xF000); + if (genericFont.hasGlyph(uniName)) { - String uniName = getUniNameOfCodePoint(unicodes.codePointAt(0)); - if (genericFont.hasGlyph(uniName)) - { - return uniName; - } - // PDFBOX-4017: no postscript table on Windows 10, and the low uni00NN - // names are not found. What works is using the PDF code plus 0xF000 - // while disregarding encoding from the PDF (because of file from PDFBOX-1606; - // makes sense because this segment is about finding the name in a standard font) - //TODO bring up better solution than this - if ("SymbolMT".equals(genericFont.getName())) - { - int code = SymbolEncoding.INSTANCE.getNameToCodeMap().get(name); - uniName = getUniNameOfCodePoint(code + 0xF000); - if (genericFont.hasGlyph(uniName)) - { - return uniName; - } - } + return uniName; } } } + return ".notdef"; }