diff --git a/src/UglyToad.PdfPig.Fonts/CompactFontFormat/CharStrings/Type2CharStringParser.cs b/src/UglyToad.PdfPig.Fonts/CompactFontFormat/CharStrings/Type2CharStringParser.cs index af9b29da1..8e7f09cbf 100644 --- a/src/UglyToad.PdfPig.Fonts/CompactFontFormat/CharStrings/Type2CharStringParser.cs +++ b/src/UglyToad.PdfPig.Fonts/CompactFontFormat/CharStrings/Type2CharStringParser.cs @@ -770,6 +770,8 @@ private static Type2CharStrings.CommandSequence ParseSingle( } } + values.TrimExcess(); + return new Type2CharStrings.CommandSequence(values, commandIdentifiers); } diff --git a/src/UglyToad.PdfPig.Fonts/CompactFontFormat/Charsets/CompactFontFormatIsoAdobeCharset.cs b/src/UglyToad.PdfPig.Fonts/CompactFontFormat/Charsets/CompactFontFormatIsoAdobeCharset.cs index 656672475..8425c8d94 100644 --- a/src/UglyToad.PdfPig.Fonts/CompactFontFormat/Charsets/CompactFontFormatIsoAdobeCharset.cs +++ b/src/UglyToad.PdfPig.Fonts/CompactFontFormat/Charsets/CompactFontFormatIsoAdobeCharset.cs @@ -257,6 +257,10 @@ private CompactFontFormatIsoAdobeCharset() gidToStringIdAndNameMap[gid++] = pair; } +#if NET + gidToStringIdAndNameMap.TrimExcess(); +#endif + glyphIdToStringIdAndName = gidToStringIdAndNameMap; } diff --git a/src/UglyToad.PdfPig/PdfFonts/Cmap/CharacterMapBuilder.cs b/src/UglyToad.PdfPig/PdfFonts/Cmap/CharacterMapBuilder.cs index 5fcbfea27..db22479c3 100644 --- a/src/UglyToad.PdfPig/PdfFonts/Cmap/CharacterMapBuilder.cs +++ b/src/UglyToad.PdfPig/PdfFonts/Cmap/CharacterMapBuilder.cs @@ -81,11 +81,15 @@ public void AddBaseFontCharacter(ReadOnlySpan bytes, string value) public CMap Build() { +#if NET + BaseFontCharacterMap?.TrimExcess(); +#endif + return new CMap(GetCidSystemInfo(), Type, WMode, Name, Version, BaseFontCharacterMap ?? new Dictionary(), - CodespaceRanges ?? new CodespaceRange[0], - CidRanges ?? new CidRange[0], - CidCharacterMappings ?? new CidCharacterMapping[0]); + CodespaceRanges ?? Array.Empty(), + CidRanges ?? Array.Empty(), + CidCharacterMappings ?? Array.Empty()); } private CharacterIdentifierSystemInfo GetCidSystemInfo()