Rendering a character to a PDF using a symbol font has an issue if you send 16 bit unicode character with the high bits already set. It works fine when rendering the same thing to GDI+, but fails for PDFs. I tracked it down to a couple lines that look
glyphID = (int)ch + (descriptor.fontData.os2.usFirstCharIndex & 0xFF00);
It's adding the first symbol character index to the character to get its index, but if the character already includes the index, it shouldn't be adding it. It should be performing a bitwise "or" | instead of an "add" +. Just a 1 byte patch.
The line should look like this instead:
glyphID = (int)ch | (descriptor.fontData.os2.usFirstCharIndex & 0xFF00);
There are two similar lines which need to be fixed:
PdfSharp.Drawing.Pdf\XGraphicsPdfRenderer.cs line 523
PdfSharp.Fonts\CMapInfo.cs line 71