在使用 MigraDoc 生成的 PDF 中无法显示圆加号 (⊕)

Trouble displaying Circle plus (⊕) in PDF generated using MigraDoc

生成PDF时,不显示⊕符号,而是显示替换符号。是否可以通过某种方式解决此问题?

测试的版本:

测试的字体:

代码

string fileName = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString() + ".pdf");
var doc = new Document();
doc.Styles["Normal"].Font.Name = "Consolas";

doc.AddSection().AddParagraph("A ⊕ B");

var pdfRenderer = new PdfDocumentRenderer(true);
pdfRenderer.Document = doc;
pdfRenderer.RenderDocument();
pdfRenderer.PdfDocument.Save(fileName);

Process.Start(fileName);

尝试替换

doc.AddSection().AddParagraph("A ⊕ B");

与:

doc.AddSection().AddParagraph("A \u2295 B");

使用包含字符 "Circled Plus" 的字体。

您可以使用例如"Segoe UI Symbol"。 "Segoe UI" 不包含该字符。

MS Word 在使用此类符号时会自动切换字体,使用 MigraDoc 时,您必须根据需要切换字体。

如果您想对其余文本使用 "Consolas",请对 Circled Plus 使用 AddFormattedText 并切换到例如"Segoe UI Symbol" 对于这个符号。