From 9315ec5a4f93223d44db29d6b652575379e38f94 Mon Sep 17 00:00:00 2001 From: romain v Date: Thu, 10 Sep 2020 14:16:14 +0200 Subject: [PATCH 1/2] ADD : name on type 3 fonts --- .../Parser/Handlers/Type3FontHandler.cs | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/UglyToad.PdfPig/PdfFonts/Parser/Handlers/Type3FontHandler.cs b/src/UglyToad.PdfPig/PdfFonts/Parser/Handlers/Type3FontHandler.cs index c9d38334..4a877e4b 100644 --- a/src/UglyToad.PdfPig/PdfFonts/Parser/Handlers/Type3FontHandler.cs +++ b/src/UglyToad.PdfPig/PdfFonts/Parser/Handlers/Type3FontHandler.cs @@ -49,11 +49,28 @@ toUnicodeCMap = CMapCache.Parse(new ByteArrayInputBytes(decodedUnicodeCMap)); } } - - return new Type3Font(NameToken.Type3, boundingBox, fontMatrix, encoding, firstCharacter, + + var name = GetFontName(dictionary); + + return new Type3Font(name, boundingBox, fontMatrix, encoding, firstCharacter, lastCharacter, widths, toUnicodeCMap); } + private NameToken GetFontName(DictionaryToken dictionary) + { + if (!dictionary.TryGet(NameToken.Name, out var fontName)) + { + return NameToken.Type3; + } + + if (fontName is NameToken nameToken) + { + return nameToken; + } + + return NameToken.Type3; + } + private TransformationMatrix GetFontMatrix(DictionaryToken dictionary) { if (!dictionary.TryGet(NameToken.FontMatrix, out var matrixObject)) From a544dc4bded861f6c9abb1bf0aea9a26ffe70690 Mon Sep 17 00:00:00 2001 From: romain v Date: Thu, 10 Sep 2020 14:45:24 +0200 Subject: [PATCH 2/2] refacto : pr comments --- .../PdfFonts/Parser/Handlers/Type3FontHandler.cs | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/UglyToad.PdfPig/PdfFonts/Parser/Handlers/Type3FontHandler.cs b/src/UglyToad.PdfPig/PdfFonts/Parser/Handlers/Type3FontHandler.cs index 4a877e4b..c3d6030e 100644 --- a/src/UglyToad.PdfPig/PdfFonts/Parser/Handlers/Type3FontHandler.cs +++ b/src/UglyToad.PdfPig/PdfFonts/Parser/Handlers/Type3FontHandler.cs @@ -58,14 +58,9 @@ private NameToken GetFontName(DictionaryToken dictionary) { - if (!dictionary.TryGet(NameToken.Name, out var fontName)) + if (dictionary.TryGet(NameToken.Name, scanner, out NameToken fontName)) { - return NameToken.Type3; - } - - if (fontName is NameToken nameToken) - { - return nameToken; + return fontName; } return NameToken.Type3;