diff --git a/src/UglyToad.PdfPig.Fonts/CompactFontFormat/CharStrings/Type2CharStringParser.cs b/src/UglyToad.PdfPig.Fonts/CompactFontFormat/CharStrings/Type2CharStringParser.cs index af9b29da..8e7f09cb 100644 --- a/src/UglyToad.PdfPig.Fonts/CompactFontFormat/CharStrings/Type2CharStringParser.cs +++ b/src/UglyToad.PdfPig.Fonts/CompactFontFormat/CharStrings/Type2CharStringParser.cs @@ -770,6 +770,8 @@ namespace UglyToad.PdfPig.Fonts.CompactFontFormat.CharStrings } } + 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 65667247..8425c8d9 100644 --- a/src/UglyToad.PdfPig.Fonts/CompactFontFormat/Charsets/CompactFontFormatIsoAdobeCharset.cs +++ b/src/UglyToad.PdfPig.Fonts/CompactFontFormat/Charsets/CompactFontFormatIsoAdobeCharset.cs @@ -257,6 +257,10 @@ 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 5fcbfea2..db22479c 100644 --- a/src/UglyToad.PdfPig/PdfFonts/Cmap/CharacterMapBuilder.cs +++ b/src/UglyToad.PdfPig/PdfFonts/Cmap/CharacterMapBuilder.cs @@ -81,11 +81,15 @@ namespace UglyToad.PdfPig.PdfFonts.Cmap 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()