From 41ed7edfe0afe5101fc39437bf1198f4a4e54918 Mon Sep 17 00:00:00 2001 From: BobLd <38405645+BobLd@users.noreply.github.com> Date: Mon, 22 Dec 2025 10:50:47 +0000 Subject: [PATCH] Do not return glyph bbox and path in Type1Font if character name is '.notdef' --- src/UglyToad.PdfPig.Fonts/Type1/Type1FontProgram.cs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/UglyToad.PdfPig.Fonts/Type1/Type1FontProgram.cs b/src/UglyToad.PdfPig.Fonts/Type1/Type1FontProgram.cs index ef97627c7..701ea0298 100644 --- a/src/UglyToad.PdfPig.Fonts/Type1/Type1FontProgram.cs +++ b/src/UglyToad.PdfPig.Fonts/Type1/Type1FontProgram.cs @@ -62,6 +62,11 @@ internal Type1Font(string name, IReadOnlyDictionary encoding, Array /// public PdfRectangle? GetCharacterBoundingBox(string characterName) { + if (string.Equals(characterName, GlyphList.NotDefined, StringComparison.OrdinalIgnoreCase)) + { + return null; + } + var glyph = GetCharacterPath(characterName); return PdfSubpath.GetBoundingRectangle(glyph); } @@ -94,8 +99,13 @@ private static TransformationMatrix GetFontTransformationMatrix(ArrayToken array /// /// Get the pdfpath for the character with the given name. /// - public IReadOnlyList GetCharacterPath(string characterName) + public IReadOnlyList? GetCharacterPath(string characterName) { + if (string.Equals(characterName, GlyphList.NotDefined, StringComparison.OrdinalIgnoreCase)) + { + return null; + } + if (!CharStrings.TryGenerate(characterName, out var glyph)) { return null;