diff --git a/src/UglyToad.PdfPig.Tests/Fonts/Encodings/GlyphListTests.cs b/src/UglyToad.PdfPig.Tests/Fonts/Encodings/GlyphListTests.cs index 14f4fc40..0d2937ce 100644 --- a/src/UglyToad.PdfPig.Tests/Fonts/Encodings/GlyphListTests.cs +++ b/src/UglyToad.PdfPig.Tests/Fonts/Encodings/GlyphListTests.cs @@ -66,5 +66,31 @@ Assert.Equal("B", result); } + + [Fact] + public void NameToUnicodeConvertsHexAndUsesHexValue() + { + var list = new GlyphList(new Dictionary + { + {"B", "X"} + }); + + var result = list.NameToUnicode("uni0042"); + + Assert.Equal("B", result); + } + + [Fact] + public void NameToUnicodeConvertsShortHexAndUsesHexValue() + { + var list = new GlyphList(new Dictionary + { + {"E", "Æ"} + }); + + var result = list.NameToUnicode("u0045"); + + Assert.Equal("E", result); + } } } diff --git a/src/UglyToad.PdfPig/Fonts/Encodings/GlyphList.cs b/src/UglyToad.PdfPig/Fonts/Encodings/GlyphList.cs index db158be3..7d07448b 100644 --- a/src/UglyToad.PdfPig/Fonts/Encodings/GlyphList.cs +++ b/src/UglyToad.PdfPig/Fonts/Encodings/GlyphList.cs @@ -89,7 +89,7 @@ for (int chPos = 3; chPos + 4 <= nameLength; chPos += 4) { - int codePoint = int.Parse(name.Substring(chPos, chPos + 4), NumberStyles.HexNumber); + int codePoint = int.Parse(name.Substring(chPos, 4), NumberStyles.HexNumber); if (codePoint > 0xD7FF && codePoint < 0xE000) {